diff --git a/.gitignore b/.gitignore index 3ac9952c7f..f51b07ac42 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,5 @@ sdk/java/gradlew sdk/java/gradlew.bat sdk/python/venv + +go.work.sum diff --git a/provider/cmd/pulumi-resource-google-native/metadata.json b/provider/cmd/pulumi-resource-google-native/metadata.json index 52bcf20efc..d6170af7fb 100644 --- a/provider/cmd/pulumi-resource-google-native/metadata.json +++ b/provider/cmd/pulumi-resource-google-native/metadata.json @@ -780,6 +780,28 @@ } } }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ArtifactResponse": { + "properties": { + "createTime": { + "format": "google-datetime" + }, + "description": {}, + "displayName": {}, + "etag": {}, + "labels": { + "additionalProperties": {} + }, + "metadata": {}, + "name": {}, + "schemaTitle": {}, + "schemaVersion": {}, + "state": {}, + "updateTime": { + "format": "google-datetime" + }, + "uri": {} + } + }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1AutomaticResourcesResponse": { "properties": { "maxReplicaCount": { @@ -1026,7 +1048,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "name": {}, "parentContexts": { @@ -1356,7 +1380,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "name": {}, "schemaTitle": {}, @@ -1371,23 +1397,167 @@ "properties": { "featureAttributionsSchemaUri": {}, "inputs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadata" + } }, "latentSpaceSource": {}, "outputs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata" + } + } + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadata": { + "properties": { + "denseShapeTensorName": {}, + "encodedBaselines": {}, + "encodedTensorName": {}, + "encoding": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding" + }, + "featureValueDomain": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain" + }, + "groupName": {}, + "indexFeatureMapping": { + "items": {} + }, + "indicesTensorName": {}, + "inputBaselines": {}, + "inputTensorName": {}, + "modality": {}, + "visualization": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization" + } + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain": { + "properties": { + "maxValue": { + "format": "float" + }, + "minValue": { + "format": "float" + }, + "originalMean": { + "format": "float" + }, + "originalStddev": { + "format": "float" + } + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse": { + "properties": { + "maxValue": { + "format": "float" + }, + "minValue": { + "format": "float" + }, + "originalMean": { + "format": "float" + }, + "originalStddev": { + "format": "float" } } }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse": { + "properties": { + "denseShapeTensorName": {}, + "encodedBaselines": {}, + "encodedTensorName": {}, + "encoding": {}, + "featureValueDomain": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse" + }, + "groupName": {}, + "indexFeatureMapping": { + "items": {} + }, + "indicesTensorName": {}, + "inputBaselines": {}, + "inputTensorName": {}, + "modality": {}, + "visualization": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse" + } + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization": { + "properties": { + "clipPercentLowerbound": { + "format": "float" + }, + "clipPercentUpperbound": { + "format": "float" + }, + "colorMap": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap" + }, + "overlayType": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType" + }, + "polarity": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity" + }, + "type": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType" + } + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse": { + "properties": { + "clipPercentLowerbound": { + "format": "float" + }, + "clipPercentUpperbound": { + "format": "float" + }, + "colorMap": {}, + "overlayType": {}, + "polarity": {}, + "type": {} + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata": { + "properties": { + "displayNameMappingKey": {}, + "indexDisplayNameMapping": { + "$ref": "pulumi.json#/Any" + }, + "outputTensorName": {} + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse": { + "properties": { + "displayNameMappingKey": {}, + "indexDisplayNameMapping": { + "$ref": "pulumi.json#/Any" + }, + "outputTensorName": {} + } + }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataResponse": { "properties": { "featureAttributionsSchemaUri": {}, "inputs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse" + } }, "latentSpaceSource": {}, "outputs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse" + } } } }, @@ -2072,7 +2242,9 @@ "explanationSpec": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any", "forceNew": true @@ -2334,20 +2506,36 @@ }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig": { "properties": { - "attributionScoreDriftThresholds": {}, + "attributionScoreDriftThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" + } + }, "defaultDriftThreshold": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" }, - "driftThresholds": {} + "driftThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" + } + } } }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse": { "properties": { - "attributionScoreDriftThresholds": {}, + "attributionScoreDriftThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" + } + }, "defaultDriftThreshold": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" }, - "driftThresholds": {} + "driftThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" + } + } } }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigResponse": { @@ -2400,20 +2588,36 @@ }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig": { "properties": { - "attributionScoreSkewThresholds": {}, + "attributionScoreSkewThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" + } + }, "defaultSkewThreshold": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" }, - "skewThresholds": {} + "skewThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" + } + } } }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse": { "properties": { - "attributionScoreSkewThresholds": {}, + "attributionScoreSkewThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" + } + }, "defaultSkewThreshold": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" }, - "skewThresholds": {} + "skewThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" + } + } } }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1ModelOriginalModelInfoResponse": { @@ -2446,7 +2650,9 @@ "explanationSpec": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationSpecResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any" }, @@ -2767,7 +2973,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "pipelineSpec": {}, "reservedIpRanges": { @@ -2813,7 +3021,9 @@ "jobDetail": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobDetailResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "pipelineSpec": {}, @@ -2846,9 +3056,27 @@ "gcsOutputDirectory": { "required": true }, - "inputArtifacts": {}, + "inputArtifacts": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact" + } + }, "parameterValues": {}, - "parameters": {} + "parameters": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1Value" + } + } + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact": { + "properties": { + "artifactId": {} + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse": { + "properties": { + "artifactId": {} } }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse": { @@ -2857,9 +3085,26 @@ "gcsOutputDirectory": { "required": true }, - "inputArtifacts": {}, + "inputArtifacts": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse" + } + }, "parameterValues": {}, - "parameters": {} + "parameters": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ValueResponse" + } + } + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse": { + "properties": { + "artifacts": { + "items": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ArtifactResponse" + } + } } }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatusResponse": { @@ -2890,8 +3135,16 @@ "executorDetail": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineTaskExecutorDetailResponse" }, - "inputs": {}, - "outputs": {}, + "inputs": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse" + } + }, + "outputs": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse" + } + }, "parentTaskId": { "format": "int64" }, @@ -3916,7 +4169,9 @@ "format": "google-datetime" }, "state": {}, - "webAccessUris": {} + "webAccessUris": { + "additionalProperties": {} + } } }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1UnmanagedContainerModel": { @@ -3941,6 +4196,28 @@ } } }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1Value": { + "properties": { + "doubleValue": { + "format": "double" + }, + "intValue": { + "format": "int64" + }, + "stringValue": {} + } + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ValueResponse": { + "properties": { + "doubleValue": { + "format": "double" + }, + "intValue": { + "format": "int64" + }, + "stringValue": {} + } + }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1WorkerPoolSpec": { "properties": { "containerSpec": { @@ -4114,6 +4391,28 @@ } } }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ArtifactResponse": { + "properties": { + "createTime": { + "format": "google-datetime" + }, + "description": {}, + "displayName": {}, + "etag": {}, + "labels": { + "additionalProperties": {} + }, + "metadata": {}, + "name": {}, + "schemaTitle": {}, + "schemaVersion": {}, + "state": {}, + "updateTime": { + "format": "google-datetime" + }, + "uri": {} + } + }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1AutomaticResourcesResponse": { "properties": { "maxReplicaCount": { @@ -4360,7 +4659,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "name": {}, "parentContexts": { @@ -4700,7 +5001,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "name": {}, "schemaTitle": {}, @@ -4715,23 +5018,167 @@ "properties": { "featureAttributionsSchemaUri": {}, "inputs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata" + } }, "latentSpaceSource": {}, "outputs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata" + } } } }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata": { + "properties": { + "denseShapeTensorName": {}, + "encodedBaselines": {}, + "encodedTensorName": {}, + "encoding": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding" + }, + "featureValueDomain": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain" + }, + "groupName": {}, + "indexFeatureMapping": { + "items": {} + }, + "indicesTensorName": {}, + "inputBaselines": {}, + "inputTensorName": {}, + "modality": {}, + "visualization": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization" + } + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain": { + "properties": { + "maxValue": { + "format": "float" + }, + "minValue": { + "format": "float" + }, + "originalMean": { + "format": "float" + }, + "originalStddev": { + "format": "float" + } + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse": { + "properties": { + "maxValue": { + "format": "float" + }, + "minValue": { + "format": "float" + }, + "originalMean": { + "format": "float" + }, + "originalStddev": { + "format": "float" + } + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse": { + "properties": { + "denseShapeTensorName": {}, + "encodedBaselines": {}, + "encodedTensorName": {}, + "encoding": {}, + "featureValueDomain": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse" + }, + "groupName": {}, + "indexFeatureMapping": { + "items": {} + }, + "indicesTensorName": {}, + "inputBaselines": {}, + "inputTensorName": {}, + "modality": {}, + "visualization": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse" + } + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization": { + "properties": { + "clipPercentLowerbound": { + "format": "float" + }, + "clipPercentUpperbound": { + "format": "float" + }, + "colorMap": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap" + }, + "overlayType": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType" + }, + "polarity": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity" + }, + "type": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType" + } + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse": { + "properties": { + "clipPercentLowerbound": { + "format": "float" + }, + "clipPercentUpperbound": { + "format": "float" + }, + "colorMap": {}, + "overlayType": {}, + "polarity": {}, + "type": {} + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata": { + "properties": { + "displayNameMappingKey": {}, + "indexDisplayNameMapping": { + "$ref": "pulumi.json#/Any" + }, + "outputTensorName": {} + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse": { + "properties": { + "displayNameMappingKey": {}, + "indexDisplayNameMapping": { + "$ref": "pulumi.json#/Any" + }, + "outputTensorName": {} + } + }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataResponse": { "properties": { "featureAttributionsSchemaUri": {}, "inputs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse" + } }, "latentSpaceSource": {}, "outputs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse" + } } } }, @@ -5529,7 +5976,9 @@ "explanationSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any", "forceNew": true @@ -5822,20 +6271,36 @@ }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig": { "properties": { - "attributionScoreDriftThresholds": {}, + "attributionScoreDriftThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" + } + }, "defaultDriftThreshold": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" }, - "driftThresholds": {} + "driftThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" + } + } } }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse": { "properties": { - "attributionScoreDriftThresholds": {}, + "attributionScoreDriftThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" + } + }, "defaultDriftThreshold": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" }, - "driftThresholds": {} + "driftThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" + } + } } }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigResponse": { @@ -5888,20 +6353,36 @@ }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig": { "properties": { - "attributionScoreSkewThresholds": {}, + "attributionScoreSkewThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" + } + }, "defaultSkewThreshold": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" }, - "skewThresholds": {} + "skewThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" + } + } } }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse": { "properties": { - "attributionScoreSkewThresholds": {}, + "attributionScoreSkewThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" + } + }, "defaultSkewThreshold": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" }, - "skewThresholds": {} + "skewThresholds": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" + } + } } }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ModelMonitoringStatsAnomalies": { @@ -5996,7 +6477,9 @@ "explanationSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationSpecResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any" }, @@ -6316,7 +6799,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "pipelineSpec": {}, "reservedIpRanges": { @@ -6362,7 +6847,9 @@ "jobDetail": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobDetailResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "pipelineSpec": {}, @@ -6395,9 +6882,27 @@ "gcsOutputDirectory": { "required": true }, - "inputArtifacts": {}, + "inputArtifacts": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact" + } + }, "parameterValues": {}, - "parameters": {} + "parameters": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1Value" + } + } + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact": { + "properties": { + "artifactId": {} + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse": { + "properties": { + "artifactId": {} } }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse": { @@ -6406,9 +6911,26 @@ "gcsOutputDirectory": { "required": true }, - "inputArtifacts": {}, + "inputArtifacts": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse" + } + }, "parameterValues": {}, - "parameters": {} + "parameters": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ValueResponse" + } + } + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse": { + "properties": { + "artifacts": { + "items": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ArtifactResponse" + } + } } }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatusResponse": { @@ -6439,8 +6961,16 @@ "executorDetail": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailResponse" }, - "inputs": {}, - "outputs": {}, + "inputs": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse" + } + }, + "outputs": { + "additionalProperties": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse" + } + }, "parentTaskId": { "format": "int64" }, @@ -6696,14 +7226,18 @@ "properties": { "headNodeResourcePoolId": {}, "imageUri": {}, - "resourcePoolImages": {} + "resourcePoolImages": { + "additionalProperties": {} + } } }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1RaySpecResponse": { "properties": { "headNodeResourcePoolId": {}, "imageUri": {}, - "resourcePoolImages": {} + "resourcePoolImages": { + "additionalProperties": {} + } } }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ResourcePool": { @@ -6769,7 +7303,9 @@ }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ResourceRuntimeResponse": { "properties": { - "accessUris": {}, + "accessUris": { + "additionalProperties": {} + }, "notebookRuntimeTemplate": {} } }, @@ -7637,7 +8173,9 @@ "format": "google-datetime" }, "state": {}, - "webAccessUris": {} + "webAccessUris": { + "additionalProperties": {} + } } }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1UnmanagedContainerModel": { @@ -7662,6 +8200,28 @@ } } }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1Value": { + "properties": { + "doubleValue": { + "format": "double" + }, + "intValue": { + "format": "int64" + }, + "stringValue": {} + } + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ValueResponse": { + "properties": { + "doubleValue": { + "format": "double" + }, + "intValue": { + "format": "int64" + }, + "stringValue": {} + } + }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1WorkerPoolSpec": { "properties": { "containerSpec": { @@ -7812,7 +8372,9 @@ "encryptionConfig": { "$ref": "#/types/google-native:alloydb/v1:EncryptionConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "quantityBasedRetention": { "$ref": "#/types/google-native:alloydb/v1:QuantityBasedRetention" @@ -7834,7 +8396,9 @@ "encryptionConfig": { "$ref": "#/types/google-native:alloydb/v1:EncryptionConfigResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "quantityBasedRetention": { "$ref": "#/types/google-native:alloydb/v1:QuantityBasedRetentionResponse" @@ -8157,7 +8721,9 @@ "encryptionConfig": { "$ref": "#/types/google-native:alloydb/v1alpha:EncryptionConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "quantityBasedRetention": { "$ref": "#/types/google-native:alloydb/v1alpha:QuantityBasedRetention" @@ -8179,7 +8745,9 @@ "encryptionConfig": { "$ref": "#/types/google-native:alloydb/v1alpha:EncryptionConfigResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "quantityBasedRetention": { "$ref": "#/types/google-native:alloydb/v1alpha:QuantityBasedRetentionResponse" @@ -8524,7 +9092,9 @@ "encryptionConfig": { "$ref": "#/types/google-native:alloydb/v1beta:EncryptionConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "quantityBasedRetention": { "$ref": "#/types/google-native:alloydb/v1beta:QuantityBasedRetention" @@ -8546,7 +9116,9 @@ "encryptionConfig": { "$ref": "#/types/google-native:alloydb/v1beta:EncryptionConfigResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "quantityBasedRetention": { "$ref": "#/types/google-native:alloydb/v1beta:QuantityBasedRetentionResponse" @@ -10911,7 +11483,11 @@ "container": { "$ref": "#/types/google-native:appengine/v1:ContainerInfo" }, - "files": {}, + "files": { + "additionalProperties": { + "$ref": "#/types/google-native:appengine/v1:FileInfo" + } + }, "zip": { "$ref": "#/types/google-native:appengine/v1:ZipInfo" } @@ -10925,7 +11501,11 @@ "container": { "$ref": "#/types/google-native:appengine/v1:ContainerInfoResponse" }, - "files": {}, + "files": { + "additionalProperties": { + "$ref": "#/types/google-native:appengine/v1:FileInfoResponse" + } + }, "zip": { "$ref": "#/types/google-native:appengine/v1:ZipInfoResponse" } @@ -11019,6 +11599,20 @@ "useContainerOptimizedOs": {} } }, + "google-native:appengine/v1:FileInfo": { + "properties": { + "mimeType": {}, + "sha1Sum": {}, + "sourceUrl": {} + } + }, + "google-native:appengine/v1:FileInfoResponse": { + "properties": { + "mimeType": {}, + "sha1Sum": {}, + "sourceUrl": {} + } + }, "google-native:appengine/v1:FlexibleRuntimeSettings": { "properties": { "operatingSystem": {}, @@ -11392,7 +11986,9 @@ "expiration": { "format": "google-duration" }, - "httpHeaders": {}, + "httpHeaders": { + "additionalProperties": {} + }, "mimeType": {}, "path": {}, "requireMatchingFile": {}, @@ -11405,7 +12001,9 @@ "expiration": { "format": "google-duration" }, - "httpHeaders": {}, + "httpHeaders": { + "additionalProperties": {} + }, "mimeType": {}, "path": {}, "requireMatchingFile": {}, @@ -11811,7 +12409,11 @@ "container": { "$ref": "#/types/google-native:appengine/v1beta:ContainerInfo" }, - "files": {}, + "files": { + "additionalProperties": { + "$ref": "#/types/google-native:appengine/v1beta:FileInfo" + } + }, "zip": { "$ref": "#/types/google-native:appengine/v1beta:ZipInfo" } @@ -11828,7 +12430,11 @@ "container": { "$ref": "#/types/google-native:appengine/v1beta:ContainerInfoResponse" }, - "files": {}, + "files": { + "additionalProperties": { + "$ref": "#/types/google-native:appengine/v1beta:FileInfoResponse" + } + }, "zip": { "$ref": "#/types/google-native:appengine/v1beta:ZipInfoResponse" } @@ -11922,6 +12528,20 @@ "useContainerOptimizedOs": {} } }, + "google-native:appengine/v1beta:FileInfo": { + "properties": { + "mimeType": {}, + "sha1Sum": {}, + "sourceUrl": {} + } + }, + "google-native:appengine/v1beta:FileInfoResponse": { + "properties": { + "mimeType": {}, + "sha1Sum": {}, + "sourceUrl": {} + } + }, "google-native:appengine/v1beta:FlexibleRuntimeSettings": { "properties": { "operatingSystem": {}, @@ -12295,7 +12915,9 @@ "expiration": { "format": "google-duration" }, - "httpHeaders": {}, + "httpHeaders": { + "additionalProperties": {} + }, "mimeType": {}, "path": {}, "requireMatchingFile": {}, @@ -12308,7 +12930,9 @@ "expiration": { "format": "google-duration" }, - "httpHeaders": {}, + "httpHeaders": { + "additionalProperties": {} + }, "mimeType": {}, "path": {}, "requireMatchingFile": {}, @@ -12461,6 +13085,99 @@ } } }, + "google-native:artifactregistry/v1:CleanupPolicy": { + "properties": { + "action": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyAction" + }, + "condition": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyCondition" + }, + "id": {}, + "mostRecentVersions": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyMostRecentVersions" + } + } + }, + "google-native:artifactregistry/v1:CleanupPolicyCondition": { + "properties": { + "newerThan": { + "format": "google-duration" + }, + "olderThan": { + "format": "google-duration" + }, + "packageNamePrefixes": { + "items": {} + }, + "tagPrefixes": { + "items": {} + }, + "tagState": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyConditionTagState" + }, + "versionAge": { + "format": "google-duration" + }, + "versionNamePrefixes": { + "items": {} + } + } + }, + "google-native:artifactregistry/v1:CleanupPolicyConditionResponse": { + "properties": { + "newerThan": { + "format": "google-duration" + }, + "olderThan": { + "format": "google-duration" + }, + "packageNamePrefixes": { + "items": {} + }, + "tagPrefixes": { + "items": {} + }, + "tagState": {}, + "versionAge": { + "format": "google-duration" + }, + "versionNamePrefixes": { + "items": {} + } + } + }, + "google-native:artifactregistry/v1:CleanupPolicyMostRecentVersions": { + "properties": { + "keepCount": { + "format": "int32" + }, + "packageNamePrefixes": { + "items": {} + } + } + }, + "google-native:artifactregistry/v1:CleanupPolicyMostRecentVersionsResponse": { + "properties": { + "keepCount": { + "format": "int32" + }, + "packageNamePrefixes": { + "items": {} + } + } + }, + "google-native:artifactregistry/v1:CleanupPolicyResponse": { + "properties": { + "action": {}, + "condition": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyConditionResponse" + }, + "mostRecentVersions": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyMostRecentVersionsResponse" + } + } + }, "google-native:artifactregistry/v1:DockerRepository": { "properties": { "publicRepository": { @@ -13500,7 +14217,9 @@ "$ref": "#/types/google-native:batch/v1:InstancePolicyOrTemplate" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": { "$ref": "#/types/google-native:batch/v1:LocationPolicy" }, @@ -13522,7 +14241,9 @@ "$ref": "#/types/google-native:batch/v1:InstancePolicyOrTemplateResponse" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": { "$ref": "#/types/google-native:batch/v1:LocationPolicyResponse" }, @@ -13652,8 +14373,12 @@ "encryptedVariables": { "$ref": "#/types/google-native:batch/v1:KMSEnvMap" }, - "secretVariables": {}, - "variables": {} + "secretVariables": { + "additionalProperties": {} + }, + "variables": { + "additionalProperties": {} + } } }, "google-native:batch/v1:EnvironmentResponse": { @@ -13661,8 +14386,12 @@ "encryptedVariables": { "$ref": "#/types/google-native:batch/v1:KMSEnvMapResponse" }, - "secretVariables": {}, - "variables": {} + "secretVariables": { + "additionalProperties": {} + }, + "variables": { + "additionalProperties": {} + } } }, "google-native:batch/v1:GCS": { @@ -13737,6 +14466,18 @@ "reservation": {} } }, + "google-native:batch/v1:InstanceStatusResponse": { + "properties": { + "bootDisk": { + "$ref": "#/types/google-native:batch/v1:DiskResponse" + }, + "machineType": {}, + "provisioningModel": {}, + "taskPack": { + "format": "int64" + } + } + }, "google-native:batch/v1:JobNotification": { "properties": { "message": { @@ -13764,7 +14505,11 @@ "$ref": "#/types/google-native:batch/v1:StatusEventResponse" } }, - "taskGroups": {} + "taskGroups": { + "additionalProperties": { + "$ref": "#/types/google-native:batch/v1:TaskGroupStatusResponse" + } + } } }, "google-native:batch/v1:KMSEnvMap": { @@ -13926,7 +14671,9 @@ "$ref": "#/types/google-native:batch/v1:Environment" }, "ignoreExitStatus": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "script": { "$ref": "#/types/google-native:batch/v1:Script" }, @@ -13950,7 +14697,9 @@ "$ref": "#/types/google-native:batch/v1:EnvironmentResponse" }, "ignoreExitStatus": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "script": { "$ref": "#/types/google-native:batch/v1:ScriptResponse" }, @@ -14060,6 +14809,18 @@ } } }, + "google-native:batch/v1:TaskGroupStatusResponse": { + "properties": { + "counts": { + "additionalProperties": {} + }, + "instances": { + "items": { + "$ref": "#/types/google-native:batch/v1:InstanceStatusResponse" + } + } + } + }, "google-native:batch/v1:TaskSpec": { "properties": { "computeResource": { @@ -14068,7 +14829,9 @@ "environment": { "$ref": "#/types/google-native:batch/v1:Environment" }, - "environments": {}, + "environments": { + "additionalProperties": {} + }, "lifecyclePolicies": { "items": { "$ref": "#/types/google-native:batch/v1:LifecyclePolicy" @@ -14100,7 +14863,9 @@ "environment": { "$ref": "#/types/google-native:batch/v1:EnvironmentResponse" }, - "environments": {}, + "environments": { + "additionalProperties": {} + }, "lifecyclePolicies": { "items": { "$ref": "#/types/google-native:batch/v1:LifecyclePolicyResponse" @@ -14733,18 +15498,24 @@ "google-native:biglake/v1:HiveDatabaseOptions": { "properties": { "locationUri": {}, - "parameters": {} + "parameters": { + "additionalProperties": {} + } } }, "google-native:biglake/v1:HiveDatabaseOptionsResponse": { "properties": { "locationUri": {}, - "parameters": {} + "parameters": { + "additionalProperties": {} + } } }, "google-native:biglake/v1:HiveTableOptions": { "properties": { - "parameters": {}, + "parameters": { + "additionalProperties": {} + }, "storageDescriptor": { "$ref": "#/types/google-native:biglake/v1:StorageDescriptor" }, @@ -14753,7 +15524,9 @@ }, "google-native:biglake/v1:HiveTableOptionsResponse": { "properties": { - "parameters": {}, + "parameters": { + "additionalProperties": {} + }, "storageDescriptor": { "$ref": "#/types/google-native:biglake/v1:StorageDescriptorResponse" }, @@ -15289,7 +16062,9 @@ "format": "date-time" }, "friendlyName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:bigquery/v2:DestinationTablePropertiesResponse": { @@ -15299,7 +16074,9 @@ "format": "date-time" }, "friendlyName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:bigquery/v2:DmlStatisticsResponse": { @@ -15624,7 +16401,9 @@ "jobTimeoutMs": { "format": "int64" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "load": { "$ref": "#/types/google-native:bigquery/v2:JobConfigurationLoad" }, @@ -15862,7 +16641,11 @@ "schemaUpdateOptions": { "items": {} }, - "tableDefinitions": {}, + "tableDefinitions": { + "additionalProperties": { + "$ref": "#/types/google-native:bigquery/v2:ExternalDataConfiguration" + } + }, "timePartitioning": { "$ref": "#/types/google-native:bigquery/v2:TimePartitioning" }, @@ -15921,7 +16704,11 @@ "schemaUpdateOptions": { "items": {} }, - "tableDefinitions": {}, + "tableDefinitions": { + "additionalProperties": { + "$ref": "#/types/google-native:bigquery/v2:ExternalDataConfigurationResponse" + } + }, "timePartitioning": { "$ref": "#/types/google-native:bigquery/v2:TimePartitioningResponse" }, @@ -15948,7 +16735,9 @@ "format": "int64" }, "jobType": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "load": { "$ref": "#/types/google-native:bigquery/v2:JobConfigurationLoadResponse" }, @@ -16468,7 +17257,11 @@ "$ref": "#/types/google-native:bigquery/v2:QueryParameterValue" } }, - "structValues": {}, + "structValues": { + "additionalProperties": { + "$ref": "#/types/google-native:bigquery/v2:QueryParameterValue" + } + }, "value": {} } }, @@ -16479,7 +17272,11 @@ "$ref": "#/types/google-native:bigquery/v2:QueryParameterValueResponse" } }, - "structValues": {}, + "structValues": { + "additionalProperties": { + "$ref": "#/types/google-native:bigquery/v2:QueryParameterValueResponse" + } + }, "value": {} } }, @@ -16554,7 +17351,9 @@ "maxBatchingRows": { "format": "int64" }, - "userDefinedContext": {} + "userDefinedContext": { + "additionalProperties": {} + } } }, "google-native:bigquery/v2:RemoteFunctionOptionsResponse": { @@ -16564,7 +17363,9 @@ "maxBatchingRows": { "format": "int64" }, - "userDefinedContext": {} + "userDefinedContext": { + "additionalProperties": {} + } } }, "google-native:bigquery/v2:RoutineReference": { @@ -16693,7 +17494,9 @@ }, "mainClass": {}, "mainFileUri": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pyFileUris": { "items": {} }, @@ -16715,7 +17518,9 @@ }, "mainClass": {}, "mainFileUri": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pyFileUris": { "items": {} }, @@ -16724,7 +17529,9 @@ }, "google-native:bigquery/v2:SparkStatisticsResponse": { "properties": { - "endpoints": {}, + "endpoints": { + "additionalProperties": {} + }, "loggingInfo": { "$ref": "#/types/google-native:bigquery/v2:SparkLoggingInfoResponse" }, @@ -17557,6 +18364,28 @@ } } }, + "google-native:bigtableadmin/v2:Cluster": { + "properties": { + "clusterConfig": { + "$ref": "#/types/google-native:bigtableadmin/v2:ClusterConfig" + }, + "defaultStorageType": { + "$ref": "#/types/google-native:bigtableadmin/v2:ClusterDefaultStorageType", + "forceNew": true + }, + "encryptionConfig": { + "$ref": "#/types/google-native:bigtableadmin/v2:EncryptionConfig", + "forceNew": true + }, + "location": { + "forceNew": true + }, + "name": {}, + "serveNodes": { + "format": "int32" + } + } + }, "google-native:bigtableadmin/v2:ClusterAutoscalingConfig": { "properties": { "autoscalingLimits": { @@ -17595,6 +18424,46 @@ } } }, + "google-native:bigtableadmin/v2:ClusterStateResponse": { + "properties": { + "encryptionInfo": { + "items": { + "$ref": "#/types/google-native:bigtableadmin/v2:EncryptionInfoResponse" + } + }, + "replicationState": {} + } + }, + "google-native:bigtableadmin/v2:ColumnFamily": { + "properties": { + "gcRule": { + "$ref": "#/types/google-native:bigtableadmin/v2:GcRule" + } + } + }, + "google-native:bigtableadmin/v2:ColumnFamilyResponse": { + "properties": { + "gcRule": { + "$ref": "#/types/google-native:bigtableadmin/v2:GcRuleResponse" + }, + "stats": { + "$ref": "#/types/google-native:bigtableadmin/v2:ColumnFamilyStatsResponse" + } + } + }, + "google-native:bigtableadmin/v2:ColumnFamilyStatsResponse": { + "properties": { + "averageCellsPerColumn": { + "format": "double" + }, + "averageColumnsPerRow": { + "format": "double" + }, + "logicalDataBytes": { + "format": "int64" + } + } + }, "google-native:bigtableadmin/v2:EncryptionConfig": { "properties": { "kmsKeyName": {} @@ -17630,6 +18499,56 @@ "title": {} } }, + "google-native:bigtableadmin/v2:GcRule": { + "properties": { + "intersection": { + "$ref": "#/types/google-native:bigtableadmin/v2:Intersection" + }, + "maxAge": { + "format": "google-duration" + }, + "maxNumVersions": { + "format": "int32" + }, + "union": { + "$ref": "#/types/google-native:bigtableadmin/v2:Union" + } + } + }, + "google-native:bigtableadmin/v2:GcRuleResponse": { + "properties": { + "intersection": { + "$ref": "#/types/google-native:bigtableadmin/v2:IntersectionResponse" + }, + "maxAge": { + "format": "google-duration" + }, + "maxNumVersions": { + "format": "int32" + }, + "union": { + "$ref": "#/types/google-native:bigtableadmin/v2:UnionResponse" + } + } + }, + "google-native:bigtableadmin/v2:Intersection": { + "properties": { + "rules": { + "items": { + "$ref": "#/types/google-native:bigtableadmin/v2:GcRule" + } + } + } + }, + "google-native:bigtableadmin/v2:IntersectionResponse": { + "properties": { + "rules": { + "items": { + "$ref": "#/types/google-native:bigtableadmin/v2:GcRuleResponse" + } + } + } + }, "google-native:bigtableadmin/v2:MultiClusterRoutingUseAny": { "properties": { "clusterIds": { @@ -17710,6 +18629,24 @@ } } }, + "google-native:bigtableadmin/v2:Union": { + "properties": { + "rules": { + "items": { + "$ref": "#/types/google-native:bigtableadmin/v2:GcRule" + } + } + } + }, + "google-native:bigtableadmin/v2:UnionResponse": { + "properties": { + "rules": { + "items": { + "$ref": "#/types/google-native:bigtableadmin/v2:GcRuleResponse" + } + } + } + }, "google-native:billingbudgets/v1:GoogleCloudBillingBudgetsV1BudgetAmount": { "properties": { "lastPeriodAmount": { @@ -17766,7 +18703,9 @@ "customPeriod": { "$ref": "#/types/google-native:billingbudgets/v1:GoogleCloudBillingBudgetsV1CustomPeriod" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "projects": { "items": {} }, @@ -17791,7 +18730,9 @@ "customPeriod": { "$ref": "#/types/google-native:billingbudgets/v1:GoogleCloudBillingBudgetsV1CustomPeriodResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "projects": { "items": {} }, @@ -17976,7 +18917,9 @@ "customPeriod": { "$ref": "#/types/google-native:billingbudgets/v1beta1:GoogleCloudBillingBudgetsV1beta1CustomPeriod" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "projects": { "items": {} }, @@ -18001,7 +18944,9 @@ "customPeriod": { "$ref": "#/types/google-native:billingbudgets/v1beta1:GoogleCloudBillingBudgetsV1beta1CustomPeriodResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "projects": { "items": {} }, @@ -19350,7 +20295,9 @@ "$ref": "#/types/google-native:cloudbuild/v1:BuildStep" } }, - "substitutions": {}, + "substitutions": { + "additionalProperties": {} + }, "tags": { "items": {} }, @@ -19512,14 +20459,20 @@ "$ref": "#/types/google-native:cloudbuild/v1:BuildStepResponse" } }, - "substitutions": {}, + "substitutions": { + "additionalProperties": {} + }, "tags": { "items": {} }, "timeout": { "format": "google-duration" }, - "timing": {}, + "timing": { + "additionalProperties": { + "$ref": "#/types/google-native:cloudbuild/v1:TimeSpanResponse" + } + }, "warnings": { "items": { "$ref": "#/types/google-native:cloudbuild/v1:WarningResponse" @@ -19893,13 +20846,17 @@ }, "google-native:cloudbuild/v1:InlineSecret": { "properties": { - "envMap": {}, + "envMap": { + "additionalProperties": {} + }, "kmsKeyName": {} } }, "google-native:cloudbuild/v1:InlineSecretResponse": { "properties": { - "envMap": {}, + "envMap": { + "additionalProperties": {} + }, "kmsKeyName": {} } }, @@ -20059,7 +21016,9 @@ "sdkName": "project" }, "repoName": {}, - "substitutions": {}, + "substitutions": { + "additionalProperties": {} + }, "tagName": {} } }, @@ -20073,7 +21032,9 @@ "sdkName": "project" }, "repoName": {}, - "substitutions": {}, + "substitutions": { + "additionalProperties": {} + }, "tagName": {} } }, @@ -20140,7 +21101,9 @@ "google-native:cloudbuild/v1:Secret": { "properties": { "kmsKeyName": {}, - "secretEnv": {} + "secretEnv": { + "additionalProperties": {} + } } }, "google-native:cloudbuild/v1:SecretManagerSecret": { @@ -20158,7 +21121,9 @@ "google-native:cloudbuild/v1:SecretResponse": { "properties": { "kmsKeyName": {}, - "secretEnv": {} + "secretEnv": { + "additionalProperties": {} + } } }, "google-native:cloudbuild/v1:Secrets": { @@ -20220,7 +21185,11 @@ }, "google-native:cloudbuild/v1:SourceProvenanceResponse": { "properties": { - "fileHashes": {}, + "fileHashes": { + "additionalProperties": { + "$ref": "#/types/google-native:cloudbuild/v1:FileHashesResponse" + } + }, "resolvedConnectedRepository": { "$ref": "#/types/google-native:cloudbuild/v1:ConnectedRepositoryResponse" }, @@ -21411,6 +22380,11 @@ } } }, + "google-native:clouddeploy/v1:CloudRunRenderMetadataResponse": { + "properties": { + "service": {} + } + }, "google-native:clouddeploy/v1:CreateChildRolloutJobResponse": {}, "google-native:clouddeploy/v1:CustomCanaryDeployment": { "properties": { @@ -21446,7 +22420,9 @@ }, "google-native:clouddeploy/v1:DeliveryPipelineResponse": { "properties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "condition": { "$ref": "#/types/google-native:clouddeploy/v1:PipelineConditionResponse" }, @@ -21455,7 +22431,9 @@ }, "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serialPipeline": { "$ref": "#/types/google-native:clouddeploy/v1:SerialPipelineResponse" @@ -21470,17 +22448,23 @@ "google-native:clouddeploy/v1:DeployJobResponse": {}, "google-native:clouddeploy/v1:DeployParameters": { "properties": { - "matchTargetLabels": {}, + "matchTargetLabels": { + "additionalProperties": {} + }, "values": { - "required": true + "required": true, + "additionalProperties": {} } } }, "google-native:clouddeploy/v1:DeployParametersResponse": { "properties": { - "matchTargetLabels": {}, + "matchTargetLabels": { + "additionalProperties": {} + }, "values": { - "required": true + "required": true, + "additionalProperties": {} } } }, @@ -21673,6 +22657,13 @@ } } }, + "google-native:clouddeploy/v1:PhaseArtifactResponse": { + "properties": { + "jobManifestsPath": {}, + "manifestPath": {}, + "skaffoldConfigPath": {} + } + }, "google-native:clouddeploy/v1:PhaseConfig": { "properties": { "percentage": { @@ -21847,6 +22838,13 @@ "status": {} } }, + "google-native:clouddeploy/v1:RenderMetadataResponse": { + "properties": { + "cloudRun": { + "$ref": "#/types/google-native:clouddeploy/v1:CloudRunRenderMetadataResponse" + } + } + }, "google-native:clouddeploy/v1:RepairMode": { "properties": { "retry": { @@ -22087,27 +23085,58 @@ } } }, + "google-native:clouddeploy/v1:TargetArtifactResponse": { + "properties": { + "artifactUri": {}, + "manifestPath": {}, + "phaseArtifacts": { + "additionalProperties": { + "$ref": "#/types/google-native:clouddeploy/v1:PhaseArtifactResponse" + } + }, + "skaffoldConfigPath": {} + } + }, "google-native:clouddeploy/v1:TargetAttribute": { "properties": { "id": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:clouddeploy/v1:TargetAttributeResponse": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } + } + }, + "google-native:clouddeploy/v1:TargetRenderResponse": { + "properties": { + "failureCause": {}, + "failureMessage": {}, + "metadata": { + "$ref": "#/types/google-native:clouddeploy/v1:RenderMetadataResponse" + }, + "renderingBuild": {}, + "renderingState": {} } }, "google-native:clouddeploy/v1:TargetResponse": { "properties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "anthosCluster": { "$ref": "#/types/google-native:clouddeploy/v1:AnthosClusterResponse" }, "createTime": { "format": "google-datetime" }, - "deployParameters": {}, + "deployParameters": { + "additionalProperties": {} + }, "description": {}, "etag": {}, "executionConfigs": { @@ -22118,7 +23147,9 @@ "gke": { "$ref": "#/types/google-native:clouddeploy/v1:GkeClusterResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "multiTarget": { "$ref": "#/types/google-native:clouddeploy/v1:MultiTargetResponse" }, @@ -22431,7 +23462,9 @@ }, "dockerRepository": {}, "entryPoint": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "runtime": {}, "source": { "$ref": "#/types/google-native:cloudfunctions/v2:Source" @@ -22446,7 +23479,9 @@ "dockerRegistry": {}, "dockerRepository": {}, "entryPoint": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "runtime": {}, "source": { "$ref": "#/types/google-native:cloudfunctions/v2:SourceResponse" @@ -22629,7 +23664,9 @@ "allTrafficOnLatestRevision": {}, "availableCpu": {}, "availableMemory": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "ingressSettings": { "$ref": "#/types/google-native:cloudfunctions/v2:ServiceConfigIngressSettings" }, @@ -22670,7 +23707,9 @@ "allTrafficOnLatestRevision": {}, "availableCpu": {}, "availableMemory": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "ingressSettings": {}, "maxInstanceCount": { "format": "int32" @@ -22825,7 +23864,9 @@ }, "dockerRepository": {}, "entryPoint": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "runtime": {}, "source": { "$ref": "#/types/google-native:cloudfunctions/v2alpha:Source" @@ -22840,7 +23881,9 @@ "dockerRegistry": {}, "dockerRepository": {}, "entryPoint": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "runtime": {}, "source": { "$ref": "#/types/google-native:cloudfunctions/v2alpha:SourceResponse" @@ -23023,7 +24066,9 @@ "allTrafficOnLatestRevision": {}, "availableCpu": {}, "availableMemory": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "ingressSettings": { "$ref": "#/types/google-native:cloudfunctions/v2alpha:ServiceConfigIngressSettings" }, @@ -23064,7 +24109,9 @@ "allTrafficOnLatestRevision": {}, "availableCpu": {}, "availableMemory": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "ingressSettings": {}, "maxInstanceCount": { "format": "int32" @@ -23219,7 +24266,9 @@ }, "dockerRepository": {}, "entryPoint": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "runtime": {}, "source": { "$ref": "#/types/google-native:cloudfunctions/v2beta:Source" @@ -23234,7 +24283,9 @@ "dockerRegistry": {}, "dockerRepository": {}, "entryPoint": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "runtime": {}, "source": { "$ref": "#/types/google-native:cloudfunctions/v2beta:SourceResponse" @@ -23417,7 +24468,9 @@ "allTrafficOnLatestRevision": {}, "availableCpu": {}, "availableMemory": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "ingressSettings": { "$ref": "#/types/google-native:cloudfunctions/v2beta:ServiceConfigIngressSettings" }, @@ -23458,7 +24511,9 @@ "allTrafficOnLatestRevision": {}, "availableCpu": {}, "availableMemory": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "ingressSettings": {}, "maxInstanceCount": { "format": "int32" @@ -24860,7 +25915,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudscheduler/v1:AppEngineHttpTargetHttpMethod" }, @@ -24875,7 +25932,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "relativeUri": {} } @@ -24900,7 +25959,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudscheduler/v1:HttpTargetHttpMethod" }, @@ -24920,7 +25981,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "oauthToken": { "$ref": "#/types/google-native:cloudscheduler/v1:OAuthTokenResponse" @@ -24959,7 +26022,9 @@ }, "google-native:cloudscheduler/v1:PubsubTarget": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": {} + }, "data": { "format": "byte" }, @@ -24970,7 +26035,9 @@ }, "google-native:cloudscheduler/v1:PubsubTargetResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": {} + }, "data": { "format": "byte" }, @@ -25036,7 +26103,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudscheduler/v1beta1:AppEngineHttpTargetHttpMethod" }, @@ -25051,7 +26120,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "relativeUri": {} } @@ -25076,7 +26147,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudscheduler/v1beta1:HttpTargetHttpMethod" }, @@ -25096,7 +26169,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "oauthToken": { "$ref": "#/types/google-native:cloudscheduler/v1beta1:OAuthTokenResponse" @@ -25135,7 +26210,9 @@ }, "google-native:cloudscheduler/v1beta1:PubsubTarget": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": {} + }, "data": { "format": "byte" }, @@ -25146,7 +26223,9 @@ }, "google-native:cloudscheduler/v1beta1:PubsubTargetResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": {} + }, "data": { "format": "byte" }, @@ -25584,7 +26663,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudtasks/v2:AppEngineHttpRequestHttpMethod" }, @@ -25599,7 +26680,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "relativeUri": {} } @@ -25708,7 +26791,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudtasks/v2:HttpRequestHttpMethod" }, @@ -25728,7 +26813,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "oauthToken": { "$ref": "#/types/google-native:cloudtasks/v2:OAuthTokenResponse" @@ -25952,7 +27039,9 @@ "appEngineRouting": { "$ref": "#/types/google-native:cloudtasks/v2beta2:AppEngineRouting" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudtasks/v2beta2:AppEngineHttpRequestHttpMethod" }, @@ -25967,7 +27056,9 @@ "appEngineRouting": { "$ref": "#/types/google-native:cloudtasks/v2beta2:AppEngineRoutingResponse" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "payload": { "format": "byte" @@ -26093,7 +27184,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudtasks/v2beta2:HttpRequestHttpMethod" }, @@ -26113,7 +27206,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "oauthToken": { "$ref": "#/types/google-native:cloudtasks/v2beta2:OAuthTokenResponse" @@ -26398,7 +27493,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudtasks/v2beta3:AppEngineHttpRequestHttpMethod" }, @@ -26413,7 +27510,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "relativeUri": {} } @@ -26522,7 +27621,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": { "$ref": "#/types/google-native:cloudtasks/v2beta3:HttpRequestHttpMethod" }, @@ -26542,7 +27643,9 @@ "body": { "format": "byte" }, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "httpMethod": {}, "oauthToken": { "$ref": "#/types/google-native:cloudtasks/v2beta3:OAuthTokenResponse" @@ -27182,10 +28285,16 @@ }, "google-native:composer/v1:SoftwareConfig": { "properties": { - "airflowConfigOverrides": {}, - "envVariables": {}, + "airflowConfigOverrides": { + "additionalProperties": {} + }, + "envVariables": { + "additionalProperties": {} + }, "imageVersion": {}, - "pypiPackages": {}, + "pypiPackages": { + "additionalProperties": {} + }, "pythonVersion": {}, "schedulerCount": { "format": "int32" @@ -27194,10 +28303,16 @@ }, "google-native:composer/v1:SoftwareConfigResponse": { "properties": { - "airflowConfigOverrides": {}, - "envVariables": {}, + "airflowConfigOverrides": { + "additionalProperties": {} + }, + "envVariables": { + "additionalProperties": {} + }, "imageVersion": {}, - "pypiPackages": {}, + "pypiPackages": { + "additionalProperties": {} + }, "pythonVersion": {}, "schedulerCount": { "format": "int32" @@ -27753,13 +28868,19 @@ }, "google-native:composer/v1beta1:SoftwareConfig": { "properties": { - "airflowConfigOverrides": {}, + "airflowConfigOverrides": { + "additionalProperties": {} + }, "cloudDataLineageIntegration": { "$ref": "#/types/google-native:composer/v1beta1:CloudDataLineageIntegration" }, - "envVariables": {}, + "envVariables": { + "additionalProperties": {} + }, "imageVersion": {}, - "pypiPackages": {}, + "pypiPackages": { + "additionalProperties": {} + }, "pythonVersion": {}, "schedulerCount": { "format": "int32" @@ -27768,13 +28889,19 @@ }, "google-native:composer/v1beta1:SoftwareConfigResponse": { "properties": { - "airflowConfigOverrides": {}, + "airflowConfigOverrides": { + "additionalProperties": {} + }, "cloudDataLineageIntegration": { "$ref": "#/types/google-native:composer/v1beta1:CloudDataLineageIntegrationResponse" }, - "envVariables": {}, + "envVariables": { + "additionalProperties": {} + }, "imageVersion": {}, - "pypiPackages": {}, + "pypiPackages": { + "additionalProperties": {} + }, "pythonVersion": {}, "schedulerCount": { "format": "int32" @@ -28274,7 +29401,9 @@ "interface": { "$ref": "#/types/google-native:compute/alpha:AttachedDiskInitializeParamsInterface" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -28294,7 +29423,9 @@ "replicaZones": { "items": {} }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -28326,7 +29457,9 @@ } }, "interface": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -28344,7 +29477,9 @@ "replicaZones": { "items": {} }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -28553,7 +29688,11 @@ "scaleInControl": { "$ref": "#/types/google-native:compute/alpha:AutoscalingPolicyScaleInControl" }, - "scalingSchedules": {} + "scalingSchedules": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:AutoscalingPolicyScalingSchedule" + } + } } }, "google-native:compute/alpha:AutoscalingPolicyCpuUtilization": { @@ -28645,7 +29784,11 @@ "scaleInControl": { "$ref": "#/types/google-native:compute/alpha:AutoscalingPolicyScaleInControlResponse" }, - "scalingSchedules": {} + "scalingSchedules": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:AutoscalingPolicyScalingScheduleResponse" + } + } } }, "google-native:compute/alpha:AutoscalingPolicyScaleDownControl": { @@ -28688,6 +29831,34 @@ } } }, + "google-native:compute/alpha:AutoscalingPolicyScalingSchedule": { + "properties": { + "description": {}, + "disabled": {}, + "durationSec": { + "format": "int32" + }, + "minRequiredReplicas": { + "format": "int32" + }, + "schedule": {}, + "timeZone": {} + } + }, + "google-native:compute/alpha:AutoscalingPolicyScalingScheduleResponse": { + "properties": { + "description": {}, + "disabled": {}, + "durationSec": { + "format": "int32" + }, + "minRequiredReplicas": { + "format": "int32" + }, + "schedule": {}, + "timeZone": {} + } + }, "google-native:compute/alpha:Backend": { "properties": { "balancingMode": { @@ -29192,10 +30363,26 @@ "format": "int64" }, "namePattern": {}, - "perInstanceProperties": {}, + "perInstanceProperties": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:BulkInsertInstanceResourcePerInstanceProperties" + } + }, "sourceInstanceTemplate": {} } }, + "google-native:compute/alpha:BulkInsertInstanceResourcePerInstanceProperties": { + "properties": { + "hostname": {}, + "name": {} + } + }, + "google-native:compute/alpha:BulkInsertInstanceResourcePerInstancePropertiesResponse": { + "properties": { + "hostname": {}, + "name": {} + } + }, "google-native:compute/alpha:BulkInsertInstanceResourceResponse": { "properties": { "count": { @@ -29211,7 +30398,11 @@ "format": "int64" }, "namePattern": {}, - "perInstanceProperties": {}, + "perInstanceProperties": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:BulkInsertInstanceResourcePerInstancePropertiesResponse" + } + }, "sourceInstanceTemplate": {} } }, @@ -29615,6 +30806,13 @@ "disk": {} } }, + "google-native:compute/alpha:DiskAsyncReplicationListResponse": { + "properties": { + "asyncReplicationDisk": { + "$ref": "#/types/google-native:compute/alpha:DiskAsyncReplicationResponse" + } + } + }, "google-native:compute/alpha:DiskAsyncReplicationResponse": { "properties": { "consistencyGroupPolicy": {}, @@ -29643,12 +30841,16 @@ }, "google-native:compute/alpha:DiskParams": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/alpha:DiskParamsResponse": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/alpha:DiskResourceStatusAsyncReplicationStatusResponse": { @@ -29661,7 +30863,11 @@ "asyncPrimaryDisk": { "$ref": "#/types/google-native:compute/alpha:DiskResourceStatusAsyncReplicationStatusResponse" }, - "asyncSecondaryDisks": {}, + "asyncSecondaryDisks": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:DiskResourceStatusAsyncReplicationStatusResponse" + } + }, "usedBytes": { "format": "int64" } @@ -29732,7 +30938,9 @@ "google-native:compute/alpha:ErrorInfoResponse": { "properties": { "domain": {}, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "reason": {} } }, @@ -30930,14 +32138,50 @@ }, "google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicy": { "properties": { - "instanceSelectionLists": {}, - "instanceSelections": {} + "instanceSelectionLists": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" + } + }, + "instanceSelections": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" + } + } + } + }, + "google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { + "properties": { + "machineTypes": { + "items": {} + }, + "rank": { + "format": "int32" + } + } + }, + "google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse": { + "properties": { + "machineTypes": { + "items": {} + }, + "rank": { + "format": "int32" + } } }, "google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyResponse": { "properties": { - "instanceSelectionLists": {}, - "instanceSelections": {} + "instanceSelectionLists": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse" + } + }, + "instanceSelections": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse" + } + } } }, "google-native:compute/alpha:InstanceGroupManagerInstanceLifecyclePolicy": { @@ -31149,12 +32393,16 @@ }, "google-native:compute/alpha:InstanceParams": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/alpha:InstanceParamsResponse": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/alpha:InstanceProperties": { @@ -31183,7 +32431,9 @@ "keyRevocationActionType": { "$ref": "#/types/google-native:compute/alpha:InstancePropertiesKeyRevocationActionType" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/alpha:Metadata" @@ -31197,7 +32447,11 @@ "networkPerformanceConfig": { "$ref": "#/types/google-native:compute/alpha:NetworkPerformanceConfig" }, - "partnerMetadata": {}, + "partnerMetadata": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StructuredEntries" + } + }, "postKeyRevocationActionType": { "$ref": "#/types/google-native:compute/alpha:InstancePropertiesPostKeyRevocationActionType" }, @@ -31207,7 +32461,9 @@ "reservationAffinity": { "$ref": "#/types/google-native:compute/alpha:ReservationAffinity" }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -31222,7 +32478,11 @@ "$ref": "#/types/google-native:compute/alpha:ServiceAccount" } }, - "serviceIntegrationSpecs": {}, + "serviceIntegrationSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpec" + } + }, "shieldedInstanceConfig": { "$ref": "#/types/google-native:compute/alpha:ShieldedInstanceConfig" }, @@ -31236,14 +32496,22 @@ }, "google-native:compute/alpha:InstancePropertiesPatch": { "properties": { - "labels": {}, - "metadata": {} + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + } } }, "google-native:compute/alpha:InstancePropertiesPatchResponse": { "properties": { - "labels": {}, - "metadata": {} + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + } } }, "google-native:compute/alpha:InstancePropertiesResponse": { @@ -31270,7 +32538,9 @@ } }, "keyRevocationActionType": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/alpha:MetadataResponse" @@ -31284,13 +32554,19 @@ "networkPerformanceConfig": { "$ref": "#/types/google-native:compute/alpha:NetworkPerformanceConfigResponse" }, - "partnerMetadata": {}, + "partnerMetadata": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StructuredEntriesResponse" + } + }, "postKeyRevocationActionType": {}, "privateIpv6GoogleAccess": {}, "reservationAffinity": { "$ref": "#/types/google-native:compute/alpha:ReservationAffinityResponse" }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -31305,7 +32581,11 @@ "$ref": "#/types/google-native:compute/alpha:ServiceAccountResponse" } }, - "serviceIntegrationSpecs": {}, + "serviceIntegrationSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpecResponse" + } + }, "shieldedInstanceConfig": { "$ref": "#/types/google-native:compute/alpha:ShieldedInstanceConfigResponse" }, @@ -31562,15 +32842,61 @@ }, "google-native:compute/alpha:LocationPolicy": { "properties": { - "locations": {}, + "locations": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocation" + } + }, "targetShape": { "$ref": "#/types/google-native:compute/alpha:LocationPolicyTargetShape" } } }, + "google-native:compute/alpha:LocationPolicyLocation": { + "properties": { + "constraints": { + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocationConstraints" + }, + "names": { + "items": {} + }, + "preference": { + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocationPreference" + } + } + }, + "google-native:compute/alpha:LocationPolicyLocationConstraints": { + "properties": { + "maxCount": { + "format": "int32" + } + } + }, + "google-native:compute/alpha:LocationPolicyLocationConstraintsResponse": { + "properties": { + "maxCount": { + "format": "int32" + } + } + }, + "google-native:compute/alpha:LocationPolicyLocationResponse": { + "properties": { + "constraints": { + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocationConstraintsResponse" + }, + "names": { + "items": {} + }, + "preference": {} + } + }, "google-native:compute/alpha:LocationPolicyResponse": { "properties": { - "locations": {}, + "locations": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocationResponse" + } + }, "targetShape": {} } }, @@ -32542,7 +33868,9 @@ "notUsers": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "users": { "items": {} } @@ -32572,7 +33900,9 @@ "notUsers": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "users": { "items": {} } @@ -32692,7 +34022,9 @@ }, "google-native:compute/alpha:QuotaExceededInfoResponse": { "properties": { - "dimensions": {}, + "dimensions": { + "additionalProperties": {} + }, "futureLimit": { "format": "double" }, @@ -32772,7 +34104,9 @@ "deleteAtTime": {}, "description": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "shareSettings": { "$ref": "#/types/google-native:compute/alpha:ShareSettings" }, @@ -32817,7 +34151,9 @@ "description": {}, "kind": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "resourceStatus": { "$ref": "#/types/google-native:compute/alpha:AllocationResourceStatusResponse" }, @@ -33068,7 +34404,9 @@ "properties": { "chainName": {}, "guestFlush": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "storageLocations": { "items": {} } @@ -33078,7 +34416,9 @@ "properties": { "chainName": {}, "guestFlush": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "storageLocations": { "items": {} } @@ -33179,7 +34519,11 @@ "scheduling": { "$ref": "#/types/google-native:compute/alpha:ResourceStatusSchedulingResponse" }, - "serviceIntegrationStatuses": {}, + "serviceIntegrationStatuses": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:ResourceStatusServiceIntegrationStatusResponse" + } + }, "shutdownDetails": { "$ref": "#/types/google-native:compute/alpha:ResourceStatusShutdownDetailsResponse" }, @@ -33196,6 +34540,19 @@ "terminationTimestamp": {} } }, + "google-native:compute/alpha:ResourceStatusServiceIntegrationStatusBackupDRStatusResponse": { + "properties": { + "integrationDetails": {}, + "state": {} + } + }, + "google-native:compute/alpha:ResourceStatusServiceIntegrationStatusResponse": { + "properties": { + "backupDr": { + "$ref": "#/types/google-native:compute/alpha:ResourceStatusServiceIntegrationStatusBackupDRStatusResponse" + } + } + }, "google-native:compute/alpha:ResourceStatusShutdownDetailsResponse": { "properties": { "maxDuration": { @@ -33209,13 +34566,17 @@ "google-native:compute/alpha:RolloutPolicy": { "properties": { "defaultRolloutTime": {}, - "locationRolloutPolicies": {} + "locationRolloutPolicies": { + "additionalProperties": {} + } } }, "google-native:compute/alpha:RolloutPolicyResponse": { "properties": { "defaultRolloutTime": {}, - "locationRolloutPolicies": {} + "locationRolloutPolicies": { + "additionalProperties": {} + } } }, "google-native:compute/alpha:RouteAsPathResponse": { @@ -33839,6 +35200,13 @@ "storageBytesStatus": {} } }, + "google-native:compute/alpha:ScalingScheduleStatusResponse": { + "properties": { + "lastStartTime": {}, + "nextStartTime": {}, + "state": {} + } + }, "google-native:compute/alpha:Scheduling": { "properties": { "automaticRestart": {}, @@ -34890,10 +36258,42 @@ "routingMode": {} } }, + "google-native:compute/alpha:ServiceIntegrationSpec": { + "properties": { + "backupDr": { + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpecBackupDRSpec" + } + } + }, + "google-native:compute/alpha:ServiceIntegrationSpecBackupDRSpec": { + "properties": { + "plan": {} + } + }, + "google-native:compute/alpha:ServiceIntegrationSpecBackupDRSpecResponse": { + "properties": { + "plan": {} + } + }, + "google-native:compute/alpha:ServiceIntegrationSpecResponse": { + "properties": { + "backupDr": { + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpecBackupDRSpecResponse" + } + } + }, "google-native:compute/alpha:ShareSettings": { "properties": { - "folderMap": {}, - "projectMap": {}, + "folderMap": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:ShareSettingsFolderConfig" + } + }, + "projectMap": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:ShareSettingsProjectConfig" + } + }, "projects": { "items": {} }, @@ -34902,10 +36302,42 @@ } } }, + "google-native:compute/alpha:ShareSettingsFolderConfig": { + "properties": { + "folderId": {} + } + }, + "google-native:compute/alpha:ShareSettingsFolderConfigResponse": { + "properties": { + "folderId": {} + } + }, + "google-native:compute/alpha:ShareSettingsProjectConfig": { + "properties": { + "projectId": { + "sdkName": "project" + } + } + }, + "google-native:compute/alpha:ShareSettingsProjectConfigResponse": { + "properties": { + "projectId": { + "sdkName": "project" + } + } + }, "google-native:compute/alpha:ShareSettingsResponse": { "properties": { - "folderMap": {}, - "projectMap": {}, + "folderMap": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:ShareSettingsFolderConfigResponse" + } + }, + "projectMap": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:ShareSettingsProjectConfigResponse" + } + }, "projects": { "items": {} }, @@ -35010,7 +36442,9 @@ } }, "keyRevocationActionType": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/alpha:MetadataResponse" @@ -35044,7 +36478,9 @@ }, "google-native:compute/alpha:SslCertificateManagedSslCertificateResponse": { "properties": { - "domainStatus": {}, + "domainStatus": { + "additionalProperties": {} + }, "domains": { "items": {} }, @@ -35089,16 +36525,64 @@ }, "google-native:compute/alpha:StatefulPolicyPreservedState": { "properties": { - "disks": {}, - "externalIPs": {}, - "internalIPs": {} + "disks": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateDiskDevice" + } + }, + "externalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIp" + } + }, + "internalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIp" + } + } + } + }, + "google-native:compute/alpha:StatefulPolicyPreservedStateDiskDevice": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateDiskDeviceAutoDelete" + } + } + }, + "google-native:compute/alpha:StatefulPolicyPreservedStateDiskDeviceResponse": { + "properties": { + "autoDelete": {} + } + }, + "google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIp": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIpAutoDelete" + } + } + }, + "google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIpResponse": { + "properties": { + "autoDelete": {} } }, "google-native:compute/alpha:StatefulPolicyPreservedStateResponse": { "properties": { - "disks": {}, - "externalIPs": {}, - "internalIPs": {} + "disks": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateDiskDeviceResponse" + } + }, + "externalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIpResponse" + } + }, + "internalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIpResponse" + } + } } }, "google-native:compute/alpha:StatefulPolicyResponse": { @@ -35134,6 +36618,16 @@ } } }, + "google-native:compute/alpha:StructuredEntries": { + "properties": { + "entries": {} + } + }, + "google-native:compute/alpha:StructuredEntriesResponse": { + "properties": { + "entries": {} + } + }, "google-native:compute/alpha:SubnetworkLogConfig": { "properties": { "aggregationInterval": { @@ -35793,7 +37287,9 @@ "$ref": "#/types/google-native:compute/beta:GuestOsFeature" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenses": { "items": {} }, @@ -35810,7 +37306,9 @@ "replicaZones": { "items": {} }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -35840,7 +37338,9 @@ "$ref": "#/types/google-native:compute/beta:GuestOsFeatureResponse" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenses": { "items": {} }, @@ -35855,7 +37355,9 @@ "replicaZones": { "items": {} }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -36007,7 +37509,11 @@ "scaleInControl": { "$ref": "#/types/google-native:compute/beta:AutoscalingPolicyScaleInControl" }, - "scalingSchedules": {} + "scalingSchedules": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:AutoscalingPolicyScalingSchedule" + } + } } }, "google-native:compute/beta:AutoscalingPolicyCpuUtilization": { @@ -36099,7 +37605,11 @@ "scaleInControl": { "$ref": "#/types/google-native:compute/beta:AutoscalingPolicyScaleInControlResponse" }, - "scalingSchedules": {} + "scalingSchedules": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:AutoscalingPolicyScalingScheduleResponse" + } + } } }, "google-native:compute/beta:AutoscalingPolicyScaleDownControl": { @@ -36142,6 +37652,34 @@ } } }, + "google-native:compute/beta:AutoscalingPolicyScalingSchedule": { + "properties": { + "description": {}, + "disabled": {}, + "durationSec": { + "format": "int32" + }, + "minRequiredReplicas": { + "format": "int32" + }, + "schedule": {}, + "timeZone": {} + } + }, + "google-native:compute/beta:AutoscalingPolicyScalingScheduleResponse": { + "properties": { + "description": {}, + "disabled": {}, + "durationSec": { + "format": "int32" + }, + "minRequiredReplicas": { + "format": "int32" + }, + "schedule": {}, + "timeZone": {} + } + }, "google-native:compute/beta:Backend": { "properties": { "balancingMode": { @@ -36923,6 +38461,13 @@ "disk": {} } }, + "google-native:compute/beta:DiskAsyncReplicationListResponse": { + "properties": { + "asyncReplicationDisk": { + "$ref": "#/types/google-native:compute/beta:DiskAsyncReplicationResponse" + } + } + }, "google-native:compute/beta:DiskAsyncReplicationResponse": { "properties": { "consistencyGroupPolicy": {}, @@ -36951,12 +38496,16 @@ }, "google-native:compute/beta:DiskParams": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/beta:DiskParamsResponse": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/beta:DiskResourceStatusAsyncReplicationStatusResponse": { @@ -36969,7 +38518,11 @@ "asyncPrimaryDisk": { "$ref": "#/types/google-native:compute/beta:DiskResourceStatusAsyncReplicationStatusResponse" }, - "asyncSecondaryDisks": {} + "asyncSecondaryDisks": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:DiskResourceStatusAsyncReplicationStatusResponse" + } + } } }, "google-native:compute/beta:DisplayDevice": { @@ -37037,7 +38590,9 @@ "google-native:compute/beta:ErrorInfoResponse": { "properties": { "domain": {}, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "reason": {} } }, @@ -38165,12 +39720,40 @@ }, "google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicy": { "properties": { - "instanceSelectionLists": {} + "instanceSelectionLists": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" + } + } + } + }, + "google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { + "properties": { + "machineTypes": { + "items": {} + }, + "rank": { + "format": "int32" + } + } + }, + "google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse": { + "properties": { + "machineTypes": { + "items": {} + }, + "rank": { + "format": "int32" + } } }, "google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyResponse": { "properties": { - "instanceSelectionLists": {} + "instanceSelectionLists": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse" + } + } } }, "google-native:compute/beta:InstanceGroupManagerInstanceLifecyclePolicy": { @@ -38357,12 +39940,16 @@ }, "google-native:compute/beta:InstanceParams": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/beta:InstanceParamsResponse": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/beta:InstanceProperties": { @@ -38391,7 +39978,9 @@ "keyRevocationActionType": { "$ref": "#/types/google-native:compute/beta:InstancePropertiesKeyRevocationActionType" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/beta:Metadata" @@ -38414,7 +40003,9 @@ "reservationAffinity": { "$ref": "#/types/google-native:compute/beta:ReservationAffinity" }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -38439,14 +40030,22 @@ }, "google-native:compute/beta:InstancePropertiesPatch": { "properties": { - "labels": {}, - "metadata": {} + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + } } }, "google-native:compute/beta:InstancePropertiesPatchResponse": { "properties": { - "labels": {}, - "metadata": {} + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + } } }, "google-native:compute/beta:InstancePropertiesResponse": { @@ -38473,7 +40072,9 @@ } }, "keyRevocationActionType": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/beta:MetadataResponse" @@ -38492,7 +40093,9 @@ "reservationAffinity": { "$ref": "#/types/google-native:compute/beta:ReservationAffinityResponse" }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -39486,7 +41089,9 @@ }, "google-native:compute/beta:QuotaExceededInfoResponse": { "properties": { - "dimensions": {}, + "dimensions": { + "additionalProperties": {} + }, "futureLimit": { "format": "double" }, @@ -39536,7 +41141,9 @@ "deleteAtTime": {}, "description": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "shareSettings": { "$ref": "#/types/google-native:compute/beta:ShareSettings" }, @@ -39581,7 +41188,9 @@ "description": {}, "kind": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "resourceStatus": { "$ref": "#/types/google-native:compute/beta:AllocationResourceStatusResponse" }, @@ -39815,7 +41424,9 @@ "properties": { "chainName": {}, "guestFlush": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "storageLocations": { "items": {} } @@ -39825,7 +41436,9 @@ "properties": { "chainName": {}, "guestFlush": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "storageLocations": { "items": {} } @@ -39883,13 +41496,17 @@ "google-native:compute/beta:RolloutPolicy": { "properties": { "defaultRolloutTime": {}, - "locationRolloutPolicies": {} + "locationRolloutPolicies": { + "additionalProperties": {} + } } }, "google-native:compute/beta:RolloutPolicyResponse": { "properties": { "defaultRolloutTime": {}, - "locationRolloutPolicies": {} + "locationRolloutPolicies": { + "additionalProperties": {} + } } }, "google-native:compute/beta:RouteAsPathResponse": { @@ -40487,6 +42104,13 @@ "storageBytesStatus": {} } }, + "google-native:compute/beta:ScalingScheduleStatusResponse": { + "properties": { + "lastStartTime": {}, + "nextStartTime": {}, + "state": {} + } + }, "google-native:compute/beta:Scheduling": { "properties": { "automaticRestart": {}, @@ -41381,7 +43005,11 @@ }, "google-native:compute/beta:ShareSettings": { "properties": { - "projectMap": {}, + "projectMap": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:ShareSettingsProjectConfig" + } + }, "projects": { "items": {} }, @@ -41390,9 +43018,27 @@ } } }, + "google-native:compute/beta:ShareSettingsProjectConfig": { + "properties": { + "projectId": { + "sdkName": "project" + } + } + }, + "google-native:compute/beta:ShareSettingsProjectConfigResponse": { + "properties": { + "projectId": { + "sdkName": "project" + } + } + }, "google-native:compute/beta:ShareSettingsResponse": { "properties": { - "projectMap": {}, + "projectMap": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:ShareSettingsProjectConfigResponse" + } + }, "projects": { "items": {} }, @@ -41497,7 +43143,9 @@ } }, "keyRevocationActionType": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/beta:MetadataResponse" @@ -41531,7 +43179,9 @@ }, "google-native:compute/beta:SslCertificateManagedSslCertificateResponse": { "properties": { - "domainStatus": {}, + "domainStatus": { + "additionalProperties": {} + }, "domains": { "items": {} }, @@ -41576,16 +43226,64 @@ }, "google-native:compute/beta:StatefulPolicyPreservedState": { "properties": { - "disks": {}, - "externalIPs": {}, - "internalIPs": {} + "disks": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateDiskDevice" + } + }, + "externalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIp" + } + }, + "internalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIp" + } + } + } + }, + "google-native:compute/beta:StatefulPolicyPreservedStateDiskDevice": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateDiskDeviceAutoDelete" + } + } + }, + "google-native:compute/beta:StatefulPolicyPreservedStateDiskDeviceResponse": { + "properties": { + "autoDelete": {} + } + }, + "google-native:compute/beta:StatefulPolicyPreservedStateNetworkIp": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIpAutoDelete" + } + } + }, + "google-native:compute/beta:StatefulPolicyPreservedStateNetworkIpResponse": { + "properties": { + "autoDelete": {} } }, "google-native:compute/beta:StatefulPolicyPreservedStateResponse": { "properties": { - "disks": {}, - "externalIPs": {}, - "internalIPs": {} + "disks": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateDiskDeviceResponse" + } + }, + "externalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIpResponse" + } + }, + "internalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIpResponse" + } + } } }, "google-native:compute/beta:StatefulPolicyResponse": { @@ -42062,7 +43760,9 @@ "format": "int64" }, "diskType": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenses": { "items": {} }, @@ -42078,7 +43778,9 @@ "replicaZones": { "items": {} }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -42101,7 +43803,9 @@ "format": "int64" }, "diskType": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenses": { "items": {} }, @@ -42115,7 +43819,9 @@ "replicaZones": { "items": {} }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -42259,7 +43965,11 @@ "scaleInControl": { "$ref": "#/types/google-native:compute/v1:AutoscalingPolicyScaleInControl" }, - "scalingSchedules": {} + "scalingSchedules": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:AutoscalingPolicyScalingSchedule" + } + } } }, "google-native:compute/v1:AutoscalingPolicyCpuUtilization": { @@ -42348,7 +44058,11 @@ "scaleInControl": { "$ref": "#/types/google-native:compute/v1:AutoscalingPolicyScaleInControlResponse" }, - "scalingSchedules": {} + "scalingSchedules": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:AutoscalingPolicyScalingScheduleResponse" + } + } } }, "google-native:compute/v1:AutoscalingPolicyScaleInControl": { @@ -42371,6 +44085,34 @@ } } }, + "google-native:compute/v1:AutoscalingPolicyScalingSchedule": { + "properties": { + "description": {}, + "disabled": {}, + "durationSec": { + "format": "int32" + }, + "minRequiredReplicas": { + "format": "int32" + }, + "schedule": {}, + "timeZone": {} + } + }, + "google-native:compute/v1:AutoscalingPolicyScalingScheduleResponse": { + "properties": { + "description": {}, + "disabled": {}, + "durationSec": { + "format": "int32" + }, + "minRequiredReplicas": { + "format": "int32" + }, + "schedule": {}, + "timeZone": {} + } + }, "google-native:compute/v1:Backend": { "properties": { "balancingMode": { @@ -43090,6 +44832,13 @@ "disk": {} } }, + "google-native:compute/v1:DiskAsyncReplicationListResponse": { + "properties": { + "asyncReplicationDisk": { + "$ref": "#/types/google-native:compute/v1:DiskAsyncReplicationResponse" + } + } + }, "google-native:compute/v1:DiskAsyncReplicationResponse": { "properties": { "consistencyGroupPolicy": {}, @@ -43118,12 +44867,16 @@ }, "google-native:compute/v1:DiskParams": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/v1:DiskParamsResponse": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/v1:DiskResourceStatusAsyncReplicationStatusResponse": { @@ -43136,7 +44889,11 @@ "asyncPrimaryDisk": { "$ref": "#/types/google-native:compute/v1:DiskResourceStatusAsyncReplicationStatusResponse" }, - "asyncSecondaryDisks": {} + "asyncSecondaryDisks": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:DiskResourceStatusAsyncReplicationStatusResponse" + } + } } }, "google-native:compute/v1:DisplayDevice": { @@ -44262,12 +46019,16 @@ }, "google-native:compute/v1:InstanceParams": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/v1:InstanceParamsResponse": { "properties": { - "resourceManagerTags": {} + "resourceManagerTags": { + "additionalProperties": {} + } } }, "google-native:compute/v1:InstanceProperties": { @@ -44293,7 +46054,9 @@ "keyRevocationActionType": { "$ref": "#/types/google-native:compute/v1:InstancePropertiesKeyRevocationActionType" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/v1:Metadata" @@ -44313,7 +46076,9 @@ "reservationAffinity": { "$ref": "#/types/google-native:compute/v1:ReservationAffinity" }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -44354,7 +46119,9 @@ } }, "keyRevocationActionType": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/v1:MetadataResponse" @@ -44372,7 +46139,9 @@ "reservationAffinity": { "$ref": "#/types/google-native:compute/v1:ReservationAffinityResponse" }, - "resourceManagerTags": {}, + "resourceManagerTags": { + "additionalProperties": {} + }, "resourcePolicies": { "items": {} }, @@ -45332,7 +47101,9 @@ "properties": { "description": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "shareSettings": { "$ref": "#/types/google-native:compute/v1:ShareSettings" }, @@ -45370,7 +47141,9 @@ "description": {}, "kind": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "resourceStatus": { "$ref": "#/types/google-native:compute/v1:AllocationResourceStatusResponse" }, @@ -45590,7 +47363,9 @@ "properties": { "chainName": {}, "guestFlush": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "storageLocations": { "items": {} } @@ -45600,7 +47375,9 @@ "properties": { "chainName": {}, "guestFlush": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "storageLocations": { "items": {} } @@ -46230,6 +48007,13 @@ "storageBytesStatus": {} } }, + "google-native:compute/v1:ScalingScheduleStatusResponse": { + "properties": { + "lastStartTime": {}, + "nextStartTime": {}, + "state": {} + } + }, "google-native:compute/v1:Scheduling": { "properties": { "automaticRestart": {}, @@ -46931,15 +48715,37 @@ }, "google-native:compute/v1:ShareSettings": { "properties": { - "projectMap": {}, + "projectMap": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:ShareSettingsProjectConfig" + } + }, "shareType": { "$ref": "#/types/google-native:compute/v1:ShareSettingsShareType" } } }, + "google-native:compute/v1:ShareSettingsProjectConfig": { + "properties": { + "projectId": { + "sdkName": "project" + } + } + }, + "google-native:compute/v1:ShareSettingsProjectConfigResponse": { + "properties": { + "projectId": { + "sdkName": "project" + } + } + }, "google-native:compute/v1:ShareSettingsResponse": { "properties": { - "projectMap": {}, + "projectMap": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:ShareSettingsProjectConfigResponse" + } + }, "shareType": {} } }, @@ -47017,7 +48823,9 @@ } }, "keyRevocationActionType": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/v1:MetadataResponse" @@ -47050,7 +48858,9 @@ }, "google-native:compute/v1:SslCertificateManagedSslCertificateResponse": { "properties": { - "domainStatus": {}, + "domainStatus": { + "additionalProperties": {} + }, "domains": { "items": {} }, @@ -47095,16 +48905,64 @@ }, "google-native:compute/v1:StatefulPolicyPreservedState": { "properties": { - "disks": {}, - "externalIPs": {}, - "internalIPs": {} + "disks": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateDiskDevice" + } + }, + "externalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIp" + } + }, + "internalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIp" + } + } + } + }, + "google-native:compute/v1:StatefulPolicyPreservedStateDiskDevice": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateDiskDeviceAutoDelete" + } + } + }, + "google-native:compute/v1:StatefulPolicyPreservedStateDiskDeviceResponse": { + "properties": { + "autoDelete": {} + } + }, + "google-native:compute/v1:StatefulPolicyPreservedStateNetworkIp": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIpAutoDelete" + } + } + }, + "google-native:compute/v1:StatefulPolicyPreservedStateNetworkIpResponse": { + "properties": { + "autoDelete": {} } }, "google-native:compute/v1:StatefulPolicyPreservedStateResponse": { "properties": { - "disks": {}, - "externalIPs": {}, - "internalIPs": {} + "disks": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateDiskDeviceResponse" + } + }, + "externalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIpResponse" + } + }, + "internalIPs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIpResponse" + } + } } }, "google-native:compute/v1:StatefulPolicyResponse": { @@ -48040,12 +49898,24 @@ "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1CallAnnotationResponse" } }, - "entities": {}, - "intents": {}, + "entities": { + "additionalProperties": { + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1EntityResponse" + } + }, + "intents": { + "additionalProperties": { + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IntentResponse" + } + }, "issueModelResult": { "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IssueModelResultResponse" }, - "phraseMatchers": {}, + "phraseMatchers": { + "additionalProperties": { + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse" + } + }, "sentiments": { "items": { "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1ConversationLevelSentimentResponse" @@ -48141,7 +50011,9 @@ "confidenceScore": { "format": "float" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "queryRecord": {}, "source": {}, "title": {}, @@ -48251,9 +50123,13 @@ "format": "float" }, "conversationModel": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "text": {}, - "textSections": {} + "textSections": { + "additionalProperties": {} + } } }, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1ConversationTranscriptResponse": { @@ -48313,6 +50189,11 @@ "word": {} } }, + "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1DialogflowIntentResponse": { + "properties": { + "displayName": {} + } + }, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1DialogflowInteractionDataResponse": { "properties": { "confidence": { @@ -48341,6 +50222,21 @@ "type": {} } }, + "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1EntityResponse": { + "properties": { + "displayName": {}, + "metadata": { + "additionalProperties": {} + }, + "salience": { + "format": "float" + }, + "sentiment": { + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1SentimentDataResponse" + }, + "type": {} + } + }, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1ExactMatchConfig": { "properties": { "caseSensitive": {} @@ -48357,7 +50253,9 @@ "confidenceScore": { "format": "float" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "queryRecord": {}, "question": {}, "source": {} @@ -48383,6 +50281,11 @@ "intentUniqueId": {} } }, + "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IntentResponse": { + "properties": { + "displayName": {} + } + }, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1InterruptionDataResponse": {}, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IssueAssignmentResponse": { "properties": { @@ -48417,12 +50320,25 @@ } } }, + "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse": { + "properties": { + "displayName": {}, + "issue": {}, + "labeledConversationsCount": { + "format": "int64" + } + } + }, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse": { "properties": { "analyzedConversationsCount": { "format": "int64" }, - "issueStats": {}, + "issueStats": { + "additionalProperties": { + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse" + } + }, "unclassifiedConversationsCount": { "format": "int64" } @@ -48556,7 +50472,9 @@ "confidenceScore": { "format": "double" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "queryRecord": {}, "suggestion": {} } @@ -48566,7 +50484,9 @@ "confidenceScore": { "format": "double" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "queryRecord": {}, "reply": {} } @@ -49521,13 +51441,17 @@ "cgroupMode": { "$ref": "#/types/google-native:container/v1:LinuxNodeConfigCgroupMode" }, - "sysctls": {} + "sysctls": { + "additionalProperties": {} + } } }, "google-native:container/v1:LinuxNodeConfigResponse": { "properties": { "cgroupMode": {}, - "sysctls": {} + "sysctls": { + "additionalProperties": {} + } } }, "google-native:container/v1:LocalNvmeSsdBlockConfig": { @@ -49619,7 +51543,11 @@ "dailyMaintenanceWindow": { "$ref": "#/types/google-native:container/v1:DailyMaintenanceWindow" }, - "maintenanceExclusions": {}, + "maintenanceExclusions": { + "additionalProperties": { + "$ref": "#/types/google-native:container/v1:TimeWindow" + } + }, "recurringWindow": { "$ref": "#/types/google-native:container/v1:RecurringTimeWindow" } @@ -49630,7 +51558,11 @@ "dailyMaintenanceWindow": { "$ref": "#/types/google-native:container/v1:DailyMaintenanceWindowResponse" }, - "maintenanceExclusions": {}, + "maintenanceExclusions": { + "additionalProperties": { + "$ref": "#/types/google-native:container/v1:TimeWindowResponse" + } + }, "recurringWindow": { "$ref": "#/types/google-native:container/v1:RecurringTimeWindowResponse" } @@ -49915,7 +51847,9 @@ "kubeletConfig": { "$ref": "#/types/google-native:container/v1:NodeKubeletConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linuxNodeConfig": { "$ref": "#/types/google-native:container/v1:LinuxNodeConfig" }, @@ -49929,7 +51863,9 @@ "$ref": "#/types/google-native:container/v1:NodePoolLoggingConfig" }, "machineType": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "minCpuPlatform": {}, "nodeGroup": {}, "oauthScopes": { @@ -49939,7 +51875,9 @@ "reservationAffinity": { "$ref": "#/types/google-native:container/v1:ReservationAffinity" }, - "resourceLabels": {}, + "resourceLabels": { + "additionalProperties": {} + }, "resourceManagerTags": { "$ref": "#/types/google-native:container/v1:ResourceManagerTags" }, @@ -50024,7 +51962,9 @@ "kubeletConfig": { "$ref": "#/types/google-native:container/v1:NodeKubeletConfigResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linuxNodeConfig": { "$ref": "#/types/google-native:container/v1:LinuxNodeConfigResponse" }, @@ -50038,7 +51978,9 @@ "$ref": "#/types/google-native:container/v1:NodePoolLoggingConfigResponse" }, "machineType": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "minCpuPlatform": {}, "nodeGroup": {}, "oauthScopes": { @@ -50048,7 +51990,9 @@ "reservationAffinity": { "$ref": "#/types/google-native:container/v1:ReservationAffinityResponse" }, - "resourceLabels": {}, + "resourceLabels": { + "additionalProperties": {} + }, "resourceManagerTags": { "$ref": "#/types/google-native:container/v1:ResourceManagerTagsResponse" }, @@ -50103,7 +52047,9 @@ }, "google-native:container/v1:NodeLabels": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:container/v1:NodeManagement": { @@ -50406,13 +52352,17 @@ }, "google-native:container/v1:ParentProductConfig": { "properties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "productName": {} } }, "google-native:container/v1:ParentProductConfigResponse": { "properties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "productName": {} } }, @@ -50572,7 +52522,9 @@ }, "google-native:container/v1:ResourceLabels": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:container/v1:ResourceLimit": { @@ -50599,12 +52551,16 @@ }, "google-native:container/v1:ResourceManagerTags": { "properties": { - "tags": {} + "tags": { + "additionalProperties": {} + } } }, "google-native:container/v1:ResourceManagerTagsResponse": { "properties": { - "tags": {} + "tags": { + "additionalProperties": {} + } } }, "google-native:container/v1:ResourceUsageExportConfig": { @@ -51608,6 +53564,19 @@ "state": {} } }, + "google-native:container/v1beta1:DateResponse": { + "properties": { + "day": { + "format": "int32" + }, + "month": { + "format": "int32" + }, + "year": { + "format": "int32" + } + } + }, "google-native:container/v1beta1:DefaultSnatStatus": { "properties": { "disabled": {} @@ -51971,13 +53940,17 @@ "cgroupMode": { "$ref": "#/types/google-native:container/v1beta1:LinuxNodeConfigCgroupMode" }, - "sysctls": {} + "sysctls": { + "additionalProperties": {} + } } }, "google-native:container/v1beta1:LinuxNodeConfigResponse": { "properties": { "cgroupMode": {}, - "sysctls": {} + "sysctls": { + "additionalProperties": {} + } } }, "google-native:container/v1beta1:LocalNvmeSsdBlockConfig": { @@ -52069,7 +54042,11 @@ "dailyMaintenanceWindow": { "$ref": "#/types/google-native:container/v1beta1:DailyMaintenanceWindow" }, - "maintenanceExclusions": {}, + "maintenanceExclusions": { + "additionalProperties": { + "$ref": "#/types/google-native:container/v1beta1:TimeWindow" + } + }, "recurringWindow": { "$ref": "#/types/google-native:container/v1beta1:RecurringTimeWindow" } @@ -52080,7 +54057,11 @@ "dailyMaintenanceWindow": { "$ref": "#/types/google-native:container/v1beta1:DailyMaintenanceWindowResponse" }, - "maintenanceExclusions": {}, + "maintenanceExclusions": { + "additionalProperties": { + "$ref": "#/types/google-native:container/v1beta1:TimeWindowResponse" + } + }, "recurringWindow": { "$ref": "#/types/google-native:container/v1beta1:RecurringTimeWindowResponse" } @@ -52383,7 +54364,9 @@ "kubeletConfig": { "$ref": "#/types/google-native:container/v1beta1:NodeKubeletConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linuxNodeConfig": { "$ref": "#/types/google-native:container/v1beta1:LinuxNodeConfig" }, @@ -52397,7 +54380,9 @@ "$ref": "#/types/google-native:container/v1beta1:NodePoolLoggingConfig" }, "machineType": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "minCpuPlatform": {}, "nodeGroup": {}, "oauthScopes": { @@ -52407,7 +54392,9 @@ "reservationAffinity": { "$ref": "#/types/google-native:container/v1beta1:ReservationAffinity" }, - "resourceLabels": {}, + "resourceLabels": { + "additionalProperties": {} + }, "resourceManagerTags": { "$ref": "#/types/google-native:container/v1beta1:ResourceManagerTags" }, @@ -52505,7 +54492,9 @@ "kubeletConfig": { "$ref": "#/types/google-native:container/v1beta1:NodeKubeletConfigResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linuxNodeConfig": { "$ref": "#/types/google-native:container/v1beta1:LinuxNodeConfigResponse" }, @@ -52519,7 +54508,9 @@ "$ref": "#/types/google-native:container/v1beta1:NodePoolLoggingConfigResponse" }, "machineType": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "minCpuPlatform": {}, "nodeGroup": {}, "oauthScopes": { @@ -52529,7 +54520,9 @@ "reservationAffinity": { "$ref": "#/types/google-native:container/v1beta1:ReservationAffinityResponse" }, - "resourceLabels": {}, + "resourceLabels": { + "additionalProperties": {} + }, "resourceManagerTags": { "$ref": "#/types/google-native:container/v1beta1:ResourceManagerTagsResponse" }, @@ -52584,7 +54577,9 @@ }, "google-native:container/v1beta1:NodeLabels": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:container/v1beta1:NodeManagement": { @@ -52913,13 +54908,17 @@ }, "google-native:container/v1beta1:ParentProductConfig": { "properties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "productName": {} } }, "google-native:container/v1beta1:ParentProductConfigResponse": { "properties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "productName": {} } }, @@ -53122,7 +55121,9 @@ }, "google-native:container/v1beta1:ResourceLabels": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:container/v1beta1:ResourceLimit": { @@ -53149,12 +55150,16 @@ }, "google-native:container/v1beta1:ResourceManagerTags": { "properties": { - "tags": {} + "tags": { + "additionalProperties": {} + } } }, "google-native:container/v1beta1:ResourceManagerTagsResponse": { "properties": { - "tags": {} + "tags": { + "additionalProperties": {} + } } }, "google-native:container/v1beta1:ResourceUsageExportConfig": { @@ -53412,6 +55417,24 @@ "osVersion": {} } }, + "google-native:container/v1beta1:WindowsVersionResponse": { + "properties": { + "imageType": {}, + "osVersion": {}, + "supportEndDate": { + "$ref": "#/types/google-native:container/v1beta1:DateResponse" + } + } + }, + "google-native:container/v1beta1:WindowsVersionsResponse": { + "properties": { + "windowsVersions": { + "items": { + "$ref": "#/types/google-native:container/v1beta1:WindowsVersionResponse" + } + } + } + }, "google-native:container/v1beta1:WorkloadALTSConfig": { "properties": { "enableAlts": {} @@ -53754,7 +55777,9 @@ }, "google-native:containeranalysis/v1:BuildProvenance": { "properties": { - "buildOptions": {}, + "buildOptions": { + "additionalProperties": {} + }, "builderVersion": {}, "builtArtifacts": { "items": { @@ -53791,7 +55816,9 @@ }, "google-native:containeranalysis/v1:BuildProvenanceResponse": { "properties": { - "buildOptions": {}, + "buildOptions": { + "additionalProperties": {} + }, "builderVersion": {}, "builtArtifacts": { "items": { @@ -54456,6 +56483,26 @@ "title": {} } }, + "google-native:containeranalysis/v1:FileHashes": { + "properties": { + "fileHash": { + "required": true, + "items": { + "$ref": "#/types/google-native:containeranalysis/v1:Hash" + } + } + } + }, + "google-native:containeranalysis/v1:FileHashesResponse": { + "properties": { + "fileHash": { + "required": true, + "items": { + "$ref": "#/types/google-native:containeranalysis/v1:HashResponse" + } + } + } + }, "google-native:containeranalysis/v1:Fingerprint": { "properties": { "v1Name": { @@ -54543,14 +56590,18 @@ }, "google-native:containeranalysis/v1:GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "entryPoint": {}, "uri": {} } }, "google-native:containeranalysis/v1:GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "entryPoint": {}, "uri": {} } @@ -54575,13 +56626,17 @@ }, "google-native:containeranalysis/v1:GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "uri": {} } }, "google-native:containeranalysis/v1:GrafeasV1SlsaProvenanceZeroTwoSlsaMaterialResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "uri": {} } }, @@ -54615,6 +56670,28 @@ "reproducible": {} } }, + "google-native:containeranalysis/v1:Hash": { + "properties": { + "type": { + "required": true + }, + "value": { + "format": "byte", + "required": true + } + } + }, + "google-native:containeranalysis/v1:HashResponse": { + "properties": { + "type": { + "required": true + }, + "value": { + "format": "byte", + "required": true + } + } + }, "google-native:containeranalysis/v1:Hint": { "properties": { "humanReadableName": { @@ -54891,13 +56968,17 @@ }, "google-native:containeranalysis/v1:Material": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "uri": {} } }, "google-native:containeranalysis/v1:MaterialResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "uri": {} } }, @@ -55130,7 +57211,9 @@ } }, "id": {}, - "version": {} + "version": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1:ProvenanceBuilderResponse": { @@ -55140,7 +57223,9 @@ "$ref": "#/types/google-native:containeranalysis/v1:ResourceDescriptorResponse" } }, - "version": {} + "version": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1:Publisher": { @@ -55241,7 +57326,9 @@ "content": { "format": "byte" }, - "digest": {}, + "digest": { + "additionalProperties": {} + }, "downloadLocation": {}, "mediaType": {}, "name": {}, @@ -55254,7 +57341,9 @@ "content": { "format": "byte" }, - "digest": {}, + "digest": { + "additionalProperties": {} + }, "downloadLocation": {}, "mediaType": {}, "name": {}, @@ -55377,7 +57466,9 @@ }, "google-native:containeranalysis/v1:SbomReferenceIntotoPredicate": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "location": {}, "mimeType": {}, "referrerId": {} @@ -55385,7 +57476,9 @@ }, "google-native:containeranalysis/v1:SbomReferenceIntotoPredicateResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "location": {}, "mimeType": {}, "referrerId": {} @@ -55586,7 +57679,11 @@ "context": { "$ref": "#/types/google-native:containeranalysis/v1:SourceContext" }, - "fileHashes": {} + "fileHashes": { + "additionalProperties": { + "$ref": "#/types/google-native:containeranalysis/v1:FileHashes" + } + } } }, "google-native:containeranalysis/v1:SourceContext": { @@ -55600,7 +57697,9 @@ "git": { "$ref": "#/types/google-native:containeranalysis/v1:GitSourceContext" }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1:SourceContextResponse": { @@ -55614,7 +57713,9 @@ "git": { "$ref": "#/types/google-native:containeranalysis/v1:GitSourceContextResponse" }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1:SourceResponse": { @@ -55628,7 +57729,11 @@ "context": { "$ref": "#/types/google-native:containeranalysis/v1:SourceContextResponse" }, - "fileHashes": {} + "fileHashes": { + "additionalProperties": { + "$ref": "#/types/google-native:containeranalysis/v1:FileHashesResponse" + } + } } }, "google-native:containeranalysis/v1:Status": { @@ -55655,13 +57760,17 @@ }, "google-native:containeranalysis/v1:Subject": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "name": {} } }, "google-native:containeranalysis/v1:SubjectResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "name": {} } }, @@ -56300,7 +58409,9 @@ }, "google-native:containeranalysis/v1alpha1:BuildProvenance": { "properties": { - "buildOptions": {}, + "buildOptions": { + "additionalProperties": {} + }, "builderVersion": {}, "builtArtifacts": { "items": { @@ -56335,7 +58446,9 @@ }, "google-native:containeranalysis/v1alpha1:BuildProvenanceResponse": { "properties": { - "buildOptions": {}, + "buildOptions": { + "additionalProperties": {} + }, "builderVersion": {}, "builtArtifacts": { "items": { @@ -57009,6 +59122,24 @@ "type": {} } }, + "google-native:containeranalysis/v1alpha1:FileHashes": { + "properties": { + "fileHash": { + "items": { + "$ref": "#/types/google-native:containeranalysis/v1alpha1:Hash" + } + } + } + }, + "google-native:containeranalysis/v1alpha1:FileHashesResponse": { + "properties": { + "fileHash": { + "items": { + "$ref": "#/types/google-native:containeranalysis/v1alpha1:HashResponse" + } + } + } + }, "google-native:containeranalysis/v1alpha1:FileLocation": { "properties": { "filePath": {} @@ -57221,14 +59352,18 @@ }, "google-native:containeranalysis/v1alpha1:GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "entryPoint": {}, "uri": {} } }, "google-native:containeranalysis/v1alpha1:GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSourceResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "entryPoint": {}, "uri": {} } @@ -57253,13 +59388,17 @@ }, "google-native:containeranalysis/v1alpha1:GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "uri": {} } }, "google-native:containeranalysis/v1alpha1:GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterialResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "uri": {} } }, @@ -57304,7 +59443,9 @@ "git": { "$ref": "#/types/google-native:containeranalysis/v1alpha1:GoogleDevtoolsContaineranalysisV1alpha1GitSourceContext" }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1alpha1:GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse": { @@ -57318,7 +59459,9 @@ "git": { "$ref": "#/types/google-native:containeranalysis/v1alpha1:GoogleDevtoolsContaineranalysisV1alpha1GitSourceContextResponse" }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1alpha1:Hash": { @@ -57552,13 +59695,17 @@ }, "google-native:containeranalysis/v1alpha1:Material": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "uri": {} } }, "google-native:containeranalysis/v1alpha1:MaterialResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "uri": {} } }, @@ -57823,7 +59970,9 @@ } }, "id": {}, - "version": {} + "version": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1alpha1:ProvenanceBuilderResponse": { @@ -57833,7 +59982,9 @@ "$ref": "#/types/google-native:containeranalysis/v1alpha1:ResourceDescriptorResponse" } }, - "version": {} + "version": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1alpha1:Publisher": { @@ -57976,7 +60127,9 @@ "content": { "format": "byte" }, - "digest": {}, + "digest": { + "additionalProperties": {} + }, "downloadLocation": {}, "mediaType": {}, "name": {}, @@ -57989,7 +60142,9 @@ "content": { "format": "byte" }, - "digest": {}, + "digest": { + "additionalProperties": {} + }, "downloadLocation": {}, "mediaType": {}, "name": {}, @@ -58113,7 +60268,9 @@ }, "google-native:containeranalysis/v1alpha1:SbomReferenceIntotoPredicate": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "location": {}, "mimeType": {}, "referrerId": {} @@ -58121,7 +60278,9 @@ }, "google-native:containeranalysis/v1alpha1:SbomReferenceIntotoPredicateResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "location": {}, "mimeType": {}, "referrerId": {} @@ -58308,7 +60467,11 @@ "context": { "$ref": "#/types/google-native:containeranalysis/v1alpha1:GoogleDevtoolsContaineranalysisV1alpha1SourceContext" }, - "fileHashes": {}, + "fileHashes": { + "additionalProperties": { + "$ref": "#/types/google-native:containeranalysis/v1alpha1:FileHashes" + } + }, "repoSource": { "$ref": "#/types/google-native:containeranalysis/v1alpha1:RepoSource" }, @@ -58330,7 +60493,11 @@ "context": { "$ref": "#/types/google-native:containeranalysis/v1alpha1:GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse" }, - "fileHashes": {}, + "fileHashes": { + "additionalProperties": { + "$ref": "#/types/google-native:containeranalysis/v1alpha1:FileHashesResponse" + } + }, "repoSource": { "$ref": "#/types/google-native:containeranalysis/v1alpha1:RepoSourceResponse" }, @@ -58381,13 +60548,17 @@ }, "google-native:containeranalysis/v1alpha1:Subject": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "name": {} } }, "google-native:containeranalysis/v1alpha1:SubjectResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "name": {} } }, @@ -58964,7 +61135,9 @@ }, "google-native:containeranalysis/v1beta1:BuildProvenance": { "properties": { - "buildOptions": {}, + "buildOptions": { + "additionalProperties": {} + }, "builderVersion": {}, "builtArtifacts": { "items": { @@ -59001,7 +61174,9 @@ }, "google-native:containeranalysis/v1beta1:BuildProvenanceResponse": { "properties": { - "buildOptions": {}, + "buildOptions": { + "additionalProperties": {} + }, "builderVersion": {}, "builtArtifacts": { "items": { @@ -59069,12 +61244,16 @@ }, "google-native:containeranalysis/v1beta1:ByProducts": { "properties": { - "customValues": {} + "customValues": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1beta1:ByProductsResponse": { "properties": { - "customValues": {} + "customValues": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1beta1:CVSS": { @@ -59618,12 +61797,16 @@ }, "google-native:containeranalysis/v1beta1:Environment": { "properties": { - "customValues": {} + "customValues": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1beta1:EnvironmentResponse": { "properties": { - "customValues": {} + "customValues": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1beta1:Expr": { @@ -59660,6 +61843,26 @@ "type": {} } }, + "google-native:containeranalysis/v1beta1:FileHashes": { + "properties": { + "fileHash": { + "required": true, + "items": { + "$ref": "#/types/google-native:containeranalysis/v1beta1:Hash" + } + } + } + }, + "google-native:containeranalysis/v1beta1:FileHashesResponse": { + "properties": { + "fileHash": { + "required": true, + "items": { + "$ref": "#/types/google-native:containeranalysis/v1beta1:HashResponse" + } + } + } + }, "google-native:containeranalysis/v1beta1:FileNote": { "properties": { "checksum": { @@ -60503,7 +62706,9 @@ } }, "id": {}, - "version": {} + "version": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1beta1:ProvenanceBuilderResponse": { @@ -60513,7 +62718,9 @@ "$ref": "#/types/google-native:containeranalysis/v1beta1:ResourceDescriptorResponse" } }, - "version": {} + "version": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1beta1:Publisher": { @@ -60622,7 +62829,9 @@ "content": { "format": "byte" }, - "digest": {}, + "digest": { + "additionalProperties": {} + }, "downloadLocation": {}, "mediaType": {}, "name": {}, @@ -60635,7 +62844,9 @@ "content": { "format": "byte" }, - "digest": {}, + "digest": { + "additionalProperties": {} + }, "downloadLocation": {}, "mediaType": {}, "name": {}, @@ -60769,7 +62980,9 @@ }, "google-native:containeranalysis/v1beta1:SbomReferenceIntotoPredicate": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "location": {}, "mimeType": {}, "referrerId": {} @@ -60777,7 +62990,9 @@ }, "google-native:containeranalysis/v1beta1:SbomReferenceIntotoPredicateResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "location": {}, "mimeType": {}, "referrerId": {} @@ -60846,7 +63061,11 @@ "context": { "$ref": "#/types/google-native:containeranalysis/v1beta1:SourceContext" }, - "fileHashes": {} + "fileHashes": { + "additionalProperties": { + "$ref": "#/types/google-native:containeranalysis/v1beta1:FileHashes" + } + } } }, "google-native:containeranalysis/v1beta1:SourceContext": { @@ -60860,7 +63079,9 @@ "git": { "$ref": "#/types/google-native:containeranalysis/v1beta1:GitSourceContext" }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1beta1:SourceContextResponse": { @@ -60874,7 +63095,9 @@ "git": { "$ref": "#/types/google-native:containeranalysis/v1beta1:GitSourceContextResponse" }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:containeranalysis/v1beta1:SourceResponse": { @@ -60888,7 +63111,11 @@ "context": { "$ref": "#/types/google-native:containeranalysis/v1beta1:SourceContextResponse" }, - "fileHashes": {} + "fileHashes": { + "additionalProperties": { + "$ref": "#/types/google-native:containeranalysis/v1beta1:FileHashesResponse" + } + } } }, "google-native:containeranalysis/v1beta1:Status": { @@ -60915,13 +63142,17 @@ }, "google-native:containeranalysis/v1beta1:Subject": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "name": {} } }, "google-native:containeranalysis/v1beta1:SubjectResponse": { "properties": { - "digest": {}, + "digest": { + "additionalProperties": {} + }, "name": {} } }, @@ -61250,28 +63481,38 @@ }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1CloudAIDocumentOption": { "properties": { - "customizedEntitiesPropertiesConversions": {}, + "customizedEntitiesPropertiesConversions": { + "additionalProperties": {} + }, "enableEntitiesConversions": {} } }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1DataUpdateAction": { "properties": { - "entries": {} + "entries": { + "additionalProperties": {} + } } }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1DataUpdateActionResponse": { "properties": { - "entries": {} + "entries": { + "additionalProperties": {} + } } }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1DataValidationAction": { "properties": { - "conditions": {} + "conditions": { + "additionalProperties": {} + } } }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1DataValidationActionResponse": { "properties": { - "conditions": {} + "conditions": { + "additionalProperties": {} + } } }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1DateTimeArray": { @@ -61336,6 +63577,16 @@ "validationCheckDisabled": {} } }, + "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1EnumValue": { + "properties": { + "value": {} + } + }, + "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1EnumValueResponse": { + "properties": { + "value": {} + } + }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1FloatArray": { "properties": { "values": { @@ -61370,12 +63621,20 @@ "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1IntegerTypeOptionsResponse": {}, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1MapProperty": { "properties": { - "fields": {} + "fields": { + "additionalProperties": { + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1Value" + } + } } }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1MapPropertyResponse": { "properties": { - "fields": {} + "fields": { + "additionalProperties": { + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1ValueResponse" + } + } } }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1MapTypeOptions": {}, @@ -61736,6 +63995,48 @@ "id": {} } }, + "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1Value": { + "properties": { + "booleanValue": {}, + "datetimeValue": { + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleTypeDateTime" + }, + "enumValue": { + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1EnumValue" + }, + "floatValue": { + "format": "float" + }, + "intValue": { + "format": "int32" + }, + "stringValue": {}, + "timestampValue": { + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1TimestampValue" + } + } + }, + "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1ValueResponse": { + "properties": { + "booleanValue": {}, + "datetimeValue": { + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleTypeDateTimeResponse" + }, + "enumValue": { + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1EnumValueResponse" + }, + "floatValue": { + "format": "float" + }, + "intValue": { + "format": "int32" + }, + "stringValue": {}, + "timestampValue": { + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1TimestampValueResponse" + } + } + }, "google-native:contentwarehouse/v1:GoogleCloudDocumentaiV1Barcode": { "properties": { "format": {}, @@ -63654,6 +65955,20 @@ } } }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1CommonUsageStats": { + "properties": { + "viewCount": { + "format": "int64" + } + } + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1CommonUsageStatsResponse": { + "properties": { + "viewCount": { + "format": "int64" + } + } + }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1Contacts": { "properties": { "people": { @@ -63822,6 +66137,56 @@ "overview": {} } }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldType": { + "properties": { + "enumType": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumType" + }, + "primitiveType": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypePrimitiveType" + } + } + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumType": { + "properties": { + "allowedValues": { + "items": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue" + } + } + } + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue": { + "properties": { + "displayName": { + "required": true + } + } + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse": { + "properties": { + "displayName": { + "required": true + } + } + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse": { + "properties": { + "allowedValues": { + "items": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse" + } + } + } + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeResponse": { + "properties": { + "enumType": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse" + }, + "primitiveType": {} + } + }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FilesetSpec": { "properties": { "dataplexFileset": { @@ -64124,6 +66489,35 @@ "groupedEntry": {} } }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1TagTemplateField": { + "properties": { + "description": {}, + "displayName": {}, + "isRequired": {}, + "order": { + "format": "int32" + }, + "type": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldType", + "required": true + } + } + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1TagTemplateFieldResponse": { + "properties": { + "description": {}, + "displayName": {}, + "isRequired": {}, + "name": {}, + "order": { + "format": "int32" + }, + "type": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeResponse", + "required": true + } + } + }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1TaxonomyServiceResponse": { "properties": { "identity": {}, @@ -64132,7 +66526,11 @@ }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1UsageSignal": { "properties": { - "commonUsageWithinTimeRange": {}, + "commonUsageWithinTimeRange": { + "additionalProperties": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1CommonUsageStats" + } + }, "favoriteCount": { "format": "int64" }, @@ -64143,14 +66541,38 @@ }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1UsageSignalResponse": { "properties": { - "commonUsageWithinTimeRange": {}, + "commonUsageWithinTimeRange": { + "additionalProperties": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1CommonUsageStatsResponse" + } + }, "favoriteCount": { "format": "int64" }, "updateTime": { "format": "google-datetime" }, - "usageWithinTimeRange": {} + "usageWithinTimeRange": { + "additionalProperties": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1UsageStatsResponse" + } + } + } + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1UsageStatsResponse": { + "properties": { + "totalCancellations": { + "format": "float" + }, + "totalCompletions": { + "format": "float" + }, + "totalExecutionTimeForCompletionsMillis": { + "format": "float" + }, + "totalFailures": { + "format": "float" + } } }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1VertexDatasetSpec": { @@ -64323,6 +66745,56 @@ } } }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldType": { + "properties": { + "enumType": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumType" + }, + "primitiveType": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType" + } + } + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumType": { + "properties": { + "allowedValues": { + "items": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue" + } + } + } + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue": { + "properties": { + "displayName": { + "required": true + } + } + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse": { + "properties": { + "displayName": { + "required": true + } + } + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse": { + "properties": { + "allowedValues": { + "items": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse" + } + } + } + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeResponse": { + "properties": { + "enumType": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse" + }, + "primitiveType": {} + } + }, "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1GcsFileSpecResponse": { "properties": { "filePath": { @@ -64396,6 +66868,35 @@ "groupedEntry": {} } }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TagTemplateField": { + "properties": { + "description": {}, + "displayName": {}, + "isRequired": {}, + "order": { + "format": "int32" + }, + "type": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldType", + "required": true + } + } + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse": { + "properties": { + "description": {}, + "displayName": {}, + "isRequired": {}, + "name": {}, + "order": { + "format": "int32" + }, + "type": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeResponse", + "required": true + } + } + }, "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TaxonomyServiceResponse": { "properties": { "identity": {}, @@ -64407,7 +66908,27 @@ "updateTime": { "format": "google-datetime" }, - "usageWithinTimeRange": {} + "usageWithinTimeRange": { + "additionalProperties": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1UsageStatsResponse" + } + } + } + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1UsageStatsResponse": { + "properties": { + "totalCancellations": { + "format": "float" + }, + "totalCompletions": { + "format": "float" + }, + "totalExecutionTimeForCompletionsMillis": { + "format": "float" + }, + "totalFailures": { + "format": "float" + } } }, "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1ViewSpec": {}, @@ -64771,12 +67292,34 @@ }, "google-native:dataflow/v1b3:JobExecutionInfo": { "properties": { - "stages": {} + "stages": { + "additionalProperties": { + "$ref": "#/types/google-native:dataflow/v1b3:JobExecutionStageInfo" + } + } } }, "google-native:dataflow/v1b3:JobExecutionInfoResponse": { "properties": { - "stages": {} + "stages": { + "additionalProperties": { + "$ref": "#/types/google-native:dataflow/v1b3:JobExecutionStageInfoResponse" + } + } + } + }, + "google-native:dataflow/v1b3:JobExecutionStageInfo": { + "properties": { + "stepName": { + "items": {} + } + } + }, + "google-native:dataflow/v1b3:JobExecutionStageInfoResponse": { + "properties": { + "stepName": { + "items": {} + } } }, "google-native:dataflow/v1b3:JobMetadata": { @@ -64814,7 +67357,9 @@ "$ref": "#/types/google-native:dataflow/v1b3:SpannerIODetails" } }, - "userDisplayProperties": {} + "userDisplayProperties": { + "additionalProperties": {} + } } }, "google-native:dataflow/v1b3:JobMetadataResponse": { @@ -64852,7 +67397,9 @@ "$ref": "#/types/google-native:dataflow/v1b3:SpannerIODetailsResponse" } }, - "userDisplayProperties": {} + "userDisplayProperties": { + "additionalProperties": {} + } } }, "google-native:dataflow/v1b3:Package": { @@ -64878,7 +67425,9 @@ }, "google-native:dataflow/v1b3:ParameterMetadataResponse": { "properties": { - "customMetadata": {}, + "customMetadata": { + "additionalProperties": {} + }, "defaultValue": {}, "enumOptions": { "items": { @@ -64963,7 +67512,9 @@ "additionalExperiments": { "items": {} }, - "additionalUserLabels": {}, + "additionalUserLabels": { + "additionalProperties": {} + }, "bypassTempDirValidation": {}, "diskSizeGb": { "format": "int32" @@ -65277,7 +67828,9 @@ }, "kind": {}, "machineType": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "network": {}, "numThreadsPerWorker": { "format": "int32" @@ -65329,7 +67882,9 @@ "ipConfiguration": {}, "kind": {}, "machineType": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "network": {}, "numThreadsPerWorker": { "format": "int32" @@ -65415,7 +67970,9 @@ "defaultSchema": {}, "schemaSuffix": {}, "tablePrefix": {}, - "vars": {} + "vars": { + "additionalProperties": {} + } } }, "google-native:dataform/v1beta1:CodeCompilationConfigResponse": { @@ -65427,7 +67984,9 @@ "defaultSchema": {}, "schemaSuffix": {}, "tablePrefix": {}, - "vars": {} + "vars": { + "additionalProperties": {} + } } }, "google-native:dataform/v1beta1:CompilationErrorResponse": { @@ -66072,7 +68631,8 @@ "google-native:datalabeling/v1beta1:GoogleCloudDatalabelingV1beta1EvaluationJobConfig": { "properties": { "bigqueryImportKeys": { - "required": true + "required": true, + "additionalProperties": {} }, "boundingPolyConfig": { "$ref": "#/types/google-native:datalabeling/v1beta1:GoogleCloudDatalabelingV1beta1BoundingPolyConfig" @@ -66109,7 +68669,8 @@ "google-native:datalabeling/v1beta1:GoogleCloudDatalabelingV1beta1EvaluationJobConfigResponse": { "properties": { "bigqueryImportKeys": { - "required": true + "required": true, + "additionalProperties": {} }, "boundingPolyConfig": { "$ref": "#/types/google-native:datalabeling/v1beta1:GoogleCloudDatalabelingV1beta1BoundingPolyConfigResponse" @@ -66424,7 +68985,9 @@ "$ref": "#/types/google-native:datamigration/v1:UserPassword", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "primaryInstanceSettings": { "$ref": "#/types/google-native:datamigration/v1:PrimaryInstanceSettings" }, @@ -66443,7 +69006,9 @@ "$ref": "#/types/google-native:datamigration/v1:UserPasswordResponse", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "primaryInstanceSettings": { "$ref": "#/types/google-native:datamigration/v1:PrimaryInstanceSettingsResponse" }, @@ -66583,7 +69148,9 @@ "dataDiskType": { "$ref": "#/types/google-native:datamigration/v1:CloudSqlSettingsDataDiskType" }, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "databaseVersion": { "$ref": "#/types/google-native:datamigration/v1:CloudSqlSettingsDatabaseVersion" }, @@ -66600,7 +69167,9 @@ "format": "int64" }, "tier": {}, - "userLabels": {}, + "userLabels": { + "additionalProperties": {} + }, "zone": {} } }, @@ -66618,7 +69187,9 @@ "format": "int64" }, "dataDiskType": {}, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "databaseVersion": {}, "edition": {}, "ipConfig": { @@ -66632,7 +69203,9 @@ "format": "int64" }, "tier": {}, - "userLabels": {}, + "userLabels": { + "additionalProperties": {} + }, "zone": {} } }, @@ -67195,11 +69768,15 @@ }, "google-native:datamigration/v1:PrimaryInstanceSettings": { "properties": { - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "id": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineConfig": { "$ref": "#/types/google-native:datamigration/v1:MachineConfig" } @@ -67207,8 +69784,12 @@ }, "google-native:datamigration/v1:PrimaryInstanceSettingsResponse": { "properties": { - "databaseFlags": {}, - "labels": {}, + "databaseFlags": { + "additionalProperties": {} + }, + "labels": { + "additionalProperties": {} + }, "machineConfig": { "$ref": "#/types/google-native:datamigration/v1:MachineConfigResponse" }, @@ -67782,7 +70363,9 @@ "dataDiskType": { "$ref": "#/types/google-native:datamigration/v1beta1:CloudSqlSettingsDataDiskType" }, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "databaseVersion": { "$ref": "#/types/google-native:datamigration/v1beta1:CloudSqlSettingsDatabaseVersion" }, @@ -67795,7 +70378,9 @@ "format": "int64" }, "tier": {}, - "userLabels": {}, + "userLabels": { + "additionalProperties": {} + }, "zone": {} } }, @@ -67807,7 +70392,9 @@ "format": "int64" }, "dataDiskType": {}, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "databaseVersion": {}, "ipConfig": { "$ref": "#/types/google-native:datamigration/v1beta1:SqlIpConfigResponse" @@ -67819,7 +70406,9 @@ "format": "int64" }, "tier": {}, - "userLabels": {}, + "userLabels": { + "additionalProperties": {} + }, "zone": {} } }, @@ -68019,7 +70608,9 @@ "additionalExperiments": { "items": {} }, - "additionalUserLabels": {}, + "additionalUserLabels": { + "additionalProperties": {} + }, "enableStreamingEngine": {}, "flexrsGoal": { "$ref": "#/types/google-native:datapipelines/v1:GoogleCloudDatapipelinesV1FlexTemplateRuntimeEnvironmentFlexrsGoal" @@ -68049,7 +70640,9 @@ "additionalExperiments": { "items": {} }, - "additionalUserLabels": {}, + "additionalUserLabels": { + "additionalProperties": {} + }, "enableStreamingEngine": {}, "flexrsGoal": {}, "ipConfiguration": {}, @@ -68079,9 +70672,15 @@ "jobName": { "required": true }, - "launchOptions": {}, - "parameters": {}, - "transformNameMappings": {}, + "launchOptions": { + "additionalProperties": {} + }, + "parameters": { + "additionalProperties": {} + }, + "transformNameMappings": { + "additionalProperties": {} + }, "update": {} } }, @@ -68094,9 +70693,15 @@ "jobName": { "required": true }, - "launchOptions": {}, - "parameters": {}, - "transformNameMappings": {}, + "launchOptions": { + "additionalProperties": {} + }, + "parameters": { + "additionalProperties": {} + }, + "transformNameMappings": { + "additionalProperties": {} + }, "update": {} } }, @@ -68140,8 +70745,12 @@ "jobName": { "required": true }, - "parameters": {}, - "transformNameMapping": {}, + "parameters": { + "additionalProperties": {} + }, + "transformNameMapping": { + "additionalProperties": {} + }, "update": {} } }, @@ -68153,8 +70762,12 @@ "jobName": { "required": true }, - "parameters": {}, - "transformNameMapping": {}, + "parameters": { + "additionalProperties": {} + }, + "transformNameMapping": { + "additionalProperties": {} + }, "update": {} } }, @@ -68191,7 +70804,9 @@ "additionalExperiments": { "items": {} }, - "additionalUserLabels": {}, + "additionalUserLabels": { + "additionalProperties": {} + }, "bypassTempDirValidation": {}, "enableStreamingEngine": {}, "ipConfiguration": { @@ -68219,7 +70834,9 @@ "additionalExperiments": { "items": {} }, - "additionalUserLabels": {}, + "additionalUserLabels": { + "additionalProperties": {} + }, "bypassTempDirValidation": {}, "enableStreamingEngine": {}, "ipConfiguration": {}, @@ -69122,7 +71739,9 @@ "javaLibraries": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pythonPackages": { "items": {} } @@ -69136,7 +71755,9 @@ "javaLibraries": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pythonPackages": { "items": {} } @@ -69182,7 +71803,9 @@ "executionSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1TaskExecutionSpecResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "message": {}, "name": {}, "retryCount": { @@ -69442,7 +72065,9 @@ }, "google-native:dataplex/v1:GoogleCloudDataplexV1TaskExecutionSpec": { "properties": { - "args": {}, + "args": { + "additionalProperties": {} + }, "kmsKey": {}, "maxJobExecutionLifetime": { "format": "google-duration" @@ -69455,7 +72080,9 @@ }, "google-native:dataplex/v1:GoogleCloudDataplexV1TaskExecutionSpecResponse": { "properties": { - "args": {}, + "args": { + "additionalProperties": {} + }, "kmsKey": {}, "maxJobExecutionLifetime": { "format": "google-duration" @@ -69515,7 +72142,9 @@ "javaJars": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pythonPackages": { "items": {} } @@ -69527,7 +72156,9 @@ "javaJars": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pythonPackages": { "items": {} } @@ -70140,14 +72771,19 @@ }, "google-native:dataproc/v1:ClusterMetricsResponse": { "properties": { - "hdfsMetrics": {}, - "yarnMetrics": {} + "hdfsMetrics": { + "additionalProperties": {} + }, + "yarnMetrics": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:ClusterSelector": { "properties": { "clusterLabels": { - "required": true + "required": true, + "additionalProperties": {} }, "zone": {} } @@ -70155,7 +72791,8 @@ "google-native:dataproc/v1:ClusterSelectorResponse": { "properties": { "clusterLabels": { - "required": true + "required": true, + "additionalProperties": {} }, "zone": {} } @@ -70268,7 +72905,9 @@ "google-native:dataproc/v1:EndpointConfigResponse": { "properties": { "enableHttpPortAccess": {}, - "httpPorts": {} + "httpPorts": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:EnvironmentConfig": { @@ -70356,7 +72995,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "savepointUri": {} } }, @@ -70373,7 +73014,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "savepointUri": {} } }, @@ -70383,7 +73026,9 @@ "$ref": "#/types/google-native:dataproc/v1:ConfidentialInstanceConfig" }, "internalIpOnly": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkUri": {}, "nodeGroupAffinity": { "$ref": "#/types/google-native:dataproc/v1:NodeGroupAffinity" @@ -70414,7 +73059,9 @@ "$ref": "#/types/google-native:dataproc/v1:ConfidentialInstanceConfigResponse" }, "internalIpOnly": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkUri": {}, "nodeGroupAffinity": { "$ref": "#/types/google-native:dataproc/v1:NodeGroupAffinityResponse" @@ -70620,7 +73267,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:HadoopJobResponse": { @@ -70642,7 +73291,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:HiveJob": { @@ -70651,12 +73302,16 @@ "jarFileUris": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryList" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:HiveJobResponse": { @@ -70665,25 +73320,31 @@ "jarFileUris": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryListResponse" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:IdentityConfig": { "properties": { "userServiceAccountMapping": { - "required": true + "required": true, + "additionalProperties": {} } } }, "google-native:dataproc/v1:IdentityConfigResponse": { "properties": { "userServiceAccountMapping": { - "required": true + "required": true, + "additionalProperties": {} } } }, @@ -70846,7 +73507,9 @@ }, "google-native:dataproc/v1:JobPlacement": { "properties": { - "clusterLabels": {}, + "clusterLabels": { + "additionalProperties": {} + }, "clusterName": { "required": true } @@ -70854,7 +73517,9 @@ }, "google-native:dataproc/v1:JobPlacementResponse": { "properties": { - "clusterLabels": {}, + "clusterLabels": { + "additionalProperties": {} + }, "clusterName": { "required": true }, @@ -70989,14 +73654,22 @@ }, "google-native:dataproc/v1:KubernetesSoftwareConfig": { "properties": { - "componentVersion": {}, - "properties": {} + "componentVersion": { + "additionalProperties": {} + }, + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:KubernetesSoftwareConfigResponse": { "properties": { - "componentVersion": {}, - "properties": {} + "componentVersion": { + "additionalProperties": {} + }, + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:LifecycleConfig": { @@ -71030,12 +73703,16 @@ }, "google-native:dataproc/v1:LoggingConfig": { "properties": { - "driverLogLevels": {} + "driverLogLevels": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:LoggingConfigResponse": { "properties": { - "driverLogLevels": {} + "driverLogLevels": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:ManagedCluster": { @@ -71047,7 +73724,9 @@ "$ref": "#/types/google-native:dataproc/v1:ClusterConfig", "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:ManagedClusterResponse": { @@ -71059,7 +73738,9 @@ "$ref": "#/types/google-native:dataproc/v1:ClusterConfigResponse", "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:ManagedGroupConfigResponse": { @@ -71118,7 +73799,9 @@ }, "google-native:dataproc/v1:NodeGroup": { "properties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "nodeGroupConfig": { "$ref": "#/types/google-native:dataproc/v1:InstanceGroupConfig" @@ -71147,7 +73830,9 @@ }, "google-native:dataproc/v1:NodeGroupResponse": { "properties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "nodeGroupConfig": { "$ref": "#/types/google-native:dataproc/v1:InstanceGroupConfigResponse" @@ -71189,7 +73874,9 @@ "hiveJob": { "$ref": "#/types/google-native:dataproc/v1:HiveJob" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "pigJob": { "$ref": "#/types/google-native:dataproc/v1:PigJob" }, @@ -71233,7 +73920,9 @@ "hiveJob": { "$ref": "#/types/google-native:dataproc/v1:HiveJobResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "pigJob": { "$ref": "#/types/google-native:dataproc/v1:PigJobResponse" }, @@ -71311,12 +74000,16 @@ "loggingConfig": { "$ref": "#/types/google-native:dataproc/v1:LoggingConfig" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryList" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:PigJobResponse": { @@ -71328,12 +74021,16 @@ "loggingConfig": { "$ref": "#/types/google-native:dataproc/v1:LoggingConfigResponse" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryListResponse" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:PrestoJob": { @@ -71346,7 +74043,9 @@ "$ref": "#/types/google-native:dataproc/v1:LoggingConfig" }, "outputFormat": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryList" @@ -71363,7 +74062,9 @@ "$ref": "#/types/google-native:dataproc/v1:LoggingConfigResponse" }, "outputFormat": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryListResponse" @@ -71444,7 +74145,9 @@ "mainPythonFileUri": { "required": true }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pythonFileUris": { "items": {} } @@ -71470,7 +74173,9 @@ "mainPythonFileUri": { "required": true }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pythonFileUris": { "items": {} } @@ -71545,7 +74250,9 @@ "google-native:dataproc/v1:RuntimeConfig": { "properties": { "containerImage": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "repositoryConfig": { "$ref": "#/types/google-native:dataproc/v1:RepositoryConfig" }, @@ -71555,7 +74262,9 @@ "google-native:dataproc/v1:RuntimeConfigResponse": { "properties": { "containerImage": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "repositoryConfig": { "$ref": "#/types/google-native:dataproc/v1:RepositoryConfigResponse" }, @@ -71571,7 +74280,9 @@ "$ref": "#/types/google-native:dataproc/v1:UsageSnapshotResponse" }, "diagnosticOutputUri": {}, - "endpoints": {}, + "endpoints": { + "additionalProperties": {} + }, "outputUri": {} } }, @@ -71626,7 +74337,9 @@ "$ref": "#/types/google-native:dataproc/v1:SoftwareConfigOptionalComponentsItem" } }, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SoftwareConfigResponse": { @@ -71635,7 +74348,9 @@ "optionalComponents": { "items": {} }, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SparkBatch": { @@ -71703,7 +74418,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SparkJobResponse": { @@ -71725,7 +74442,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SparkRBatch": { @@ -71777,7 +74496,9 @@ "mainRFileUri": { "required": true }, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SparkRJobResponse": { @@ -71797,7 +74518,9 @@ "mainRFileUri": { "required": true }, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SparkSqlBatch": { @@ -71808,7 +74531,9 @@ "queryFileUri": { "required": true }, - "queryVariables": {} + "queryVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SparkSqlBatchResponse": { @@ -71819,7 +74544,9 @@ "queryFileUri": { "required": true }, - "queryVariables": {} + "queryVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SparkSqlJob": { @@ -71830,12 +74557,16 @@ "loggingConfig": { "$ref": "#/types/google-native:dataproc/v1:LoggingConfig" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryList" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SparkSqlJobResponse": { @@ -71846,12 +74577,16 @@ "loggingConfig": { "$ref": "#/types/google-native:dataproc/v1:LoggingConfigResponse" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryListResponse" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1:SparkStandaloneAutoscalingConfig": { @@ -71963,7 +74698,9 @@ "$ref": "#/types/google-native:dataproc/v1:LoggingConfig" }, "outputFormat": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryList" @@ -71980,7 +74717,9 @@ "$ref": "#/types/google-native:dataproc/v1:LoggingConfigResponse" }, "outputFormat": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1:QueryListResponse" @@ -72311,14 +75050,19 @@ }, "google-native:dataproc/v1beta2:ClusterMetricsResponse": { "properties": { - "hdfsMetrics": {}, - "yarnMetrics": {} + "hdfsMetrics": { + "additionalProperties": {} + }, + "yarnMetrics": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:ClusterSelector": { "properties": { "clusterLabels": { - "required": true + "required": true, + "additionalProperties": {} }, "zone": {} } @@ -72326,7 +75070,8 @@ "google-native:dataproc/v1beta2:ClusterSelectorResponse": { "properties": { "clusterLabels": { - "required": true + "required": true, + "additionalProperties": {} }, "zone": {} } @@ -72381,7 +75126,9 @@ "google-native:dataproc/v1beta2:EndpointConfigResponse": { "properties": { "enableHttpPortAccess": {}, - "httpPorts": {} + "httpPorts": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:Expr": { @@ -72403,7 +75150,9 @@ "google-native:dataproc/v1beta2:GceClusterConfig": { "properties": { "internalIpOnly": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkUri": {}, "nodeGroupAffinity": { "$ref": "#/types/google-native:dataproc/v1beta2:NodeGroupAffinity" @@ -72431,7 +75180,9 @@ "google-native:dataproc/v1beta2:GceClusterConfigResponse": { "properties": { "internalIpOnly": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkUri": {}, "nodeGroupAffinity": { "$ref": "#/types/google-native:dataproc/v1beta2:NodeGroupAffinityResponse" @@ -72487,7 +75238,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:HadoopJobResponse": { @@ -72509,7 +75262,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:HiveJob": { @@ -72518,12 +75273,16 @@ "jarFileUris": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1beta2:QueryList" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:HiveJobResponse": { @@ -72532,12 +75291,16 @@ "jarFileUris": { "items": {} }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1beta2:QueryListResponse" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:InstanceGroupAutoscalingPolicyConfig": { @@ -72627,7 +75390,9 @@ }, "google-native:dataproc/v1beta2:JobPlacement": { "properties": { - "clusterLabels": {}, + "clusterLabels": { + "additionalProperties": {} + }, "clusterName": { "required": true } @@ -72635,7 +75400,9 @@ }, "google-native:dataproc/v1beta2:JobPlacementResponse": { "properties": { - "clusterLabels": {}, + "clusterLabels": { + "additionalProperties": {} + }, "clusterName": { "required": true }, @@ -72761,12 +75528,16 @@ }, "google-native:dataproc/v1beta2:LoggingConfig": { "properties": { - "driverLogLevels": {} + "driverLogLevels": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:LoggingConfigResponse": { "properties": { - "driverLogLevels": {} + "driverLogLevels": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:ManagedCluster": { @@ -72778,7 +75549,9 @@ "$ref": "#/types/google-native:dataproc/v1beta2:ClusterConfig", "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:ManagedClusterResponse": { @@ -72790,7 +75563,9 @@ "$ref": "#/types/google-native:dataproc/v1beta2:ClusterConfigResponse", "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:ManagedGroupConfigResponse": { @@ -72867,7 +75642,9 @@ "hiveJob": { "$ref": "#/types/google-native:dataproc/v1beta2:HiveJob" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "pigJob": { "$ref": "#/types/google-native:dataproc/v1beta2:PigJob" }, @@ -72905,7 +75682,9 @@ "hiveJob": { "$ref": "#/types/google-native:dataproc/v1beta2:HiveJobResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "pigJob": { "$ref": "#/types/google-native:dataproc/v1beta2:PigJobResponse" }, @@ -72964,12 +75743,16 @@ "loggingConfig": { "$ref": "#/types/google-native:dataproc/v1beta2:LoggingConfig" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1beta2:QueryList" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:PigJobResponse": { @@ -72981,12 +75764,16 @@ "loggingConfig": { "$ref": "#/types/google-native:dataproc/v1beta2:LoggingConfigResponse" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1beta2:QueryListResponse" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:PrestoJob": { @@ -72999,7 +75786,9 @@ "$ref": "#/types/google-native:dataproc/v1beta2:LoggingConfig" }, "outputFormat": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1beta2:QueryList" @@ -73016,7 +75805,9 @@ "$ref": "#/types/google-native:dataproc/v1beta2:LoggingConfigResponse" }, "outputFormat": {}, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1beta2:QueryListResponse" @@ -73043,7 +75834,9 @@ "mainPythonFileUri": { "required": true }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pythonFileUris": { "items": {} } @@ -73069,7 +75862,9 @@ "mainPythonFileUri": { "required": true }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "pythonFileUris": { "items": {} } @@ -73163,7 +75958,9 @@ "$ref": "#/types/google-native:dataproc/v1beta2:SoftwareConfigOptionalComponentsItem" } }, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:SoftwareConfigResponse": { @@ -73172,7 +75969,9 @@ "optionalComponents": { "items": {} }, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:SparkJob": { @@ -73194,7 +75993,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:SparkJobResponse": { @@ -73216,7 +76017,9 @@ }, "mainClass": {}, "mainJarFileUri": {}, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:SparkRJob": { @@ -73236,7 +76039,9 @@ "mainRFileUri": { "required": true }, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:SparkRJobResponse": { @@ -73256,7 +76061,9 @@ "mainRFileUri": { "required": true }, - "properties": {} + "properties": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:SparkSqlJob": { @@ -73267,12 +76074,16 @@ "loggingConfig": { "$ref": "#/types/google-native:dataproc/v1beta2:LoggingConfig" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1beta2:QueryList" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:SparkSqlJobResponse": { @@ -73283,12 +76094,16 @@ "loggingConfig": { "$ref": "#/types/google-native:dataproc/v1beta2:LoggingConfigResponse" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "queryFileUri": {}, "queryList": { "$ref": "#/types/google-native:dataproc/v1beta2:QueryListResponse" }, - "scriptVariables": {} + "scriptVariables": { + "additionalProperties": {} + } } }, "google-native:dataproc/v1beta2:TemplateParameter": { @@ -73494,7 +76309,9 @@ "google-native:datastream/v1:DropLargeObjectsResponse": {}, "google-native:datastream/v1:ErrorResponse": { "properties": { - "details": {}, + "details": { + "additionalProperties": {} + }, "errorTime": { "format": "google-datetime" }, @@ -73830,7 +76647,9 @@ }, "google-native:datastream/v1:OracleProfile": { "properties": { - "connectionAttributes": {}, + "connectionAttributes": { + "additionalProperties": {} + }, "databaseService": { "required": true }, @@ -73853,7 +76672,9 @@ }, "google-native:datastream/v1:OracleProfileResponse": { "properties": { - "connectionAttributes": {}, + "connectionAttributes": { + "additionalProperties": {} + }, "databaseService": { "required": true }, @@ -74304,7 +77125,9 @@ "google-native:datastream/v1alpha1:DropLargeObjectsResponse": {}, "google-native:datastream/v1alpha1:ErrorResponse": { "properties": { - "details": {}, + "details": { + "additionalProperties": {} + }, "errorTime": { "format": "google-datetime" }, @@ -74622,7 +77445,9 @@ }, "google-native:datastream/v1alpha1:OracleProfile": { "properties": { - "connectionAttributes": {}, + "connectionAttributes": { + "additionalProperties": {} + }, "databaseService": { "required": true }, @@ -74642,7 +77467,9 @@ }, "google-native:datastream/v1alpha1:OracleProfileResponse": { "properties": { - "connectionAttributes": {}, + "connectionAttributes": { + "additionalProperties": {} + }, "databaseService": { "required": true }, @@ -74894,6 +77721,23 @@ } } }, + "google-native:deploymentmanager/alpha:BulkInsertOperationStatusResponse": { + "properties": { + "createdVmCount": { + "format": "int32" + }, + "deletedVmCount": { + "format": "int32" + }, + "failedToCreateVmCount": { + "format": "int32" + }, + "status": {}, + "targetVmCount": { + "format": "int32" + } + } + }, "google-native:deploymentmanager/alpha:CollectionOverride": { "properties": { "collection": {}, @@ -75060,7 +77904,11 @@ }, "google-native:deploymentmanager/alpha:InstancesBulkInsertOperationMetadataResponse": { "properties": { - "perLocationStatus": {} + "perLocationStatus": { + "additionalProperties": { + "$ref": "#/types/google-native:deploymentmanager/alpha:BulkInsertOperationStatusResponse" + } + } } }, "google-native:deploymentmanager/alpha:MethodMap": { @@ -75231,10 +78079,33 @@ "email": {} } }, + "google-native:deploymentmanager/alpha:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse": { + "properties": { + "error": { + "$ref": "#/types/google-native:deploymentmanager/alpha:StatusResponse" + }, + "state": {} + } + }, "google-native:deploymentmanager/alpha:SetCommonInstanceMetadataOperationMetadataResponse": { "properties": { "clientOperationId": {}, - "perLocationOperations": {} + "perLocationOperations": { + "additionalProperties": { + "$ref": "#/types/google-native:deploymentmanager/alpha:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse" + } + } + } + }, + "google-native:deploymentmanager/alpha:StatusResponse": { + "properties": { + "code": { + "format": "int32" + }, + "details": { + "items": {} + }, + "message": {} } }, "google-native:deploymentmanager/alpha:TargetConfiguration": { @@ -75381,6 +78252,23 @@ } } }, + "google-native:deploymentmanager/v2:BulkInsertOperationStatusResponse": { + "properties": { + "createdVmCount": { + "format": "int32" + }, + "deletedVmCount": { + "format": "int32" + }, + "failedToCreateVmCount": { + "format": "int32" + }, + "status": {}, + "targetVmCount": { + "format": "int32" + } + } + }, "google-native:deploymentmanager/v2:ConfigFile": { "properties": { "content": {} @@ -75450,7 +78338,11 @@ }, "google-native:deploymentmanager/v2:InstancesBulkInsertOperationMetadataResponse": { "properties": { - "perLocationStatus": {} + "perLocationStatus": { + "additionalProperties": { + "$ref": "#/types/google-native:deploymentmanager/v2:BulkInsertOperationStatusResponse" + } + } } }, "google-native:deploymentmanager/v2:OperationErrorErrorsItemResponse": { @@ -75531,10 +78423,33 @@ "message": {} } }, + "google-native:deploymentmanager/v2:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse": { + "properties": { + "error": { + "$ref": "#/types/google-native:deploymentmanager/v2:StatusResponse" + }, + "state": {} + } + }, "google-native:deploymentmanager/v2:SetCommonInstanceMetadataOperationMetadataResponse": { "properties": { "clientOperationId": {}, - "perLocationOperations": {} + "perLocationOperations": { + "additionalProperties": { + "$ref": "#/types/google-native:deploymentmanager/v2:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse" + } + } + } + }, + "google-native:deploymentmanager/v2:StatusResponse": { + "properties": { + "code": { + "format": "int32" + }, + "details": { + "items": {} + }, + "message": {} } }, "google-native:deploymentmanager/v2:TargetConfiguration": { @@ -75653,6 +78568,23 @@ } } }, + "google-native:deploymentmanager/v2beta:BulkInsertOperationStatusResponse": { + "properties": { + "createdVmCount": { + "format": "int32" + }, + "deletedVmCount": { + "format": "int32" + }, + "failedToCreateVmCount": { + "format": "int32" + }, + "status": {}, + "targetVmCount": { + "format": "int32" + } + } + }, "google-native:deploymentmanager/v2beta:CollectionOverride": { "properties": { "collection": {}, @@ -75804,7 +78736,11 @@ }, "google-native:deploymentmanager/v2beta:InstancesBulkInsertOperationMetadataResponse": { "properties": { - "perLocationStatus": {} + "perLocationStatus": { + "additionalProperties": { + "$ref": "#/types/google-native:deploymentmanager/v2beta:BulkInsertOperationStatusResponse" + } + } } }, "google-native:deploymentmanager/v2beta:OperationErrorErrorsItemResponse": { @@ -75957,10 +78893,33 @@ "email": {} } }, + "google-native:deploymentmanager/v2beta:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse": { + "properties": { + "error": { + "$ref": "#/types/google-native:deploymentmanager/v2beta:StatusResponse" + }, + "state": {} + } + }, "google-native:deploymentmanager/v2beta:SetCommonInstanceMetadataOperationMetadataResponse": { "properties": { "clientOperationId": {}, - "perLocationOperations": {} + "perLocationOperations": { + "additionalProperties": { + "$ref": "#/types/google-native:deploymentmanager/v2beta:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse" + } + } + } + }, + "google-native:deploymentmanager/v2beta:StatusResponse": { + "properties": { + "code": { + "format": "int32" + }, + "details": { + "items": {} + }, + "message": {} } }, "google-native:deploymentmanager/v2beta:TargetConfiguration": { @@ -76240,7 +79199,9 @@ "properties": { "isCloudFunction": {}, "password": {}, - "requestHeaders": {}, + "requestHeaders": { + "additionalProperties": {} + }, "uri": { "required": true }, @@ -76251,7 +79212,9 @@ "properties": { "isCloudFunction": {}, "password": {}, - "requestHeaders": {}, + "requestHeaders": { + "additionalProperties": {} + }, "uri": { "required": true }, @@ -77569,7 +80532,11 @@ "sampleRateHertz": { "format": "int32" }, - "synthesizeSpeechConfigs": {} + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:dialogflow/v2:GoogleCloudDialogflowV2SynthesizeSpeechConfig" + } + } } }, "google-native:dialogflow/v2:GoogleCloudDialogflowV2TextToSpeechSettingsResponse": { @@ -77581,7 +80548,11 @@ "sampleRateHertz": { "format": "int32" }, - "synthesizeSpeechConfigs": {} + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:dialogflow/v2:GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse" + } + } } }, "google-native:dialogflow/v2:GoogleCloudDialogflowV2VoiceSelectionParams": { @@ -77721,7 +80692,9 @@ "properties": { "isCloudFunction": {}, "password": {}, - "requestHeaders": {}, + "requestHeaders": { + "additionalProperties": {} + }, "uri": { "required": true }, @@ -77732,7 +80705,9 @@ "properties": { "isCloudFunction": {}, "password": {}, - "requestHeaders": {}, + "requestHeaders": { + "additionalProperties": {} + }, "uri": { "required": true }, @@ -79278,7 +82253,11 @@ "sampleRateHertz": { "format": "int32" }, - "synthesizeSpeechConfigs": {} + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:dialogflow/v2beta1:GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig" + } + } } }, "google-native:dialogflow/v2beta1:GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse": { @@ -79290,7 +82269,11 @@ "sampleRateHertz": { "format": "int32" }, - "synthesizeSpeechConfigs": {} + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:dialogflow/v2beta1:GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse" + } + } } }, "google-native:dialogflow/v2beta1:GoogleCloudDialogflowV2beta1VoiceSelectionParams": { @@ -80124,7 +83107,9 @@ "required": true }, "isFallback": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "parameters": { "items": { @@ -80183,7 +83168,9 @@ "required": true }, "isFallback": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "parameters": { "items": { @@ -80668,6 +83655,44 @@ "enableSpeechAdaptation": {} } }, + "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3SynthesizeSpeechConfig": { + "properties": { + "effectsProfileId": { + "items": {} + }, + "pitch": { + "format": "double" + }, + "speakingRate": { + "format": "double" + }, + "voice": { + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParams" + }, + "volumeGainDb": { + "format": "double" + } + } + }, + "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse": { + "properties": { + "effectsProfileId": { + "items": {} + }, + "pitch": { + "format": "double" + }, + "speakingRate": { + "format": "double" + }, + "voice": { + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse" + }, + "volumeGainDb": { + "format": "double" + } + } + }, "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3TestCaseResult": { "properties": { "conversationTurns": { @@ -80740,12 +83765,20 @@ }, "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3TextToSpeechSettings": { "properties": { - "synthesizeSpeechConfigs": {} + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3SynthesizeSpeechConfig" + } + } } }, "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse": { "properties": { - "synthesizeSpeechConfigs": {} + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse" + } + } } }, "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3TransitionRoute": { @@ -80829,6 +83862,20 @@ "version": {} } }, + "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParams": { + "properties": { + "name": {}, + "ssmlGender": { + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender" + } + } + }, + "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse": { + "properties": { + "name": {}, + "ssmlGender": {} + } + }, "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3Webhook": { "properties": { "disabled": {}, @@ -80855,10 +83902,14 @@ "httpMethod": { "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethod" }, - "parameterMapping": {}, + "parameterMapping": { + "additionalProperties": {} + }, "password": {}, "requestBody": {}, - "requestHeaders": {}, + "requestHeaders": { + "additionalProperties": {} + }, "uri": { "required": true }, @@ -80874,10 +83925,14 @@ "items": {} }, "httpMethod": {}, - "parameterMapping": {}, + "parameterMapping": { + "additionalProperties": {} + }, "password": {}, "requestBody": {}, - "requestHeaders": {}, + "requestHeaders": { + "additionalProperties": {} + }, "uri": { "required": true }, @@ -81751,7 +84806,9 @@ "required": true }, "isFallback": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "parameters": { "items": { @@ -81810,7 +84867,9 @@ "required": true }, "isFallback": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "parameters": { "items": { @@ -82291,6 +85350,44 @@ "enableSpeechAdaptation": {} } }, + "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig": { + "properties": { + "effectsProfileId": { + "items": {} + }, + "pitch": { + "format": "double" + }, + "speakingRate": { + "format": "double" + }, + "voice": { + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParams" + }, + "volumeGainDb": { + "format": "double" + } + } + }, + "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse": { + "properties": { + "effectsProfileId": { + "items": {} + }, + "pitch": { + "format": "double" + }, + "speakingRate": { + "format": "double" + }, + "voice": { + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse" + }, + "volumeGainDb": { + "format": "double" + } + } + }, "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1TestCaseResult": { "properties": { "conversationTurns": { @@ -82363,12 +85460,20 @@ }, "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1TextToSpeechSettings": { "properties": { - "synthesizeSpeechConfigs": {} + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig" + } + } } }, "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse": { "properties": { - "synthesizeSpeechConfigs": {} + "synthesizeSpeechConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse" + } + } } }, "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1TransitionRoute": { @@ -82452,6 +85557,20 @@ "version": {} } }, + "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParams": { + "properties": { + "name": {}, + "ssmlGender": { + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender" + } + } + }, + "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse": { + "properties": { + "name": {}, + "ssmlGender": {} + } + }, "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1Webhook": { "properties": { "disabled": {}, @@ -82478,10 +85597,14 @@ "httpMethod": { "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethod" }, - "parameterMapping": {}, + "parameterMapping": { + "additionalProperties": {} + }, "password": {}, "requestBody": {}, - "requestHeaders": {}, + "requestHeaders": { + "additionalProperties": {} + }, "uri": { "required": true }, @@ -82497,10 +85620,14 @@ "items": {} }, "httpMethod": {}, - "parameterMapping": {}, + "parameterMapping": { + "additionalProperties": {} + }, "password": {}, "requestBody": {}, - "requestHeaders": {}, + "requestHeaders": { + "additionalProperties": {} + }, "uri": { "required": true }, @@ -84580,7 +87707,9 @@ "google-native:dlp/v2:GooglePrivacyDlpV2HybridOptions": { "properties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "requiredFindingLabelKeys": { "items": {} }, @@ -84592,7 +87721,9 @@ "google-native:dlp/v2:GooglePrivacyDlpV2HybridOptionsResponse": { "properties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "requiredFindingLabelKeys": { "items": {} }, @@ -88949,6 +92080,12 @@ "topic": {} } }, + "google-native:eventarc/v1:StateConditionResponse": { + "properties": { + "code": {}, + "message": {} + } + }, "google-native:eventarc/v1:Transport": { "properties": { "pubsub": { @@ -89487,7 +92624,8 @@ "properties": { "glob": {}, "headers": { - "required": true + "required": true, + "additionalProperties": {} }, "regex": {} } @@ -89496,7 +92634,8 @@ "properties": { "glob": {}, "headers": { - "required": true + "required": true, + "additionalProperties": {} }, "regex": {} } @@ -89687,7 +92826,9 @@ "finalizeUser": { "$ref": "#/types/google-native:firebasehosting/v1beta1:ActingUserResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "status": {}, "versionBytes": { @@ -90674,7 +93815,9 @@ "google-native:gkebackup/v1:ClusterMetadataResponse": { "properties": { "anthosVersion": {}, - "backupCrdVersions": {}, + "backupCrdVersions": { + "additionalProperties": {} + }, "cluster": {}, "gkeVersion": {}, "k8sVersion": {} @@ -91170,7 +94313,11 @@ "gkeState": { "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeGKEUpgradeFeatureStateResponse" }, - "ignored": {} + "ignored": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeIgnoredMembershipResponse" + } + } } }, "google-native:gkehub/v1:ClusterUpgradeGKEUpgrade": { @@ -91235,7 +94382,27 @@ }, "google-native:gkehub/v1:ClusterUpgradeGKEUpgradeStateResponse": { "properties": { - "stats": {}, + "stats": { + "additionalProperties": {} + }, + "status": { + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeUpgradeStatusResponse" + }, + "upgrade": { + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeGKEUpgradeResponse" + } + } + }, + "google-native:gkehub/v1:ClusterUpgradeIgnoredMembershipResponse": { + "properties": { + "ignoredTime": { + "format": "google-datetime" + }, + "reason": {} + } + }, + "google-native:gkehub/v1:ClusterUpgradeMembershipGKEUpgradeStateResponse": { + "properties": { "status": { "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeUpgradeStatusResponse" }, @@ -91244,6 +94411,22 @@ } } }, + "google-native:gkehub/v1:ClusterUpgradeMembershipStateResponse": { + "properties": { + "fleet": {}, + "ignored": { + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeIgnoredMembershipResponse" + }, + "scopes": { + "items": {} + }, + "upgrades": { + "items": { + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeMembershipGKEUpgradeStateResponse" + } + } + } + }, "google-native:gkehub/v1:ClusterUpgradePostConditions": { "properties": { "soaking": { @@ -91364,6 +94547,22 @@ "sourceFormat": {} } }, + "google-native:gkehub/v1:ConfigManagementConfigSyncDeploymentStateResponse": { + "properties": { + "admissionWebhook": {}, + "gitSync": {}, + "importer": {}, + "monitor": {}, + "reconcilerManager": {}, + "rootReconciler": {}, + "syncer": {} + } + }, + "google-native:gkehub/v1:ConfigManagementConfigSyncErrorResponse": { + "properties": { + "errorMessage": {} + } + }, "google-native:gkehub/v1:ConfigManagementConfigSyncResponse": { "properties": { "allowVerticalScale": {}, @@ -91379,6 +94578,52 @@ "sourceFormat": {} } }, + "google-native:gkehub/v1:ConfigManagementConfigSyncStateResponse": { + "properties": { + "deploymentState": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementConfigSyncDeploymentStateResponse" + }, + "errors": { + "items": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementConfigSyncErrorResponse" + } + }, + "syncState": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementSyncStateResponse" + }, + "version": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementConfigSyncVersionResponse" + } + } + }, + "google-native:gkehub/v1:ConfigManagementConfigSyncVersionResponse": { + "properties": { + "admissionWebhook": {}, + "gitSync": {}, + "importer": {}, + "monitor": {}, + "reconcilerManager": {}, + "rootReconciler": {}, + "syncer": {} + } + }, + "google-native:gkehub/v1:ConfigManagementErrorResourceResponse": { + "properties": { + "resourceGvk": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementGroupVersionKindResponse" + }, + "resourceName": {}, + "resourceNamespace": {}, + "sourcePath": {} + } + }, + "google-native:gkehub/v1:ConfigManagementGatekeeperDeploymentStateResponse": { + "properties": { + "gatekeeperAudit": {}, + "gatekeeperControllerManagerState": {}, + "gatekeeperMutation": {} + } + }, "google-native:gkehub/v1:ConfigManagementGitConfig": { "properties": { "gcpServiceAccountEmail": {}, @@ -91407,6 +94652,13 @@ } } }, + "google-native:gkehub/v1:ConfigManagementGroupVersionKindResponse": { + "properties": { + "group": {}, + "kind": {}, + "version": {} + } + }, "google-native:gkehub/v1:ConfigManagementHierarchyControllerConfig": { "properties": { "enableHierarchicalResourceQuota": {}, @@ -91421,6 +94673,33 @@ "enabled": {} } }, + "google-native:gkehub/v1:ConfigManagementHierarchyControllerDeploymentStateResponse": { + "properties": { + "extension": {}, + "hnc": {} + } + }, + "google-native:gkehub/v1:ConfigManagementHierarchyControllerStateResponse": { + "properties": { + "state": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementHierarchyControllerDeploymentStateResponse" + }, + "version": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementHierarchyControllerVersionResponse" + } + } + }, + "google-native:gkehub/v1:ConfigManagementHierarchyControllerVersionResponse": { + "properties": { + "extension": {}, + "hnc": {} + } + }, + "google-native:gkehub/v1:ConfigManagementInstallErrorResponse": { + "properties": { + "errorMessage": {} + } + }, "google-native:gkehub/v1:ConfigManagementMembershipSpec": { "properties": { "cluster": {}, @@ -91451,6 +94730,26 @@ "version": {} } }, + "google-native:gkehub/v1:ConfigManagementMembershipStateResponse": { + "properties": { + "clusterName": {}, + "configSyncState": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementConfigSyncStateResponse" + }, + "hierarchyControllerState": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementHierarchyControllerStateResponse" + }, + "membershipSpec": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementMembershipSpecResponse" + }, + "operatorState": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementOperatorStateResponse" + }, + "policyControllerState": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementPolicyControllerStateResponse" + } + } + }, "google-native:gkehub/v1:ConfigManagementOciConfig": { "properties": { "gcpServiceAccountEmail": {}, @@ -91473,6 +94772,17 @@ } } }, + "google-native:gkehub/v1:ConfigManagementOperatorStateResponse": { + "properties": { + "deploymentState": {}, + "errors": { + "items": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementInstallErrorResponse" + } + }, + "version": {} + } + }, "google-native:gkehub/v1:ConfigManagementPolicyController": { "properties": { "auditIntervalSeconds": { @@ -91491,6 +94801,14 @@ "templateLibraryInstalled": {} } }, + "google-native:gkehub/v1:ConfigManagementPolicyControllerMigrationResponse": { + "properties": { + "copyTime": { + "format": "google-datetime" + }, + "stage": {} + } + }, "google-native:gkehub/v1:ConfigManagementPolicyControllerMonitoring": { "properties": { "backends": { @@ -91528,6 +94846,52 @@ } } }, + "google-native:gkehub/v1:ConfigManagementPolicyControllerStateResponse": { + "properties": { + "deploymentState": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementGatekeeperDeploymentStateResponse" + }, + "migration": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementPolicyControllerMigrationResponse" + }, + "version": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementPolicyControllerVersionResponse" + } + } + }, + "google-native:gkehub/v1:ConfigManagementPolicyControllerVersionResponse": { + "properties": { + "version": {} + } + }, + "google-native:gkehub/v1:ConfigManagementSyncErrorResponse": { + "properties": { + "code": {}, + "errorMessage": {}, + "errorResources": { + "items": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementErrorResourceResponse" + } + } + } + }, + "google-native:gkehub/v1:ConfigManagementSyncStateResponse": { + "properties": { + "code": {}, + "errors": { + "items": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementSyncErrorResponse" + } + }, + "importToken": {}, + "lastSync": {}, + "lastSyncTime": { + "format": "google-datetime" + }, + "sourceToken": {}, + "syncToken": {} + } + }, "google-native:gkehub/v1:DefaultClusterConfig": { "properties": { "binaryAuthorizationConfig": { @@ -91672,6 +95036,9 @@ } } }, + "google-native:gkehub/v1:FleetObservabilityMembershipSpec": {}, + "google-native:gkehub/v1:FleetObservabilityMembershipSpecResponse": {}, + "google-native:gkehub/v1:FleetObservabilityMembershipStateResponse": {}, "google-native:gkehub/v1:FleetObservabilityRoutingConfig": { "properties": { "mode": { @@ -91774,6 +95141,16 @@ } } }, + "google-native:gkehub/v1:IdentityServiceMembershipStateResponse": { + "properties": { + "failureReason": {}, + "installedVersion": {}, + "memberConfig": { + "$ref": "#/types/google-native:gkehub/v1:IdentityServiceMembershipSpecResponse" + }, + "state": {} + } + }, "google-native:gkehub/v1:IdentityServiceOidcConfig": { "properties": { "certificateAuthorityData": {}, @@ -91908,6 +95285,78 @@ } } }, + "google-native:gkehub/v1:MembershipFeatureSpec": { + "properties": { + "configmanagement": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementMembershipSpec" + }, + "fleetobservability": { + "$ref": "#/types/google-native:gkehub/v1:FleetObservabilityMembershipSpec" + }, + "identityservice": { + "$ref": "#/types/google-native:gkehub/v1:IdentityServiceMembershipSpec" + }, + "mesh": { + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshMembershipSpec" + }, + "origin": { + "$ref": "#/types/google-native:gkehub/v1:Origin" + }, + "policycontroller": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerMembershipSpec" + } + } + }, + "google-native:gkehub/v1:MembershipFeatureSpecResponse": { + "properties": { + "configmanagement": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementMembershipSpecResponse" + }, + "fleetobservability": { + "$ref": "#/types/google-native:gkehub/v1:FleetObservabilityMembershipSpecResponse" + }, + "identityservice": { + "$ref": "#/types/google-native:gkehub/v1:IdentityServiceMembershipSpecResponse" + }, + "mesh": { + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshMembershipSpecResponse" + }, + "origin": { + "$ref": "#/types/google-native:gkehub/v1:OriginResponse" + }, + "policycontroller": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerMembershipSpecResponse" + } + } + }, + "google-native:gkehub/v1:MembershipFeatureStateResponse": { + "properties": { + "appdevexperience": { + "$ref": "#/types/google-native:gkehub/v1:AppDevExperienceFeatureStateResponse" + }, + "clusterupgrade": { + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeMembershipStateResponse" + }, + "configmanagement": { + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementMembershipStateResponse" + }, + "fleetobservability": { + "$ref": "#/types/google-native:gkehub/v1:FleetObservabilityMembershipStateResponse" + }, + "identityservice": { + "$ref": "#/types/google-native:gkehub/v1:IdentityServiceMembershipStateResponse" + }, + "policycontroller": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerMembershipStateResponse" + }, + "servicemesh": { + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshMembershipStateResponse" + }, + "state": { + "$ref": "#/types/google-native:gkehub/v1:FeatureStateResponse" + } + } + }, "google-native:gkehub/v1:MembershipStateResponse": { "properties": { "code": {} @@ -91985,6 +95434,18 @@ "resourceLink": {} } }, + "google-native:gkehub/v1:Origin": { + "properties": { + "type": { + "$ref": "#/types/google-native:gkehub/v1:OriginType" + } + } + }, + "google-native:gkehub/v1:OriginResponse": { + "properties": { + "type": {} + } + }, "google-native:gkehub/v1:PolicyBinding": { "properties": { "name": {} @@ -91995,6 +95456,20 @@ "name": {} } }, + "google-native:gkehub/v1:PolicyControllerBundleInstallSpec": { + "properties": { + "exemptedNamespaces": { + "items": {} + } + } + }, + "google-native:gkehub/v1:PolicyControllerBundleInstallSpecResponse": { + "properties": { + "exemptedNamespaces": { + "items": {} + } + } + }, "google-native:gkehub/v1:PolicyControllerHubConfig": { "properties": { "auditIntervalSeconds": { @@ -92003,7 +95478,11 @@ "constraintViolationLimit": { "format": "int64" }, - "deploymentConfigs": {}, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfig" + } + }, "exemptableNamespaces": { "items": {} }, @@ -92029,7 +95508,11 @@ "constraintViolationLimit": { "format": "int64" }, - "deploymentConfigs": {}, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfigResponse" + } + }, "exemptableNamespaces": { "items": {} }, @@ -92061,6 +95544,19 @@ "version": {} } }, + "google-native:gkehub/v1:PolicyControllerMembershipStateResponse": { + "properties": { + "componentStates": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerOnClusterStateResponse" + } + }, + "policyContentState": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerPolicyContentStateResponse" + }, + "state": {} + } + }, "google-native:gkehub/v1:PolicyControllerMonitoringConfig": { "properties": { "backends": { @@ -92077,9 +95573,19 @@ } } }, + "google-native:gkehub/v1:PolicyControllerOnClusterStateResponse": { + "properties": { + "details": {}, + "state": {} + } + }, "google-native:gkehub/v1:PolicyControllerPolicyContentSpec": { "properties": { - "bundles": {}, + "bundles": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerBundleInstallSpec" + } + }, "templateLibrary": { "$ref": "#/types/google-native:gkehub/v1:PolicyControllerTemplateLibraryConfig" } @@ -92087,12 +95593,99 @@ }, "google-native:gkehub/v1:PolicyControllerPolicyContentSpecResponse": { "properties": { - "bundles": {}, + "bundles": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerBundleInstallSpecResponse" + } + }, "templateLibrary": { "$ref": "#/types/google-native:gkehub/v1:PolicyControllerTemplateLibraryConfigResponse" } } }, + "google-native:gkehub/v1:PolicyControllerPolicyContentStateResponse": { + "properties": { + "bundleStates": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerOnClusterStateResponse" + } + }, + "referentialSyncConfigState": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerOnClusterStateResponse" + }, + "templateLibraryState": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerOnClusterStateResponse" + } + } + }, + "google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfig": { + "properties": { + "containerResources": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceRequirements" + }, + "podAffinity": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfigPodAffinity" + }, + "podAntiAffinity": {}, + "podTolerations": { + "items": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerToleration" + } + }, + "replicaCount": { + "format": "int64" + } + } + }, + "google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfigResponse": { + "properties": { + "containerResources": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceRequirementsResponse" + }, + "podAffinity": {}, + "podAntiAffinity": {}, + "podTolerations": { + "items": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerTolerationResponse" + } + }, + "replicaCount": { + "format": "int64" + } + } + }, + "google-native:gkehub/v1:PolicyControllerResourceList": { + "properties": { + "cpu": {}, + "memory": {} + } + }, + "google-native:gkehub/v1:PolicyControllerResourceListResponse": { + "properties": { + "cpu": {}, + "memory": {} + } + }, + "google-native:gkehub/v1:PolicyControllerResourceRequirements": { + "properties": { + "limits": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceList" + }, + "requests": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceList" + } + } + }, + "google-native:gkehub/v1:PolicyControllerResourceRequirementsResponse": { + "properties": { + "limits": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceListResponse" + }, + "requests": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceListResponse" + } + } + }, "google-native:gkehub/v1:PolicyControllerTemplateLibraryConfig": { "properties": { "installation": { @@ -92105,6 +95698,22 @@ "installation": {} } }, + "google-native:gkehub/v1:PolicyControllerToleration": { + "properties": { + "effect": {}, + "key": {}, + "operator": {}, + "value": {} + } + }, + "google-native:gkehub/v1:PolicyControllerTolerationResponse": { + "properties": { + "effect": {}, + "key": {}, + "operator": {}, + "value": {} + } + }, "google-native:gkehub/v1:RBACRoleBindingLifecycleStateResponse": { "properties": { "code": {} @@ -92142,6 +95751,15 @@ "predefinedRole": {} } }, + "google-native:gkehub/v1:ScopeFeatureSpec": {}, + "google-native:gkehub/v1:ScopeFeatureSpecResponse": {}, + "google-native:gkehub/v1:ScopeFeatureStateResponse": { + "properties": { + "state": { + "$ref": "#/types/google-native:gkehub/v1:FeatureStateResponse" + } + } + }, "google-native:gkehub/v1:ScopeLifecycleStateResponse": { "properties": { "code": {} @@ -92163,6 +95781,26 @@ "vulnerabilityMode": {} } }, + "google-native:gkehub/v1:ServiceMeshControlPlaneManagementResponse": { + "properties": { + "details": { + "items": { + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshStatusDetailsResponse" + } + }, + "state": {} + } + }, + "google-native:gkehub/v1:ServiceMeshDataPlaneManagementResponse": { + "properties": { + "details": { + "items": { + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshStatusDetailsResponse" + } + }, + "state": {} + } + }, "google-native:gkehub/v1:ServiceMeshMembershipSpec": { "properties": { "controlPlane": { @@ -92179,6 +95817,22 @@ "management": {} } }, + "google-native:gkehub/v1:ServiceMeshMembershipStateResponse": { + "properties": { + "controlPlaneManagement": { + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshControlPlaneManagementResponse" + }, + "dataPlaneManagement": { + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshDataPlaneManagementResponse" + } + } + }, + "google-native:gkehub/v1:ServiceMeshStatusDetailsResponse": { + "properties": { + "code": {}, + "details": {} + } + }, "google-native:gkehub/v1:StatusResponse": { "properties": { "code": {}, @@ -92660,6 +96314,20 @@ } } }, + "google-native:gkehub/v1alpha:CloudBuildMembershipSpec": { + "properties": { + "securityPolicy": { + "$ref": "#/types/google-native:gkehub/v1alpha:CloudBuildMembershipSpecSecurityPolicy" + }, + "version": {} + } + }, + "google-native:gkehub/v1alpha:CloudBuildMembershipSpecResponse": { + "properties": { + "securityPolicy": {}, + "version": {} + } + }, "google-native:gkehub/v1alpha:ClusterUpgradeFleetSpec": { "properties": { "gkeUpgradeOverrides": { @@ -92700,7 +96368,11 @@ "gkeState": { "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeFeatureStateResponse" }, - "ignored": {} + "ignored": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeIgnoredMembershipResponse" + } + } } }, "google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgrade": { @@ -92765,7 +96437,27 @@ }, "google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeStateResponse": { "properties": { - "stats": {}, + "stats": { + "additionalProperties": {} + }, + "status": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeUpgradeStatusResponse" + }, + "upgrade": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeResponse" + } + } + }, + "google-native:gkehub/v1alpha:ClusterUpgradeIgnoredMembershipResponse": { + "properties": { + "ignoredTime": { + "format": "google-datetime" + }, + "reason": {} + } + }, + "google-native:gkehub/v1alpha:ClusterUpgradeMembershipGKEUpgradeStateResponse": { + "properties": { "status": { "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeUpgradeStatusResponse" }, @@ -92774,6 +96466,22 @@ } } }, + "google-native:gkehub/v1alpha:ClusterUpgradeMembershipStateResponse": { + "properties": { + "fleet": {}, + "ignored": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeIgnoredMembershipResponse" + }, + "scopes": { + "items": {} + }, + "upgrades": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeMembershipGKEUpgradeStateResponse" + } + } + } + }, "google-native:gkehub/v1alpha:ClusterUpgradePostConditions": { "properties": { "soaking": { @@ -92790,6 +96498,53 @@ } } }, + "google-native:gkehub/v1alpha:ClusterUpgradeScopeSpec": { + "properties": { + "gkeUpgradeOverrides": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeOverride" + } + }, + "postConditions": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradePostConditions", + "required": true + }, + "upstreamScopes": { + "items": {} + } + } + }, + "google-native:gkehub/v1alpha:ClusterUpgradeScopeSpecResponse": { + "properties": { + "gkeUpgradeOverrides": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeOverrideResponse" + } + }, + "postConditions": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradePostConditionsResponse", + "required": true + }, + "upstreamScopes": { + "items": {} + } + } + }, + "google-native:gkehub/v1alpha:ClusterUpgradeScopeStateResponse": { + "properties": { + "downstreamScopes": { + "items": {} + }, + "gkeState": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeFeatureStateResponse" + }, + "ignored": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeIgnoredMembershipResponse" + } + } + } + }, "google-native:gkehub/v1alpha:ClusterUpgradeUpgradeStatusResponse": { "properties": { "code": {}, @@ -92919,6 +96674,19 @@ "enabled": {} } }, + "google-native:gkehub/v1alpha:ConfigManagementBinauthzStateResponse": { + "properties": { + "version": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementBinauthzVersionResponse" + }, + "webhook": {} + } + }, + "google-native:gkehub/v1alpha:ConfigManagementBinauthzVersionResponse": { + "properties": { + "webhookVersion": {} + } + }, "google-native:gkehub/v1alpha:ConfigManagementConfigSync": { "properties": { "allowVerticalScale": {}, @@ -92934,6 +96702,22 @@ "sourceFormat": {} } }, + "google-native:gkehub/v1alpha:ConfigManagementConfigSyncDeploymentStateResponse": { + "properties": { + "admissionWebhook": {}, + "gitSync": {}, + "importer": {}, + "monitor": {}, + "reconcilerManager": {}, + "rootReconciler": {}, + "syncer": {} + } + }, + "google-native:gkehub/v1alpha:ConfigManagementConfigSyncErrorResponse": { + "properties": { + "errorMessage": {} + } + }, "google-native:gkehub/v1alpha:ConfigManagementConfigSyncResponse": { "properties": { "allowVerticalScale": {}, @@ -92949,6 +96733,52 @@ "sourceFormat": {} } }, + "google-native:gkehub/v1alpha:ConfigManagementConfigSyncStateResponse": { + "properties": { + "deploymentState": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementConfigSyncDeploymentStateResponse" + }, + "errors": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementConfigSyncErrorResponse" + } + }, + "syncState": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementSyncStateResponse" + }, + "version": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementConfigSyncVersionResponse" + } + } + }, + "google-native:gkehub/v1alpha:ConfigManagementConfigSyncVersionResponse": { + "properties": { + "admissionWebhook": {}, + "gitSync": {}, + "importer": {}, + "monitor": {}, + "reconcilerManager": {}, + "rootReconciler": {}, + "syncer": {} + } + }, + "google-native:gkehub/v1alpha:ConfigManagementErrorResourceResponse": { + "properties": { + "resourceGvk": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementGroupVersionKindResponse" + }, + "resourceName": {}, + "resourceNamespace": {}, + "sourcePath": {} + } + }, + "google-native:gkehub/v1alpha:ConfigManagementGatekeeperDeploymentStateResponse": { + "properties": { + "gatekeeperAudit": {}, + "gatekeeperControllerManagerState": {}, + "gatekeeperMutation": {} + } + }, "google-native:gkehub/v1alpha:ConfigManagementGitConfig": { "properties": { "gcpServiceAccountEmail": {}, @@ -92977,6 +96807,13 @@ } } }, + "google-native:gkehub/v1alpha:ConfigManagementGroupVersionKindResponse": { + "properties": { + "group": {}, + "kind": {}, + "version": {} + } + }, "google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerConfig": { "properties": { "enableHierarchicalResourceQuota": {}, @@ -92991,6 +96828,33 @@ "enabled": {} } }, + "google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerDeploymentStateResponse": { + "properties": { + "extension": {}, + "hnc": {} + } + }, + "google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerStateResponse": { + "properties": { + "state": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerDeploymentStateResponse" + }, + "version": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerVersionResponse" + } + } + }, + "google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerVersionResponse": { + "properties": { + "extension": {}, + "hnc": {} + } + }, + "google-native:gkehub/v1alpha:ConfigManagementInstallErrorResponse": { + "properties": { + "errorMessage": {} + } + }, "google-native:gkehub/v1alpha:ConfigManagementMembershipSpec": { "properties": { "binauthz": { @@ -93027,6 +96891,29 @@ "version": {} } }, + "google-native:gkehub/v1alpha:ConfigManagementMembershipStateResponse": { + "properties": { + "binauthzState": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementBinauthzStateResponse" + }, + "clusterName": {}, + "configSyncState": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementConfigSyncStateResponse" + }, + "hierarchyControllerState": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerStateResponse" + }, + "membershipSpec": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementMembershipSpecResponse" + }, + "operatorState": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementOperatorStateResponse" + }, + "policyControllerState": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementPolicyControllerStateResponse" + } + } + }, "google-native:gkehub/v1alpha:ConfigManagementOciConfig": { "properties": { "gcpServiceAccountEmail": {}, @@ -93049,6 +96936,17 @@ } } }, + "google-native:gkehub/v1alpha:ConfigManagementOperatorStateResponse": { + "properties": { + "deploymentState": {}, + "errors": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementInstallErrorResponse" + } + }, + "version": {} + } + }, "google-native:gkehub/v1alpha:ConfigManagementPolicyController": { "properties": { "auditIntervalSeconds": { @@ -93067,6 +96965,14 @@ "templateLibraryInstalled": {} } }, + "google-native:gkehub/v1alpha:ConfigManagementPolicyControllerMigrationResponse": { + "properties": { + "copyTime": { + "format": "google-datetime" + }, + "stage": {} + } + }, "google-native:gkehub/v1alpha:ConfigManagementPolicyControllerMonitoring": { "properties": { "backends": { @@ -93104,6 +97010,52 @@ } } }, + "google-native:gkehub/v1alpha:ConfigManagementPolicyControllerStateResponse": { + "properties": { + "deploymentState": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementGatekeeperDeploymentStateResponse" + }, + "migration": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementPolicyControllerMigrationResponse" + }, + "version": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementPolicyControllerVersionResponse" + } + } + }, + "google-native:gkehub/v1alpha:ConfigManagementPolicyControllerVersionResponse": { + "properties": { + "version": {} + } + }, + "google-native:gkehub/v1alpha:ConfigManagementSyncErrorResponse": { + "properties": { + "code": {}, + "errorMessage": {}, + "errorResources": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementErrorResourceResponse" + } + } + } + }, + "google-native:gkehub/v1alpha:ConfigManagementSyncStateResponse": { + "properties": { + "code": {}, + "errors": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementSyncErrorResponse" + } + }, + "importToken": {}, + "lastSync": {}, + "lastSyncTime": { + "format": "google-datetime" + }, + "sourceToken": {}, + "syncToken": {} + } + }, "google-native:gkehub/v1alpha:DefaultClusterConfig": { "properties": { "binaryAuthorizationConfig": { @@ -93267,6 +97219,9 @@ } } }, + "google-native:gkehub/v1alpha:FleetObservabilityMembershipSpec": {}, + "google-native:gkehub/v1alpha:FleetObservabilityMembershipSpecResponse": {}, + "google-native:gkehub/v1alpha:FleetObservabilityMembershipStateResponse": {}, "google-native:gkehub/v1alpha:FleetObservabilityRoutingConfig": { "properties": { "mode": { @@ -93369,6 +97324,16 @@ } } }, + "google-native:gkehub/v1alpha:IdentityServiceMembershipStateResponse": { + "properties": { + "failureReason": {}, + "installedVersion": {}, + "memberConfig": { + "$ref": "#/types/google-native:gkehub/v1alpha:IdentityServiceMembershipSpecResponse" + }, + "state": {} + } + }, "google-native:gkehub/v1alpha:IdentityServiceOidcConfig": { "properties": { "certificateAuthorityData": {}, @@ -93503,6 +97468,108 @@ } } }, + "google-native:gkehub/v1alpha:MembershipFeatureSpec": { + "properties": { + "anthosobservability": { + "$ref": "#/types/google-native:gkehub/v1alpha:AnthosObservabilityMembershipSpec" + }, + "cloudbuild": { + "$ref": "#/types/google-native:gkehub/v1alpha:CloudBuildMembershipSpec" + }, + "configmanagement": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementMembershipSpec" + }, + "fleetobservability": { + "$ref": "#/types/google-native:gkehub/v1alpha:FleetObservabilityMembershipSpec" + }, + "identityservice": { + "$ref": "#/types/google-native:gkehub/v1alpha:IdentityServiceMembershipSpec" + }, + "mesh": { + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshMembershipSpec" + }, + "namespaceactuation": { + "$ref": "#/types/google-native:gkehub/v1alpha:NamespaceActuationMembershipSpec" + }, + "origin": { + "$ref": "#/types/google-native:gkehub/v1alpha:Origin" + }, + "policycontroller": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerMembershipSpec" + }, + "workloadcertificate": { + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipSpec" + } + } + }, + "google-native:gkehub/v1alpha:MembershipFeatureSpecResponse": { + "properties": { + "anthosobservability": { + "$ref": "#/types/google-native:gkehub/v1alpha:AnthosObservabilityMembershipSpecResponse" + }, + "cloudbuild": { + "$ref": "#/types/google-native:gkehub/v1alpha:CloudBuildMembershipSpecResponse" + }, + "configmanagement": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementMembershipSpecResponse" + }, + "fleetobservability": { + "$ref": "#/types/google-native:gkehub/v1alpha:FleetObservabilityMembershipSpecResponse" + }, + "identityservice": { + "$ref": "#/types/google-native:gkehub/v1alpha:IdentityServiceMembershipSpecResponse" + }, + "mesh": { + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshMembershipSpecResponse" + }, + "namespaceactuation": { + "$ref": "#/types/google-native:gkehub/v1alpha:NamespaceActuationMembershipSpecResponse" + }, + "origin": { + "$ref": "#/types/google-native:gkehub/v1alpha:OriginResponse" + }, + "policycontroller": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerMembershipSpecResponse" + }, + "workloadcertificate": { + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipSpecResponse" + } + } + }, + "google-native:gkehub/v1alpha:MembershipFeatureStateResponse": { + "properties": { + "appdevexperience": { + "$ref": "#/types/google-native:gkehub/v1alpha:AppDevExperienceFeatureStateResponse" + }, + "clusterupgrade": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeMembershipStateResponse" + }, + "configmanagement": { + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementMembershipStateResponse" + }, + "fleetobservability": { + "$ref": "#/types/google-native:gkehub/v1alpha:FleetObservabilityMembershipStateResponse" + }, + "identityservice": { + "$ref": "#/types/google-native:gkehub/v1alpha:IdentityServiceMembershipStateResponse" + }, + "metering": { + "$ref": "#/types/google-native:gkehub/v1alpha:MeteringMembershipStateResponse" + }, + "namespaceactuation": { + "$ref": "#/types/google-native:gkehub/v1alpha:NamespaceActuationMembershipStateResponse" + }, + "policycontroller": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerMembershipStateResponse" + }, + "servicemesh": { + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshMembershipStateResponse" + }, + "state": { + "$ref": "#/types/google-native:gkehub/v1alpha:FeatureStateResponse" + } + } + }, "google-native:gkehub/v1alpha:MembershipSpec": { "properties": { "certificateManagement": { @@ -93520,6 +97587,16 @@ "code": {} } }, + "google-native:gkehub/v1alpha:MeteringMembershipStateResponse": { + "properties": { + "lastMeasurementTime": { + "format": "google-datetime" + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "format": "float" + } + } + }, "google-native:gkehub/v1alpha:MonitoringConfig": { "properties": { "cluster": {}, @@ -93582,6 +97659,9 @@ } }, "google-native:gkehub/v1alpha:NamespaceActuationFeatureStateResponse": {}, + "google-native:gkehub/v1alpha:NamespaceActuationMembershipSpec": {}, + "google-native:gkehub/v1alpha:NamespaceActuationMembershipSpecResponse": {}, + "google-native:gkehub/v1alpha:NamespaceActuationMembershipStateResponse": {}, "google-native:gkehub/v1alpha:NamespaceLifecycleStateResponse": { "properties": { "code": {} @@ -93609,6 +97689,18 @@ "resourceLink": {} } }, + "google-native:gkehub/v1alpha:Origin": { + "properties": { + "type": { + "$ref": "#/types/google-native:gkehub/v1alpha:OriginType" + } + } + }, + "google-native:gkehub/v1alpha:OriginResponse": { + "properties": { + "type": {} + } + }, "google-native:gkehub/v1alpha:PolicyBinding": { "properties": { "name": {} @@ -93619,6 +97711,20 @@ "name": {} } }, + "google-native:gkehub/v1alpha:PolicyControllerBundleInstallSpec": { + "properties": { + "exemptedNamespaces": { + "items": {} + } + } + }, + "google-native:gkehub/v1alpha:PolicyControllerBundleInstallSpecResponse": { + "properties": { + "exemptedNamespaces": { + "items": {} + } + } + }, "google-native:gkehub/v1alpha:PolicyControllerHubConfig": { "properties": { "auditIntervalSeconds": { @@ -93627,7 +97733,11 @@ "constraintViolationLimit": { "format": "int64" }, - "deploymentConfigs": {}, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfig" + } + }, "exemptableNamespaces": { "items": {} }, @@ -93653,7 +97763,11 @@ "constraintViolationLimit": { "format": "int64" }, - "deploymentConfigs": {}, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfigResponse" + } + }, "exemptableNamespaces": { "items": {} }, @@ -93685,6 +97799,19 @@ "version": {} } }, + "google-native:gkehub/v1alpha:PolicyControllerMembershipStateResponse": { + "properties": { + "componentStates": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse" + } + }, + "policyContentState": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerPolicyContentStateResponse" + }, + "state": {} + } + }, "google-native:gkehub/v1alpha:PolicyControllerMonitoringConfig": { "properties": { "backends": { @@ -93701,9 +97828,19 @@ } } }, + "google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse": { + "properties": { + "details": {}, + "state": {} + } + }, "google-native:gkehub/v1alpha:PolicyControllerPolicyContentSpec": { "properties": { - "bundles": {}, + "bundles": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerBundleInstallSpec" + } + }, "templateLibrary": { "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerTemplateLibraryConfig" } @@ -93711,12 +97848,99 @@ }, "google-native:gkehub/v1alpha:PolicyControllerPolicyContentSpecResponse": { "properties": { - "bundles": {}, + "bundles": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerBundleInstallSpecResponse" + } + }, "templateLibrary": { "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerTemplateLibraryConfigResponse" } } }, + "google-native:gkehub/v1alpha:PolicyControllerPolicyContentStateResponse": { + "properties": { + "bundleStates": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse" + } + }, + "referentialSyncConfigState": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse" + }, + "templateLibraryState": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse" + } + } + }, + "google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfig": { + "properties": { + "containerResources": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceRequirements" + }, + "podAffinity": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfigPodAffinity" + }, + "podAntiAffinity": {}, + "podTolerations": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerToleration" + } + }, + "replicaCount": { + "format": "int64" + } + } + }, + "google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfigResponse": { + "properties": { + "containerResources": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceRequirementsResponse" + }, + "podAffinity": {}, + "podAntiAffinity": {}, + "podTolerations": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerTolerationResponse" + } + }, + "replicaCount": { + "format": "int64" + } + } + }, + "google-native:gkehub/v1alpha:PolicyControllerResourceList": { + "properties": { + "cpu": {}, + "memory": {} + } + }, + "google-native:gkehub/v1alpha:PolicyControllerResourceListResponse": { + "properties": { + "cpu": {}, + "memory": {} + } + }, + "google-native:gkehub/v1alpha:PolicyControllerResourceRequirements": { + "properties": { + "limits": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceList" + }, + "requests": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceList" + } + } + }, + "google-native:gkehub/v1alpha:PolicyControllerResourceRequirementsResponse": { + "properties": { + "limits": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceListResponse" + }, + "requests": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceListResponse" + } + } + }, "google-native:gkehub/v1alpha:PolicyControllerTemplateLibraryConfig": { "properties": { "installation": { @@ -93729,6 +97953,22 @@ "installation": {} } }, + "google-native:gkehub/v1alpha:PolicyControllerToleration": { + "properties": { + "effect": {}, + "key": {}, + "operator": {}, + "value": {} + } + }, + "google-native:gkehub/v1alpha:PolicyControllerTolerationResponse": { + "properties": { + "effect": {}, + "key": {}, + "operator": {}, + "value": {} + } + }, "google-native:gkehub/v1alpha:RBACRoleBindingLifecycleStateResponse": { "properties": { "code": {} @@ -93766,6 +98006,30 @@ "predefinedRole": {} } }, + "google-native:gkehub/v1alpha:ScopeFeatureSpec": { + "properties": { + "clusterupgrade": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeScopeSpec" + } + } + }, + "google-native:gkehub/v1alpha:ScopeFeatureSpecResponse": { + "properties": { + "clusterupgrade": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeScopeSpecResponse" + } + } + }, + "google-native:gkehub/v1alpha:ScopeFeatureStateResponse": { + "properties": { + "clusterupgrade": { + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeScopeStateResponse" + }, + "state": { + "$ref": "#/types/google-native:gkehub/v1alpha:FeatureStateResponse" + } + } + }, "google-native:gkehub/v1alpha:ScopeLifecycleStateResponse": { "properties": { "code": {} @@ -93808,6 +98072,26 @@ } } }, + "google-native:gkehub/v1alpha:ServiceMeshControlPlaneManagementResponse": { + "properties": { + "details": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshStatusDetailsResponse" + } + }, + "state": {} + } + }, + "google-native:gkehub/v1alpha:ServiceMeshDataPlaneManagementResponse": { + "properties": { + "details": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshStatusDetailsResponse" + } + }, + "state": {} + } + }, "google-native:gkehub/v1alpha:ServiceMeshFeatureStateResponse": { "properties": { "analysisMessages": { @@ -93837,6 +98121,28 @@ "management": {} } }, + "google-native:gkehub/v1alpha:ServiceMeshMembershipStateResponse": { + "properties": { + "analysisMessages": { + "items": { + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshAnalysisMessageResponse" + } + }, + "configApiVersion": {}, + "controlPlaneManagement": { + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshControlPlaneManagementResponse" + }, + "dataPlaneManagement": { + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshDataPlaneManagementResponse" + } + } + }, + "google-native:gkehub/v1alpha:ServiceMeshStatusDetailsResponse": { + "properties": { + "code": {}, + "details": {} + } + }, "google-native:gkehub/v1alpha:ServiceMeshTypeResponse": { "properties": { "code": {}, @@ -94354,7 +98660,11 @@ "gkeState": { "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeGKEUpgradeFeatureStateResponse" }, - "ignored": {} + "ignored": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeIgnoredMembershipResponse" + } + } } }, "google-native:gkehub/v1beta:ClusterUpgradeGKEUpgrade": { @@ -94419,7 +98729,9 @@ }, "google-native:gkehub/v1beta:ClusterUpgradeGKEUpgradeStateResponse": { "properties": { - "stats": {}, + "stats": { + "additionalProperties": {} + }, "status": { "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeUpgradeStatusResponse" }, @@ -94428,6 +98740,40 @@ } } }, + "google-native:gkehub/v1beta:ClusterUpgradeIgnoredMembershipResponse": { + "properties": { + "ignoredTime": { + "format": "google-datetime" + }, + "reason": {} + } + }, + "google-native:gkehub/v1beta:ClusterUpgradeMembershipGKEUpgradeStateResponse": { + "properties": { + "status": { + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeUpgradeStatusResponse" + }, + "upgrade": { + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeGKEUpgradeResponse" + } + } + }, + "google-native:gkehub/v1beta:ClusterUpgradeMembershipStateResponse": { + "properties": { + "fleet": {}, + "ignored": { + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeIgnoredMembershipResponse" + }, + "scopes": { + "items": {} + }, + "upgrades": { + "items": { + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeMembershipGKEUpgradeStateResponse" + } + } + } + }, "google-native:gkehub/v1beta:ClusterUpgradePostConditions": { "properties": { "soaking": { @@ -94549,6 +98895,19 @@ "enabled": {} } }, + "google-native:gkehub/v1beta:ConfigManagementBinauthzStateResponse": { + "properties": { + "version": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementBinauthzVersionResponse" + }, + "webhook": {} + } + }, + "google-native:gkehub/v1beta:ConfigManagementBinauthzVersionResponse": { + "properties": { + "webhookVersion": {} + } + }, "google-native:gkehub/v1beta:ConfigManagementConfigSync": { "properties": { "allowVerticalScale": {}, @@ -94564,6 +98923,22 @@ "sourceFormat": {} } }, + "google-native:gkehub/v1beta:ConfigManagementConfigSyncDeploymentStateResponse": { + "properties": { + "admissionWebhook": {}, + "gitSync": {}, + "importer": {}, + "monitor": {}, + "reconcilerManager": {}, + "rootReconciler": {}, + "syncer": {} + } + }, + "google-native:gkehub/v1beta:ConfigManagementConfigSyncErrorResponse": { + "properties": { + "errorMessage": {} + } + }, "google-native:gkehub/v1beta:ConfigManagementConfigSyncResponse": { "properties": { "allowVerticalScale": {}, @@ -94579,6 +98954,52 @@ "sourceFormat": {} } }, + "google-native:gkehub/v1beta:ConfigManagementConfigSyncStateResponse": { + "properties": { + "deploymentState": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementConfigSyncDeploymentStateResponse" + }, + "errors": { + "items": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementConfigSyncErrorResponse" + } + }, + "syncState": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementSyncStateResponse" + }, + "version": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementConfigSyncVersionResponse" + } + } + }, + "google-native:gkehub/v1beta:ConfigManagementConfigSyncVersionResponse": { + "properties": { + "admissionWebhook": {}, + "gitSync": {}, + "importer": {}, + "monitor": {}, + "reconcilerManager": {}, + "rootReconciler": {}, + "syncer": {} + } + }, + "google-native:gkehub/v1beta:ConfigManagementErrorResourceResponse": { + "properties": { + "resourceGvk": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementGroupVersionKindResponse" + }, + "resourceName": {}, + "resourceNamespace": {}, + "sourcePath": {} + } + }, + "google-native:gkehub/v1beta:ConfigManagementGatekeeperDeploymentStateResponse": { + "properties": { + "gatekeeperAudit": {}, + "gatekeeperControllerManagerState": {}, + "gatekeeperMutation": {} + } + }, "google-native:gkehub/v1beta:ConfigManagementGitConfig": { "properties": { "gcpServiceAccountEmail": {}, @@ -94607,6 +99028,13 @@ } } }, + "google-native:gkehub/v1beta:ConfigManagementGroupVersionKindResponse": { + "properties": { + "group": {}, + "kind": {}, + "version": {} + } + }, "google-native:gkehub/v1beta:ConfigManagementHierarchyControllerConfig": { "properties": { "enableHierarchicalResourceQuota": {}, @@ -94621,6 +99049,33 @@ "enabled": {} } }, + "google-native:gkehub/v1beta:ConfigManagementHierarchyControllerDeploymentStateResponse": { + "properties": { + "extension": {}, + "hnc": {} + } + }, + "google-native:gkehub/v1beta:ConfigManagementHierarchyControllerStateResponse": { + "properties": { + "state": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementHierarchyControllerDeploymentStateResponse" + }, + "version": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementHierarchyControllerVersionResponse" + } + } + }, + "google-native:gkehub/v1beta:ConfigManagementHierarchyControllerVersionResponse": { + "properties": { + "extension": {}, + "hnc": {} + } + }, + "google-native:gkehub/v1beta:ConfigManagementInstallErrorResponse": { + "properties": { + "errorMessage": {} + } + }, "google-native:gkehub/v1beta:ConfigManagementMembershipSpec": { "properties": { "binauthz": { @@ -94657,6 +99112,29 @@ "version": {} } }, + "google-native:gkehub/v1beta:ConfigManagementMembershipStateResponse": { + "properties": { + "binauthzState": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementBinauthzStateResponse" + }, + "clusterName": {}, + "configSyncState": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementConfigSyncStateResponse" + }, + "hierarchyControllerState": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementHierarchyControllerStateResponse" + }, + "membershipSpec": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementMembershipSpecResponse" + }, + "operatorState": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementOperatorStateResponse" + }, + "policyControllerState": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementPolicyControllerStateResponse" + } + } + }, "google-native:gkehub/v1beta:ConfigManagementOciConfig": { "properties": { "gcpServiceAccountEmail": {}, @@ -94679,6 +99157,17 @@ } } }, + "google-native:gkehub/v1beta:ConfigManagementOperatorStateResponse": { + "properties": { + "deploymentState": {}, + "errors": { + "items": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementInstallErrorResponse" + } + }, + "version": {} + } + }, "google-native:gkehub/v1beta:ConfigManagementPolicyController": { "properties": { "auditIntervalSeconds": { @@ -94697,6 +99186,14 @@ "templateLibraryInstalled": {} } }, + "google-native:gkehub/v1beta:ConfigManagementPolicyControllerMigrationResponse": { + "properties": { + "copyTime": { + "format": "google-datetime" + }, + "stage": {} + } + }, "google-native:gkehub/v1beta:ConfigManagementPolicyControllerMonitoring": { "properties": { "backends": { @@ -94734,6 +99231,52 @@ } } }, + "google-native:gkehub/v1beta:ConfigManagementPolicyControllerStateResponse": { + "properties": { + "deploymentState": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementGatekeeperDeploymentStateResponse" + }, + "migration": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementPolicyControllerMigrationResponse" + }, + "version": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementPolicyControllerVersionResponse" + } + } + }, + "google-native:gkehub/v1beta:ConfigManagementPolicyControllerVersionResponse": { + "properties": { + "version": {} + } + }, + "google-native:gkehub/v1beta:ConfigManagementSyncErrorResponse": { + "properties": { + "code": {}, + "errorMessage": {}, + "errorResources": { + "items": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementErrorResourceResponse" + } + } + } + }, + "google-native:gkehub/v1beta:ConfigManagementSyncStateResponse": { + "properties": { + "code": {}, + "errors": { + "items": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementSyncErrorResponse" + } + }, + "importToken": {}, + "lastSync": {}, + "lastSyncTime": { + "format": "google-datetime" + }, + "sourceToken": {}, + "syncToken": {} + } + }, "google-native:gkehub/v1beta:DefaultClusterConfig": { "properties": { "binaryAuthorizationConfig": { @@ -94878,6 +99421,9 @@ } } }, + "google-native:gkehub/v1beta:FleetObservabilityMembershipSpec": {}, + "google-native:gkehub/v1beta:FleetObservabilityMembershipSpecResponse": {}, + "google-native:gkehub/v1beta:FleetObservabilityMembershipStateResponse": {}, "google-native:gkehub/v1beta:FleetObservabilityRoutingConfig": { "properties": { "mode": { @@ -94980,6 +99526,16 @@ } } }, + "google-native:gkehub/v1beta:IdentityServiceMembershipStateResponse": { + "properties": { + "failureReason": {}, + "installedVersion": {}, + "memberConfig": { + "$ref": "#/types/google-native:gkehub/v1beta:IdentityServiceMembershipSpecResponse" + }, + "state": {} + } + }, "google-native:gkehub/v1beta:IdentityServiceOidcConfig": { "properties": { "certificateAuthorityData": {}, @@ -95114,11 +99670,122 @@ } } }, + "google-native:gkehub/v1beta:MembershipFeatureSpec": { + "properties": { + "anthosobservability": { + "$ref": "#/types/google-native:gkehub/v1beta:AnthosObservabilityMembershipSpec" + }, + "cloudbuild": { + "$ref": "#/types/google-native:gkehub/v1beta:MembershipSpec" + }, + "configmanagement": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementMembershipSpec" + }, + "fleetobservability": { + "$ref": "#/types/google-native:gkehub/v1beta:FleetObservabilityMembershipSpec" + }, + "identityservice": { + "$ref": "#/types/google-native:gkehub/v1beta:IdentityServiceMembershipSpec" + }, + "mesh": { + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshMembershipSpec" + }, + "origin": { + "$ref": "#/types/google-native:gkehub/v1beta:Origin" + }, + "policycontroller": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerMembershipSpec" + } + } + }, + "google-native:gkehub/v1beta:MembershipFeatureSpecResponse": { + "properties": { + "anthosobservability": { + "$ref": "#/types/google-native:gkehub/v1beta:AnthosObservabilityMembershipSpecResponse" + }, + "cloudbuild": { + "$ref": "#/types/google-native:gkehub/v1beta:MembershipSpecResponse" + }, + "configmanagement": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementMembershipSpecResponse" + }, + "fleetobservability": { + "$ref": "#/types/google-native:gkehub/v1beta:FleetObservabilityMembershipSpecResponse" + }, + "identityservice": { + "$ref": "#/types/google-native:gkehub/v1beta:IdentityServiceMembershipSpecResponse" + }, + "mesh": { + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshMembershipSpecResponse" + }, + "origin": { + "$ref": "#/types/google-native:gkehub/v1beta:OriginResponse" + }, + "policycontroller": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerMembershipSpecResponse" + } + } + }, + "google-native:gkehub/v1beta:MembershipFeatureStateResponse": { + "properties": { + "appdevexperience": { + "$ref": "#/types/google-native:gkehub/v1beta:AppDevExperienceFeatureStateResponse" + }, + "clusterupgrade": { + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeMembershipStateResponse" + }, + "configmanagement": { + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementMembershipStateResponse" + }, + "fleetobservability": { + "$ref": "#/types/google-native:gkehub/v1beta:FleetObservabilityMembershipStateResponse" + }, + "identityservice": { + "$ref": "#/types/google-native:gkehub/v1beta:IdentityServiceMembershipStateResponse" + }, + "metering": { + "$ref": "#/types/google-native:gkehub/v1beta:MeteringMembershipStateResponse" + }, + "policycontroller": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerMembershipStateResponse" + }, + "servicemesh": { + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshMembershipStateResponse" + }, + "state": { + "$ref": "#/types/google-native:gkehub/v1beta:FeatureStateResponse" + } + } + }, + "google-native:gkehub/v1beta:MembershipSpec": { + "properties": { + "securityPolicy": { + "$ref": "#/types/google-native:gkehub/v1beta:MembershipSpecSecurityPolicy" + }, + "version": {} + } + }, + "google-native:gkehub/v1beta:MembershipSpecResponse": { + "properties": { + "securityPolicy": {}, + "version": {} + } + }, "google-native:gkehub/v1beta:MembershipStateResponse": { "properties": { "code": {} } }, + "google-native:gkehub/v1beta:MeteringMembershipStateResponse": { + "properties": { + "lastMeasurementTime": { + "format": "google-datetime" + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "format": "float" + } + } + }, "google-native:gkehub/v1beta:MonitoringConfig": { "properties": { "cluster": {}, @@ -95195,6 +99862,18 @@ "resourceLink": {} } }, + "google-native:gkehub/v1beta:Origin": { + "properties": { + "type": { + "$ref": "#/types/google-native:gkehub/v1beta:OriginType" + } + } + }, + "google-native:gkehub/v1beta:OriginResponse": { + "properties": { + "type": {} + } + }, "google-native:gkehub/v1beta:PolicyBinding": { "properties": { "name": {} @@ -95205,6 +99884,20 @@ "name": {} } }, + "google-native:gkehub/v1beta:PolicyControllerBundleInstallSpec": { + "properties": { + "exemptedNamespaces": { + "items": {} + } + } + }, + "google-native:gkehub/v1beta:PolicyControllerBundleInstallSpecResponse": { + "properties": { + "exemptedNamespaces": { + "items": {} + } + } + }, "google-native:gkehub/v1beta:PolicyControllerHubConfig": { "properties": { "auditIntervalSeconds": { @@ -95213,7 +99906,11 @@ "constraintViolationLimit": { "format": "int64" }, - "deploymentConfigs": {}, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfig" + } + }, "exemptableNamespaces": { "items": {} }, @@ -95239,7 +99936,11 @@ "constraintViolationLimit": { "format": "int64" }, - "deploymentConfigs": {}, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfigResponse" + } + }, "exemptableNamespaces": { "items": {} }, @@ -95271,6 +99972,19 @@ "version": {} } }, + "google-native:gkehub/v1beta:PolicyControllerMembershipStateResponse": { + "properties": { + "componentStates": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse" + } + }, + "policyContentState": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerPolicyContentStateResponse" + }, + "state": {} + } + }, "google-native:gkehub/v1beta:PolicyControllerMonitoringConfig": { "properties": { "backends": { @@ -95287,9 +100001,19 @@ } } }, + "google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse": { + "properties": { + "details": {}, + "state": {} + } + }, "google-native:gkehub/v1beta:PolicyControllerPolicyContentSpec": { "properties": { - "bundles": {}, + "bundles": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerBundleInstallSpec" + } + }, "templateLibrary": { "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerTemplateLibraryConfig" } @@ -95297,12 +100021,99 @@ }, "google-native:gkehub/v1beta:PolicyControllerPolicyContentSpecResponse": { "properties": { - "bundles": {}, + "bundles": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerBundleInstallSpecResponse" + } + }, "templateLibrary": { "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerTemplateLibraryConfigResponse" } } }, + "google-native:gkehub/v1beta:PolicyControllerPolicyContentStateResponse": { + "properties": { + "bundleStates": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse" + } + }, + "referentialSyncConfigState": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse" + }, + "templateLibraryState": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse" + } + } + }, + "google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfig": { + "properties": { + "containerResources": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceRequirements" + }, + "podAffinity": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfigPodAffinity" + }, + "podAntiAffinity": {}, + "podTolerations": { + "items": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerToleration" + } + }, + "replicaCount": { + "format": "int64" + } + } + }, + "google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfigResponse": { + "properties": { + "containerResources": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceRequirementsResponse" + }, + "podAffinity": {}, + "podAntiAffinity": {}, + "podTolerations": { + "items": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerTolerationResponse" + } + }, + "replicaCount": { + "format": "int64" + } + } + }, + "google-native:gkehub/v1beta:PolicyControllerResourceList": { + "properties": { + "cpu": {}, + "memory": {} + } + }, + "google-native:gkehub/v1beta:PolicyControllerResourceListResponse": { + "properties": { + "cpu": {}, + "memory": {} + } + }, + "google-native:gkehub/v1beta:PolicyControllerResourceRequirements": { + "properties": { + "limits": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceList" + }, + "requests": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceList" + } + } + }, + "google-native:gkehub/v1beta:PolicyControllerResourceRequirementsResponse": { + "properties": { + "limits": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceListResponse" + }, + "requests": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceListResponse" + } + } + }, "google-native:gkehub/v1beta:PolicyControllerTemplateLibraryConfig": { "properties": { "installation": { @@ -95315,6 +100126,22 @@ "installation": {} } }, + "google-native:gkehub/v1beta:PolicyControllerToleration": { + "properties": { + "effect": {}, + "key": {}, + "operator": {}, + "value": {} + } + }, + "google-native:gkehub/v1beta:PolicyControllerTolerationResponse": { + "properties": { + "effect": {}, + "key": {}, + "operator": {}, + "value": {} + } + }, "google-native:gkehub/v1beta:RBACRoleBindingLifecycleStateResponse": { "properties": { "code": {} @@ -95352,6 +100179,15 @@ "predefinedRole": {} } }, + "google-native:gkehub/v1beta:ScopeFeatureSpec": {}, + "google-native:gkehub/v1beta:ScopeFeatureSpecResponse": {}, + "google-native:gkehub/v1beta:ScopeFeatureStateResponse": { + "properties": { + "state": { + "$ref": "#/types/google-native:gkehub/v1beta:FeatureStateResponse" + } + } + }, "google-native:gkehub/v1beta:ScopeLifecycleStateResponse": { "properties": { "code": {} @@ -95373,6 +100209,26 @@ "vulnerabilityMode": {} } }, + "google-native:gkehub/v1beta:ServiceMeshControlPlaneManagementResponse": { + "properties": { + "details": { + "items": { + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshStatusDetailsResponse" + } + }, + "state": {} + } + }, + "google-native:gkehub/v1beta:ServiceMeshDataPlaneManagementResponse": { + "properties": { + "details": { + "items": { + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshStatusDetailsResponse" + } + }, + "state": {} + } + }, "google-native:gkehub/v1beta:ServiceMeshMembershipSpec": { "properties": { "controlPlane": { @@ -95389,6 +100245,22 @@ "management": {} } }, + "google-native:gkehub/v1beta:ServiceMeshMembershipStateResponse": { + "properties": { + "controlPlaneManagement": { + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshControlPlaneManagementResponse" + }, + "dataPlaneManagement": { + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshDataPlaneManagementResponse" + } + } + }, + "google-native:gkehub/v1beta:ServiceMeshStatusDetailsResponse": { + "properties": { + "code": {}, + "details": {} + } + }, "google-native:gkehub/v1beta:StatusResponse": { "properties": { "code": {}, @@ -96189,13 +101061,17 @@ }, "google-native:gkeonprem/v1:BareMetalNodeConfig": { "properties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "nodeIp": {} } }, "google-native:gkeonprem/v1:BareMetalNodeConfigResponse": { "properties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "nodeIp": {} } }, @@ -96204,7 +101080,9 @@ "kubeletConfig": { "$ref": "#/types/google-native:gkeonprem/v1:BareMetalKubeletConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "nodeConfigs": { "required": true, "items": { @@ -96226,7 +101104,9 @@ "kubeletConfig": { "$ref": "#/types/google-native:gkeonprem/v1:BareMetalKubeletConfigResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "nodeConfigs": { "required": true, "items": { @@ -96912,7 +101792,9 @@ "imageType": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "memoryMb": { "format": "int64" }, @@ -96942,7 +101824,9 @@ "imageType": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "memoryMb": { "format": "int64" }, @@ -97481,9 +102365,33 @@ "writeDisposition": {} } }, + "google-native:healthcare/v1:GroupOrSegment": { + "properties": { + "group": { + "$ref": "#/types/google-native:healthcare/v1:SchemaGroup" + }, + "segment": { + "$ref": "#/types/google-native:healthcare/v1:SchemaSegment" + } + } + }, + "google-native:healthcare/v1:GroupOrSegmentResponse": { + "properties": { + "group": { + "$ref": "#/types/google-native:healthcare/v1:SchemaGroupResponse" + }, + "segment": { + "$ref": "#/types/google-native:healthcare/v1:SchemaSegmentResponse" + } + } + }, "google-native:healthcare/v1:Hl7SchemaConfig": { "properties": { - "messageSchemaConfigs": {}, + "messageSchemaConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:healthcare/v1:SchemaGroup" + } + }, "version": { "items": { "$ref": "#/types/google-native:healthcare/v1:VersionSource" @@ -97493,7 +102401,11 @@ }, "google-native:healthcare/v1:Hl7SchemaConfigResponse": { "properties": { - "messageSchemaConfigs": {}, + "messageSchemaConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:healthcare/v1:SchemaGroupResponse" + } + }, "version": { "items": { "$ref": "#/types/google-native:healthcare/v1:VersionSourceResponse" @@ -97723,6 +102635,40 @@ "schemaType": {} } }, + "google-native:healthcare/v1:SchemaGroup": { + "properties": { + "choice": {}, + "maxOccurs": { + "format": "int32" + }, + "members": { + "items": { + "$ref": "#/types/google-native:healthcare/v1:GroupOrSegment" + } + }, + "minOccurs": { + "format": "int32" + }, + "name": {} + } + }, + "google-native:healthcare/v1:SchemaGroupResponse": { + "properties": { + "choice": {}, + "maxOccurs": { + "format": "int32" + }, + "members": { + "items": { + "$ref": "#/types/google-native:healthcare/v1:GroupOrSegmentResponse" + } + }, + "minOccurs": { + "format": "int32" + }, + "name": {} + } + }, "google-native:healthcare/v1:SchemaPackage": { "properties": { "ignoreMinOccurs": {}, @@ -97761,6 +102707,28 @@ "unexpectedSegmentHandling": {} } }, + "google-native:healthcare/v1:SchemaSegment": { + "properties": { + "maxOccurs": { + "format": "int32" + }, + "minOccurs": { + "format": "int32" + }, + "type": {} + } + }, + "google-native:healthcare/v1:SchemaSegmentResponse": { + "properties": { + "maxOccurs": { + "format": "int32" + }, + "minOccurs": { + "format": "int32" + }, + "type": {} + } + }, "google-native:healthcare/v1:SchematizedData": { "properties": { "data": {}, @@ -97775,7 +102743,9 @@ }, "google-native:healthcare/v1:SegmentResponse": { "properties": { - "fields": {}, + "fields": { + "additionalProperties": {} + }, "segmentId": {}, "setId": {} } @@ -97785,7 +102755,9 @@ "image": { "$ref": "#/types/google-native:healthcare/v1:Image" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "signatureTime": { "format": "google-datetime" }, @@ -97799,7 +102771,9 @@ "image": { "$ref": "#/types/google-native:healthcare/v1:ImageResponse" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "signatureTime": { "format": "google-datetime" }, @@ -98369,6 +103343,24 @@ }, "google-native:healthcare/v1beta1:DeleteTag": {}, "google-native:healthcare/v1beta1:DeleteTagResponse": {}, + "google-native:healthcare/v1beta1:Detail": { + "properties": { + "findings": { + "items": { + "$ref": "#/types/google-native:healthcare/v1beta1:Finding" + } + } + } + }, + "google-native:healthcare/v1beta1:DetailResponse": { + "properties": { + "findings": { + "items": { + "$ref": "#/types/google-native:healthcare/v1beta1:FindingResponse" + } + } + } + }, "google-native:healthcare/v1beta1:DicomConfig": { "properties": { "filterProfile": { @@ -98555,6 +103547,30 @@ "type": {} } }, + "google-native:healthcare/v1beta1:Finding": { + "properties": { + "end": { + "format": "int64" + }, + "infoType": {}, + "quote": {}, + "start": { + "format": "int64" + } + } + }, + "google-native:healthcare/v1beta1:FindingResponse": { + "properties": { + "end": { + "format": "int64" + }, + "infoType": {}, + "quote": {}, + "start": { + "format": "int64" + } + } + }, "google-native:healthcare/v1beta1:GoogleCloudHealthcareV1beta1ConsentPolicy": { "properties": { "authorizationRule": { @@ -98721,9 +103737,33 @@ "writeDisposition": {} } }, + "google-native:healthcare/v1beta1:GroupOrSegment": { + "properties": { + "group": { + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaGroup" + }, + "segment": { + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaSegment" + } + } + }, + "google-native:healthcare/v1beta1:GroupOrSegmentResponse": { + "properties": { + "group": { + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaGroupResponse" + }, + "segment": { + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaSegmentResponse" + } + } + }, "google-native:healthcare/v1beta1:Hl7SchemaConfig": { "properties": { - "messageSchemaConfigs": {}, + "messageSchemaConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaGroup" + } + }, "version": { "items": { "$ref": "#/types/google-native:healthcare/v1beta1:VersionSource" @@ -98733,7 +103773,11 @@ }, "google-native:healthcare/v1beta1:Hl7SchemaConfigResponse": { "properties": { - "messageSchemaConfigs": {}, + "messageSchemaConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaGroupResponse" + } + }, "version": { "items": { "$ref": "#/types/google-native:healthcare/v1beta1:VersionSourceResponse" @@ -99049,6 +104093,40 @@ "schemaType": {} } }, + "google-native:healthcare/v1beta1:SchemaGroup": { + "properties": { + "choice": {}, + "maxOccurs": { + "format": "int32" + }, + "members": { + "items": { + "$ref": "#/types/google-native:healthcare/v1beta1:GroupOrSegment" + } + }, + "minOccurs": { + "format": "int32" + }, + "name": {} + } + }, + "google-native:healthcare/v1beta1:SchemaGroupResponse": { + "properties": { + "choice": {}, + "maxOccurs": { + "format": "int32" + }, + "members": { + "items": { + "$ref": "#/types/google-native:healthcare/v1beta1:GroupOrSegmentResponse" + } + }, + "minOccurs": { + "format": "int32" + }, + "name": {} + } + }, "google-native:healthcare/v1beta1:SchemaPackage": { "properties": { "ignoreMinOccurs": {}, @@ -99087,6 +104165,28 @@ "unexpectedSegmentHandling": {} } }, + "google-native:healthcare/v1beta1:SchemaSegment": { + "properties": { + "maxOccurs": { + "format": "int32" + }, + "minOccurs": { + "format": "int32" + }, + "type": {} + } + }, + "google-native:healthcare/v1beta1:SchemaSegmentResponse": { + "properties": { + "maxOccurs": { + "format": "int32" + }, + "minOccurs": { + "format": "int32" + }, + "type": {} + } + }, "google-native:healthcare/v1beta1:SchematizedData": { "properties": { "data": {}, @@ -99131,19 +104231,29 @@ }, "google-native:healthcare/v1beta1:SegmentResponse": { "properties": { - "fields": {}, + "fields": { + "additionalProperties": {} + }, "segmentId": {}, "setId": {} } }, "google-native:healthcare/v1beta1:SensitiveTextAnnotation": { "properties": { - "details": {} + "details": { + "additionalProperties": { + "$ref": "#/types/google-native:healthcare/v1beta1:Detail" + } + } } }, "google-native:healthcare/v1beta1:SensitiveTextAnnotationResponse": { "properties": { - "details": {} + "details": { + "additionalProperties": { + "$ref": "#/types/google-native:healthcare/v1beta1:DetailResponse" + } + } } }, "google-native:healthcare/v1beta1:Signature": { @@ -99151,7 +104261,9 @@ "image": { "$ref": "#/types/google-native:healthcare/v1beta1:Image" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "signatureTime": { "format": "google-datetime" }, @@ -99165,7 +104277,9 @@ "image": { "$ref": "#/types/google-native:healthcare/v1beta1:ImageResponse" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "signatureTime": { "format": "google-datetime" }, @@ -101718,7 +106832,11 @@ "nextTasksExecutionPolicy": { "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmFrontendsEventbusProtoTaskConfigNextTasksExecutionPolicy" }, - "parameters": {}, + "parameters": { + "additionalProperties": { + "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmFrontendsEventbusProtoParameterEntry" + } + }, "position": { "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmEventbusProtoCoordinate" }, @@ -101780,7 +106898,11 @@ } }, "nextTasksExecutionPolicy": {}, - "parameters": {}, + "parameters": { + "additionalProperties": { + "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse" + } + }, "position": { "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmEventbusProtoCoordinateResponse" }, @@ -101868,7 +106990,9 @@ "position": { "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmEventbusProtoCoordinate" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "startTasks": { "items": { "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmEventbusProtoNextTask" @@ -101909,7 +107033,9 @@ "position": { "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmEventbusProtoCoordinateResponse" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "startTasks": { "items": { "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmEventbusProtoNextTaskResponse" @@ -102808,7 +107934,11 @@ "nextTasksExecutionPolicy": { "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaTaskConfigNextTasksExecutionPolicy" }, - "parameters": {}, + "parameters": { + "additionalProperties": { + "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaEventParameter" + } + }, "position": { "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaCoordinate" }, @@ -102844,7 +107974,11 @@ } }, "nextTasksExecutionPolicy": {}, - "parameters": {}, + "parameters": { + "additionalProperties": { + "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaEventParameterResponse" + } + }, "position": { "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaCoordinateResponse" }, @@ -102917,7 +108051,9 @@ "position": { "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaCoordinate" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "startTasks": { "items": { "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaNextTask" @@ -102950,7 +108086,9 @@ "position": { "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaCoordinateResponse" }, - "properties": {}, + "properties": { + "additionalProperties": {} + }, "startTasks": { "items": { "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaNextTaskResponse" @@ -103135,6 +108273,28 @@ } } }, + "google-native:jobs/v3:CustomAttribute": { + "properties": { + "filterable": {}, + "longValues": { + "items": {} + }, + "stringValues": { + "items": {} + } + } + }, + "google-native:jobs/v3:CustomAttributeResponse": { + "properties": { + "filterable": {}, + "longValues": { + "items": {} + }, + "stringValues": { + "items": {} + } + } + }, "google-native:jobs/v3:JobDerivedInfoResponse": { "properties": { "jobCategories": { @@ -103339,6 +108499,30 @@ } } }, + "google-native:jobs/v4:CustomAttribute": { + "properties": { + "filterable": {}, + "keywordSearchable": {}, + "longValues": { + "items": {} + }, + "stringValues": { + "items": {} + } + } + }, + "google-native:jobs/v4:CustomAttributeResponse": { + "properties": { + "filterable": {}, + "keywordSearchable": {}, + "longValues": { + "items": {} + }, + "stringValues": { + "items": {} + } + } + }, "google-native:jobs/v4:JobDerivedInfoResponse": { "properties": { "jobCategories": { @@ -104255,12 +109439,16 @@ }, "google-native:memcache/v1:MemcacheParameters": { "properties": { - "params": {} + "params": { + "additionalProperties": {} + } } }, "google-native:memcache/v1:MemcacheParametersResponse": { "properties": { - "params": {} + "params": { + "additionalProperties": {} + } } }, "google-native:memcache/v1:NodeConfig": { @@ -104423,12 +109611,16 @@ }, "google-native:memcache/v1beta2:MemcacheParameters": { "properties": { - "params": {} + "params": { + "additionalProperties": {} + } } }, "google-native:memcache/v1beta2:MemcacheParametersResponse": { "properties": { - "params": {} + "params": { + "additionalProperties": {} + } } }, "google-native:memcache/v1beta2:NodeConfig": { @@ -104573,6 +109765,39 @@ "logType": {} } }, + "google-native:metastore/v1:AuxiliaryVersionConfig": { + "properties": { + "configOverrides": { + "additionalProperties": {} + }, + "version": {} + } + }, + "google-native:metastore/v1:AuxiliaryVersionConfigResponse": { + "properties": { + "configOverrides": { + "additionalProperties": {} + }, + "networkConfig": { + "$ref": "#/types/google-native:metastore/v1:NetworkConfigResponse" + }, + "version": {} + } + }, + "google-native:metastore/v1:BackendMetastore": { + "properties": { + "metastoreType": { + "$ref": "#/types/google-native:metastore/v1:BackendMetastoreMetastoreType" + }, + "name": {} + } + }, + "google-native:metastore/v1:BackendMetastoreResponse": { + "properties": { + "metastoreType": {}, + "name": {} + } + }, "google-native:metastore/v1:Binding": { "properties": { "condition": { @@ -104671,8 +109896,14 @@ }, "google-native:metastore/v1:HiveMetastoreConfig": { "properties": { - "auxiliaryVersions": {}, - "configOverrides": {}, + "auxiliaryVersions": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1:AuxiliaryVersionConfig" + } + }, + "configOverrides": { + "additionalProperties": {} + }, "endpointProtocol": { "$ref": "#/types/google-native:metastore/v1:HiveMetastoreConfigEndpointProtocol" }, @@ -104686,8 +109917,14 @@ }, "google-native:metastore/v1:HiveMetastoreConfigResponse": { "properties": { - "auxiliaryVersions": {}, - "configOverrides": {}, + "auxiliaryVersions": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1:AuxiliaryVersionConfigResponse" + } + }, + "configOverrides": { + "additionalProperties": {} + }, "endpointProtocol": {}, "kerberosConfig": { "$ref": "#/types/google-native:metastore/v1:KerberosConfigResponse" @@ -104848,7 +110085,9 @@ "hiveMetastoreConfig": { "$ref": "#/types/google-native:metastore/v1:HiveMetastoreConfigResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenanceWindow": { "$ref": "#/types/google-native:metastore/v1:MaintenanceWindowResponse" }, @@ -104932,6 +110171,39 @@ "logType": {} } }, + "google-native:metastore/v1alpha:AuxiliaryVersionConfig": { + "properties": { + "configOverrides": { + "additionalProperties": {} + }, + "version": {} + } + }, + "google-native:metastore/v1alpha:AuxiliaryVersionConfigResponse": { + "properties": { + "configOverrides": { + "additionalProperties": {} + }, + "networkConfig": { + "$ref": "#/types/google-native:metastore/v1alpha:NetworkConfigResponse" + }, + "version": {} + } + }, + "google-native:metastore/v1alpha:BackendMetastore": { + "properties": { + "metastoreType": { + "$ref": "#/types/google-native:metastore/v1alpha:BackendMetastoreMetastoreType" + }, + "name": {} + } + }, + "google-native:metastore/v1alpha:BackendMetastoreResponse": { + "properties": { + "metastoreType": {}, + "name": {} + } + }, "google-native:metastore/v1alpha:Binding": { "properties": { "condition": { @@ -105004,12 +110276,20 @@ }, "google-native:metastore/v1alpha:DataplexConfig": { "properties": { - "lakeResources": {} + "lakeResources": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1alpha:Lake" + } + } } }, "google-native:metastore/v1alpha:DataplexConfigResponse": { "properties": { - "lakeResources": {} + "lakeResources": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1alpha:LakeResponse" + } + } } }, "google-native:metastore/v1alpha:EncryptionConfig": { @@ -105040,8 +110320,14 @@ }, "google-native:metastore/v1alpha:HiveMetastoreConfig": { "properties": { - "auxiliaryVersions": {}, - "configOverrides": {}, + "auxiliaryVersions": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1alpha:AuxiliaryVersionConfig" + } + }, + "configOverrides": { + "additionalProperties": {} + }, "endpointProtocol": { "$ref": "#/types/google-native:metastore/v1alpha:HiveMetastoreConfigEndpointProtocol" }, @@ -105055,8 +110341,14 @@ }, "google-native:metastore/v1alpha:HiveMetastoreConfigResponse": { "properties": { - "auxiliaryVersions": {}, - "configOverrides": {}, + "auxiliaryVersions": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1alpha:AuxiliaryVersionConfigResponse" + } + }, + "configOverrides": { + "additionalProperties": {} + }, "endpointProtocol": {}, "kerberosConfig": { "$ref": "#/types/google-native:metastore/v1alpha:KerberosConfigResponse" @@ -105082,6 +110374,16 @@ "principal": {} } }, + "google-native:metastore/v1alpha:Lake": { + "properties": { + "name": {} + } + }, + "google-native:metastore/v1alpha:LakeResponse": { + "properties": { + "name": {} + } + }, "google-native:metastore/v1alpha:MaintenanceWindow": { "properties": { "dayOfWeek": { @@ -105225,7 +110527,9 @@ "hiveMetastoreConfig": { "$ref": "#/types/google-native:metastore/v1alpha:HiveMetastoreConfigResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenanceWindow": { "$ref": "#/types/google-native:metastore/v1alpha:MaintenanceWindowResponse" }, @@ -105309,6 +110613,39 @@ "logType": {} } }, + "google-native:metastore/v1beta:AuxiliaryVersionConfig": { + "properties": { + "configOverrides": { + "additionalProperties": {} + }, + "version": {} + } + }, + "google-native:metastore/v1beta:AuxiliaryVersionConfigResponse": { + "properties": { + "configOverrides": { + "additionalProperties": {} + }, + "networkConfig": { + "$ref": "#/types/google-native:metastore/v1beta:NetworkConfigResponse" + }, + "version": {} + } + }, + "google-native:metastore/v1beta:BackendMetastore": { + "properties": { + "metastoreType": { + "$ref": "#/types/google-native:metastore/v1beta:BackendMetastoreMetastoreType" + }, + "name": {} + } + }, + "google-native:metastore/v1beta:BackendMetastoreResponse": { + "properties": { + "metastoreType": {}, + "name": {} + } + }, "google-native:metastore/v1beta:Binding": { "properties": { "condition": { @@ -105381,12 +110718,20 @@ }, "google-native:metastore/v1beta:DataplexConfig": { "properties": { - "lakeResources": {} + "lakeResources": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1beta:Lake" + } + } } }, "google-native:metastore/v1beta:DataplexConfigResponse": { "properties": { - "lakeResources": {} + "lakeResources": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1beta:LakeResponse" + } + } } }, "google-native:metastore/v1beta:EncryptionConfig": { @@ -105417,8 +110762,14 @@ }, "google-native:metastore/v1beta:HiveMetastoreConfig": { "properties": { - "auxiliaryVersions": {}, - "configOverrides": {}, + "auxiliaryVersions": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1beta:AuxiliaryVersionConfig" + } + }, + "configOverrides": { + "additionalProperties": {} + }, "endpointProtocol": { "$ref": "#/types/google-native:metastore/v1beta:HiveMetastoreConfigEndpointProtocol" }, @@ -105432,8 +110783,14 @@ }, "google-native:metastore/v1beta:HiveMetastoreConfigResponse": { "properties": { - "auxiliaryVersions": {}, - "configOverrides": {}, + "auxiliaryVersions": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1beta:AuxiliaryVersionConfigResponse" + } + }, + "configOverrides": { + "additionalProperties": {} + }, "endpointProtocol": {}, "kerberosConfig": { "$ref": "#/types/google-native:metastore/v1beta:KerberosConfigResponse" @@ -105459,6 +110816,16 @@ "principal": {} } }, + "google-native:metastore/v1beta:Lake": { + "properties": { + "name": {} + } + }, + "google-native:metastore/v1beta:LakeResponse": { + "properties": { + "name": {} + } + }, "google-native:metastore/v1beta:MaintenanceWindow": { "properties": { "dayOfWeek": { @@ -105602,7 +110969,9 @@ "hiveMetastoreConfig": { "$ref": "#/types/google-native:metastore/v1beta:HiveMetastoreConfigResponse" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenanceWindow": { "$ref": "#/types/google-native:metastore/v1beta:MaintenanceWindowResponse" }, @@ -106070,7 +111439,9 @@ "google-native:migrationcenter/v1:UploadFileInfo": {}, "google-native:migrationcenter/v1:UploadFileInfoResponse": { "properties": { - "headers": {}, + "headers": { + "additionalProperties": {} + }, "signedUri": {}, "uriExpirationTime": { "format": "google-datetime" @@ -106660,7 +112031,9 @@ "google-native:migrationcenter/v1alpha1:UploadFileInfo": {}, "google-native:migrationcenter/v1alpha1:UploadFileInfoResponse": { "properties": { - "headers": {}, + "headers": { + "additionalProperties": {} + }, "signedUri": {}, "uriExpirationTime": { "format": "google-datetime" @@ -107326,10 +112699,14 @@ "finalMetric": { "$ref": "#/types/google-native:ml/v1:GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric" }, - "hyperparameters": {}, + "hyperparameters": { + "additionalProperties": {} + }, "isTrialStoppedEarly": {}, "trialId": {}, - "webAccessUris": {} + "webAccessUris": { + "additionalProperties": {} + } } }, "google-native:ml/v1:GoogleCloudMlV1__HyperparameterOutputResponse": { @@ -107348,14 +112725,18 @@ "finalMetric": { "$ref": "#/types/google-native:ml/v1:GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetricResponse" }, - "hyperparameters": {}, + "hyperparameters": { + "additionalProperties": {} + }, "isTrialStoppedEarly": {}, "startTime": { "format": "google-datetime" }, "state": {}, "trialId": {}, - "webAccessUris": {} + "webAccessUris": { + "additionalProperties": {} + } } }, "google-native:ml/v1:GoogleCloudMlV1__HyperparameterSpec": { @@ -107935,7 +113316,9 @@ "$ref": "#/types/google-native:ml/v1:GoogleCloudMlV1__HyperparameterOutputResponse" } }, - "webAccessUris": {} + "webAccessUris": { + "additionalProperties": {} + } } }, "google-native:ml/v1:GoogleCloudMlV1__VersionResponse": { @@ -107963,7 +113346,9 @@ }, "framework": {}, "isDefault": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lastMigrationModelId": {}, "lastMigrationTime": { "format": "google-datetime" @@ -108562,7 +113947,8 @@ "google-native:monitoring/v1:MonitoredResource": { "properties": { "labels": { - "required": true + "required": true, + "additionalProperties": {} }, "type": { "required": true @@ -108572,7 +113958,8 @@ "google-native:monitoring/v1:MonitoredResourceResponse": { "properties": { "labels": { - "required": true + "required": true, + "additionalProperties": {} }, "type": { "required": true @@ -109380,13 +114767,17 @@ }, "google-native:monitoring/v3:BasicService": { "properties": { - "serviceLabels": {}, + "serviceLabels": { + "additionalProperties": {} + }, "serviceType": {} } }, "google-native:monitoring/v3:BasicServiceResponse": { "properties": { - "serviceLabels": {}, + "serviceLabels": { + "additionalProperties": {} + }, "serviceType": {} } }, @@ -109701,7 +115092,9 @@ "$ref": "#/types/google-native:monitoring/v3:HttpCheckContentType" }, "customContentType": {}, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "maskHeaders": {}, "path": {}, "pingConfig": { @@ -109732,7 +115125,9 @@ }, "contentType": {}, "customContentType": {}, - "headers": {}, + "headers": { + "additionalProperties": {} + }, "maskHeaders": {}, "path": {}, "pingConfig": { @@ -109831,7 +115226,9 @@ "filter": { "required": true }, - "labelExtractors": {} + "labelExtractors": { + "additionalProperties": {} + } } }, "google-native:monitoring/v3:LogMatchResponse": { @@ -109839,7 +115236,9 @@ "filter": { "required": true }, - "labelExtractors": {} + "labelExtractors": { + "additionalProperties": {} + } } }, "google-native:monitoring/v3:MeshIstio": { @@ -110003,7 +115402,8 @@ "google-native:monitoring/v3:MonitoredResource": { "properties": { "labels": { - "required": true + "required": true, + "additionalProperties": {} }, "type": { "required": true @@ -110013,7 +115413,8 @@ "google-native:monitoring/v3:MonitoredResourceResponse": { "properties": { "labels": { - "required": true + "required": true, + "additionalProperties": {} }, "type": { "required": true @@ -110145,7 +115546,9 @@ "evaluationInterval": { "format": "google-duration" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "query": { "required": true }, @@ -110161,7 +115564,9 @@ "evaluationInterval": { "format": "google-duration" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "query": { "required": true }, @@ -110540,7 +115945,9 @@ "google-native:networkconnectivity/v1:GoogleRpcErrorInfoResponse": { "properties": { "domain": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "reason": {} } }, @@ -110777,7 +116184,9 @@ "google-native:networkconnectivity/v1:WarningsResponse": { "properties": { "code": {}, - "data": {}, + "data": { + "additionalProperties": {} + }, "warningMessage": {} } }, @@ -113180,20 +118589,28 @@ }, "google-native:networkservices/v1:HttpRouteHeaderModifier": { "properties": { - "add": {}, + "add": { + "additionalProperties": {} + }, "remove": { "items": {} }, - "set": {} + "set": { + "additionalProperties": {} + } } }, "google-native:networkservices/v1:HttpRouteHeaderModifierResponse": { "properties": { - "add": {}, + "add": { + "additionalProperties": {} + }, "remove": { "items": {} }, - "set": {} + "set": { + "additionalProperties": {} + } } }, "google-native:networkservices/v1:HttpRouteQueryParameterMatch": { @@ -114254,20 +119671,28 @@ }, "google-native:networkservices/v1beta1:HttpRouteHeaderModifier": { "properties": { - "add": {}, + "add": { + "additionalProperties": {} + }, "remove": { "items": {} }, - "set": {} + "set": { + "additionalProperties": {} + } } }, "google-native:networkservices/v1beta1:HttpRouteHeaderModifierResponse": { "properties": { - "add": {}, + "add": { + "additionalProperties": {} + }, "remove": { "items": {} }, - "set": {} + "set": { + "additionalProperties": {} + } } }, "google-native:networkservices/v1beta1:HttpRouteQueryParameterMatch": { @@ -114915,7 +120340,9 @@ "$ref": "#/types/google-native:notebooks/v1:ExecutionTemplateJobType" }, "kernelSpec": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "masterType": {}, "outputNotebookFolder": {}, "parameters": {}, @@ -114943,7 +120370,9 @@ "inputNotebookFile": {}, "jobType": {}, "kernelSpec": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "masterType": {}, "outputNotebookFolder": {}, "parameters": {}, @@ -115010,7 +120439,9 @@ "diskType": { "$ref": "#/types/google-native:notebooks/v1:LocalDiskInitializeParamsDiskType" }, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:notebooks/v1:LocalDiskInitializeParamsResponse": { @@ -115021,7 +120452,9 @@ "format": "int64" }, "diskType": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:notebooks/v1:LocalDiskResponse": { @@ -115110,7 +120543,9 @@ }, "google-native:notebooks/v1:RuntimeMetricsResponse": { "properties": { - "systemMetrics": {} + "systemMetrics": { + "additionalProperties": {} + } } }, "google-native:notebooks/v1:RuntimeMigrationEligibilityResponse": { @@ -115253,13 +120688,17 @@ }, "google-native:notebooks/v1:VertexAIParameters": { "properties": { - "env": {}, + "env": { + "additionalProperties": {} + }, "network": {} } }, "google-native:notebooks/v1:VertexAIParametersResponse": { "properties": { - "env": {}, + "env": { + "additionalProperties": {} + }, "network": {} } }, @@ -115291,11 +120730,15 @@ "$ref": "#/types/google-native:notebooks/v1:EncryptionConfig" }, "internalIpOnly": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "required": true }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "network": {}, "nicType": { "$ref": "#/types/google-native:notebooks/v1:VirtualMachineConfigNicType" @@ -115330,13 +120773,19 @@ "encryptionConfig": { "$ref": "#/types/google-native:notebooks/v1:EncryptionConfigResponse" }, - "guestAttributes": {}, + "guestAttributes": { + "additionalProperties": {} + }, "internalIpOnly": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "required": true }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "network": {}, "nicType": {}, "reservedIpRange": {}, @@ -115537,7 +120986,9 @@ "$ref": "#/types/google-native:notebooks/v2:GPUDriverConfig" }, "machineType": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:notebooks/v2:NetworkInterface" @@ -115583,7 +121034,9 @@ "$ref": "#/types/google-native:notebooks/v2:GPUDriverConfigResponse" }, "machineType": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:notebooks/v2:NetworkInterfaceResponse" @@ -116007,12 +121460,16 @@ }, "google-native:osconfig/v1:OSPolicyAssignmentLabelSet": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1:OSPolicyAssignmentLabelSetResponse": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1:OSPolicyAssignmentRollout": { @@ -116688,12 +122145,16 @@ }, "google-native:osconfig/v1:PatchInstanceFilterGroupLabel": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1:PatchInstanceFilterGroupLabelResponse": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1:PatchInstanceFilterResponse": { @@ -117076,12 +122537,16 @@ }, "google-native:osconfig/v1alpha:OSPolicyAssignmentLabelSet": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1alpha:OSPolicyAssignmentLabelSetResponse": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1alpha:OSPolicyAssignmentRollout": { @@ -117765,12 +123230,16 @@ }, "google-native:osconfig/v1beta:AssignmentGroupLabel": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1beta:AssignmentGroupLabelResponse": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1beta:AssignmentOsType": { @@ -118097,12 +123566,16 @@ }, "google-native:osconfig/v1beta:PatchInstanceFilterGroupLabel": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1beta:PatchInstanceFilterGroupLabelResponse": { "properties": { - "labels": {} + "labels": { + "additionalProperties": {} + } } }, "google-native:osconfig/v1beta:PatchInstanceFilterResponse": { @@ -118741,13 +124214,21 @@ "logSource": { "$ref": "#/types/google-native:policysimulator/v1:GoogleCloudPolicysimulatorV1ReplayConfigLogSource" }, - "policyOverlay": {} + "policyOverlay": { + "additionalProperties": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1Policy" + } + } } }, "google-native:policysimulator/v1:GoogleCloudPolicysimulatorV1ReplayConfigResponse": { "properties": { "logSource": {}, - "policyOverlay": {} + "policyOverlay": { + "additionalProperties": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1PolicyResponse" + } + } } }, "google-native:policysimulator/v1:GoogleCloudPolicysimulatorV1ReplayResultsSummaryResponse": { @@ -118772,6 +124253,110 @@ } } }, + "google-native:policysimulator/v1:GoogleIamV1AuditConfig": { + "properties": { + "auditLogConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditLogConfig" + } + }, + "service": {} + } + }, + "google-native:policysimulator/v1:GoogleIamV1AuditConfigResponse": { + "properties": { + "auditLogConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditLogConfigResponse" + } + }, + "service": {} + } + }, + "google-native:policysimulator/v1:GoogleIamV1AuditLogConfig": { + "properties": { + "exemptedMembers": { + "items": {} + }, + "logType": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditLogConfigLogType" + } + } + }, + "google-native:policysimulator/v1:GoogleIamV1AuditLogConfigResponse": { + "properties": { + "exemptedMembers": { + "items": {} + }, + "logType": {} + } + }, + "google-native:policysimulator/v1:GoogleIamV1Binding": { + "properties": { + "condition": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleTypeExpr" + }, + "members": { + "items": {} + }, + "role": { + "pattern": "roles/{role}" + } + } + }, + "google-native:policysimulator/v1:GoogleIamV1BindingResponse": { + "properties": { + "condition": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleTypeExprResponse" + }, + "members": { + "items": {} + }, + "role": { + "pattern": "roles/{role}" + } + } + }, + "google-native:policysimulator/v1:GoogleIamV1Policy": { + "properties": { + "auditConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditConfig" + } + }, + "bindings": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1Binding" + } + }, + "etag": { + "format": "byte" + }, + "version": { + "format": "int32" + } + } + }, + "google-native:policysimulator/v1:GoogleIamV1PolicyResponse": { + "properties": { + "auditConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditConfigResponse" + } + }, + "bindings": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1BindingResponse" + } + }, + "etag": { + "format": "byte" + }, + "version": { + "format": "int32" + } + } + }, "google-native:policysimulator/v1:GoogleTypeDateResponse": { "properties": { "day": { @@ -118785,18 +124370,42 @@ } } }, + "google-native:policysimulator/v1:GoogleTypeExpr": { + "properties": { + "description": {}, + "expression": {}, + "location": {}, + "title": {} + } + }, + "google-native:policysimulator/v1:GoogleTypeExprResponse": { + "properties": { + "description": {}, + "expression": {}, + "location": {}, + "title": {} + } + }, "google-native:policysimulator/v1alpha:GoogleCloudPolicysimulatorV1alphaReplayConfig": { "properties": { "logSource": { "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource" }, - "policyOverlay": {} + "policyOverlay": { + "additionalProperties": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1Policy" + } + } } }, "google-native:policysimulator/v1alpha:GoogleCloudPolicysimulatorV1alphaReplayConfigResponse": { "properties": { "logSource": {}, - "policyOverlay": {} + "policyOverlay": { + "additionalProperties": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1PolicyResponse" + } + } } }, "google-native:policysimulator/v1alpha:GoogleCloudPolicysimulatorV1alphaReplayResultsSummaryResponse": { @@ -118821,6 +124430,110 @@ } } }, + "google-native:policysimulator/v1alpha:GoogleIamV1AuditConfig": { + "properties": { + "auditLogConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfig" + } + }, + "service": {} + } + }, + "google-native:policysimulator/v1alpha:GoogleIamV1AuditConfigResponse": { + "properties": { + "auditLogConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfigResponse" + } + }, + "service": {} + } + }, + "google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfig": { + "properties": { + "exemptedMembers": { + "items": {} + }, + "logType": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfigLogType" + } + } + }, + "google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfigResponse": { + "properties": { + "exemptedMembers": { + "items": {} + }, + "logType": {} + } + }, + "google-native:policysimulator/v1alpha:GoogleIamV1Binding": { + "properties": { + "condition": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleTypeExpr" + }, + "members": { + "items": {} + }, + "role": { + "pattern": "roles/{role}" + } + } + }, + "google-native:policysimulator/v1alpha:GoogleIamV1BindingResponse": { + "properties": { + "condition": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleTypeExprResponse" + }, + "members": { + "items": {} + }, + "role": { + "pattern": "roles/{role}" + } + } + }, + "google-native:policysimulator/v1alpha:GoogleIamV1Policy": { + "properties": { + "auditConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditConfig" + } + }, + "bindings": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1Binding" + } + }, + "etag": { + "format": "byte" + }, + "version": { + "format": "int32" + } + } + }, + "google-native:policysimulator/v1alpha:GoogleIamV1PolicyResponse": { + "properties": { + "auditConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditConfigResponse" + } + }, + "bindings": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1BindingResponse" + } + }, + "etag": { + "format": "byte" + }, + "version": { + "format": "int32" + } + } + }, "google-native:policysimulator/v1alpha:GoogleTypeDateResponse": { "properties": { "day": { @@ -118834,18 +124547,42 @@ } } }, + "google-native:policysimulator/v1alpha:GoogleTypeExpr": { + "properties": { + "description": {}, + "expression": {}, + "location": {}, + "title": {} + } + }, + "google-native:policysimulator/v1alpha:GoogleTypeExprResponse": { + "properties": { + "description": {}, + "expression": {}, + "location": {}, + "title": {} + } + }, "google-native:policysimulator/v1beta1:GoogleCloudPolicysimulatorV1beta1ReplayConfig": { "properties": { "logSource": { "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource" }, - "policyOverlay": {} + "policyOverlay": { + "additionalProperties": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1Policy" + } + } } }, "google-native:policysimulator/v1beta1:GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse": { "properties": { "logSource": {}, - "policyOverlay": {} + "policyOverlay": { + "additionalProperties": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1PolicyResponse" + } + } } }, "google-native:policysimulator/v1beta1:GoogleCloudPolicysimulatorV1beta1ReplayResultsSummaryResponse": { @@ -118870,6 +124607,110 @@ } } }, + "google-native:policysimulator/v1beta1:GoogleIamV1AuditConfig": { + "properties": { + "auditLogConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfig" + } + }, + "service": {} + } + }, + "google-native:policysimulator/v1beta1:GoogleIamV1AuditConfigResponse": { + "properties": { + "auditLogConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfigResponse" + } + }, + "service": {} + } + }, + "google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfig": { + "properties": { + "exemptedMembers": { + "items": {} + }, + "logType": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfigLogType" + } + } + }, + "google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfigResponse": { + "properties": { + "exemptedMembers": { + "items": {} + }, + "logType": {} + } + }, + "google-native:policysimulator/v1beta1:GoogleIamV1Binding": { + "properties": { + "condition": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleTypeExpr" + }, + "members": { + "items": {} + }, + "role": { + "pattern": "roles/{role}" + } + } + }, + "google-native:policysimulator/v1beta1:GoogleIamV1BindingResponse": { + "properties": { + "condition": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleTypeExprResponse" + }, + "members": { + "items": {} + }, + "role": { + "pattern": "roles/{role}" + } + } + }, + "google-native:policysimulator/v1beta1:GoogleIamV1Policy": { + "properties": { + "auditConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditConfig" + } + }, + "bindings": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1Binding" + } + }, + "etag": { + "format": "byte" + }, + "version": { + "format": "int32" + } + } + }, + "google-native:policysimulator/v1beta1:GoogleIamV1PolicyResponse": { + "properties": { + "auditConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditConfigResponse" + } + }, + "bindings": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1BindingResponse" + } + }, + "etag": { + "format": "byte" + }, + "version": { + "format": "int32" + } + } + }, "google-native:policysimulator/v1beta1:GoogleTypeDateResponse": { "properties": { "day": { @@ -118883,18 +124724,42 @@ } } }, + "google-native:policysimulator/v1beta1:GoogleTypeExpr": { + "properties": { + "description": {}, + "expression": {}, + "location": {}, + "title": {} + } + }, + "google-native:policysimulator/v1beta1:GoogleTypeExprResponse": { + "properties": { + "description": {}, + "expression": {}, + "location": {}, + "title": {} + } + }, "google-native:policysimulator/v1beta:GoogleCloudPolicysimulatorV1betaReplayConfig": { "properties": { "logSource": { "$ref": "#/types/google-native:policysimulator/v1beta:GoogleCloudPolicysimulatorV1betaReplayConfigLogSource" }, - "policyOverlay": {} + "policyOverlay": { + "additionalProperties": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1Policy" + } + } } }, "google-native:policysimulator/v1beta:GoogleCloudPolicysimulatorV1betaReplayConfigResponse": { "properties": { "logSource": {}, - "policyOverlay": {} + "policyOverlay": { + "additionalProperties": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1PolicyResponse" + } + } } }, "google-native:policysimulator/v1beta:GoogleCloudPolicysimulatorV1betaReplayResultsSummaryResponse": { @@ -118919,6 +124784,110 @@ } } }, + "google-native:policysimulator/v1beta:GoogleIamV1AuditConfig": { + "properties": { + "auditLogConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfig" + } + }, + "service": {} + } + }, + "google-native:policysimulator/v1beta:GoogleIamV1AuditConfigResponse": { + "properties": { + "auditLogConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfigResponse" + } + }, + "service": {} + } + }, + "google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfig": { + "properties": { + "exemptedMembers": { + "items": {} + }, + "logType": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfigLogType" + } + } + }, + "google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfigResponse": { + "properties": { + "exemptedMembers": { + "items": {} + }, + "logType": {} + } + }, + "google-native:policysimulator/v1beta:GoogleIamV1Binding": { + "properties": { + "condition": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleTypeExpr" + }, + "members": { + "items": {} + }, + "role": { + "pattern": "roles/{role}" + } + } + }, + "google-native:policysimulator/v1beta:GoogleIamV1BindingResponse": { + "properties": { + "condition": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleTypeExprResponse" + }, + "members": { + "items": {} + }, + "role": { + "pattern": "roles/{role}" + } + } + }, + "google-native:policysimulator/v1beta:GoogleIamV1Policy": { + "properties": { + "auditConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditConfig" + } + }, + "bindings": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1Binding" + } + }, + "etag": { + "format": "byte" + }, + "version": { + "format": "int32" + } + } + }, + "google-native:policysimulator/v1beta:GoogleIamV1PolicyResponse": { + "properties": { + "auditConfigs": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditConfigResponse" + } + }, + "bindings": { + "items": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1BindingResponse" + } + }, + "etag": { + "format": "byte" + }, + "version": { + "format": "int32" + } + } + }, "google-native:policysimulator/v1beta:GoogleTypeDateResponse": { "properties": { "day": { @@ -118932,6 +124901,22 @@ } } }, + "google-native:policysimulator/v1beta:GoogleTypeExpr": { + "properties": { + "description": {}, + "expression": {}, + "location": {}, + "title": {} + } + }, + "google-native:policysimulator/v1beta:GoogleTypeExprResponse": { + "properties": { + "description": {}, + "expression": {}, + "location": {}, + "title": {} + } + }, "google-native:privateca/v1:AccessUrlsResponse": { "properties": { "caCertificateAccessUrl": {}, @@ -119965,7 +125950,9 @@ "google-native:pubsub/v1:PubsubWrapperResponse": {}, "google-native:pubsub/v1:PushConfig": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": {} + }, "noWrapper": { "$ref": "#/types/google-native:pubsub/v1:NoWrapper" }, @@ -119980,7 +125967,9 @@ }, "google-native:pubsub/v1:PushConfigResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": {} + }, "noWrapper": { "$ref": "#/types/google-native:pubsub/v1:NoWrapperResponse" }, @@ -120103,7 +126092,9 @@ }, "google-native:pubsub/v1beta2:PushConfig": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": {} + }, "oidcToken": { "$ref": "#/types/google-native:pubsub/v1beta2:OidcToken" }, @@ -120112,7 +126103,9 @@ }, "google-native:pubsub/v1beta2:PushConfigResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": {} + }, "oidcToken": { "$ref": "#/types/google-native:pubsub/v1beta2:OidcTokenResponse" }, @@ -120467,14 +126460,58 @@ }, "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMap": { "properties": { - "categoricalFeatures": {}, - "numericalFeatures": {} + "categoricalFeatures": { + "additionalProperties": { + "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapStringList" + } + }, + "numericalFeatures": { + "additionalProperties": { + "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapFloatList" + } + } + } + }, + "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapFloatList": { + "properties": { + "value": { + "items": {} + } + } + }, + "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse": { + "properties": { + "value": { + "items": {} + } } }, "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapResponse": { "properties": { - "categoricalFeatures": {}, - "numericalFeatures": {} + "categoricalFeatures": { + "additionalProperties": { + "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse" + } + }, + "numericalFeatures": { + "additionalProperties": { + "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse" + } + } + } + }, + "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapStringList": { + "properties": { + "value": { + "items": {} + } + } + }, + "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse": { + "properties": { + "value": { + "items": {} + } } }, "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1Image": { @@ -120509,7 +126546,9 @@ "format": "int64" }, "canonicalProductUri": {}, - "costs": {}, + "costs": { + "additionalProperties": {} + }, "currencyCode": {}, "exactPrice": { "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPrice" @@ -120577,7 +126616,9 @@ "format": "int64" }, "canonicalProductUri": {}, - "costs": {}, + "costs": { + "additionalProperties": {} + }, "currencyCode": {}, "exactPrice": { "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPriceResponse" @@ -121107,7 +127148,9 @@ "diskType": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "required": true }, @@ -121133,7 +127176,9 @@ "diskType": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "required": true }, @@ -121253,6 +127298,30 @@ } } }, + "google-native:retail/v2:GoogleCloudRetailV2CustomAttribute": { + "properties": { + "indexable": {}, + "numbers": { + "items": {} + }, + "searchable": {}, + "text": { + "items": {} + } + } + }, + "google-native:retail/v2:GoogleCloudRetailV2CustomAttributeResponse": { + "properties": { + "indexable": {}, + "numbers": { + "items": {} + }, + "searchable": {}, + "text": { + "items": {} + } + } + }, "google-native:retail/v2:GoogleCloudRetailV2FulfillmentInfo": { "properties": { "placeIds": { @@ -121313,7 +127382,11 @@ }, "google-native:retail/v2:GoogleCloudRetailV2LocalInventoryResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2CustomAttributeResponse" + } + }, "fulfillmentTypes": { "items": {} }, @@ -121411,7 +127484,11 @@ }, "google-native:retail/v2:GoogleCloudRetailV2ProductResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2CustomAttributeResponse" + } + }, "audience": { "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2AudienceResponse" }, @@ -121928,6 +128005,30 @@ } } }, + "google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttribute": { + "properties": { + "indexable": {}, + "numbers": { + "items": {} + }, + "searchable": {}, + "text": { + "items": {} + } + } + }, + "google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttributeResponse": { + "properties": { + "indexable": {}, + "numbers": { + "items": {} + }, + "searchable": {}, + "text": { + "items": {} + } + } + }, "google-native:retail/v2alpha:GoogleCloudRetailV2alphaFulfillmentInfo": { "properties": { "placeIds": { @@ -122004,7 +128105,11 @@ }, "google-native:retail/v2alpha:GoogleCloudRetailV2alphaLocalInventoryResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttributeResponse" + } + }, "fulfillmentTypes": { "items": {} }, @@ -122172,7 +128277,11 @@ }, "google-native:retail/v2alpha:GoogleCloudRetailV2alphaProductResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttributeResponse" + } + }, "audience": { "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaAudienceResponse" }, @@ -122769,6 +128878,30 @@ } } }, + "google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttribute": { + "properties": { + "indexable": {}, + "numbers": { + "items": {} + }, + "searchable": {}, + "text": { + "items": {} + } + } + }, + "google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttributeResponse": { + "properties": { + "indexable": {}, + "numbers": { + "items": {} + }, + "searchable": {}, + "text": { + "items": {} + } + } + }, "google-native:retail/v2beta:GoogleCloudRetailV2betaFulfillmentInfo": { "properties": { "placeIds": { @@ -122845,7 +128978,11 @@ }, "google-native:retail/v2beta:GoogleCloudRetailV2betaLocalInventoryResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttributeResponse" + } + }, "fulfillmentTypes": { "items": {} }, @@ -122943,7 +129080,11 @@ }, "google-native:retail/v2beta:GoogleCloudRetailV2betaProductResponse": { "properties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttributeResponse" + } + }, "audience": { "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaAudienceResponse" }, @@ -124073,7 +130214,9 @@ }, "google-native:run/v1:ObjectMeta": { "properties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "clusterName": {}, "creationTimestamp": { "format": "google-datetime" @@ -124091,7 +130234,9 @@ "generation": { "format": "int32" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -124110,7 +130255,9 @@ }, "google-native:run/v1:ObjectMetaResponse": { "properties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "clusterName": {}, "creationTimestamp": { "format": "google-datetime" @@ -124128,7 +130275,9 @@ "generation": { "format": "int32" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -124245,14 +130394,22 @@ }, "google-native:run/v1:ResourceRequirements": { "properties": { - "limits": {}, - "requests": {} + "limits": { + "additionalProperties": {} + }, + "requests": { + "additionalProperties": {} + } } }, "google-native:run/v1:ResourceRequirementsResponse": { "properties": { - "limits": {}, - "requests": {} + "limits": { + "additionalProperties": {} + }, + "requests": { + "additionalProperties": {} + } } }, "google-native:run/v1:RevisionSpec": { @@ -124833,8 +130990,12 @@ }, "google-native:run/v2:GoogleCloudRunV2ExecutionTemplate": { "properties": { - "annotations": {}, - "labels": {}, + "annotations": { + "additionalProperties": {} + }, + "labels": { + "additionalProperties": {} + }, "parallelism": { "format": "int32" }, @@ -124849,8 +131010,12 @@ }, "google-native:run/v2:GoogleCloudRunV2ExecutionTemplateResponse": { "properties": { - "annotations": {}, - "labels": {}, + "annotations": { + "additionalProperties": {} + }, + "labels": { + "additionalProperties": {} + }, "parallelism": { "format": "int32" }, @@ -124992,14 +131157,18 @@ "google-native:run/v2:GoogleCloudRunV2ResourceRequirements": { "properties": { "cpuIdle": {}, - "limits": {}, + "limits": { + "additionalProperties": {} + }, "startupCpuBoost": {} } }, "google-native:run/v2:GoogleCloudRunV2ResourceRequirementsResponse": { "properties": { "cpuIdle": {}, - "limits": {}, + "limits": { + "additionalProperties": {} + }, "startupCpuBoost": {} } }, @@ -125025,7 +131194,9 @@ }, "google-native:run/v2:GoogleCloudRunV2RevisionTemplate": { "properties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "containers": { "items": { "$ref": "#/types/google-native:run/v2:GoogleCloudRunV2Container" @@ -125035,7 +131206,9 @@ "executionEnvironment": { "$ref": "#/types/google-native:run/v2:GoogleCloudRunV2RevisionTemplateExecutionEnvironment" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maxInstanceRequestConcurrency": { "format": "int32" }, @@ -125060,7 +131233,9 @@ }, "google-native:run/v2:GoogleCloudRunV2RevisionTemplateResponse": { "properties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "containers": { "items": { "$ref": "#/types/google-native:run/v2:GoogleCloudRunV2ContainerResponse" @@ -125068,7 +131243,9 @@ }, "encryptionKey": {}, "executionEnvironment": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maxInstanceRequestConcurrency": { "format": "int32" }, @@ -126124,7 +132301,9 @@ "google-native:servicedirectory/v1:EndpointResponse": { "properties": { "address": {}, - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "name": {}, "network": {}, "port": { @@ -126181,7 +132360,9 @@ "createTime": { "format": "google-datetime" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {}, "network": {}, "port": { @@ -126426,7 +132607,6 @@ "operationDeadline": { "format": "double" }, - "overridesByRequestProtocol": {}, "pathTranslation": { "$ref": "#/types/google-native:servicemanagement/v1:BackendRulePathTranslation" }, @@ -126448,7 +132628,6 @@ "operationDeadline": { "format": "double" }, - "overridesByRequestProtocol": {}, "pathTranslation": {}, "protocol": {}, "selector": {} @@ -126808,8 +132987,12 @@ "ignoredResources": { "items": {} }, - "renamedResources": {}, - "renamedServices": {} + "renamedResources": { + "additionalProperties": {} + }, + "renamedServices": { + "additionalProperties": {} + } } }, "google-native:servicemanagement/v1:DotnetSettingsResponse": { @@ -126826,8 +133009,12 @@ "ignoredResources": { "items": {} }, - "renamedResources": {}, - "renamedServices": {} + "renamedResources": { + "additionalProperties": {} + }, + "renamedServices": { + "additionalProperties": {} + } } }, "google-native:servicemanagement/v1:Endpoint": { @@ -127076,7 +133263,9 @@ "$ref": "#/types/google-native:servicemanagement/v1:CommonLanguageSettings" }, "libraryPackage": {}, - "serviceClassNames": {} + "serviceClassNames": { + "additionalProperties": {} + } } }, "google-native:servicemanagement/v1:JavaSettingsResponse": { @@ -127085,7 +133274,9 @@ "$ref": "#/types/google-native:servicemanagement/v1:CommonLanguageSettingsResponse" }, "libraryPackage": {}, - "serviceClassNames": {} + "serviceClassNames": { + "additionalProperties": {} + } } }, "google-native:servicemanagement/v1:JwtLocation": { @@ -127372,13 +133563,17 @@ }, "google-native:servicemanagement/v1:MetricRule": { "properties": { - "metricCosts": {}, + "metricCosts": { + "additionalProperties": {} + }, "selector": {} } }, "google-native:servicemanagement/v1:MetricRuleResponse": { "properties": { - "metricCosts": {}, + "metricCosts": { + "additionalProperties": {} + }, "selector": {} } }, @@ -127641,7 +133836,9 @@ "metric": {}, "name": {}, "unit": {}, - "values": {} + "values": { + "additionalProperties": {} + } } }, "google-native:servicemanagement/v1:QuotaLimitResponse": { @@ -127661,7 +133858,9 @@ "metric": {}, "name": {}, "unit": {}, - "values": {} + "values": { + "additionalProperties": {} + } } }, "google-native:servicemanagement/v1:QuotaResponse": { @@ -127763,12 +133962,16 @@ }, "google-native:servicemanagement/v1:TrafficPercentStrategy": { "properties": { - "percentages": {} + "percentages": { + "additionalProperties": {} + } } }, "google-native:servicemanagement/v1:TrafficPercentStrategyResponse": { "properties": { - "percentages": {} + "percentages": { + "additionalProperties": {} + } } }, "google-native:servicemanagement/v1:Type": { @@ -127953,6 +134156,22 @@ "webhookId": {} } }, + "google-native:sourcerepo/v1:PubsubConfig": { + "properties": { + "messageFormat": { + "$ref": "#/types/google-native:sourcerepo/v1:PubsubConfigMessageFormat" + }, + "serviceAccountEmail": {}, + "topic": {} + } + }, + "google-native:sourcerepo/v1:PubsubConfigResponse": { + "properties": { + "messageFormat": {}, + "serviceAccountEmail": {}, + "topic": {} + } + }, "google-native:spanner/v1:AutoscalingConfig": { "properties": { "autoscalingLimits": { @@ -128728,7 +134947,9 @@ }, "tier": {}, "timeZone": {}, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } } }, "google-native:sqladmin/v1:SettingsResponse": { @@ -128800,7 +135021,9 @@ }, "tier": {}, "timeZone": {}, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } } }, "google-native:sqladmin/v1:SqlActiveDirectoryConfig": { @@ -129517,7 +135740,9 @@ }, "tier": {}, "timeZone": {}, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } } }, "google-native:sqladmin/v1beta4:SettingsResponse": { @@ -129589,7 +135814,9 @@ }, "tier": {}, "timeZone": {}, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } } }, "google-native:sqladmin/v1beta4:SqlActiveDirectoryConfig": { @@ -133129,8 +139356,12 @@ "health": { "$ref": "#/types/google-native:tpu/v2alpha1:NodeHealth" }, - "labels": {}, - "metadata": {}, + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + }, "networkConfig": { "$ref": "#/types/google-native:tpu/v2alpha1:NetworkConfig" }, @@ -133174,8 +139405,12 @@ "description": {}, "health": {}, "healthDescription": {}, - "labels": {}, - "metadata": {}, + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + }, "multisliceNode": {}, "name": {}, "networkConfig": { @@ -135081,7 +141316,9 @@ "$ref": "#/types/google-native:vmmigration/v1:Tag" } }, - "migrationResourcesUserTags": {} + "migrationResourcesUserTags": { + "additionalProperties": {} + } } }, "google-native:vmmigration/v1:AwsSourceDetailsResponse": { @@ -135101,7 +141338,9 @@ "$ref": "#/types/google-native:vmmigration/v1:TagResponse" } }, - "migrationResourcesUserTags": {}, + "migrationResourcesUserTags": { + "additionalProperties": {} + }, "publicIp": {}, "state": {} } @@ -135141,7 +141380,9 @@ "clientSecretCreds": { "$ref": "#/types/google-native:vmmigration/v1:ClientSecretCredentials" }, - "migrationResourcesUserTags": {}, + "migrationResourcesUserTags": { + "additionalProperties": {} + }, "subscriptionId": { "forceNew": true } @@ -135156,7 +141397,9 @@ "error": { "$ref": "#/types/google-native:vmmigration/v1:StatusResponse" }, - "migrationResourcesUserTags": {}, + "migrationResourcesUserTags": { + "additionalProperties": {} + }, "resourceGroupId": {}, "state": {}, "subscriptionId": {} @@ -135333,13 +141576,17 @@ "forceNew": true }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseType": { "$ref": "#/types/google-native:vmmigration/v1:ComputeEngineTargetDefaultsLicenseType" }, "machineType": {}, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1:NetworkInterface" @@ -135372,11 +141619,15 @@ "$ref": "#/types/google-native:vmmigration/v1:EncryptionResponse" }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseType": {}, "machineType": {}, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1:NetworkInterfaceResponse" @@ -135409,11 +141660,15 @@ "$ref": "#/types/google-native:vmmigration/v1:EncryptionResponse" }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseType": {}, "machineType": {}, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1:NetworkInterfaceResponse" @@ -135577,12 +141832,16 @@ "$ref": "#/types/google-native:vmmigration/v1:Encryption" }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "required": true }, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1:NetworkInterface" @@ -135613,12 +141872,16 @@ "$ref": "#/types/google-native:vmmigration/v1:EncryptionResponse" }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "required": true }, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1:NetworkInterfaceResponse" @@ -135704,7 +141967,9 @@ }, "google-native:vmmigration/v1:PersistentDiskDefaults": { "properties": { - "additionalLabels": {}, + "additionalLabels": { + "additionalProperties": {} + }, "diskName": {}, "diskType": { "$ref": "#/types/google-native:vmmigration/v1:PersistentDiskDefaultsDiskType" @@ -135723,7 +141988,9 @@ }, "google-native:vmmigration/v1:PersistentDiskDefaultsResponse": { "properties": { - "additionalLabels": {}, + "additionalLabels": { + "additionalProperties": {} + }, "diskName": {}, "diskType": {}, "encryption": { @@ -136136,7 +142403,9 @@ "$ref": "#/types/google-native:vmmigration/v1alpha1:Tag" } }, - "migrationResourcesUserTags": {} + "migrationResourcesUserTags": { + "additionalProperties": {} + } } }, "google-native:vmmigration/v1alpha1:AwsSourceDetailsResponse": { @@ -136156,7 +142425,9 @@ "$ref": "#/types/google-native:vmmigration/v1alpha1:TagResponse" } }, - "migrationResourcesUserTags": {}, + "migrationResourcesUserTags": { + "additionalProperties": {} + }, "publicIp": {}, "state": {} } @@ -136196,7 +142467,9 @@ "clientSecretCreds": { "$ref": "#/types/google-native:vmmigration/v1alpha1:ClientSecretCredentials" }, - "migrationResourcesUserTags": {}, + "migrationResourcesUserTags": { + "additionalProperties": {} + }, "subscriptionId": { "forceNew": true } @@ -136211,7 +142484,9 @@ "error": { "$ref": "#/types/google-native:vmmigration/v1alpha1:StatusResponse" }, - "migrationResourcesUserTags": {}, + "migrationResourcesUserTags": { + "additionalProperties": {} + }, "resourceGroupId": {}, "state": {}, "subscriptionId": {} @@ -136394,13 +142669,17 @@ "forceNew": true }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseType": { "$ref": "#/types/google-native:vmmigration/v1alpha1:ComputeEngineTargetDefaultsLicenseType" }, "machineType": {}, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1alpha1:NetworkInterface" @@ -136433,11 +142712,15 @@ "$ref": "#/types/google-native:vmmigration/v1alpha1:EncryptionResponse" }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseType": {}, "machineType": {}, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1alpha1:NetworkInterfaceResponse" @@ -136470,11 +142753,15 @@ "$ref": "#/types/google-native:vmmigration/v1alpha1:EncryptionResponse" }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseType": {}, "machineType": {}, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1alpha1:NetworkInterfaceResponse" @@ -136649,12 +142936,16 @@ "$ref": "#/types/google-native:vmmigration/v1alpha1:Encryption" }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "required": true }, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1alpha1:NetworkInterface" @@ -136685,12 +142976,16 @@ "$ref": "#/types/google-native:vmmigration/v1alpha1:EncryptionResponse" }, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "required": true }, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "networkInterfaces": { "items": { "$ref": "#/types/google-native:vmmigration/v1alpha1:NetworkInterfaceResponse" @@ -136776,7 +143071,9 @@ }, "google-native:vmmigration/v1alpha1:PersistentDiskDefaults": { "properties": { - "additionalLabels": {}, + "additionalLabels": { + "additionalProperties": {} + }, "diskName": {}, "diskType": { "$ref": "#/types/google-native:vmmigration/v1alpha1:PersistentDiskDefaultsDiskType" @@ -136795,7 +143092,9 @@ }, "google-native:vmmigration/v1alpha1:PersistentDiskDefaultsResponse": { "properties": { - "additionalLabels": {}, + "additionalLabels": { + "additionalProperties": {} + }, "diskName": {}, "diskType": {}, "encryption": { @@ -136950,13 +143249,17 @@ }, "externalIp": {}, "internalIp": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseType": { "$ref": "#/types/google-native:vmmigration/v1alpha1:TargetVMDetailsLicenseType" }, "machineType": {}, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {}, "network": {}, "networkInterfaces": { @@ -136986,11 +143289,15 @@ "diskType": {}, "externalIp": {}, "internalIp": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseType": {}, "machineType": {}, "machineTypeSeries": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {}, "network": {}, "networkInterfaces": { @@ -137376,7 +143683,10 @@ "required": true }, "nodeTypeConfigs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:vmwareengine/v1:NodeTypeConfig" + } }, "stretchedClusterConfig": { "$ref": "#/types/google-native:vmwareengine/v1:StretchedClusterConfig" @@ -137389,7 +143699,10 @@ "required": true }, "nodeTypeConfigs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:vmwareengine/v1:NodeTypeConfigResponse" + } }, "stretchedClusterConfig": { "$ref": "#/types/google-native:vmwareengine/v1:StretchedClusterConfigResponse" @@ -137428,6 +143741,28 @@ "state": {} } }, + "google-native:vmwareengine/v1:NodeTypeConfig": { + "properties": { + "customCoreCount": { + "format": "int32" + }, + "nodeCount": { + "format": "int32", + "required": true + } + } + }, + "google-native:vmwareengine/v1:NodeTypeConfigResponse": { + "properties": { + "customCoreCount": { + "format": "int32" + }, + "nodeCount": { + "format": "int32", + "required": true + } + } + }, "google-native:vmwareengine/v1:NsxResponse": { "properties": { "fqdn": {}, @@ -138141,7 +144476,9 @@ "gceInstanceFilter": { "$ref": "#/types/google-native:workloadmanager/v1:GceInstanceFilter" }, - "inclusionLabels": {}, + "inclusionLabels": { + "additionalProperties": {} + }, "resourceIdPatterns": { "items": {} }, @@ -138155,7 +144492,9 @@ "gceInstanceFilter": { "$ref": "#/types/google-native:workloadmanager/v1:GceInstanceFilterResponse" }, - "inclusionLabels": {}, + "inclusionLabels": { + "additionalProperties": {} + }, "resourceIdPatterns": { "items": {} }, @@ -138244,7 +144583,9 @@ "command": { "items": {} }, - "env": {}, + "env": { + "additionalProperties": {} + }, "image": {}, "runAsUser": { "format": "int32" @@ -138260,7 +144601,9 @@ "command": { "items": {} }, - "env": {}, + "env": { + "additionalProperties": {} + }, "image": {}, "runAsUser": { "format": "int32" @@ -138568,7 +144911,9 @@ "command": { "items": {} }, - "env": {}, + "env": { + "additionalProperties": {} + }, "image": {}, "runAsUser": { "format": "int32" @@ -138584,7 +144929,9 @@ "command": { "items": {} }, - "env": {}, + "env": { + "additionalProperties": {} + }, "image": {}, "runAsUser": { "format": "int32" @@ -140289,7 +146636,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "schemaTitle": {}, "schemaVersion": {}, @@ -140359,7 +146708,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "schemaTitle": {}, "schemaVersion": {}, @@ -140458,7 +146809,9 @@ "instanceConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1BatchPredictionJobInstanceConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "manualBatchTuningParameters": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ManualBatchTuningParameters", "forceNew": true @@ -140580,7 +146933,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "name": { "forceNew": true @@ -140651,7 +147006,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "name": { "forceNew": true @@ -140738,7 +147095,9 @@ "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1CustomJobSpec", "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -140833,7 +147192,9 @@ "activeLearningConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ActiveLearningConfig" }, - "annotationLabels": {}, + "annotationLabels": { + "additionalProperties": {} + }, "datasets": { "required": true, "items": {} @@ -140858,7 +147219,9 @@ "format": "int32", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "specialistPools": { "items": {} } @@ -140961,7 +147324,9 @@ "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any", "required": true @@ -141046,7 +147411,9 @@ "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any", "required": true @@ -141368,12 +147735,16 @@ "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "predictRequestResponseLoggingConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig" }, - "trafficSplit": {} + "trafficSplit": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -141447,12 +147818,16 @@ "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "predictRequestResponseLoggingConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig" }, - "trafficSplit": {} + "trafficSplit": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": { @@ -141530,7 +147905,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeaturestoreMonitoringConfig" }, @@ -141613,7 +147990,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeaturestoreMonitoringConfig" }, @@ -141705,7 +148084,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "schemaTitle": {}, "schemaVersion": {}, @@ -141774,7 +148155,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "schemaTitle": {}, "schemaVersion": {}, @@ -141863,7 +148246,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "source": { "forceNew": true } @@ -141934,7 +148319,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "source": { "forceNew": true } @@ -142019,7 +148406,9 @@ }, "description": {}, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -142084,7 +148473,9 @@ }, "description": {}, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -142171,7 +148562,9 @@ "description": {}, "disableMonitoring": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -142252,7 +148645,9 @@ "description": {}, "disableMonitoring": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -142349,7 +148744,9 @@ "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeatureOnlineStoreBigtable" }, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -142413,7 +148810,9 @@ "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeatureOnlineStoreBigtable" }, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -142505,7 +148904,9 @@ "description": {}, "disableMonitoring": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -142598,7 +148999,9 @@ "description": {}, "disableMonitoring": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -142703,7 +149106,9 @@ "featureRegistrySource": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "syncConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeatureViewSyncConfig" } @@ -142783,7 +149188,9 @@ "featureRegistrySource": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeatureViewFeatureRegistrySource" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "syncConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeatureViewSyncConfig" } @@ -142875,7 +149282,9 @@ "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "onlineServingConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig" }, @@ -142945,7 +149354,9 @@ "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "onlineServingConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1FeaturestoreOnlineServingConfig" }, @@ -143856,7 +150267,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maxFailedTrialCount": { "format": "int32" }, @@ -143980,7 +150393,9 @@ "$ref": "#/types/google-native:aiplatform/v1:IndexIndexUpdateMethod", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any" }, @@ -144059,7 +150474,9 @@ "$ref": "#/types/google-native:aiplatform/v1:IndexIndexUpdateMethod", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any" }, @@ -144150,7 +150567,9 @@ "forceNew": true }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "privateServiceConnectConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PrivateServiceConnectConfig" @@ -144230,7 +150649,9 @@ "forceNew": true }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "privateServiceConnectConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PrivateServiceConnectConfig" @@ -144507,7 +150928,9 @@ "required": true, "pattern": "projects/{project}/locations/{location}/endpoints/{endpoint}" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "logTtl": { "format": "google-duration" }, @@ -144600,7 +151023,9 @@ "endpoint": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "logTtl": { "format": "google-duration" }, @@ -144711,7 +151136,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "nasJobSpec": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1NasJobSpec", "required": true @@ -144825,7 +151252,9 @@ "idleShutdownConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1NotebookIdleShutdownConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineSpec": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1MachineSpec", "forceNew": true @@ -145330,7 +151759,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "pipelineSpec": {}, "reservedIpRanges": { @@ -145451,7 +151882,9 @@ "required": true }, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -145531,7 +151964,9 @@ "required": true }, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": { @@ -146043,7 +152478,9 @@ }, "etag": {}, "isDefault": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -146117,7 +152554,9 @@ }, "etag": {}, "isDefault": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -146422,7 +152861,9 @@ "inputDataConfig": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1InputDataConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "modelId": {}, "modelToUpload": { "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1Model" @@ -146633,7 +153074,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "schemaTitle": {}, "schemaVersion": {}, @@ -146703,7 +153146,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "schemaTitle": {}, "schemaVersion": {}, @@ -146802,7 +153247,9 @@ "instanceConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1BatchPredictionJobInstanceConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "manualBatchTuningParameters": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ManualBatchTuningParameters", "forceNew": true @@ -146932,7 +153379,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "name": { "forceNew": true @@ -147003,7 +153452,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "name": { "forceNew": true @@ -147090,7 +153541,9 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1CustomJobSpec", "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -147185,7 +153638,9 @@ "activeLearningConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ActiveLearningConfig" }, - "annotationLabels": {}, + "annotationLabels": { + "additionalProperties": {} + }, "datasets": { "required": true, "items": {} @@ -147210,7 +153665,9 @@ "format": "int32", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "specialistPools": { "items": {} } @@ -147313,7 +153770,9 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any", "required": true @@ -147398,7 +153857,9 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any", "required": true @@ -147720,12 +154181,16 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "predictRequestResponseLoggingConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfig" }, - "trafficSplit": {} + "trafficSplit": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -147799,12 +154264,16 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "predictRequestResponseLoggingConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfig" }, - "trafficSplit": {} + "trafficSplit": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": { @@ -148265,7 +154734,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig" }, @@ -148348,7 +154819,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig" }, @@ -148440,7 +154913,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "schemaTitle": {}, "schemaVersion": {}, @@ -148509,7 +154984,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": {}, "schemaTitle": {}, "schemaVersion": {}, @@ -148598,7 +155075,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "source": { "forceNew": true } @@ -148669,7 +155148,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "source": { "forceNew": true } @@ -148754,7 +155235,9 @@ }, "description": {}, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -148819,7 +155302,9 @@ }, "description": {}, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -148906,7 +155391,9 @@ "description": {}, "disableMonitoring": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig" }, @@ -148990,7 +155477,9 @@ "description": {}, "disableMonitoring": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig" }, @@ -149096,7 +155585,9 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeatureOnlineStoreEmbeddingManagement" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "optimized": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeatureOnlineStoreOptimized" } @@ -149169,7 +155660,9 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeatureOnlineStoreEmbeddingManagement" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "optimized": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeatureOnlineStoreOptimized" } @@ -149264,7 +155757,9 @@ "description": {}, "disableMonitoring": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig" }, @@ -149360,7 +155855,9 @@ "description": {}, "disableMonitoring": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfig" }, @@ -149468,7 +155965,9 @@ "featureRegistrySource": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeatureViewFeatureRegistrySource" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "syncConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeatureViewSyncConfig" }, @@ -149551,7 +156050,9 @@ "featureRegistrySource": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeatureViewFeatureRegistrySource" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "syncConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeatureViewSyncConfig" }, @@ -149646,7 +156147,9 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "onlineServingConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeaturestoreOnlineServingConfig" }, @@ -149716,7 +156219,9 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "onlineServingConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1FeaturestoreOnlineServingConfig" }, @@ -150627,7 +157132,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maxFailedTrialCount": { "format": "int32" }, @@ -150751,7 +157258,9 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:IndexIndexUpdateMethod", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any" }, @@ -150830,7 +157339,9 @@ "$ref": "#/types/google-native:aiplatform/v1beta1:IndexIndexUpdateMethod", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metadata": { "$ref": "pulumi.json#/Any" }, @@ -150921,7 +157432,9 @@ "forceNew": true }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "privateServiceConnectConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PrivateServiceConnectConfig" @@ -151001,7 +157514,9 @@ "forceNew": true }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "privateServiceConnectConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PrivateServiceConnectConfig" @@ -151278,7 +157793,9 @@ "required": true, "pattern": "projects/{project}/locations/{location}/endpoints/{endpoint}" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "logTtl": { "format": "google-duration" }, @@ -151371,7 +157888,9 @@ "endpoint": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "logTtl": { "format": "google-duration" }, @@ -151865,7 +158384,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "nasJobSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1NasJobSpec", "required": true @@ -151979,7 +158500,9 @@ "idleShutdownConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1NotebookIdleShutdownConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1MachineSpec", "forceNew": true @@ -152484,7 +159007,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -152571,7 +159096,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -152672,7 +159199,9 @@ "encryptionSpec": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1EncryptionSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "pipelineSpec": {}, "reservedIpRanges": { @@ -152793,7 +159322,9 @@ "required": true }, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -152873,7 +159404,9 @@ "required": true }, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": { @@ -153385,7 +159918,9 @@ }, "etag": {}, "isDefault": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -153459,7 +159994,9 @@ }, "etag": {}, "isDefault": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -153764,7 +160301,9 @@ "inputDataConfig": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1InputDataConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "modelId": {}, "modelToUpload": { "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1Model" @@ -153971,7 +160510,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "clusterName": { "required": true }, @@ -153981,7 +160522,9 @@ "$ref": "#/types/google-native:alloydb/v1:EncryptionConfig" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "type": { "$ref": "#/types/google-native:alloydb/v1:BackupType" } @@ -154044,7 +160587,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "clusterName": { "required": true }, @@ -154054,7 +160599,9 @@ "$ref": "#/types/google-native:alloydb/v1:EncryptionConfig" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "type": { "$ref": "#/types/google-native:alloydb/v1:BackupType" } @@ -154140,7 +160687,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "automatedBackupPolicy": { "$ref": "#/types/google-native:alloydb/v1:AutomatedBackupPolicy" }, @@ -154158,7 +160707,9 @@ "initialUser": { "$ref": "#/types/google-native:alloydb/v1:UserPassword" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -154230,7 +160781,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "automatedBackupPolicy": { "$ref": "#/types/google-native:alloydb/v1:AutomatedBackupPolicy" }, @@ -154248,7 +160801,9 @@ "initialUser": { "$ref": "#/types/google-native:alloydb/v1:UserPassword" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -154348,14 +160903,18 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "availabilityType": { "$ref": "#/types/google-native:alloydb/v1:InstanceAvailabilityType" }, "clientConnectionConfig": { "$ref": "#/types/google-native:alloydb/v1:ClientConnectionConfig" }, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, "gceZone": {}, @@ -154363,7 +160922,9 @@ "$ref": "#/types/google-native:alloydb/v1:InstanceInstanceType", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineConfig": { "$ref": "#/types/google-native:alloydb/v1:MachineConfig" }, @@ -154442,14 +161003,18 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "availabilityType": { "$ref": "#/types/google-native:alloydb/v1:InstanceAvailabilityType" }, "clientConnectionConfig": { "$ref": "#/types/google-native:alloydb/v1:ClientConnectionConfig" }, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, "gceZone": {}, @@ -154457,7 +161022,9 @@ "$ref": "#/types/google-native:alloydb/v1:InstanceInstanceType", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineConfig": { "$ref": "#/types/google-native:alloydb/v1:MachineConfig" }, @@ -154701,7 +161268,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "clusterName": { "required": true }, @@ -154711,7 +161280,9 @@ "$ref": "#/types/google-native:alloydb/v1alpha:EncryptionConfig" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "type": { "$ref": "#/types/google-native:alloydb/v1alpha:BackupType" } @@ -154774,7 +161345,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "clusterName": { "required": true }, @@ -154784,7 +161357,9 @@ "$ref": "#/types/google-native:alloydb/v1alpha:EncryptionConfig" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "type": { "$ref": "#/types/google-native:alloydb/v1alpha:BackupType" } @@ -154870,7 +161445,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "automatedBackupPolicy": { "$ref": "#/types/google-native:alloydb/v1alpha:AutomatedBackupPolicy" }, @@ -154888,7 +161465,9 @@ "initialUser": { "$ref": "#/types/google-native:alloydb/v1alpha:UserPassword" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -154963,7 +161542,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "automatedBackupPolicy": { "$ref": "#/types/google-native:alloydb/v1alpha:AutomatedBackupPolicy" }, @@ -154981,7 +161562,9 @@ "initialUser": { "$ref": "#/types/google-native:alloydb/v1alpha:UserPassword" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -155084,14 +161667,18 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "availabilityType": { "$ref": "#/types/google-native:alloydb/v1alpha:InstanceAvailabilityType" }, "clientConnectionConfig": { "$ref": "#/types/google-native:alloydb/v1alpha:ClientConnectionConfig" }, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, "gceZone": {}, @@ -155099,7 +161686,9 @@ "$ref": "#/types/google-native:alloydb/v1alpha:InstanceInstanceType", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineConfig": { "$ref": "#/types/google-native:alloydb/v1alpha:MachineConfig" }, @@ -155181,14 +161770,18 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "availabilityType": { "$ref": "#/types/google-native:alloydb/v1alpha:InstanceAvailabilityType" }, "clientConnectionConfig": { "$ref": "#/types/google-native:alloydb/v1alpha:ClientConnectionConfig" }, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, "gceZone": {}, @@ -155196,7 +161789,9 @@ "$ref": "#/types/google-native:alloydb/v1alpha:InstanceInstanceType", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineConfig": { "$ref": "#/types/google-native:alloydb/v1alpha:MachineConfig" }, @@ -155443,7 +162038,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "clusterName": { "required": true }, @@ -155453,7 +162050,9 @@ "$ref": "#/types/google-native:alloydb/v1beta:EncryptionConfig" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "type": { "$ref": "#/types/google-native:alloydb/v1beta:BackupType" } @@ -155516,7 +162115,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "clusterName": { "required": true }, @@ -155526,7 +162127,9 @@ "$ref": "#/types/google-native:alloydb/v1beta:EncryptionConfig" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "type": { "$ref": "#/types/google-native:alloydb/v1beta:BackupType" } @@ -155612,7 +162215,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "automatedBackupPolicy": { "$ref": "#/types/google-native:alloydb/v1beta:AutomatedBackupPolicy" }, @@ -155630,7 +162235,9 @@ "initialUser": { "$ref": "#/types/google-native:alloydb/v1beta:UserPassword" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -155702,7 +162309,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "automatedBackupPolicy": { "$ref": "#/types/google-native:alloydb/v1beta:AutomatedBackupPolicy" }, @@ -155720,7 +162329,9 @@ "initialUser": { "$ref": "#/types/google-native:alloydb/v1beta:UserPassword" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -155820,14 +162431,18 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "availabilityType": { "$ref": "#/types/google-native:alloydb/v1beta:InstanceAvailabilityType" }, "clientConnectionConfig": { "$ref": "#/types/google-native:alloydb/v1beta:ClientConnectionConfig" }, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, "gceZone": {}, @@ -155835,7 +162450,9 @@ "$ref": "#/types/google-native:alloydb/v1beta:InstanceInstanceType", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineConfig": { "$ref": "#/types/google-native:alloydb/v1beta:MachineConfig" }, @@ -155917,14 +162534,18 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "availabilityType": { "$ref": "#/types/google-native:alloydb/v1beta:InstanceAvailabilityType" }, "clientConnectionConfig": { "$ref": "#/types/google-native:alloydb/v1beta:ClientConnectionConfig" }, - "databaseFlags": {}, + "databaseFlags": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, "gceZone": {}, @@ -155932,7 +162553,9 @@ "$ref": "#/types/google-native:alloydb/v1beta:InstanceInstanceType", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineConfig": { "$ref": "#/types/google-native:alloydb/v1beta:MachineConfig" }, @@ -159099,7 +165722,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managedService": { "forceNew": true } @@ -159163,7 +165788,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managedService": { "forceNew": true } @@ -160179,7 +166806,9 @@ "$ref": "#/types/google-native:apigateway/v1:ApigatewayApiConfigGrpcServiceDefinition" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managedServiceConfigs": { "items": { "$ref": "#/types/google-native:apigateway/v1:ApigatewayApiConfigFile" @@ -160268,7 +166897,9 @@ "$ref": "#/types/google-native:apigateway/v1:ApigatewayApiConfigGrpcServiceDefinition" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managedServiceConfigs": { "items": { "$ref": "#/types/google-native:apigateway/v1:ApigatewayApiConfigFile" @@ -160367,7 +166998,9 @@ "required": true }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -160431,7 +167064,9 @@ "required": true }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -160942,7 +167577,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managedService": { "forceNew": true } @@ -161006,7 +167643,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managedService": { "forceNew": true } @@ -162026,7 +168665,9 @@ "$ref": "#/types/google-native:apigateway/v1beta:ApigatewayApiConfigGrpcServiceDefinition" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managedServiceConfigs": { "items": { "$ref": "#/types/google-native:apigateway/v1beta:ApigatewayApiConfigFile" @@ -162119,7 +168760,9 @@ "$ref": "#/types/google-native:apigateway/v1beta:ApigatewayApiConfigGrpcServiceDefinition" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managedServiceConfigs": { "items": { "$ref": "#/types/google-native:apigateway/v1beta:ApigatewayApiConfigFile" @@ -162218,7 +168861,9 @@ "required": true }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -162282,7 +168927,9 @@ "required": true }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -163514,7 +170161,9 @@ }, "sdkProperties": { "gcsUri": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -163583,7 +170232,9 @@ }, "sdkProperties": { "gcsUri": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -167490,11 +174141,15 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "availability": {}, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recommendedDeployment": {}, "recommendedVersion": {} @@ -167549,11 +174204,15 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "availability": {}, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recommendedDeployment": {}, "recommendedVersion": {} @@ -170891,11 +177550,15 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "contents": { "format": "byte" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mimeType": {}, "name": {} }, @@ -171407,14 +178070,18 @@ }, "sdkProperties": { "accessGuidance": {}, - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "apiSpecRevision": {}, "description": {}, "displayName": {}, "endpointUri": {}, "externalChannelUri": {}, "intendedAudience": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -171478,14 +178145,18 @@ }, "sdkProperties": { "accessGuidance": {}, - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "apiSpecRevision": {}, "description": {}, "displayName": {}, "endpointUri": {}, "externalChannelUri": {}, "intendedAudience": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -171561,11 +178232,15 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "contents": { "format": "byte" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mimeType": {}, "name": {} }, @@ -172830,13 +179505,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "contents": { "format": "byte" }, "description": {}, "filename": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mimeType": {}, "name": {}, "sourceUri": {} @@ -172911,13 +179590,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "contents": { "format": "byte" }, "description": {}, "filename": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mimeType": {}, "name": {}, "sourceUri": {} @@ -172996,10 +179679,14 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "primarySpec": {}, "state": {} @@ -173064,10 +179751,14 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "primarySpec": {}, "state": {} @@ -173145,11 +179836,15 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "contents": { "format": "byte" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mimeType": {}, "name": {} }, @@ -173261,7 +179956,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "restrictions": { "$ref": "#/types/google-native:apikeys/v2:V2Restrictions" @@ -173325,7 +180022,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "restrictions": { "$ref": "#/types/google-native:apikeys/v2:V2Restrictions" @@ -173863,8 +180562,12 @@ "basicScaling": { "$ref": "#/types/google-native:appengine/v1:BasicScaling" }, - "betaSettings": {}, - "buildEnvVariables": {}, + "betaSettings": { + "additionalProperties": {} + }, + "buildEnvVariables": { + "additionalProperties": {} + }, "defaultExpiration": { "format": "google-duration" }, @@ -173878,7 +180581,9 @@ "$ref": "#/types/google-native:appengine/v1:Entrypoint" }, "env": {}, - "envVariables": {}, + "envVariables": { + "additionalProperties": {} + }, "errorHandlers": { "items": { "$ref": "#/types/google-native:appengine/v1:ErrorHandler" @@ -174009,8 +180714,12 @@ "basicScaling": { "$ref": "#/types/google-native:appengine/v1:BasicScaling" }, - "betaSettings": {}, - "buildEnvVariables": {}, + "betaSettings": { + "additionalProperties": {} + }, + "buildEnvVariables": { + "additionalProperties": {} + }, "defaultExpiration": { "format": "google-duration" }, @@ -174024,7 +180733,9 @@ "$ref": "#/types/google-native:appengine/v1:Entrypoint" }, "env": {}, - "envVariables": {}, + "envVariables": { + "additionalProperties": {} + }, "errorHandlers": { "items": { "$ref": "#/types/google-native:appengine/v1:ErrorHandler" @@ -174844,8 +181555,12 @@ "basicScaling": { "$ref": "#/types/google-native:appengine/v1beta:BasicScaling" }, - "betaSettings": {}, - "buildEnvVariables": {}, + "betaSettings": { + "additionalProperties": {} + }, + "buildEnvVariables": { + "additionalProperties": {} + }, "defaultExpiration": { "format": "google-duration" }, @@ -174859,7 +181574,9 @@ "$ref": "#/types/google-native:appengine/v1beta:Entrypoint" }, "env": {}, - "envVariables": {}, + "envVariables": { + "additionalProperties": {} + }, "errorHandlers": { "items": { "$ref": "#/types/google-native:appengine/v1beta:ErrorHandler" @@ -174990,8 +181707,12 @@ "basicScaling": { "$ref": "#/types/google-native:appengine/v1beta:BasicScaling" }, - "betaSettings": {}, - "buildEnvVariables": {}, + "betaSettings": { + "additionalProperties": {} + }, + "buildEnvVariables": { + "additionalProperties": {} + }, "defaultExpiration": { "format": "google-duration" }, @@ -175005,7 +181726,9 @@ "$ref": "#/types/google-native:appengine/v1beta:Entrypoint" }, "env": {}, - "envVariables": {}, + "envVariables": { + "additionalProperties": {} + }, "errorHandlers": { "items": { "$ref": "#/types/google-native:appengine/v1beta:ErrorHandler" @@ -175145,7 +181868,11 @@ ] }, "sdkProperties": { - "cleanupPolicies": {}, + "cleanupPolicies": { + "additionalProperties": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicy" + } + }, "cleanupPolicyDryRun": {}, "description": {}, "dockerConfig": { @@ -175155,7 +181882,9 @@ "$ref": "#/types/google-native:artifactregistry/v1:RepositoryFormat" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mavenConfig": { "$ref": "#/types/google-native:artifactregistry/v1:MavenRepositoryConfig" }, @@ -175230,7 +181959,11 @@ ] }, "sdkProperties": { - "cleanupPolicies": {}, + "cleanupPolicies": { + "additionalProperties": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicy" + } + }, "cleanupPolicyDryRun": {}, "description": {}, "dockerConfig": { @@ -175240,7 +181973,9 @@ "$ref": "#/types/google-native:artifactregistry/v1:RepositoryFormat" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mavenConfig": { "$ref": "#/types/google-native:artifactregistry/v1:MavenRepositoryConfig" }, @@ -175867,7 +182602,9 @@ "$ref": "#/types/google-native:artifactregistry/v1beta1:RepositoryFormat" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -175935,7 +182672,9 @@ "$ref": "#/types/google-native:artifactregistry/v1beta1:RepositoryFormat" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -176550,7 +183289,9 @@ "$ref": "#/types/google-native:artifactregistry/v1beta2:RepositoryFormat" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mavenConfig": { "$ref": "#/types/google-native:artifactregistry/v1beta2:MavenRepositoryConfig" }, @@ -176621,7 +183362,9 @@ "$ref": "#/types/google-native:artifactregistry/v1beta2:RepositoryFormat" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mavenConfig": { "$ref": "#/types/google-native:artifactregistry/v1beta2:MavenRepositoryConfig" }, @@ -177250,7 +183993,9 @@ "kmsSettings": { "$ref": "#/types/google-native:assuredworkloads/v1:GoogleCloudAssuredworkloadsV1WorkloadKMSSettings" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "partner": { "$ref": "#/types/google-native:assuredworkloads/v1:WorkloadPartner" @@ -177347,7 +184092,9 @@ "kmsSettings": { "$ref": "#/types/google-native:assuredworkloads/v1:GoogleCloudAssuredworkloadsV1WorkloadKMSSettings" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "partner": { "$ref": "#/types/google-native:assuredworkloads/v1:WorkloadPartner" @@ -177454,7 +184201,9 @@ "kmsSettings": { "$ref": "#/types/google-native:assuredworkloads/v1beta1:GoogleCloudAssuredworkloadsV1beta1WorkloadKMSSettings" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "partner": { "$ref": "#/types/google-native:assuredworkloads/v1beta1:WorkloadPartner" @@ -177567,7 +184316,9 @@ "kmsSettings": { "$ref": "#/types/google-native:assuredworkloads/v1beta1:GoogleCloudAssuredworkloadsV1beta1WorkloadKMSSettings" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "partner": { "$ref": "#/types/google-native:assuredworkloads/v1beta1:WorkloadPartner" @@ -177648,7 +184399,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "networks": { "required": true, "items": { @@ -178196,7 +184949,9 @@ "$ref": "#/types/google-native:baremetalsolution/v2:AllowedClient" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -178276,7 +185031,9 @@ "$ref": "#/types/google-native:baremetalsolution/v2:AllowedClient" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -178616,7 +185373,9 @@ "allocationPolicy": { "$ref": "#/types/google-native:batch/v1:AllocationPolicy" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "logsPolicy": { "$ref": "#/types/google-native:batch/v1:LogsPolicy" }, @@ -178744,7 +185503,9 @@ "gateway": { "$ref": "#/types/google-native:beyondcorp/v1:GoogleCloudBeyondcorpAppconnectionsV1AppConnectionGateway" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -178829,7 +185590,9 @@ "gateway": { "$ref": "#/types/google-native:beyondcorp/v1:GoogleCloudBeyondcorpAppconnectionsV1AppConnectionGateway" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -179353,7 +186116,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -179431,7 +186196,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -179962,7 +186729,9 @@ "$ref": "#/types/google-native:beyondcorp/v1:AppGatewayHostType", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -182620,7 +189389,9 @@ "gateway": { "$ref": "#/types/google-native:beyondcorp/v1alpha:GoogleCloudBeyondcorpAppconnectionsV1alphaAppConnectionGateway" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -182705,7 +189476,9 @@ "gateway": { "$ref": "#/types/google-native:beyondcorp/v1alpha:GoogleCloudBeyondcorpAppconnectionsV1alphaAppConnectionGateway" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -183229,7 +190002,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -183307,7 +190082,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -183838,7 +190615,9 @@ "$ref": "#/types/google-native:beyondcorp/v1alpha:AppGatewayHostType", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -186283,7 +193062,9 @@ "gateway": { "$ref": "#/types/google-native:beyondcorp/v1alpha:Gateway" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -186368,7 +193149,9 @@ "gateway": { "$ref": "#/types/google-native:beyondcorp/v1alpha:Gateway" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -186892,7 +193675,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -186970,7 +193755,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -189946,7 +196733,9 @@ }, "friendlyName": {}, "isCaseInsensitive": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "maxTimeTravelHours": { "format": "int64" @@ -189995,7 +196784,9 @@ }, "friendlyName": {}, "isCaseInsensitive": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "maxTimeTravelHours": { "format": "int64" @@ -190293,7 +197084,9 @@ "$ref": "#/types/google-native:bigquery/v2:ExternalDataConfiguration" }, "friendlyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "materializedView": { "$ref": "#/types/google-native:bigquery/v2:MaterializedViewDefinition" }, @@ -190307,7 +197100,9 @@ "$ref": "#/types/google-native:bigquery/v2:RangePartitioning" }, "requirePartitionFilter": {}, - "resourceTags": {}, + "resourceTags": { + "additionalProperties": {} + }, "schema": { "$ref": "#/types/google-native:bigquery/v2:TableSchema" }, @@ -190355,7 +197150,9 @@ "$ref": "#/types/google-native:bigquery/v2:ExternalDataConfiguration" }, "friendlyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "materializedView": { "$ref": "#/types/google-native:bigquery/v2:MaterializedViewDefinition" }, @@ -190369,7 +197166,9 @@ "$ref": "#/types/google-native:bigquery/v2:RangePartitioning" }, "requirePartitionFilter": {}, - "resourceTags": {}, + "resourceTags": { + "additionalProperties": {} + }, "schema": { "$ref": "#/types/google-native:bigquery/v2:TableSchema" }, @@ -193220,7 +200019,9 @@ "displayName": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "type": { "$ref": "#/types/google-native:bigtableadmin/v2:InstanceType" @@ -194660,7 +201461,11 @@ "changeStreamConfig": { "$ref": "#/types/google-native:bigtableadmin/v2:ChangeStreamConfig" }, - "columnFamilies": {}, + "columnFamilies": { + "additionalProperties": { + "$ref": "#/types/google-native:bigtableadmin/v2:ColumnFamily" + } + }, "deletionProtection": {}, "granularity": { "$ref": "#/types/google-native:bigtableadmin/v2:TableGranularity", @@ -196475,7 +203280,9 @@ "ethereumDetails": { "$ref": "#/types/google-native:blockchainnodeengine/v1:EthereumDetails" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "privateServiceConnectEnabled": {} }, "verb": "POST", @@ -196548,7 +203355,9 @@ "ethereumDetails": { "$ref": "#/types/google-native:blockchainnodeengine/v1:EthereumDetails" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "privateServiceConnectEnabled": {} }, "verb": "PATCH", @@ -196631,7 +203440,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managed": { "$ref": "#/types/google-native:certificatemanager/v1:ManagedCertificate" }, @@ -196710,7 +203521,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managed": { "$ref": "#/types/google-native:certificatemanager/v1:ManagedCertificate" }, @@ -196811,7 +203624,9 @@ "$ref": "#/types/google-native:certificatemanager/v1:CertificateIssuanceConfigKeyAlgorithm", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifetime": { "format": "google-duration", "required": true @@ -196929,7 +203744,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -196998,7 +203815,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -197090,7 +203909,9 @@ }, "description": {}, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "matcher": { "$ref": "#/types/google-native:certificatemanager/v1:CertificateMapEntryMatcher" }, @@ -197176,7 +203997,9 @@ }, "description": {}, "hostname": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "matcher": { "$ref": "#/types/google-native:certificatemanager/v1:CertificateMapEntryMatcher" }, @@ -197272,7 +204095,9 @@ "required": true, "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -197345,7 +204170,9 @@ "required": true, "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -197429,7 +204256,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "trustStores": { "items": { @@ -197504,7 +204333,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "trustStores": { "items": { @@ -197741,7 +204572,9 @@ "$ref": "#/types/google-native:cloudasset/v1:QueryContent" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -197801,7 +204634,9 @@ "$ref": "#/types/google-native:cloudasset/v1:QueryContent" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -198453,7 +205288,9 @@ "$ref": "#/types/google-native:cloudbuild/v1:BuildStep" } }, - "substitutions": {}, + "substitutions": { + "additionalProperties": {} + }, "tags": { "items": {} }, @@ -198920,7 +205757,9 @@ "sourceToBuild": { "$ref": "#/types/google-native:cloudbuild/v1:GitRepoSource" }, - "substitutions": {}, + "substitutions": { + "additionalProperties": {} + }, "tags": { "items": {} }, @@ -199028,7 +205867,9 @@ "sourceToBuild": { "$ref": "#/types/google-native:cloudbuild/v1:GitRepoSource" }, - "substitutions": {}, + "substitutions": { + "additionalProperties": {} + }, "tags": { "items": {} }, @@ -199096,7 +205937,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "privatePoolV1Config": { "$ref": "#/types/google-native:cloudbuild/v1:PrivatePoolV1Config" @@ -199160,7 +206003,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "privatePoolV1Config": { "$ref": "#/types/google-native:cloudbuild/v1:PrivatePoolV1Config" @@ -199463,7 +206308,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "networkConfig": { "$ref": "#/types/google-native:cloudbuild/v1beta1:NetworkConfig" @@ -199530,7 +206377,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "networkConfig": { "$ref": "#/types/google-native:cloudbuild/v1beta1:NetworkConfig" @@ -199616,7 +206465,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "disabled": {}, "etag": {}, "githubConfig": { @@ -199692,7 +206543,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "disabled": {}, "etag": {}, "githubConfig": { @@ -200221,7 +207074,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "etag": {}, "name": { "forceNew": true @@ -200887,10 +207742,14 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "rules": { "required": true, "items": { @@ -200979,10 +207838,14 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "rules": { "required": true, "items": { @@ -201087,10 +207950,14 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serialPipeline": { "$ref": "#/types/google-native:clouddeploy/v1:SerialPipeline" @@ -201162,10 +208029,14 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serialPipeline": { "$ref": "#/types/google-native:clouddeploy/v1:SerialPipeline" @@ -201691,16 +208562,22 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "buildArtifacts": { "items": { "$ref": "#/types/google-native:clouddeploy/v1:BuildArtifact" } }, - "deployParameters": {}, + "deployParameters": { + "additionalProperties": {} + }, "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "skaffoldConfigPath": {}, "skaffoldConfigUri": {}, @@ -201806,10 +208683,14 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "targetId": { "required": true @@ -201907,11 +208788,15 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "anthosCluster": { "$ref": "#/types/google-native:clouddeploy/v1:AnthosCluster" }, - "deployParameters": {}, + "deployParameters": { + "additionalProperties": {} + }, "description": {}, "etag": {}, "executionConfigs": { @@ -201922,7 +208807,9 @@ "gke": { "$ref": "#/types/google-native:clouddeploy/v1:GkeCluster" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "multiTarget": { "$ref": "#/types/google-native:clouddeploy/v1:MultiTarget" }, @@ -201997,11 +208884,15 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "anthosCluster": { "$ref": "#/types/google-native:clouddeploy/v1:AnthosCluster" }, - "deployParameters": {}, + "deployParameters": { + "additionalProperties": {} + }, "description": {}, "etag": {}, "executionConfigs": { @@ -202012,7 +208903,9 @@ "gke": { "$ref": "#/types/google-native:clouddeploy/v1:GkeCluster" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "multiTarget": { "$ref": "#/types/google-native:clouddeploy/v1:MultiTarget" }, @@ -202531,7 +209424,9 @@ "availableMemoryMb": { "format": "int32" }, - "buildEnvironmentVariables": {}, + "buildEnvironmentVariables": { + "additionalProperties": {} + }, "buildWorkerPool": {}, "description": {}, "dockerRegistry": { @@ -202539,7 +209434,9 @@ }, "dockerRepository": {}, "entryPoint": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "eventTrigger": { "$ref": "#/types/google-native:cloudfunctions/v1:EventTrigger" }, @@ -202550,7 +209447,9 @@ "$ref": "#/types/google-native:cloudfunctions/v1:FunctionIngressSettings" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maxInstances": { "format": "int32" }, @@ -202653,7 +209552,9 @@ "availableMemoryMb": { "format": "int32" }, - "buildEnvironmentVariables": {}, + "buildEnvironmentVariables": { + "additionalProperties": {} + }, "buildWorkerPool": {}, "description": {}, "dockerRegistry": { @@ -202661,7 +209562,9 @@ }, "dockerRepository": {}, "entryPoint": {}, - "environmentVariables": {}, + "environmentVariables": { + "additionalProperties": {} + }, "eventTrigger": { "$ref": "#/types/google-native:cloudfunctions/v1:EventTrigger" }, @@ -202672,7 +209575,9 @@ "$ref": "#/types/google-native:cloudfunctions/v1:FunctionIngressSettings" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maxInstances": { "format": "int32" }, @@ -203228,7 +210133,9 @@ "$ref": "#/types/google-native:cloudfunctions/v2:EventTrigger" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceConfig": { "$ref": "#/types/google-native:cloudfunctions/v2:ServiceConfig" @@ -203305,7 +210212,9 @@ "$ref": "#/types/google-native:cloudfunctions/v2:EventTrigger" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceConfig": { "$ref": "#/types/google-native:cloudfunctions/v2:ServiceConfig" @@ -203830,7 +210739,9 @@ "$ref": "#/types/google-native:cloudfunctions/v2alpha:EventTrigger" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceConfig": { "$ref": "#/types/google-native:cloudfunctions/v2alpha:ServiceConfig" @@ -203907,7 +210818,9 @@ "$ref": "#/types/google-native:cloudfunctions/v2alpha:EventTrigger" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceConfig": { "$ref": "#/types/google-native:cloudfunctions/v2alpha:ServiceConfig" @@ -204432,7 +211345,9 @@ "$ref": "#/types/google-native:cloudfunctions/v2beta:EventTrigger" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceConfig": { "$ref": "#/types/google-native:cloudfunctions/v2beta:ServiceConfig" @@ -204509,7 +211424,9 @@ "$ref": "#/types/google-native:cloudfunctions/v2beta:EventTrigger" }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceConfig": { "$ref": "#/types/google-native:cloudfunctions/v2beta:ServiceConfig" @@ -205086,7 +212003,8 @@ "required": true }, "labels": { - "required": true + "required": true, + "additionalProperties": {} }, "parent": { "required": true, @@ -205136,7 +212054,8 @@ "required": true }, "labels": { - "required": true + "required": true, + "additionalProperties": {} }, "parent": { "required": true, @@ -205532,7 +212451,8 @@ "required": true }, "labels": { - "required": true + "required": true, + "additionalProperties": {} }, "parent": { "required": true, @@ -205587,7 +212507,8 @@ "required": true }, "labels": { - "required": true + "required": true, + "additionalProperties": {} }, "parent": { "required": true, @@ -205940,7 +212861,9 @@ "logLevel": { "$ref": "#/types/google-native:cloudiot/v1:DeviceLogLevel" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -206024,7 +212947,9 @@ "logLevel": { "$ref": "#/types/google-native:cloudiot/v1:DeviceLogLevel" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -207095,7 +214020,9 @@ "importOnly": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "nextRotationTime": { "format": "google-datetime" }, @@ -207185,7 +214112,9 @@ "importOnly": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "nextRotationTime": { "format": "google-datetime" }, @@ -210219,7 +217148,9 @@ "createTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifecycleState": { "$ref": "#/types/google-native:cloudresourcemanager/v1:ProjectLifecycleState" }, @@ -210275,7 +217206,9 @@ "createTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifecycleState": { "$ref": "#/types/google-native:cloudresourcemanager/v1:ProjectLifecycleState" }, @@ -210953,7 +217886,9 @@ "createTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifecycleState": { "$ref": "#/types/google-native:cloudresourcemanager/v1beta1:ProjectLifecycleState" }, @@ -210999,7 +217934,9 @@ "createTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifecycleState": { "$ref": "#/types/google-native:cloudresourcemanager/v1beta1:ProjectLifecycleState" }, @@ -212957,7 +219894,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "parent": {}, "projectId": { "forceNew": true @@ -213002,7 +219941,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "parent": {}, "projectId": { "forceNew": true @@ -213383,7 +220324,9 @@ "purpose": { "$ref": "#/types/google-native:cloudresourcemanager/v3:TagKeyPurpose" }, - "purposeData": {}, + "purposeData": { + "additionalProperties": {} + }, "shortName": { "required": true, "forceNew": true @@ -213438,7 +220381,9 @@ "purpose": { "$ref": "#/types/google-native:cloudresourcemanager/v3:TagKeyPurpose" }, - "purposeData": {}, + "purposeData": { + "additionalProperties": {} + }, "shortName": { "required": true, "forceNew": true @@ -217123,7 +224068,9 @@ "config": { "$ref": "#/types/google-native:composer/v1:EnvironmentConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "state": { "$ref": "#/types/google-native:composer/v1:EnvironmentState" @@ -217200,7 +224147,9 @@ "config": { "$ref": "#/types/google-native:composer/v1:EnvironmentConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "state": { "$ref": "#/types/google-native:composer/v1:EnvironmentState" @@ -217287,7 +224236,9 @@ "config": { "$ref": "#/types/google-native:composer/v1beta1:EnvironmentConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "state": { "$ref": "#/types/google-native:composer/v1beta1:EnvironmentState" @@ -217364,7 +224315,9 @@ "config": { "$ref": "#/types/google-native:composer/v1beta1:EnvironmentConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "state": { "$ref": "#/types/google-native:composer/v1beta1:EnvironmentState" @@ -217465,7 +224418,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "networkTier": { @@ -218118,7 +225073,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/alpha:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -218242,7 +225199,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/alpha:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -218717,7 +225676,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -218815,7 +225776,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -219334,7 +226297,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "redundancyType": { "$ref": "#/types/google-native:compute/alpha:ExternalVpnGatewayRedundancyType" @@ -219969,7 +226934,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/alpha:ForwardingRuleLoadBalancingScheme" }, @@ -220048,7 +227015,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/alpha:ForwardingRuleLoadBalancingScheme" }, @@ -220232,7 +227201,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "networkTier": { @@ -220321,7 +227292,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/alpha:GlobalForwardingRuleLoadBalancingScheme" }, @@ -220400,7 +227373,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/alpha:GlobalForwardingRuleLoadBalancingScheme" }, @@ -220469,7 +227444,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "appEngine": { "$ref": "#/types/google-native:compute/alpha:NetworkEndpointGroupAppEngine" }, @@ -221018,7 +227995,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -221104,7 +228083,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -221596,7 +228577,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "pattern": "zones/{zone}/machineTypes/{machineType}" }, @@ -221616,7 +228599,11 @@ "params": { "$ref": "#/types/google-native:compute/alpha:InstanceParams" }, - "partnerMetadata": {}, + "partnerMetadata": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StructuredEntries" + } + }, "postKeyRevocationActionType": { "$ref": "#/types/google-native:compute/alpha:InstancePostKeyRevocationActionType" }, @@ -221643,7 +228630,11 @@ "$ref": "#/types/google-native:compute/alpha:ServiceAccount" } }, - "serviceIntegrationSpecs": {}, + "serviceIntegrationSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpec" + } + }, "shieldedInstanceConfig": { "$ref": "#/types/google-native:compute/alpha:ShieldedInstanceConfig" }, @@ -221721,7 +228712,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/alpha:Metadata" @@ -221739,7 +228732,11 @@ "params": { "$ref": "#/types/google-native:compute/alpha:InstanceParams" }, - "partnerMetadata": {}, + "partnerMetadata": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:StructuredEntries" + } + }, "postKeyRevocationActionType": { "$ref": "#/types/google-native:compute/alpha:InstancePostKeyRevocationActionType" }, @@ -221766,7 +228763,11 @@ "$ref": "#/types/google-native:compute/alpha:ServiceAccount" } }, - "serviceIntegrationSpecs": {}, + "serviceIntegrationSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpec" + } + }, "shieldedInstanceConfig": { "$ref": "#/types/google-native:compute/alpha:ShieldedInstanceConfig" }, @@ -223005,7 +230006,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "sourceDisk": {} }, @@ -223490,7 +230493,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkType": { "$ref": "#/types/google-native:compute/alpha:InterconnectLinkType" }, @@ -223540,7 +230545,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkType": { "$ref": "#/types/google-native:compute/alpha:InterconnectLinkType" }, @@ -223627,7 +230634,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtu": { "format": "int32" }, @@ -223699,7 +230708,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtu": { "format": "int32" }, @@ -226466,7 +233477,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "appEngine": { "$ref": "#/types/google-native:compute/alpha:NetworkEndpointGroupAppEngine" }, @@ -227574,7 +234587,9 @@ } }, "name": {}, - "nodeAffinityLabels": {}, + "nodeAffinityLabels": { + "additionalProperties": {} + }, "nodeType": {}, "nodeTypeFlexibility": { "$ref": "#/types/google-native:compute/alpha:NodeTemplateNodeTypeFlexibility" @@ -228081,7 +235096,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/alpha:SecurityPolicyRecaptchaOptionsConfig" @@ -228146,7 +235163,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/alpha:SecurityPolicyRecaptchaOptionsConfig" @@ -228627,7 +235646,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/alpha:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -228751,7 +235772,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/alpha:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -229401,7 +236424,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -229499,7 +236524,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -230525,7 +237552,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "sourceDisk": {} }, @@ -231004,7 +238033,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "appEngine": { "$ref": "#/types/google-native:compute/alpha:NetworkEndpointGroupAppEngine" }, @@ -231704,7 +238735,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/alpha:SecurityPolicyRecaptchaOptionsConfig" @@ -231769,7 +238802,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/alpha:SecurityPolicyRecaptchaOptionsConfig" @@ -231835,7 +238870,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locationHint": {}, "maxRetentionDays": { "format": "int32" @@ -232876,7 +239913,9 @@ "deleteAtTime": {}, "description": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "shareSettings": { "$ref": "#/types/google-native:compute/alpha:ShareSettings" }, @@ -232914,7 +239953,9 @@ "deleteAtTime": {}, "description": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "shareSettings": { "$ref": "#/types/google-native:compute/alpha:ShareSettings" }, @@ -234110,7 +241151,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/alpha:SecurityPolicyRecaptchaOptionsConfig" @@ -234175,7 +241218,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/alpha:SecurityPolicyRecaptchaOptionsConfig" @@ -234785,7 +241830,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locationHint": {}, "maxRetentionDays": { "format": "int32" @@ -235393,7 +242440,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "performanceProvisioningType": { "$ref": "#/types/google-native:compute/alpha:StoragePoolPerformanceProvisioningType" @@ -235436,7 +242485,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "performanceProvisioningType": { "$ref": "#/types/google-native:compute/alpha:StoragePoolPerformanceProvisioningType" @@ -237014,7 +244065,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {} }, @@ -237203,7 +244256,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "stackType": { @@ -237276,7 +244331,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "localTrafficSelector": { "items": {} }, @@ -237429,7 +244486,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "networkTier": { @@ -238082,7 +245141,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/beta:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -238203,7 +245264,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/beta:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -238672,7 +245735,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -238766,7 +245831,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -239284,7 +246351,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "redundancyType": { "$ref": "#/types/google-native:compute/beta:ExternalVpnGatewayRedundancyType" @@ -239912,7 +246981,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/beta:ForwardingRuleLoadBalancingScheme" }, @@ -239990,7 +247061,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/beta:ForwardingRuleLoadBalancingScheme" }, @@ -240174,7 +247247,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "networkTier": { @@ -240262,7 +247337,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/beta:GlobalForwardingRuleLoadBalancingScheme" }, @@ -240340,7 +247417,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/beta:GlobalForwardingRuleLoadBalancingScheme" }, @@ -240409,7 +247488,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "appEngine": { "$ref": "#/types/google-native:compute/beta:NetworkEndpointGroupAppEngine" }, @@ -240928,7 +248009,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -241014,7 +248097,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -241506,7 +248591,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "pattern": "zones/{zone}/machineTypes/{machineType}" }, @@ -241623,7 +248710,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/beta:Metadata" @@ -242889,7 +249978,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "sourceDisk": {} }, @@ -243374,7 +250465,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkType": { "$ref": "#/types/google-native:compute/beta:InterconnectLinkType" }, @@ -243424,7 +250517,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkType": { "$ref": "#/types/google-native:compute/beta:InterconnectLinkType" }, @@ -243511,7 +250606,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtu": { "format": "int32" }, @@ -243583,7 +250680,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtu": { "format": "int32" }, @@ -245194,7 +252293,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "appEngine": { "$ref": "#/types/google-native:compute/beta:NetworkEndpointGroupAppEngine" }, @@ -246290,7 +253391,9 @@ } }, "name": {}, - "nodeAffinityLabels": {}, + "nodeAffinityLabels": { + "additionalProperties": {} + }, "nodeType": {}, "nodeTypeFlexibility": { "$ref": "#/types/google-native:compute/beta:NodeTemplateNodeTypeFlexibility" @@ -246794,7 +253897,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/beta:SecurityPolicyRecaptchaOptionsConfig" @@ -246856,7 +253961,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/beta:SecurityPolicyRecaptchaOptionsConfig" @@ -247325,7 +254432,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/beta:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -247446,7 +254555,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/beta:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -248084,7 +255195,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -248178,7 +255291,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -249184,7 +256299,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "sourceDisk": {} }, @@ -249663,7 +256780,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "appEngine": { "$ref": "#/types/google-native:compute/beta:NetworkEndpointGroupAppEngine" }, @@ -250348,7 +257467,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/beta:SecurityPolicyRecaptchaOptionsConfig" @@ -250410,7 +257531,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/beta:SecurityPolicyRecaptchaOptionsConfig" @@ -251003,7 +258126,9 @@ "deleteAtTime": {}, "description": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "shareSettings": { "$ref": "#/types/google-native:compute/beta:ShareSettings" }, @@ -251041,7 +258166,9 @@ "deleteAtTime": {}, "description": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "shareSettings": { "$ref": "#/types/google-native:compute/beta:ShareSettings" }, @@ -252224,7 +259351,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/beta:SecurityPolicyRecaptchaOptionsConfig" @@ -252286,7 +259415,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/beta:SecurityPolicyRecaptchaOptionsConfig" @@ -252890,7 +260021,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locationHint": {}, "name": {}, "snapshotEncryptionKey": { @@ -254554,7 +261687,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {} }, @@ -254743,7 +261878,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "stackType": { @@ -254816,7 +261953,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "localTrafficSelector": { "items": {} }, @@ -254907,7 +262046,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "networkTier": { @@ -255557,7 +262698,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/v1:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -255674,7 +262817,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/v1:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -256137,7 +263282,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -256218,7 +263365,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -256728,7 +263877,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "redundancyType": { "$ref": "#/types/google-native:compute/v1:ExternalVpnGatewayRedundancyType" @@ -257353,7 +264504,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/v1:ForwardingRuleLoadBalancingScheme" }, @@ -257430,7 +264583,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/v1:ForwardingRuleLoadBalancingScheme" }, @@ -257514,7 +264669,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "networkTier": { @@ -257601,7 +264758,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/v1:GlobalForwardingRuleLoadBalancingScheme" }, @@ -257678,7 +264837,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:compute/v1:GlobalForwardingRuleLoadBalancingScheme" }, @@ -257747,7 +264908,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "appEngine": { "$ref": "#/types/google-native:compute/v1:NetworkEndpointGroupAppEngine" }, @@ -258259,7 +265422,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -258337,7 +265502,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -258821,7 +265988,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "pattern": "zones/{zone}/machineTypes/{machineType}" }, @@ -258928,7 +266097,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "metadata": { "$ref": "#/types/google-native:compute/v1:Metadata" @@ -260079,7 +267250,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkType": { "$ref": "#/types/google-native:compute/v1:InterconnectLinkType" }, @@ -260129,7 +267302,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkType": { "$ref": "#/types/google-native:compute/v1:InterconnectLinkType" }, @@ -260216,7 +267391,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtu": { "format": "int32" }, @@ -260288,7 +267465,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtu": { "format": "int32" }, @@ -261899,7 +269078,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "appEngine": { "$ref": "#/types/google-native:compute/v1:NetworkEndpointGroupAppEngine" }, @@ -262983,7 +270164,9 @@ } }, "name": {}, - "nodeAffinityLabels": {}, + "nodeAffinityLabels": { + "additionalProperties": {} + }, "nodeType": {}, "nodeTypeFlexibility": { "$ref": "#/types/google-native:compute/v1:NodeTemplateNodeTypeFlexibility" @@ -263875,7 +271058,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/v1:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -263992,7 +271177,9 @@ "maxStreamDuration": { "$ref": "#/types/google-native:compute/v1:Duration" }, - "metadatas": {}, + "metadatas": { + "additionalProperties": {} + }, "name": {}, "network": {}, "outlierDetection": { @@ -264624,7 +271811,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -264705,7 +271894,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "licenseCodes": { "items": {} }, @@ -265654,7 +272845,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "appEngine": { "$ref": "#/types/google-native:compute/v1:NetworkEndpointGroupAppEngine" }, @@ -266327,7 +273520,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/v1:SecurityPolicyRecaptchaOptionsConfig" @@ -266383,7 +273578,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/v1:SecurityPolicyRecaptchaOptionsConfig" @@ -266950,7 +274147,9 @@ "sdkProperties": { "description": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "shareSettings": { "$ref": "#/types/google-native:compute/v1:ShareSettings" }, @@ -266981,7 +274180,9 @@ "sdkProperties": { "description": {}, "name": {}, - "resourcePolicies": {}, + "resourcePolicies": { + "additionalProperties": {} + }, "shareSettings": { "$ref": "#/types/google-native:compute/v1:ShareSettings" }, @@ -268158,7 +275359,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/v1:SecurityPolicyRecaptchaOptionsConfig" @@ -268214,7 +275417,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "recaptchaOptionsConfig": { "$ref": "#/types/google-native:compute/v1:SecurityPolicyRecaptchaOptionsConfig" @@ -268810,7 +276015,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locationHint": {}, "name": {}, "snapshotEncryptionKey": { @@ -270450,7 +277657,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {} }, @@ -270630,7 +277839,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": {}, "stackType": { @@ -270703,7 +277914,9 @@ "format": "byte", "copyFromOutputs": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "localTrafficSelector": { "items": {} }, @@ -270804,7 +278017,9 @@ "eventingEnablementType": { "$ref": "#/types/google-native:connectors/v1:ConnectionEventingEnablementType" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lockConfig": { "$ref": "#/types/google-native:connectors/v1:LockConfig" }, @@ -270906,7 +278121,9 @@ "eventingEnablementType": { "$ref": "#/types/google-native:connectors/v1:ConnectionEventingEnablementType" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lockConfig": { "$ref": "#/types/google-native:connectors/v1:LockConfig" }, @@ -271433,7 +278650,9 @@ }, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "logo": {}, "name": {} }, @@ -271496,7 +278715,9 @@ }, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "logo": {}, "name": {} }, @@ -271582,7 +278803,9 @@ "required": true }, "enableBackendDestinationConfig": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "serviceAccount": { "required": true }, @@ -271660,7 +278883,9 @@ "required": true }, "enableBackendDestinationConfig": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "serviceAccount": { "required": true }, @@ -271746,7 +278971,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "serviceAttachment": { "required": true } @@ -271815,7 +279042,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "serviceAttachment": { "required": true } @@ -272095,7 +279324,9 @@ "dns": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "targetProject": { "required": true }, @@ -272160,7 +279391,9 @@ "dns": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "targetProject": { "required": true }, @@ -272840,7 +280073,9 @@ "kmsKey": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "samlParams": { "$ref": "#/types/google-native:contactcenteraiplatform/v1alpha1:SAMLParams" @@ -272929,7 +280164,9 @@ "kmsKey": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "samlParams": { "$ref": "#/types/google-native:contactcenteraiplatform/v1alpha1:SAMLParams" @@ -273140,7 +280377,9 @@ "expireTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "languageCode": {}, "medium": { "$ref": "#/types/google-native:contactcenterinsights/v1:ConversationMedium", @@ -273217,7 +280456,9 @@ "expireTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "languageCode": {}, "medium": { "$ref": "#/types/google-native:contactcenterinsights/v1:ConversationMedium", @@ -278539,7 +285780,9 @@ "gcsFilesetSpec": { "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1GcsFilesetSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkedResource": {}, "lookerSystemSpec": { "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1LookerSystemSpec" @@ -278653,7 +285896,9 @@ "gcsFilesetSpec": { "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1GcsFilesetSpec" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkedResource": {}, "lookerSystemSpec": { "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1LookerSystemSpec" @@ -279382,7 +286627,10 @@ "sdkProperties": { "displayName": {}, "fields": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1TagTemplateField" + } }, "isPubliclyReadable": {}, "name": {} @@ -279439,7 +286687,10 @@ "sdkProperties": { "displayName": {}, "fields": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1TagTemplateField" + } }, "isPubliclyReadable": {}, "name": {} @@ -281631,7 +288882,10 @@ "sdkProperties": { "displayName": {}, "fields": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TagTemplateField" + } }, "name": {} }, @@ -281687,7 +288941,10 @@ "sdkProperties": { "displayName": {}, "fields": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TagTemplateField" + } }, "name": {} }, @@ -283100,7 +290357,9 @@ "jobMetadata": { "$ref": "#/types/google-native:dataflow/v1b3:JobMetadata" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "name": {}, "pipelineDescription": { @@ -283135,7 +290394,9 @@ "tempFiles": { "items": {} }, - "transformNameMapping": {}, + "transformNameMapping": { + "additionalProperties": {} + }, "type": { "$ref": "#/types/google-native:dataflow/v1b3:JobType" } @@ -283211,7 +290472,9 @@ "jobMetadata": { "$ref": "#/types/google-native:dataflow/v1b3:JobMetadata" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "location": {}, "name": {}, "pipelineDescription": { @@ -283246,7 +290509,9 @@ "tempFiles": { "items": {} }, - "transformNameMapping": {}, + "transformNameMapping": { + "additionalProperties": {} + }, "type": { "$ref": "#/types/google-native:dataflow/v1b3:JobType" } @@ -283293,7 +290558,9 @@ "required": true }, "location": {}, - "parameters": {} + "parameters": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -283973,7 +291240,9 @@ "gitRemoteSettings": { "$ref": "#/types/google-native:dataform/v1beta1:GitRemoteSettings" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "npmrcEnvironmentVariablesSecretVersion": {}, "serviceAccount": {}, "setAuthenticatedUserAdmin": {}, @@ -284033,7 +291302,9 @@ "gitRemoteSettings": { "$ref": "#/types/google-native:dataform/v1beta1:GitRemoteSettings" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "npmrcEnvironmentVariablesSecretVersion": {}, "serviceAccount": {}, "setAuthenticatedUserAdmin": {}, @@ -285289,11 +292560,15 @@ "eventPublishConfig": { "$ref": "#/types/google-native:datafusion/v1:EventPublishConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "networkConfig": { "$ref": "#/types/google-native:datafusion/v1:NetworkConfig" }, - "options": {}, + "options": { + "additionalProperties": {} + }, "patchRevision": {}, "privateInstance": {}, "type": { @@ -285375,11 +292650,15 @@ "eventPublishConfig": { "$ref": "#/types/google-native:datafusion/v1:EventPublishConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "networkConfig": { "$ref": "#/types/google-native:datafusion/v1:NetworkConfig" }, - "options": {}, + "options": { + "additionalProperties": {} + }, "patchRevision": {}, "privateInstance": {}, "type": { @@ -285911,11 +293190,15 @@ "eventPublishConfig": { "$ref": "#/types/google-native:datafusion/v1beta1:EventPublishConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "networkConfig": { "$ref": "#/types/google-native:datafusion/v1beta1:NetworkConfig" }, - "options": {}, + "options": { + "additionalProperties": {} + }, "patchRevision": {}, "privateInstance": {}, "type": { @@ -285997,11 +293280,15 @@ "eventPublishConfig": { "$ref": "#/types/google-native:datafusion/v1beta1:EventPublishConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "networkConfig": { "$ref": "#/types/google-native:datafusion/v1beta1:NetworkConfig" }, - "options": {}, + "options": { + "additionalProperties": {} + }, "patchRevision": {}, "privateInstance": {}, "type": { @@ -287960,7 +295247,9 @@ "$ref": "#/types/google-native:datamigration/v1:CloudSqlConnectionProfile" }, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mysql": { "$ref": "#/types/google-native:datamigration/v1:MySqlConnectionProfile" }, @@ -288050,7 +295339,9 @@ "$ref": "#/types/google-native:datamigration/v1:CloudSqlConnectionProfile" }, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mysql": { "$ref": "#/types/google-native:datamigration/v1:MySqlConnectionProfile" }, @@ -288587,7 +295878,9 @@ "required": true }, "displayName": {}, - "globalSettings": {}, + "globalSettings": { + "additionalProperties": {} + }, "name": {}, "source": { "$ref": "#/types/google-native:datamigration/v1:DatabaseEngineInfo", @@ -288664,7 +295957,9 @@ "required": true }, "displayName": {}, - "globalSettings": {}, + "globalSettings": { + "additionalProperties": {} + }, "name": {}, "source": { "$ref": "#/types/google-native:datamigration/v1:DatabaseEngineInfo", @@ -289358,7 +296653,9 @@ }, "dumpPath": {}, "filter": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "performanceConfig": { "$ref": "#/types/google-native:datamigration/v1:PerformanceConfig" @@ -289467,7 +296764,9 @@ }, "dumpPath": {}, "filter": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "performanceConfig": { "$ref": "#/types/google-native:datamigration/v1:PerformanceConfig" @@ -290014,7 +297313,9 @@ }, "sdkProperties": { "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "vpcPeeringConfig": { "$ref": "#/types/google-native:datamigration/v1:VpcPeeringConfig" @@ -290565,7 +297866,9 @@ "$ref": "#/types/google-native:datamigration/v1beta1:CloudSqlConnectionProfile" }, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mysql": { "$ref": "#/types/google-native:datamigration/v1beta1:MySqlConnectionProfile" }, @@ -290646,7 +297949,9 @@ "$ref": "#/types/google-native:datamigration/v1beta1:CloudSqlConnectionProfile" }, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mysql": { "$ref": "#/types/google-native:datamigration/v1beta1:MySqlConnectionProfile" }, @@ -291180,7 +298485,9 @@ }, "displayName": {}, "dumpPath": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "reverseSshConnectivity": { "$ref": "#/types/google-native:datamigration/v1beta1:ReverseSshConnectivity" @@ -291278,7 +298585,9 @@ }, "displayName": {}, "dumpPath": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "reverseSshConnectivity": { "$ref": "#/types/google-native:datamigration/v1beta1:ReverseSshConnectivity" @@ -291814,6 +299123,7 @@ }, "name": {}, "pipelineSources": { + "additionalProperties": {}, "forceNew": true }, "scheduleInfo": { @@ -291887,6 +299197,7 @@ }, "name": {}, "pipelineSources": { + "additionalProperties": {}, "forceNew": true }, "scheduleInfo": { @@ -292408,7 +299719,9 @@ "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1AssetDiscoverySpec" }, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "resourceSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1AssetResourceSpec", "required": true @@ -292502,7 +299815,9 @@ "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1AssetDiscoverySpec" }, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "resourceSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1AssetResourceSpec", "required": true @@ -292610,7 +299925,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "parentId": {}, "resourceAccessSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ResourceAccessSpec" @@ -292695,7 +300012,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "parentId": {}, "resourceAccessSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ResourceAccessSpec" @@ -292791,7 +300110,9 @@ "required": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notebook": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ContentNotebook" }, @@ -292869,7 +300190,9 @@ "required": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notebook": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ContentNotebook" }, @@ -292950,7 +300273,9 @@ "required": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notebook": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ContentNotebook" }, @@ -293028,7 +300353,9 @@ "required": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notebook": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ContentNotebook" }, @@ -293110,7 +300437,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "paths": { "items": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1DataAttributeBindingPath" @@ -293189,7 +300518,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "paths": { "items": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1DataAttributeBindingPath" @@ -293724,7 +301055,9 @@ "executionSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1DataScanExecutionSpec" }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -293804,7 +301137,9 @@ "executionSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1DataScanExecutionSpec" }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -294319,7 +301654,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -294387,7 +301724,9 @@ "description": {}, "displayName": {}, "etag": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -296472,7 +303811,9 @@ "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1EnvironmentInfrastructureSpec", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sessionSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1EnvironmentSessionSpec" } @@ -296556,7 +303897,9 @@ "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1EnvironmentInfrastructureSpec", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sessionSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1EnvironmentSessionSpec" } @@ -297079,7 +304422,9 @@ "sdkProperties": { "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metastore": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1LakeMetastore" } @@ -297149,7 +304494,9 @@ "sdkProperties": { "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "metastore": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1LakeMetastore" } @@ -300803,7 +308150,9 @@ "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1TaskExecutionSpec", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notebook": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1TaskNotebookTaskConfig" }, @@ -300894,7 +308243,9 @@ "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1TaskExecutionSpec", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notebook": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1TaskNotebookTaskConfig" }, @@ -301001,7 +308352,9 @@ "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ZoneDiscoverySpec" }, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "resourceSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ZoneResourceSpec", "required": true @@ -301090,7 +308443,9 @@ "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ZoneDiscoverySpec" }, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "resourceSpec": { "$ref": "#/types/google-native:dataplex/v1:GoogleCloudDataplexV1ZoneResourceSpec", "required": true @@ -301188,7 +308543,9 @@ "id": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "secondaryWorkerConfig": { "$ref": "#/types/google-native:dataproc/v1:InstanceGroupAutoscalingPolicyConfig" }, @@ -301251,7 +308608,9 @@ "id": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "secondaryWorkerConfig": { "$ref": "#/types/google-native:dataproc/v1:InstanceGroupAutoscalingPolicyConfig" }, @@ -301707,7 +309066,9 @@ "environmentConfig": { "$ref": "#/types/google-native:dataproc/v1:EnvironmentConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "pysparkBatch": { "$ref": "#/types/google-native:dataproc/v1:PySparkBatch" }, @@ -301827,7 +309188,9 @@ "config": { "$ref": "#/types/google-native:dataproc/v1:ClusterConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "projectId": { "required": true, "sdkName": "project" @@ -301905,7 +309268,9 @@ "config": { "$ref": "#/types/google-native:dataproc/v1:ClusterConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "projectId": { "required": true, "sdkName": "project" @@ -302100,7 +309465,9 @@ "hiveJob": { "$ref": "#/types/google-native:dataproc/v1:HiveJob" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "pigJob": { "$ref": "#/types/google-native:dataproc/v1:PigJob" }, @@ -302205,7 +309572,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "nodeGroupConfig": { "$ref": "#/types/google-native:dataproc/v1:InstanceGroupConfig" @@ -304222,7 +311591,9 @@ "jupyterSession": { "$ref": "#/types/google-native:dataproc/v1:JupyterConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -304341,7 +311712,9 @@ "jupyterSession": { "$ref": "#/types/google-native:dataproc/v1:JupyterConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -304406,7 +311779,9 @@ "jupyterSession": { "$ref": "#/types/google-native:dataproc/v1:JupyterConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -304480,7 +311855,9 @@ "$ref": "#/types/google-native:dataproc/v1:OrderedJob" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "parameters": { "items": { "$ref": "#/types/google-native:dataproc/v1:TemplateParameter" @@ -304555,7 +311932,9 @@ "$ref": "#/types/google-native:dataproc/v1:OrderedJob" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "parameters": { "items": { "$ref": "#/types/google-native:dataproc/v1:TemplateParameter" @@ -305527,7 +312906,9 @@ "$ref": "#/types/google-native:dataproc/v1beta2:ClusterConfig", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "projectId": { "required": true, "sdkName": "project" @@ -305603,7 +312984,9 @@ "$ref": "#/types/google-native:dataproc/v1beta2:ClusterConfig", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "projectId": { "required": true, "sdkName": "project" @@ -305780,7 +313163,9 @@ "hiveJob": { "$ref": "#/types/google-native:dataproc/v1beta2:HiveJob" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "pigJob": { "$ref": "#/types/google-native:dataproc/v1beta2:PigJob" }, @@ -307792,7 +315177,9 @@ "$ref": "#/types/google-native:dataproc/v1beta2:OrderedJob" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "parameters": { "items": { "$ref": "#/types/google-native:dataproc/v1beta2:TemplateParameter" @@ -307866,7 +315253,9 @@ "$ref": "#/types/google-native:dataproc/v1beta2:OrderedJob" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "parameters": { "items": { "$ref": "#/types/google-native:dataproc/v1beta2:TemplateParameter" @@ -308438,7 +315827,9 @@ "gcsProfile": { "$ref": "#/types/google-native:datastream/v1:GcsProfile" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mysqlProfile": { "$ref": "#/types/google-native:datastream/v1:MysqlProfile" }, @@ -308525,7 +315916,9 @@ "gcsProfile": { "$ref": "#/types/google-native:datastream/v1:GcsProfile" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mysqlProfile": { "$ref": "#/types/google-native:datastream/v1:MysqlProfile" }, @@ -308630,7 +316023,9 @@ "displayName": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "vpcPeeringConfig": { "$ref": "#/types/google-native:datastream/v1:VpcPeeringConfig" } @@ -308757,7 +316152,9 @@ "displayName": { "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -308898,7 +316295,9 @@ "displayName": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sourceConfig": { "$ref": "#/types/google-native:datastream/v1:SourceConfig", "required": true @@ -308981,7 +316380,9 @@ "displayName": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sourceConfig": { "$ref": "#/types/google-native:datastream/v1:SourceConfig", "required": true @@ -309080,7 +316481,9 @@ "gcsProfile": { "$ref": "#/types/google-native:datastream/v1alpha1:GcsProfile" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mysqlProfile": { "$ref": "#/types/google-native:datastream/v1alpha1:MysqlProfile" }, @@ -309164,7 +316567,9 @@ "gcsProfile": { "$ref": "#/types/google-native:datastream/v1alpha1:GcsProfile" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mysqlProfile": { "$ref": "#/types/google-native:datastream/v1alpha1:MysqlProfile" }, @@ -309265,7 +316670,9 @@ "displayName": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "vpcPeeringConfig": { "$ref": "#/types/google-native:datastream/v1alpha1:VpcPeeringConfig" } @@ -309392,7 +316799,9 @@ "displayName": { "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -309533,7 +316942,9 @@ "displayName": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sourceConfig": { "$ref": "#/types/google-native:datastream/v1alpha1:SourceConfig", "required": true @@ -309616,7 +317027,9 @@ "displayName": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sourceConfig": { "$ref": "#/types/google-native:datastream/v1alpha1:SourceConfig", "required": true @@ -312042,7 +319455,9 @@ "$ref": "#/types/google-native:dialogflow/v2:DocumentKnowledgeTypesItem" } }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "mimeType": { "required": true }, @@ -312132,7 +319547,9 @@ "$ref": "#/types/google-native:dialogflow/v2:DocumentKnowledgeTypesItem" } }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "mimeType": { "required": true }, @@ -312911,7 +320328,9 @@ ] }, "sdkProperties": { - "documentsMetadataFilters": {}, + "documentsMetadataFilters": { + "additionalProperties": {} + }, "name": {}, "obfuscatedExternalUserId": {}, "role": { @@ -312985,7 +320404,9 @@ ] }, "sdkProperties": { - "documentsMetadataFilters": {}, + "documentsMetadataFilters": { + "additionalProperties": {} + }, "name": {}, "obfuscatedExternalUserId": {}, "role": { @@ -313781,7 +321202,9 @@ "$ref": "#/types/google-native:dialogflow/v2beta1:DocumentKnowledgeTypesItem" } }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "mimeType": { "required": true }, @@ -313872,7 +321295,9 @@ "$ref": "#/types/google-native:dialogflow/v2beta1:DocumentKnowledgeTypesItem" } }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "mimeType": { "required": true }, @@ -314560,7 +321985,9 @@ ] }, "sdkProperties": { - "documentsMetadataFilters": {}, + "documentsMetadataFilters": { + "additionalProperties": {} + }, "name": {}, "obfuscatedExternalUserId": {}, "role": { @@ -314633,7 +322060,9 @@ ] }, "sdkProperties": { - "documentsMetadataFilters": {}, + "documentsMetadataFilters": { + "additionalProperties": {} + }, "name": {}, "obfuscatedExternalUserId": {}, "role": { @@ -315961,7 +323390,9 @@ "required": true }, "isFallback": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "parameters": { "items": { @@ -316042,7 +323473,9 @@ "required": true }, "isFallback": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "parameters": { "items": { @@ -318313,7 +325746,9 @@ "required": true }, "isFallback": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "parameters": { "items": { @@ -318394,7 +325829,9 @@ "required": true }, "isFallback": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "parameters": { "items": { @@ -322578,7 +330015,9 @@ "$ref": "#/types/google-native:dns/v1:ManagedZoneForwardingConfig" }, "kind": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "nameServerSet": {}, "peeringConfig": { @@ -322650,7 +330089,9 @@ "$ref": "#/types/google-native:dns/v1:ManagedZoneForwardingConfig" }, "kind": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "nameServerSet": {}, "peeringConfig": { @@ -323466,7 +330907,9 @@ "$ref": "#/types/google-native:dns/v1beta2:ManagedZoneForwardingConfig" }, "kind": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "nameServerSet": {}, "peeringConfig": { @@ -323538,7 +330981,9 @@ "$ref": "#/types/google-native:dns/v1beta2:ManagedZoneForwardingConfig" }, "kind": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "nameServerSet": {}, "peeringConfig": { @@ -324273,7 +331718,9 @@ } }, "kind": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "networks": { "items": { "$ref": "#/types/google-native:dns/v1beta2:ResponsePolicyNetwork" @@ -324326,7 +331773,9 @@ } }, "kind": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "networks": { "items": { "$ref": "#/types/google-native:dns/v1beta2:ResponsePolicyNetwork" @@ -324805,7 +332254,9 @@ "required": true, "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managementSettings": { "$ref": "#/types/google-native:domains/v1:ManagementSettings" } @@ -325421,7 +332872,9 @@ "required": true, "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managementSettings": { "$ref": "#/types/google-native:domains/v1alpha2:ManagementSettings" } @@ -326037,7 +333490,9 @@ "required": true, "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "managementSettings": { "$ref": "#/types/google-native:domains/v1beta1:ManagementSettings" } @@ -328048,7 +335503,9 @@ "$ref": "#/types/google-native:eventarc/v1:EventFilter" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -328129,7 +335586,9 @@ "$ref": "#/types/google-native:eventarc/v1:EventFilter" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -328650,7 +336109,9 @@ "$ref": "#/types/google-native:eventarc/v1beta1:Destination", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "matchingCriteria": { "required": true, "items": { @@ -328726,7 +336187,9 @@ "$ref": "#/types/google-native:eventarc/v1beta1:Destination", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "matchingCriteria": { "required": true, "items": { @@ -329250,7 +336713,9 @@ "kmsKey": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sourceFileShare": {}, "sourceInstance": {} }, @@ -329321,7 +336786,9 @@ "kmsKey": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sourceFileShare": {}, "sourceInstance": {} }, @@ -329412,7 +336879,9 @@ } }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "networks": { "items": { "$ref": "#/types/google-native:file/v1:NetworkConfig" @@ -329488,7 +336957,9 @@ } }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "networks": { "items": { "$ref": "#/types/google-native:file/v1:NetworkConfig" @@ -329581,7 +337052,9 @@ }, "sdkProperties": { "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -329657,7 +337130,9 @@ }, "sdkProperties": { "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -329748,7 +337223,9 @@ "kmsKeyName": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sourceFileShare": {}, "sourceInstance": {} }, @@ -329819,7 +337296,9 @@ "kmsKeyName": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "sourceFileShare": {}, "sourceInstance": {} }, @@ -329916,7 +337395,9 @@ } }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maxShareCount": { "format": "int64" }, @@ -330011,7 +337492,9 @@ } }, "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maxShareCount": { "format": "int64" }, @@ -330121,7 +337604,9 @@ "format": "int64" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mountName": {}, "nfsExportOptions": { "items": { @@ -330209,7 +337694,9 @@ "format": "int64" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mountName": {}, "nfsExportOptions": { "items": { @@ -330308,7 +337795,9 @@ }, "sdkProperties": { "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -330384,7 +337873,9 @@ }, "sdkProperties": { "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -331221,7 +338712,9 @@ "expireTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "retainedReleaseCount": { "format": "int32" @@ -331283,7 +338776,9 @@ "expireTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "retainedReleaseCount": { "format": "int32" @@ -331349,11 +338844,15 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "certPreference": { "$ref": "#/types/google-native:firebasehosting/v1beta1:CustomDomainCertPreference" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "redirectTarget": {} }, "verb": "POST", @@ -331414,11 +338913,15 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "certPreference": { "$ref": "#/types/google-native:firebasehosting/v1beta1:CustomDomainCertPreference" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "redirectTarget": {} }, "verb": "PATCH", @@ -331695,7 +339198,9 @@ }, "sdkProperties": { "appId": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -331736,7 +339241,9 @@ }, "sdkProperties": { "appId": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": {} @@ -331796,7 +339303,9 @@ "config": { "$ref": "#/types/google-native:firebasehosting/v1beta1:ServingConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "status": { "$ref": "#/types/google-native:firebasehosting/v1beta1:VersionStatus" @@ -331855,7 +339364,9 @@ "config": { "$ref": "#/types/google-native:firebasehosting/v1beta1:ServingConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "status": { "$ref": "#/types/google-native:firebasehosting/v1beta1:VersionStatus" @@ -333802,7 +341313,9 @@ "format": "int32" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "retainDays": { "format": "int32" } @@ -333879,7 +341392,9 @@ "format": "int32" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "retainDays": { "format": "int32" } @@ -333979,7 +341494,9 @@ }, "deactivated": {}, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "retentionPolicy": { "$ref": "#/types/google-native:gkebackup/v1:RetentionPolicy" } @@ -334054,7 +341571,9 @@ }, "deactivated": {}, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "retentionPolicy": { "$ref": "#/types/google-native:gkebackup/v1:RetentionPolicy" } @@ -335613,7 +343132,9 @@ "forceNew": true }, "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -335688,7 +343209,9 @@ "forceNew": true }, "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -335783,7 +343306,9 @@ "forceNew": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "restoreConfig": { "$ref": "#/types/google-native:gkebackup/v1:RestoreConfig", "required": true @@ -335856,7 +343381,9 @@ "forceNew": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "restoreConfig": { "$ref": "#/types/google-native:gkebackup/v1:RestoreConfig", "required": true @@ -337411,7 +344938,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "scope": { "pattern": "projects/{project}/locations/{location}/scopes/{scope}" @@ -337490,7 +345019,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "scope": {} }, @@ -337586,9 +345117,19 @@ "fleetDefaultMemberConfig": { "$ref": "#/types/google-native:gkehub/v1:CommonFleetDefaultMemberConfigSpec" }, - "labels": {}, - "membershipSpecs": {}, - "scopeSpecs": {}, + "labels": { + "additionalProperties": {} + }, + "membershipSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:MembershipFeatureSpec" + } + }, + "scopeSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:ScopeFeatureSpec" + } + }, "spec": { "$ref": "#/types/google-native:gkehub/v1:CommonFeatureSpec" } @@ -337654,9 +345195,19 @@ "fleetDefaultMemberConfig": { "$ref": "#/types/google-native:gkehub/v1:CommonFleetDefaultMemberConfigSpec" }, - "labels": {}, - "membershipSpecs": {}, - "scopeSpecs": {}, + "labels": { + "additionalProperties": {} + }, + "membershipSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:MembershipFeatureSpec" + } + }, + "scopeSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1:ScopeFeatureSpec" + } + }, "spec": { "$ref": "#/types/google-native:gkehub/v1:CommonFeatureSpec" } @@ -338169,7 +345720,9 @@ "$ref": "#/types/google-native:gkehub/v1:DefaultClusterConfig" }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -338238,7 +345791,9 @@ "$ref": "#/types/google-native:gkehub/v1:DefaultClusterConfig" }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -338330,7 +345885,9 @@ "$ref": "#/types/google-native:gkehub/v1:MembershipEndpoint" }, "externalId": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1:MonitoringConfig" } @@ -338405,7 +345962,9 @@ "$ref": "#/types/google-native:gkehub/v1:MembershipEndpoint" }, "externalId": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1:MonitoringConfig" } @@ -338925,9 +346484,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {}, + "namespaceLabels": { + "additionalProperties": {} + }, "scope": { "required": true } @@ -339005,9 +346568,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {}, + "namespaceLabels": { + "additionalProperties": {} + }, "scope": { "required": true } @@ -339103,7 +346670,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1:Role", @@ -339185,7 +346754,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1:Role", @@ -339278,9 +346849,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {} + "namespaceLabels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -339345,9 +346920,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {} + "namespaceLabels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -339869,7 +347448,9 @@ "infrastructureType": { "$ref": "#/types/google-native:gkehub/v1alpha2:MembershipInfrastructureType" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1alpha2:MonitoringConfig" } @@ -339947,7 +347528,9 @@ "infrastructureType": { "$ref": "#/types/google-native:gkehub/v1alpha2:MembershipInfrastructureType" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1alpha2:MonitoringConfig" } @@ -340467,7 +348050,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "scope": { "pattern": "projects/{project}/locations/{location}/scopes/{scope}" @@ -340546,7 +348131,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "scope": {} }, @@ -340642,9 +348229,19 @@ "fleetDefaultMemberConfig": { "$ref": "#/types/google-native:gkehub/v1alpha:CommonFleetDefaultMemberConfigSpec" }, - "labels": {}, - "membershipSpecs": {}, - "scopeSpecs": {}, + "labels": { + "additionalProperties": {} + }, + "membershipSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipFeatureSpec" + } + }, + "scopeSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:ScopeFeatureSpec" + } + }, "spec": { "$ref": "#/types/google-native:gkehub/v1alpha:CommonFeatureSpec" } @@ -340710,9 +348307,19 @@ "fleetDefaultMemberConfig": { "$ref": "#/types/google-native:gkehub/v1alpha:CommonFleetDefaultMemberConfigSpec" }, - "labels": {}, - "membershipSpecs": {}, - "scopeSpecs": {}, + "labels": { + "additionalProperties": {} + }, + "membershipSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipFeatureSpec" + } + }, + "scopeSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1alpha:ScopeFeatureSpec" + } + }, "spec": { "$ref": "#/types/google-native:gkehub/v1alpha:CommonFeatureSpec" } @@ -341225,7 +348832,9 @@ "$ref": "#/types/google-native:gkehub/v1alpha:DefaultClusterConfig" }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -341294,7 +348903,9 @@ "$ref": "#/types/google-native:gkehub/v1alpha:DefaultClusterConfig" }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -341386,7 +348997,9 @@ "$ref": "#/types/google-native:gkehub/v1alpha:MembershipEndpoint" }, "externalId": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1alpha:MonitoringConfig" } @@ -341461,7 +349074,9 @@ "$ref": "#/types/google-native:gkehub/v1alpha:MembershipEndpoint" }, "externalId": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1alpha:MonitoringConfig" } @@ -341982,7 +349597,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1alpha:Role", @@ -342064,7 +349681,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1alpha:Role", @@ -342162,9 +349781,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {}, + "namespaceLabels": { + "additionalProperties": {} + }, "scope": { "required": true } @@ -342242,9 +349865,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {}, + "namespaceLabels": { + "additionalProperties": {} + }, "scope": { "required": true } @@ -342334,9 +349961,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {} + "namespaceLabels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -342401,9 +350032,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {} + "namespaceLabels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -342921,7 +350556,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1alpha:Role", @@ -343003,7 +350640,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1alpha:Role", @@ -343111,7 +350750,9 @@ "infrastructureType": { "$ref": "#/types/google-native:gkehub/v1beta1:MembershipInfrastructureType" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1beta1:MonitoringConfig" } @@ -343190,7 +350831,9 @@ "infrastructureType": { "$ref": "#/types/google-native:gkehub/v1beta1:MembershipInfrastructureType" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1beta1:MonitoringConfig" } @@ -343710,7 +351353,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "scope": { "pattern": "projects/{project}/locations/{location}/scopes/{scope}" @@ -343789,7 +351434,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "scope": {} }, @@ -343885,9 +351532,19 @@ "fleetDefaultMemberConfig": { "$ref": "#/types/google-native:gkehub/v1beta:CommonFleetDefaultMemberConfigSpec" }, - "labels": {}, - "membershipSpecs": {}, - "scopeSpecs": {}, + "labels": { + "additionalProperties": {} + }, + "membershipSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:MembershipFeatureSpec" + } + }, + "scopeSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:ScopeFeatureSpec" + } + }, "spec": { "$ref": "#/types/google-native:gkehub/v1beta:CommonFeatureSpec" } @@ -343953,9 +351610,19 @@ "fleetDefaultMemberConfig": { "$ref": "#/types/google-native:gkehub/v1beta:CommonFleetDefaultMemberConfigSpec" }, - "labels": {}, - "membershipSpecs": {}, - "scopeSpecs": {}, + "labels": { + "additionalProperties": {} + }, + "membershipSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:MembershipFeatureSpec" + } + }, + "scopeSpecs": { + "additionalProperties": { + "$ref": "#/types/google-native:gkehub/v1beta:ScopeFeatureSpec" + } + }, "spec": { "$ref": "#/types/google-native:gkehub/v1beta:CommonFeatureSpec" } @@ -344468,7 +352135,9 @@ "$ref": "#/types/google-native:gkehub/v1beta:DefaultClusterConfig" }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -344537,7 +352206,9 @@ "$ref": "#/types/google-native:gkehub/v1beta:DefaultClusterConfig" }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -344629,7 +352300,9 @@ "$ref": "#/types/google-native:gkehub/v1beta:MembershipEndpoint" }, "externalId": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1beta:MonitoringConfig" } @@ -344704,7 +352377,9 @@ "$ref": "#/types/google-native:gkehub/v1beta:MembershipEndpoint" }, "externalId": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "monitoringConfig": { "$ref": "#/types/google-native:gkehub/v1beta:MonitoringConfig" } @@ -345225,7 +352900,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1beta:Role", @@ -345307,7 +352984,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1beta:Role", @@ -345405,9 +353084,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {}, + "namespaceLabels": { + "additionalProperties": {} + }, "scope": { "required": true } @@ -345485,9 +353168,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {}, + "namespaceLabels": { + "additionalProperties": {} + }, "scope": { "required": true } @@ -345577,9 +353264,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {} + "namespaceLabels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -345644,9 +353335,13 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, - "namespaceLabels": {} + "namespaceLabels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -346164,7 +353859,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1beta:Role", @@ -346246,7 +353943,9 @@ }, "sdkProperties": { "group": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "role": { "$ref": "#/types/google-native:gkehub/v1beta:Role", @@ -346339,7 +354038,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "bareMetalVersion": {}, "binaryAuthorization": { "$ref": "#/types/google-native:gkeonprem/v1:BinaryAuthorization" @@ -346448,7 +354149,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "bareMetalVersion": {}, "binaryAuthorization": { "$ref": "#/types/google-native:gkeonprem/v1:BinaryAuthorization" @@ -346927,7 +354630,9 @@ "adminClusterMembership": { "required": true }, - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "bareMetalVersion": { "required": true }, @@ -347047,7 +354752,9 @@ "adminClusterMembership": { "required": true }, - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "bareMetalVersion": { "required": true }, @@ -348007,7 +355714,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, "name": { @@ -348096,7 +355805,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, "name": { @@ -348581,7 +356292,9 @@ "adminClusterMembership": { "required": true }, - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "antiAffinityGroups": { "$ref": "#/types/google-native:gkeonprem/v1:VmwareAAGConfig" }, @@ -348692,7 +356405,9 @@ "adminClusterMembership": { "required": true }, - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "antiAffinityGroups": { "$ref": "#/types/google-native:gkeonprem/v1:VmwareAAGConfig" }, @@ -349643,7 +357358,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "config": { "$ref": "#/types/google-native:gkeonprem/v1:VmwareNodeConfig", "required": true @@ -349733,7 +357450,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "config": { "$ref": "#/types/google-native:gkeonprem/v1:VmwareNodeConfig", "required": true @@ -350032,7 +357751,9 @@ "expireTime": { "format": "google-datetime" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {}, "policies": { "items": { @@ -350131,7 +357852,9 @@ "expireTime": { "format": "google-datetime" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {}, "policies": { "items": { @@ -350235,7 +357958,9 @@ "guardianSignature": { "$ref": "#/types/google-native:healthcare/v1:Signature" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {}, "userId": { "required": true @@ -350364,7 +358089,9 @@ "format": "google-duration" }, "enableConsentCreateOnUpdate": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -350436,7 +358163,9 @@ "format": "google-duration" }, "enableConsentCreateOnUpdate": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -353019,7 +360748,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1:NotificationConfig" @@ -353090,7 +360821,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1:NotificationConfig" @@ -353180,7 +360913,9 @@ "forceNew": true }, "enableUpdateCreate": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1:NotificationConfig" }, @@ -353271,7 +361006,9 @@ "forceNew": true }, "enableUpdateCreate": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1:NotificationConfig" }, @@ -353361,7 +361098,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "notificationConfigs": { "items": { @@ -353433,7 +361172,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "notificationConfigs": { "items": { @@ -353612,7 +361353,9 @@ "data": { "format": "byte" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "messageType": {}, "name": {}, "patientIds": { @@ -353884,7 +361627,9 @@ "annotationSource": { "$ref": "#/types/google-native:healthcare/v1beta1:AnnotationSource" }, - "customData": {}, + "customData": { + "additionalProperties": {} + }, "imageAnnotation": { "$ref": "#/types/google-native:healthcare/v1beta1:ImageAnnotation" }, @@ -353969,7 +361714,9 @@ "annotationSource": { "$ref": "#/types/google-native:healthcare/v1beta1:AnnotationSource" }, - "customData": {}, + "customData": { + "additionalProperties": {} + }, "imageAnnotation": { "$ref": "#/types/google-native:healthcare/v1beta1:ImageAnnotation" }, @@ -354055,7 +361802,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -354118,7 +361867,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -354383,7 +362134,9 @@ "expireTime": { "format": "google-datetime" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {}, "policies": { "items": { @@ -354482,7 +362235,9 @@ "expireTime": { "format": "google-datetime" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {}, "policies": { "items": { @@ -354586,7 +362341,9 @@ "guardianSignature": { "$ref": "#/types/google-native:healthcare/v1beta1:Signature" }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": {}, "userId": { "required": true @@ -354715,7 +362472,9 @@ "format": "google-duration" }, "enableConsentCreateOnUpdate": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -354787,7 +362546,9 @@ "format": "google-duration" }, "enableConsentCreateOnUpdate": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -357859,7 +365620,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1beta1:NotificationConfig" @@ -357930,7 +365693,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1beta1:NotificationConfig" @@ -358023,7 +365788,9 @@ "forceNew": true }, "enableUpdateCreate": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1beta1:NotificationConfig" }, @@ -358120,7 +365887,9 @@ "forceNew": true }, "enableUpdateCreate": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1beta1:NotificationConfig" }, @@ -358213,7 +365982,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1beta1:NotificationConfig" @@ -358288,7 +366059,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "notificationConfig": { "$ref": "#/types/google-native:healthcare/v1beta1:NotificationConfig" @@ -358470,7 +366243,9 @@ "data": { "format": "byte" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "messageType": {}, "name": {}, "patientIds": { @@ -358943,7 +366718,9 @@ }, "sdkProperties": { "attributeCondition": {}, - "attributeMapping": {}, + "attributeMapping": { + "additionalProperties": {} + }, "aws": { "$ref": "#/types/google-native:iam/v1:Aws" }, @@ -359031,7 +366808,9 @@ }, "sdkProperties": { "attributeCondition": {}, - "attributeMapping": {}, + "attributeMapping": { + "additionalProperties": {} + }, "aws": { "$ref": "#/types/google-native:iam/v1:Aws" }, @@ -360382,7 +368161,8 @@ "sdkProperties": { "attributeCondition": {}, "attributeMapping": { - "required": true + "required": true, + "additionalProperties": {} }, "description": {}, "disabled": {}, @@ -360459,7 +368239,8 @@ "sdkProperties": { "attributeCondition": {}, "attributeMapping": { - "required": true + "required": true, + "additionalProperties": {} }, "description": {}, "disabled": {}, @@ -362034,7 +369815,9 @@ "smsRegionConfig": { "$ref": "#/types/google-native:identitytoolkit/v2:GoogleCloudIdentitytoolkitAdminV2SmsRegionConfig" }, - "testPhoneNumbers": {} + "testPhoneNumbers": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -362104,7 +369887,9 @@ "smsRegionConfig": { "$ref": "#/types/google-native:identitytoolkit/v2:GoogleCloudIdentitytoolkitAdminV2SmsRegionConfig" }, - "testPhoneNumbers": {} + "testPhoneNumbers": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": {} @@ -362535,7 +370320,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -362607,7 +370394,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -364912,7 +372701,11 @@ "compensationInfo": { "$ref": "#/types/google-native:jobs/v4:CompensationInfo" }, - "customAttributes": {}, + "customAttributes": { + "additionalProperties": { + "$ref": "#/types/google-native:jobs/v4:CustomAttribute" + } + }, "degreeTypes": { "items": { "$ref": "#/types/google-native:jobs/v4:JobDegreeTypesItem" @@ -365033,7 +372826,11 @@ "compensationInfo": { "$ref": "#/types/google-native:jobs/v4:CompensationInfo" }, - "customAttributes": {}, + "customAttributes": { + "additionalProperties": { + "$ref": "#/types/google-native:jobs/v4:CustomAttribute" + } + }, "degreeTypes": { "items": { "$ref": "#/types/google-native:jobs/v4:JobDegreeTypesItem" @@ -367058,7 +374855,9 @@ "filter": { "required": true }, - "labelExtractors": {}, + "labelExtractors": { + "additionalProperties": {} + }, "metricDescriptor": { "$ref": "#/types/google-native:logging/v2:MetricDescriptor" }, @@ -367119,7 +374918,9 @@ "filter": { "required": true }, - "labelExtractors": {}, + "labelExtractors": { + "additionalProperties": {} + }, "metricDescriptor": { "$ref": "#/types/google-native:logging/v2:MetricDescriptor" }, @@ -369091,7 +376892,9 @@ ] }, "sdkProperties": { - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -369156,7 +376959,9 @@ ] }, "sdkProperties": { - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -369237,7 +377042,9 @@ "authorizedNetworks": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locations": { "required": true, "items": {} @@ -369307,7 +377114,9 @@ "authorizedNetworks": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locations": { "required": true, "items": {} @@ -370101,7 +377910,9 @@ "domainResource": { "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -370162,7 +377973,9 @@ "domainResource": { "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -370563,7 +378376,9 @@ }, "sdkProperties": { "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -370629,7 +378444,9 @@ }, "sdkProperties": { "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -370709,7 +378526,9 @@ "authorizedNetworks": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locations": { "required": true, "items": {} @@ -370771,7 +378590,9 @@ "authorizedNetworks": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locations": { "required": true, "items": {} @@ -371561,7 +379382,9 @@ "domainResource": { "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -371622,7 +379445,9 @@ "domainResource": { "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -372023,7 +379848,9 @@ }, "sdkProperties": { "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -372089,7 +379916,9 @@ }, "sdkProperties": { "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -372170,7 +379999,9 @@ "authorizedNetworks": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locations": { "required": true, "items": {} @@ -372237,7 +380068,9 @@ "authorizedNetworks": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locations": { "required": true, "items": {} @@ -373028,7 +380861,9 @@ "domainResource": { "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -373089,7 +380924,9 @@ "domainResource": { "required": true }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -373496,7 +381333,9 @@ "$ref": "#/types/google-native:memcache/v1:InstanceMessage" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenancePolicy": { "$ref": "#/types/google-native:memcache/v1:GoogleCloudMemcacheV1MaintenancePolicy" }, @@ -373596,7 +381435,9 @@ "$ref": "#/types/google-native:memcache/v1:InstanceMessage" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenancePolicy": { "$ref": "#/types/google-native:memcache/v1:GoogleCloudMemcacheV1MaintenancePolicy" }, @@ -373710,7 +381551,9 @@ "$ref": "#/types/google-native:memcache/v1beta2:InstanceMessage" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenancePolicy": { "$ref": "#/types/google-native:memcache/v1beta2:GoogleCloudMemcacheV1beta2MaintenancePolicy" }, @@ -373810,7 +381653,9 @@ "$ref": "#/types/google-native:memcache/v1beta2:InstanceMessage" } }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenancePolicy": { "$ref": "#/types/google-native:memcache/v1beta2:GoogleCloudMemcacheV1beta2MaintenancePolicy" }, @@ -374052,8 +381897,14 @@ ] }, "sdkProperties": { - "backendMetastores": {}, - "labels": {}, + "backendMetastores": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1:BackendMetastore" + } + }, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -374126,8 +381977,14 @@ ] }, "sdkProperties": { - "backendMetastores": {}, - "labels": {}, + "backendMetastores": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1:BackendMetastore" + } + }, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -374812,7 +382669,9 @@ "hiveMetastoreConfig": { "$ref": "#/types/google-native:metastore/v1:HiveMetastoreConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenanceWindow": { "$ref": "#/types/google-native:metastore/v1:MaintenanceWindow" }, @@ -374921,7 +382780,9 @@ "hiveMetastoreConfig": { "$ref": "#/types/google-native:metastore/v1:HiveMetastoreConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenanceWindow": { "$ref": "#/types/google-native:metastore/v1:MaintenanceWindow" }, @@ -376088,8 +383949,14 @@ ] }, "sdkProperties": { - "backendMetastores": {}, - "labels": {}, + "backendMetastores": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1alpha:BackendMetastore" + } + }, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -376162,8 +384029,14 @@ ] }, "sdkProperties": { - "backendMetastores": {}, - "labels": {}, + "backendMetastores": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1alpha:BackendMetastore" + } + }, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -376848,7 +384721,9 @@ "hiveMetastoreConfig": { "$ref": "#/types/google-native:metastore/v1alpha:HiveMetastoreConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenanceWindow": { "$ref": "#/types/google-native:metastore/v1alpha:MaintenanceWindow" }, @@ -376957,7 +384832,9 @@ "hiveMetastoreConfig": { "$ref": "#/types/google-native:metastore/v1alpha:HiveMetastoreConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenanceWindow": { "$ref": "#/types/google-native:metastore/v1alpha:MaintenanceWindow" }, @@ -379160,8 +387037,14 @@ ] }, "sdkProperties": { - "backendMetastores": {}, - "labels": {}, + "backendMetastores": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1beta:BackendMetastore" + } + }, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -379234,8 +387117,14 @@ ] }, "sdkProperties": { - "backendMetastores": {}, - "labels": {}, + "backendMetastores": { + "additionalProperties": { + "$ref": "#/types/google-native:metastore/v1beta:BackendMetastore" + } + }, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -379920,7 +387809,9 @@ "hiveMetastoreConfig": { "$ref": "#/types/google-native:metastore/v1beta:HiveMetastoreConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenanceWindow": { "$ref": "#/types/google-native:metastore/v1beta:MaintenanceWindow" }, @@ -380029,7 +387920,9 @@ "hiveMetastoreConfig": { "$ref": "#/types/google-native:metastore/v1beta:HiveMetastoreConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maintenanceWindow": { "$ref": "#/types/google-native:metastore/v1beta:MaintenanceWindow" }, @@ -382103,7 +389996,9 @@ "sdkProperties": { "description": {}, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -382170,7 +390065,9 @@ "sdkProperties": { "description": {}, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -382392,7 +390289,9 @@ "required": true }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -382461,7 +390360,9 @@ "required": true }, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -383122,7 +391023,9 @@ "sdkProperties": { "description": {}, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -383189,7 +391092,9 @@ "sdkProperties": { "description": {}, "displayName": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -383417,7 +391322,9 @@ "inlinePayload": { "$ref": "#/types/google-native:migrationcenter/v1alpha1:InlinePayloadInfo" }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -383492,7 +391399,9 @@ "inlinePayload": { "$ref": "#/types/google-native:migrationcenter/v1alpha1:InlinePayloadInfo" }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -384144,7 +392053,9 @@ "jobId": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "predictionInput": { "$ref": "#/types/google-native:ml/v1:GoogleCloudMlV1__PredictionInput" }, @@ -384207,7 +392118,9 @@ "jobId": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "predictionInput": { "$ref": "#/types/google-native:ml/v1:GoogleCloudMlV1__PredictionInput" }, @@ -384627,7 +392540,9 @@ "etag": { "format": "byte" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -384686,7 +392601,9 @@ "etag": { "format": "byte" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -385360,7 +393277,9 @@ "framework": { "$ref": "#/types/google-native:ml/v1:VersionFramework" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "manualScaling": { "$ref": "#/types/google-native:ml/v1:GoogleCloudMlV1__ManualScaling" @@ -385471,7 +393390,9 @@ "framework": { "$ref": "#/types/google-native:ml/v1:VersionFramework" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": {}, "manualScaling": { "$ref": "#/types/google-native:ml/v1:GoogleCloudMlV1__ManualScaling" @@ -385582,7 +393503,9 @@ "gridLayout": { "$ref": "#/types/google-native:monitoring/v1:GridLayout" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mosaicLayout": { "$ref": "#/types/google-native:monitoring/v1:MosaicLayout" }, @@ -385648,7 +393571,9 @@ "gridLayout": { "$ref": "#/types/google-native:monitoring/v1:GridLayout" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mosaicLayout": { "$ref": "#/types/google-native:monitoring/v1:MosaicLayout" }, @@ -385730,7 +393655,9 @@ "severity": { "$ref": "#/types/google-native:monitoring/v3:AlertPolicySeverity" }, - "userLabels": {}, + "userLabels": { + "additionalProperties": {} + }, "validity": { "$ref": "#/types/google-native:monitoring/v3:Status" } @@ -385802,7 +393729,9 @@ "severity": { "$ref": "#/types/google-native:monitoring/v3:AlertPolicySeverity" }, - "userLabels": {}, + "userLabels": { + "additionalProperties": {} + }, "validity": { "$ref": "#/types/google-native:monitoring/v3:Status" } @@ -386037,7 +393966,9 @@ "description": {}, "displayName": {}, "enabled": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mutationRecords": { "items": { "$ref": "#/types/google-native:monitoring/v3:MutationRecord" @@ -386045,7 +393976,9 @@ }, "name": {}, "type": {}, - "userLabels": {}, + "userLabels": { + "additionalProperties": {} + }, "verificationStatus": { "$ref": "#/types/google-native:monitoring/v3:NotificationChannelVerificationStatus" } @@ -386094,7 +394027,9 @@ "description": {}, "displayName": {}, "enabled": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mutationRecords": { "items": { "$ref": "#/types/google-native:monitoring/v3:MutationRecord" @@ -386102,7 +394037,9 @@ }, "name": {}, "type": {}, - "userLabels": {}, + "userLabels": { + "additionalProperties": {} + }, "verificationStatus": { "$ref": "#/types/google-native:monitoring/v3:NotificationChannelVerificationStatus" } @@ -386194,7 +394131,9 @@ "telemetry": { "$ref": "#/types/google-native:monitoring/v3:Telemetry" }, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -386282,7 +394221,9 @@ "telemetry": { "$ref": "#/types/google-native:monitoring/v3:Telemetry" }, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": {} @@ -386358,7 +394299,9 @@ "serviceLevelIndicator": { "$ref": "#/types/google-native:monitoring/v3:ServiceLevelIndicator" }, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -386432,7 +394375,9 @@ "serviceLevelIndicator": { "$ref": "#/types/google-native:monitoring/v3:ServiceLevelIndicator" }, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": {} @@ -386634,7 +394579,9 @@ "timeout": { "format": "google-duration" }, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -386716,7 +394663,9 @@ "timeout": { "format": "google-duration" }, - "userLabels": {} + "userLabels": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": {} @@ -386769,7 +394718,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -386828,7 +394779,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -387722,7 +395675,9 @@ }, "description": {}, "ipCidrRange": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -387813,7 +395768,9 @@ }, "description": {}, "ipCidrRange": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -387923,7 +395880,9 @@ "interconnectAttachment": { "$ref": "#/types/google-native:networkconnectivity/v1:InterconnectAttachment" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -388823,7 +396782,9 @@ }, "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -388902,7 +396863,9 @@ }, "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -389428,7 +397391,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -389500,7 +397465,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -390024,7 +397991,9 @@ "sdkProperties": { "description": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -390145,7 +398114,9 @@ "hub": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkedInterconnectAttachments": { "$ref": "#/types/google-native:networkconnectivity/v1:LinkedInterconnectAttachments" }, @@ -390227,7 +398198,9 @@ "hub": { "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkedInterconnectAttachments": { "$ref": "#/types/google-native:networkconnectivity/v1:LinkedInterconnectAttachments" }, @@ -390755,7 +398728,9 @@ "format": "google-datetime" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -390817,7 +398792,9 @@ "format": "google-datetime" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -391278,7 +399255,9 @@ }, "description": {}, "ipCidrRange": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -391369,7 +399348,9 @@ }, "description": {}, "ipCidrRange": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -391912,7 +399893,9 @@ }, "description": {}, "hub": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkedInterconnectAttachments": { "items": {} }, @@ -391996,7 +399979,9 @@ }, "description": {}, "hub": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "linkedInterconnectAttachments": { "items": {} }, @@ -392523,7 +400508,9 @@ "$ref": "#/types/google-native:networkmanagement/v1:Endpoint", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -392594,7 +400581,9 @@ "$ref": "#/types/google-native:networkmanagement/v1:Endpoint", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -393053,7 +401042,9 @@ "$ref": "#/types/google-native:networkmanagement/v1beta1:Endpoint", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -393124,7 +401115,9 @@ "$ref": "#/types/google-native:networkmanagement/v1beta1:Endpoint", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -393595,7 +401588,9 @@ "items": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -393638,7 +401633,9 @@ "items": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -394138,7 +402135,9 @@ "required": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -394213,7 +402212,9 @@ "required": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -394735,7 +402736,9 @@ "$ref": "#/types/google-native:networksecurity/v1:GoogleCloudNetworksecurityV1CertificateProvider" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -394810,7 +402813,9 @@ "$ref": "#/types/google-native:networksecurity/v1:GoogleCloudNetworksecurityV1CertificateProvider" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -395490,7 +403495,9 @@ "items": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -395531,7 +403538,9 @@ "items": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -395797,7 +403806,9 @@ "sdkProperties": { "allowOpen": {}, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtlsPolicy": { "$ref": "#/types/google-native:networksecurity/v1:MTLSPolicy" }, @@ -395870,7 +403881,9 @@ "sdkProperties": { "allowOpen": {}, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtlsPolicy": { "$ref": "#/types/google-native:networksecurity/v1:MTLSPolicy" }, @@ -396734,7 +404747,9 @@ "items": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -396777,7 +404792,9 @@ "items": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -397277,7 +405294,9 @@ "required": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -397352,7 +405371,9 @@ "required": true }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -397874,7 +405895,9 @@ "$ref": "#/types/google-native:networksecurity/v1beta1:GoogleCloudNetworksecurityV1beta1CertificateProvider" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -397949,7 +405972,9 @@ "$ref": "#/types/google-native:networksecurity/v1beta1:GoogleCloudNetworksecurityV1beta1CertificateProvider" }, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -398474,7 +406499,9 @@ "sdkProperties": { "billingProjectId": {}, "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -398541,7 +406568,9 @@ "sdkProperties": { "billingProjectId": {}, "description": {}, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -398629,7 +406658,9 @@ "firewallEndpoint": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -398701,7 +406732,9 @@ "firewallEndpoint": { "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": { "required": true }, @@ -398947,7 +406980,9 @@ "items": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -398988,7 +407023,9 @@ "items": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -399253,7 +407290,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -399329,7 +407368,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -399421,7 +407462,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -399491,7 +407534,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -399578,7 +407623,9 @@ "sdkProperties": { "allowOpen": {}, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtlsPolicy": { "$ref": "#/types/google-native:networksecurity/v1beta1:MTLSPolicy" }, @@ -399651,7 +407698,9 @@ "sdkProperties": { "allowOpen": {}, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mtlsPolicy": { "$ref": "#/types/google-native:networksecurity/v1beta1:MTLSPolicy" }, @@ -401803,7 +409852,9 @@ "$ref": "#/types/google-native:networkservices/v1:EndpointMatcher", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -401883,7 +409934,9 @@ "$ref": "#/types/google-native:networkservices/v1:EndpointMatcher", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -402414,7 +410467,9 @@ "gatewaySecurityPolicy": { "pattern": "projects/{project}/locations/{location}/gatewaySecurityPolicies/{gatewaySecurityPolicy}" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -402465,7 +410520,9 @@ }, "description": {}, "gatewaySecurityPolicy": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -402976,7 +411033,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -403024,7 +411083,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -403101,7 +411162,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -403149,7 +411212,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -403222,7 +411287,9 @@ "interceptionPort": { "format": "int32" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true } @@ -403257,7 +411324,9 @@ "interceptionPort": { "format": "int32" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true } @@ -403749,7 +411818,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -404298,7 +412369,9 @@ "gateways": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -404342,7 +412415,9 @@ "gateways": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -404415,7 +412490,9 @@ "gateways": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -404459,7 +412536,9 @@ "gateways": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -404535,7 +412614,9 @@ "$ref": "#/types/google-native:networkservices/v1beta1:EndpointMatcher", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -404615,7 +412696,9 @@ "$ref": "#/types/google-native:networkservices/v1beta1:EndpointMatcher", "required": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -405146,7 +413229,9 @@ "gatewaySecurityPolicy": { "pattern": "projects/{project}/locations/{location}/gatewaySecurityPolicies/{gatewaySecurityPolicy}" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -405197,7 +413282,9 @@ }, "description": {}, "gatewaySecurityPolicy": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -405708,7 +413795,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -405756,7 +413845,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -405833,7 +413924,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -405881,7 +413974,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -405965,7 +414060,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:networkservices/v1beta1:LbRouteExtensionLoadBalancingScheme", "required": true @@ -406050,7 +414147,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:networkservices/v1beta1:LbRouteExtensionLoadBalancingScheme", "required": true @@ -406153,7 +414252,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:networkservices/v1beta1:LbTrafficExtensionLoadBalancingScheme", "required": true @@ -406238,7 +414339,9 @@ "required": true, "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingScheme": { "$ref": "#/types/google-native:networkservices/v1beta1:LbTrafficExtensionLoadBalancingScheme", "required": true @@ -406330,7 +414433,9 @@ "interceptionPort": { "format": "int32" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true } @@ -406365,7 +414470,9 @@ "interceptionPort": { "format": "int32" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true } @@ -406857,7 +414964,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "required": true }, @@ -407409,7 +415518,9 @@ "failoverConfig": { "$ref": "#/types/google-native:networkservices/v1beta1:ServiceLbPolicyFailoverConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingAlgorithm": { "$ref": "#/types/google-native:networkservices/v1beta1:ServiceLbPolicyLoadBalancingAlgorithm" }, @@ -407484,7 +415595,9 @@ "failoverConfig": { "$ref": "#/types/google-native:networkservices/v1beta1:ServiceLbPolicyFailoverConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "loadBalancingAlgorithm": { "$ref": "#/types/google-native:networkservices/v1beta1:ServiceLbPolicyLoadBalancingAlgorithm" }, @@ -408004,7 +416117,9 @@ "gateways": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -408048,7 +416163,9 @@ "gateways": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -408121,7 +416238,9 @@ "gateways": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -408165,7 +416284,9 @@ "gateways": { "items": {} }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "meshes": { "items": {} }, @@ -408486,11 +416607,15 @@ "items": {} }, "kmsKey": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "machineType": { "required": true }, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "network": {}, "nicType": { "$ref": "#/types/google-native:notebooks/v1:InstanceNicType" @@ -409016,7 +417141,9 @@ "accessConfig": { "$ref": "#/types/google-native:notebooks/v1:RuntimeAccessConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "softwareConfig": { "$ref": "#/types/google-native:notebooks/v1:RuntimeSoftwareConfig" }, @@ -409090,7 +417217,9 @@ "accessConfig": { "$ref": "#/types/google-native:notebooks/v1:RuntimeAccessConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "softwareConfig": { "$ref": "#/types/google-native:notebooks/v1:RuntimeSoftwareConfig" }, @@ -409685,7 +417814,9 @@ "instanceOwners": { "items": {} }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -409757,7 +417888,9 @@ "instanceOwners": { "items": {} }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -412588,7 +420721,9 @@ "issuancePolicy": { "$ref": "#/types/google-native:privateca/v1:IssuancePolicy" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "publishingOptions": { "$ref": "#/types/google-native:privateca/v1:PublishingOptions" }, @@ -412664,7 +420799,9 @@ "issuancePolicy": { "$ref": "#/types/google-native:privateca/v1:IssuancePolicy" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "publishingOptions": { "$ref": "#/types/google-native:privateca/v1:PublishingOptions" }, @@ -413752,7 +421889,9 @@ "$ref": "#/types/google-native:privateca/v1:CertificateConfig", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifetime": { "format": "google-duration", "required": true, @@ -413836,7 +421975,9 @@ "$ref": "#/types/google-native:privateca/v1:CertificateConfig", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifetime": { "format": "google-duration", "required": true, @@ -413912,7 +422053,9 @@ "required": true, "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifetime": { "format": "google-duration", "required": true, @@ -414013,7 +422156,9 @@ "required": true, "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifetime": { "format": "google-duration", "required": true, @@ -414121,7 +422266,9 @@ "identityConstraints": { "$ref": "#/types/google-native:privateca/v1:CertificateIdentityConstraints" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maximumLifetime": { "format": "google-duration" }, @@ -414199,7 +422346,9 @@ "identityConstraints": { "$ref": "#/types/google-native:privateca/v1:CertificateIdentityConstraints" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "maximumLifetime": { "format": "google-duration" }, @@ -416470,7 +424619,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "subscription": { "required": true, "pattern": "projects/{project}/subscriptions/{subscription}" @@ -416911,7 +425062,9 @@ "$ref": "#/types/google-native:pubsub/v1:ExpirationPolicy" }, "filter": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "messageRetentionDuration": { "format": "google-duration" }, @@ -417394,7 +425547,9 @@ }, "sdkProperties": { "kmsKeyName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "messageRetentionDuration": { "format": "google-duration" }, @@ -419157,7 +427312,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "type": { "$ref": "#/types/google-native:rapidmigrationassessment/v1:AnnotationType" @@ -419252,7 +427409,9 @@ "expectedAssetCount": { "format": "int64" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceAccount": {} }, @@ -419330,7 +427489,9 @@ "expectedAssetCount": { "format": "int64" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceAccount": {} }, @@ -419515,7 +427676,9 @@ "iosSettings": { "$ref": "#/types/google-native:recaptchaenterprise/v1:GoogleCloudRecaptchaenterpriseV1IOSKeySettings" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "testingOptions": { "$ref": "#/types/google-native:recaptchaenterprise/v1:GoogleCloudRecaptchaenterpriseV1TestingOptions" @@ -419576,7 +427739,9 @@ "iosSettings": { "$ref": "#/types/google-native:recaptchaenterprise/v1:GoogleCloudRecaptchaenterpriseV1IOSKeySettings" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "testingOptions": { "$ref": "#/types/google-native:recaptchaenterprise/v1:GoogleCloudRecaptchaenterpriseV1TestingOptions" @@ -420016,7 +428181,9 @@ }, "customerManagedKey": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locationId": { "sdkName": "location" }, @@ -420037,7 +428204,9 @@ "readReplicasMode": { "$ref": "#/types/google-native:redis/v1:InstanceReadReplicasMode" }, - "redisConfigs": {}, + "redisConfigs": { + "additionalProperties": {} + }, "redisVersion": {}, "replicaCount": { "format": "int32" @@ -420133,7 +428302,9 @@ }, "customerManagedKey": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locationId": { "sdkName": "location" }, @@ -420154,7 +428325,9 @@ "readReplicasMode": { "$ref": "#/types/google-native:redis/v1:InstanceReadReplicasMode" }, - "redisConfigs": {}, + "redisConfigs": { + "additionalProperties": {} + }, "redisVersion": {}, "replicaCount": { "format": "int32" @@ -420458,7 +428631,9 @@ }, "customerManagedKey": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locationId": { "sdkName": "location" }, @@ -420479,7 +428654,9 @@ "readReplicasMode": { "$ref": "#/types/google-native:redis/v1beta1:InstanceReadReplicasMode" }, - "redisConfigs": {}, + "redisConfigs": { + "additionalProperties": {} + }, "redisVersion": {}, "replicaCount": { "format": "int32" @@ -420575,7 +428752,9 @@ }, "customerManagedKey": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "locationId": { "sdkName": "location" }, @@ -420596,7 +428775,9 @@ "readReplicasMode": { "$ref": "#/types/google-native:redis/v1beta1:InstanceReadReplicasMode" }, - "redisConfigs": {}, + "redisConfigs": { + "additionalProperties": {} + }, "redisVersion": {}, "replicaCount": { "format": "int32" @@ -421350,7 +429531,11 @@ ] }, "sdkProperties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2CustomAttribute" + } + }, "audience": { "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2Audience" }, @@ -421512,7 +429697,11 @@ ] }, "sdkProperties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2CustomAttribute" + } + }, "audience": { "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2Audience" }, @@ -422283,7 +430472,11 @@ ] }, "sdkProperties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttribute" + } + }, "audience": { "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaAudience" }, @@ -422445,7 +430638,11 @@ ] }, "sdkProperties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttribute" + } + }, "audience": { "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaAudience" }, @@ -423210,7 +431407,11 @@ ] }, "sdkProperties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttribute" + } + }, "audience": { "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaAudience" }, @@ -423372,7 +431573,11 @@ ] }, "sdkProperties": { - "attributes": {}, + "attributes": { + "additionalProperties": { + "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttribute" + } + }, "audience": { "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaAudience" }, @@ -424863,13 +433068,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "binaryAuthorization": { "$ref": "#/types/google-native:run/v2:GoogleCloudRunV2BinaryAuthorization" }, "client": {}, "clientVersion": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "launchStage": { "$ref": "#/types/google-native:run/v2:JobLaunchStage" }, @@ -424939,13 +433148,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "binaryAuthorization": { "$ref": "#/types/google-native:run/v2:GoogleCloudRunV2BinaryAuthorization" }, "client": {}, "clientVersion": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "launchStage": { "$ref": "#/types/google-native:run/v2:JobLaunchStage" }, @@ -425463,7 +433676,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "binaryAuthorization": { "$ref": "#/types/google-native:run/v2:GoogleCloudRunV2BinaryAuthorization" }, @@ -425476,7 +433691,9 @@ "ingress": { "$ref": "#/types/google-native:run/v2:ServiceIngress" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "launchStage": { "$ref": "#/types/google-native:run/v2:ServiceLaunchStage" }, @@ -425552,7 +433769,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "binaryAuthorization": { "$ref": "#/types/google-native:run/v2:GoogleCloudRunV2BinaryAuthorization" }, @@ -425565,7 +433784,9 @@ "ingress": { "$ref": "#/types/google-native:run/v2:ServiceIngress" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "launchStage": { "$ref": "#/types/google-native:run/v2:ServiceLaunchStage" }, @@ -426729,12 +434950,16 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "etag": {}, "expireTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "replication": { "$ref": "#/types/google-native:secretmanager/v1:Replication", "required": true, @@ -426751,7 +434976,9 @@ "ttl": { "format": "google-duration" }, - "versionAliases": {} + "versionAliases": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -426796,12 +435023,16 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "etag": {}, "expireTime": { "format": "google-datetime" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "replication": { "$ref": "#/types/google-native:secretmanager/v1:Replication", "required": true, @@ -426818,7 +435049,9 @@ "ttl": { "format": "google-duration" }, - "versionAliases": {} + "versionAliases": { + "additionalProperties": {} + } }, "verb": "PATCH", "updateMask": { @@ -427241,7 +435474,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "replication": { "$ref": "#/types/google-native:secretmanager/v1beta1:Replication", "required": true, @@ -427291,7 +435526,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "replication": { "$ref": "#/types/google-native:secretmanager/v1beta1:Replication", "required": true, @@ -429821,7 +438058,9 @@ }, "sdkProperties": { "address": {}, - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -429909,7 +438148,9 @@ }, "sdkProperties": { "address": {}, - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -429991,7 +438232,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true } @@ -430051,7 +438294,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true } @@ -430944,7 +439189,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "name": { "forceNew": true } @@ -431014,7 +439261,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "name": { "forceNew": true } @@ -431095,7 +439344,9 @@ }, "sdkProperties": { "address": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -431183,7 +439434,9 @@ }, "sdkProperties": { "address": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": { "forceNew": true }, @@ -431265,7 +439518,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true } @@ -431325,7 +439580,9 @@ ] }, "sdkProperties": { - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": { "forceNew": true } @@ -432659,7 +440916,9 @@ ] }, "sdkProperties": { - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": { "forceNew": true } @@ -432729,7 +440988,9 @@ ] }, "sdkProperties": { - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "name": { "forceNew": true } @@ -433765,7 +442026,11 @@ "$ref": "#/types/google-native:sourcerepo/v1:MirrorConfig" }, "name": {}, - "pubsubConfigs": {}, + "pubsubConfigs": { + "additionalProperties": { + "$ref": "#/types/google-native:sourcerepo/v1:PubsubConfig" + } + }, "size": { "format": "int64" }, @@ -437493,7 +445758,9 @@ }, "id": {}, "kind": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifecycle": { "$ref": "#/types/google-native:storage/v1:BucketLifecycle" }, @@ -437595,7 +445862,9 @@ }, "id": {}, "kind": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "lifecycle": { "$ref": "#/types/google-native:storage/v1:BucketLifecycle" }, @@ -438118,7 +446387,9 @@ "kmsKeyName": {}, "md5Hash": {}, "mediaLink": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "metageneration": { "format": "int64" }, @@ -438204,7 +446475,9 @@ "kmsKeyName": {}, "md5Hash": {}, "mediaLink": {}, - "metadata": {}, + "metadata": { + "additionalProperties": {} + }, "metageneration": { "format": "int64" }, @@ -438812,6 +447085,7 @@ }, "sdkProperties": { "custom_attributes": { + "additionalProperties": {}, "sdkName": "customAttributes" }, "etag": {}, @@ -440214,7 +448488,9 @@ "health": { "$ref": "#/types/google-native:tpu/v1:NodeHealth" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "schedulingConfig": { "$ref": "#/types/google-native:tpu/v1:SchedulingConfig" @@ -440340,7 +448616,9 @@ "health": { "$ref": "#/types/google-native:tpu/v1alpha1:NodeHealth" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "network": {}, "schedulingConfig": { "$ref": "#/types/google-native:tpu/v1alpha1:SchedulingConfig" @@ -440468,8 +448746,12 @@ "health": { "$ref": "#/types/google-native:tpu/v2:NodeHealth" }, - "labels": {}, - "metadata": {}, + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + }, "networkConfig": { "$ref": "#/types/google-native:tpu/v2:NetworkConfig" }, @@ -440566,8 +448848,12 @@ "health": { "$ref": "#/types/google-native:tpu/v2:NodeHealth" }, - "labels": {}, - "metadata": {}, + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + }, "networkConfig": { "$ref": "#/types/google-native:tpu/v2:NetworkConfig" }, @@ -440688,8 +448974,12 @@ "health": { "$ref": "#/types/google-native:tpu/v2alpha1:NodeHealth" }, - "labels": {}, - "metadata": {}, + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + }, "networkConfig": { "$ref": "#/types/google-native:tpu/v2alpha1:NetworkConfig" }, @@ -440790,8 +449080,12 @@ "health": { "$ref": "#/types/google-native:tpu/v2alpha1:NodeHealth" }, - "labels": {}, - "metadata": {}, + "labels": { + "additionalProperties": {} + }, + "metadata": { + "additionalProperties": {} + }, "networkConfig": { "$ref": "#/types/google-native:tpu/v2alpha1:NetworkConfig" }, @@ -441018,7 +449312,9 @@ "$ref": "#/types/google-native:transcoder/v1:JobConfig" }, "inputUri": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "mode": { "$ref": "#/types/google-native:transcoder/v1:JobMode" }, @@ -441121,7 +449417,9 @@ "config": { "$ref": "#/types/google-native:transcoder/v1:JobConfig" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -442796,7 +451094,9 @@ }, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "policy": { "$ref": "#/types/google-native:vmmigration/v1:SchedulePolicy" }, @@ -442878,7 +451178,9 @@ }, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "policy": { "$ref": "#/types/google-native:vmmigration/v1:SchedulePolicy" }, @@ -442982,7 +451284,9 @@ "$ref": "#/types/google-native:vmmigration/v1:Encryption", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "vmware": { "$ref": "#/types/google-native:vmmigration/v1:VmwareSourceDetails" } @@ -443056,7 +451360,9 @@ "$ref": "#/types/google-native:vmmigration/v1:Encryption", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "vmware": { "$ref": "#/types/google-native:vmmigration/v1:VmwareSourceDetails" } @@ -443922,7 +452228,9 @@ }, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "policy": { "$ref": "#/types/google-native:vmmigration/v1alpha1:SchedulePolicy" }, @@ -444010,7 +452318,9 @@ }, "description": {}, "displayName": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "policy": { "$ref": "#/types/google-native:vmmigration/v1alpha1:SchedulePolicy" }, @@ -444117,7 +452427,9 @@ "$ref": "#/types/google-native:vmmigration/v1alpha1:Encryption", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "vmware": { "$ref": "#/types/google-native:vmmigration/v1alpha1:VmwareSourceDetails" } @@ -444191,7 +452503,9 @@ "$ref": "#/types/google-native:vmmigration/v1alpha1:Encryption", "forceNew": true }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "vmware": { "$ref": "#/types/google-native:vmmigration/v1alpha1:VmwareSourceDetails" } @@ -444566,7 +452880,10 @@ }, "sdkProperties": { "nodeTypeConfigs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:vmwareengine/v1:NodeTypeConfig" + } }, "stretchedClusterConfig": { "$ref": "#/types/google-native:vmwareengine/v1:StretchedClusterConfig" @@ -444646,7 +452963,10 @@ }, "sdkProperties": { "nodeTypeConfigs": { - "required": true + "required": true, + "additionalProperties": { + "$ref": "#/types/google-native:vmwareengine/v1:NodeTypeConfig" + } }, "stretchedClusterConfig": { "$ref": "#/types/google-native:vmwareengine/v1:StretchedClusterConfig" @@ -448680,7 +457000,9 @@ "callLogLevel": { "$ref": "#/types/google-native:workflowexecutions/v1:ExecutionCallLogLevel" }, - "labels": {} + "labels": { + "additionalProperties": {} + } }, "verb": "POST", "autoname": {} @@ -448833,13 +457155,17 @@ }, "cryptoKeyName": {}, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceAccount": { "pattern": "projects/{project}/serviceAccounts/{serviceAccount}" }, "sourceContents": {}, - "userEnvVars": {} + "userEnvVars": { + "additionalProperties": {} + } }, "verb": "POST", "operations": { @@ -448906,11 +457232,15 @@ }, "cryptoKeyName": {}, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceAccount": {}, "sourceContents": {}, - "userEnvVars": {} + "userEnvVars": { + "additionalProperties": {} + } }, "verb": "PATCH", "operations": { @@ -448990,7 +457320,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceAccount": { "pattern": "projects/{project}/serviceAccounts/{serviceAccount}" @@ -449058,7 +457390,9 @@ }, "sdkProperties": { "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "serviceAccount": {}, "sourceContents": {} @@ -449146,7 +457480,9 @@ "sdkProperties": { "customRulesBucket": {}, "description": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "resourceFilter": { "$ref": "#/types/google-native:workloadmanager/v1:ResourceFilter" @@ -449242,11 +457578,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, - "env": {}, + "env": { + "additionalProperties": {} + }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -449334,11 +457676,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, - "env": {}, + "env": { + "additionalProperties": {} + }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -449432,10 +457780,14 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": { "forceNew": true @@ -449512,10 +457864,14 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": { "forceNew": true @@ -450647,7 +459003,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "container": { "$ref": "#/types/google-native:workstations/v1:Container" }, @@ -450663,7 +459021,9 @@ "idleTimeout": { "format": "google-duration" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "persistentDirectories": { "items": { @@ -450758,7 +459118,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "container": { "$ref": "#/types/google-native:workstations/v1:Container" }, @@ -450774,7 +459136,9 @@ "idleTimeout": { "format": "google-duration" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "persistentDirectories": { "items": { @@ -450889,11 +459253,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, - "env": {}, + "env": { + "additionalProperties": {} + }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "POST", @@ -450981,11 +459351,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, - "env": {}, + "env": { + "additionalProperties": {} + }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {} }, "verb": "PATCH", @@ -451079,13 +459455,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "domainConfig": { "$ref": "#/types/google-native:workstations/v1beta:DomainConfig" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": { "forceNew": true @@ -451162,13 +459542,17 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "displayName": {}, "domainConfig": { "$ref": "#/types/google-native:workstations/v1beta:DomainConfig" }, "etag": {}, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "network": { "forceNew": true @@ -452300,7 +460684,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "container": { "$ref": "#/types/google-native:workstations/v1beta:Container" }, @@ -452323,7 +460709,9 @@ "idleTimeout": { "format": "google-duration" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "persistentDirectories": { "items": { @@ -452418,7 +460806,9 @@ ] }, "sdkProperties": { - "annotations": {}, + "annotations": { + "additionalProperties": {} + }, "container": { "$ref": "#/types/google-native:workstations/v1beta:Container" }, @@ -452441,7 +460831,9 @@ "idleTimeout": { "format": "google-duration" }, - "labels": {}, + "labels": { + "additionalProperties": {} + }, "name": {}, "persistentDirectories": { "items": { diff --git a/provider/cmd/pulumi-resource-google-native/schema.json b/provider/cmd/pulumi-resource-google-native/schema.json index d4a72b1876..971942844b 100644 --- a/provider/cmd/pulumi-resource-google-native/schema.json +++ b/provider/cmd/pulumi-resource-google-native/schema.json @@ -3759,6 +3759,80 @@ "trainingConfig" ] }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ArtifactResponse": { + "description": "Instance of a general artifact.", + "properties": { + "createTime": { + "type": "string", + "description": "Timestamp when this Artifact was created." + }, + "description": { + "type": "string", + "description": "Description of the Artifact" + }, + "displayName": { + "type": "string", + "description": "User provided display name of the Artifact. May be up to 128 Unicode characters." + }, + "etag": { + "type": "string", + "description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens." + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded)." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." + }, + "name": { + "type": "string", + "description": "The resource name of the Artifact." + }, + "schemaTitle": { + "type": "string", + "description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store." + }, + "schemaVersion": { + "type": "string", + "description": "The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store." + }, + "state": { + "type": "string", + "description": "The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions." + }, + "updateTime": { + "type": "string", + "description": "Timestamp when this Artifact was last updated." + }, + "uri": { + "type": "string", + "description": "The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file." + } + }, + "type": "object", + "required": [ + "createTime", + "description", + "displayName", + "etag", + "labels", + "metadata", + "name", + "schemaTitle", + "schemaVersion", + "state", + "updateTime", + "uri" + ] + }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1AutomaticResourcesResponse": { "description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", "properties": { @@ -4236,10 +4310,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -4965,10 +5045,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -5016,6 +5102,10 @@ }, "inputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadata" + }, "description": "Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance." }, "latentSpaceSource": { @@ -5024,6 +5114,10 @@ }, "outputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata" + }, "description": "Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed." } }, @@ -5033,6 +5127,469 @@ "outputs" ] }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadata": { + "description": "Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow.", + "properties": { + "denseShapeTensorName": { + "type": "string", + "description": "Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor." + }, + "encodedBaselines": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor." + }, + "encodedTensorName": { + "type": "string", + "description": "Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table." + }, + "encoding": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding", + "description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY." + }, + "featureValueDomain": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain", + "description": "The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized." + }, + "groupName": { + "type": "string", + "description": "Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name." + }, + "indexFeatureMapping": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR." + }, + "indicesTensorName": { + "type": "string", + "description": "Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor." + }, + "inputBaselines": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri." + }, + "inputTensorName": { + "type": "string", + "description": "Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow." + }, + "modality": { + "type": "string", + "description": "Modality of the feature. Valid values are: numeric, image. Defaults to numeric." + }, + "visualization": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization", + "description": "Visualization configurations for image explanation." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding": { + "description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY.", + "type": "string", + "enum": [ + { + "name": "EncodingUnspecified", + "description": "Default value. This is the same as IDENTITY.", + "value": "ENCODING_UNSPECIFIED" + }, + { + "name": "Identity", + "description": "The tensor represents one feature.", + "value": "IDENTITY" + }, + { + "name": "BagOfFeatures", + "description": "The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = [\"age\", \"height\", \"weight\"] ```", + "value": "BAG_OF_FEATURES" + }, + { + "name": "BagOfFeaturesSparse", + "description": "The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", + "value": "BAG_OF_FEATURES_SPARSE" + }, + { + "name": "Indicator", + "description": "The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", + "value": "INDICATOR" + }, + { + "name": "CombinedEmbedding", + "description": "The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ```", + "value": "COMBINED_EMBEDDING" + }, + { + "name": "ConcatEmbedding", + "description": "Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ```", + "value": "CONCAT_EMBEDDING" + } + ] + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain": { + "description": "Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained.", + "properties": { + "maxValue": { + "type": "number", + "description": "The maximum permissible value for this feature." + }, + "minValue": { + "type": "number", + "description": "The minimum permissible value for this feature." + }, + "originalMean": { + "type": "number", + "description": "If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization." + }, + "originalStddev": { + "type": "number", + "description": "If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse": { + "description": "Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained.", + "properties": { + "maxValue": { + "type": "number", + "description": "The maximum permissible value for this feature." + }, + "minValue": { + "type": "number", + "description": "The minimum permissible value for this feature." + }, + "originalMean": { + "type": "number", + "description": "If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization." + }, + "originalStddev": { + "type": "number", + "description": "If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization." + } + }, + "type": "object", + "required": [ + "maxValue", + "minValue", + "originalMean", + "originalStddev" + ] + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse": { + "description": "Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow.", + "properties": { + "denseShapeTensorName": { + "type": "string", + "description": "Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor." + }, + "encodedBaselines": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor." + }, + "encodedTensorName": { + "type": "string", + "description": "Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table." + }, + "encoding": { + "type": "string", + "description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY." + }, + "featureValueDomain": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse", + "description": "The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized." + }, + "groupName": { + "type": "string", + "description": "Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name." + }, + "indexFeatureMapping": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR." + }, + "indicesTensorName": { + "type": "string", + "description": "Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor." + }, + "inputBaselines": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri." + }, + "inputTensorName": { + "type": "string", + "description": "Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow." + }, + "modality": { + "type": "string", + "description": "Modality of the feature. Valid values are: numeric, image. Defaults to numeric." + }, + "visualization": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse", + "description": "Visualization configurations for image explanation." + } + }, + "type": "object", + "required": [ + "denseShapeTensorName", + "encodedBaselines", + "encodedTensorName", + "encoding", + "featureValueDomain", + "groupName", + "indexFeatureMapping", + "indicesTensorName", + "inputBaselines", + "inputTensorName", + "modality", + "visualization" + ] + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization": { + "description": "Visualization configurations for image explanation.", + "properties": { + "clipPercentLowerbound": { + "type": "number", + "description": "Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62." + }, + "clipPercentUpperbound": { + "type": "number", + "description": "Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9." + }, + "colorMap": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap", + "description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue." + }, + "overlayType": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType", + "description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE." + }, + "polarity": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity", + "description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE." + }, + "type": { + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType", + "description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap": { + "description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue.", + "type": "string", + "enum": [ + { + "name": "ColorMapUnspecified", + "description": "Should not be used.", + "value": "COLOR_MAP_UNSPECIFIED" + }, + { + "name": "PinkGreen", + "description": "Positive: green. Negative: pink.", + "value": "PINK_GREEN" + }, + { + "name": "Viridis", + "description": "Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue.", + "value": "VIRIDIS" + }, + { + "name": "Red", + "description": "Positive: red. Negative: red.", + "value": "RED" + }, + { + "name": "Green", + "description": "Positive: green. Negative: green.", + "value": "GREEN" + }, + { + "name": "RedGreen", + "description": "Positive: green. Negative: red.", + "value": "RED_GREEN" + }, + { + "name": "PinkWhiteGreen", + "description": "PiYG palette.", + "value": "PINK_WHITE_GREEN" + } + ] + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType": { + "description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE.", + "type": "string", + "enum": [ + { + "name": "OverlayTypeUnspecified", + "description": "Default value. This is the same as NONE.", + "value": "OVERLAY_TYPE_UNSPECIFIED" + }, + { + "name": "None", + "description": "No overlay.", + "value": "NONE" + }, + { + "name": "Original", + "description": "The attributions are shown on top of the original image.", + "value": "ORIGINAL" + }, + { + "name": "Grayscale", + "description": "The attributions are shown on top of grayscaled version of the original image.", + "value": "GRAYSCALE" + }, + { + "name": "MaskBlack", + "description": "The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts.", + "value": "MASK_BLACK" + } + ] + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity": { + "description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE.", + "type": "string", + "enum": [ + { + "name": "PolarityUnspecified", + "description": "Default value. This is the same as POSITIVE.", + "value": "POLARITY_UNSPECIFIED" + }, + { + "name": "Positive", + "description": "Highlights the pixels/outlines that were most influential to the model's prediction.", + "value": "POSITIVE" + }, + { + "name": "Negative", + "description": "Setting polarity to negative highlights areas that does not lead to the models's current prediction.", + "value": "NEGATIVE" + }, + { + "name": "Both", + "description": "Shows both positive and negative attributions.", + "value": "BOTH" + } + ] + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse": { + "description": "Visualization configurations for image explanation.", + "properties": { + "clipPercentLowerbound": { + "type": "number", + "description": "Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62." + }, + "clipPercentUpperbound": { + "type": "number", + "description": "Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9." + }, + "colorMap": { + "type": "string", + "description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue." + }, + "overlayType": { + "type": "string", + "description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE." + }, + "polarity": { + "type": "string", + "description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE." + }, + "type": { + "type": "string", + "description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES." + } + }, + "type": "object", + "required": [ + "clipPercentLowerbound", + "clipPercentUpperbound", + "colorMap", + "overlayType", + "polarity", + "type" + ] + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType": { + "description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES.", + "type": "string", + "enum": [ + { + "name": "TypeUnspecified", + "description": "Should not be used.", + "value": "TYPE_UNSPECIFIED" + }, + { + "name": "Pixels", + "description": "Shows which pixel contributed to the image prediction.", + "value": "PIXELS" + }, + { + "name": "Outlines", + "description": "Shows which region contributed to the image prediction by outlining the region.", + "value": "OUTLINES" + } + ] + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata": { + "description": "Metadata of the prediction output to be explained.", + "properties": { + "displayNameMappingKey": { + "type": "string", + "description": "Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output." + }, + "indexDisplayNameMapping": { + "$ref": "pulumi.json#/Any", + "description": "Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index." + }, + "outputTensorName": { + "type": "string", + "description": "Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse": { + "description": "Metadata of the prediction output to be explained.", + "properties": { + "displayNameMappingKey": { + "type": "string", + "description": "Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output." + }, + "indexDisplayNameMapping": { + "$ref": "pulumi.json#/Any", + "description": "Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index." + }, + "outputTensorName": { + "type": "string", + "description": "Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow." + } + }, + "type": "object", + "required": [ + "displayNameMappingKey", + "indexDisplayNameMapping", + "outputTensorName" + ] + }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataResponse": { "description": "Metadata describing the Model's input and output for explanation.", "properties": { @@ -5042,6 +5599,10 @@ }, "inputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse" + }, "description": "Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance." }, "latentSpaceSource": { @@ -5050,6 +5611,10 @@ }, "outputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse" + }, "description": "Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed." } }, @@ -6441,6 +7006,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Models. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "metadata": { @@ -6963,6 +7531,10 @@ "properties": { "attributionScoreDriftThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" + }, "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows." }, "defaultDriftThreshold": { @@ -6972,6 +7544,10 @@ }, "driftThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" + }, "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws." } }, @@ -6982,6 +7558,10 @@ "properties": { "attributionScoreDriftThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" + }, "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows." }, "defaultDriftThreshold": { @@ -6991,6 +7571,10 @@ }, "driftThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" + }, "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws." } }, @@ -7112,6 +7696,10 @@ "properties": { "attributionScoreSkewThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" + }, "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature." }, "defaultSkewThreshold": { @@ -7121,6 +7709,10 @@ }, "skewThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfig" + }, "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature." } }, @@ -7131,6 +7723,10 @@ "properties": { "attributionScoreSkewThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" + }, "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature." }, "defaultSkewThreshold": { @@ -7140,6 +7736,10 @@ }, "skewThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ThresholdConfigResponse" + }, "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature." } }, @@ -7211,6 +7811,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Models. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "metadata": { @@ -7910,6 +8513,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "network": { @@ -7918,6 +8524,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "reservedIpRanges": { @@ -8004,6 +8613,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "name": { @@ -8016,6 +8628,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "reservedIpRanges": { @@ -8096,14 +8711,25 @@ }, "inputArtifacts": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact" + }, "description": "The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact." }, "parameterValues": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL." }, "parameters": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1Value" + }, "description": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.", "deprecationMessage": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower." } @@ -8134,6 +8760,29 @@ } ] }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact": { + "description": "The type of an input artifact.", + "properties": { + "artifactId": { + "type": "string", + "description": "Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse": { + "description": "The type of an input artifact.", + "properties": { + "artifactId": { + "type": "string", + "description": "Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline." + } + }, + "type": "object", + "required": [ + "artifactId" + ] + }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse": { "description": "The runtime config of a PipelineJob.", "properties": { @@ -8147,14 +8796,25 @@ }, "inputArtifacts": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse" + }, "description": "The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact." }, "parameterValues": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL." }, "parameters": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ValueResponse" + }, "description": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.", "deprecationMessage": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower." } @@ -8168,6 +8828,23 @@ "parameters" ] }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse": { + "description": "A list of artifact metadata.", + "properties": { + "artifacts": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1ArtifactResponse" + }, + "description": "A list of artifact metadata." + } + }, + "type": "object", + "required": [ + "artifacts" + ] + }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatusResponse": { "description": "A single record of the task status.", "properties": { @@ -8220,10 +8897,18 @@ }, "inputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse" + }, "description": "The runtime input artifacts of the task." }, "outputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1:GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse" + }, "description": "The runtime output artifacts of the task." }, "parentTaskId": { @@ -10333,6 +11018,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -10396,6 +11084,47 @@ "predictSchemata" ] }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1Value": { + "description": "Value is the value of the field.", + "properties": { + "doubleValue": { + "type": "number", + "description": "A double value." + }, + "intValue": { + "type": "string", + "description": "An integer value." + }, + "stringValue": { + "type": "string", + "description": "A string value." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1:GoogleCloudAiplatformV1ValueResponse": { + "description": "Value is the value of the field.", + "properties": { + "doubleValue": { + "type": "number", + "description": "A double value." + }, + "intValue": { + "type": "string", + "description": "An integer value." + }, + "stringValue": { + "type": "string", + "description": "A string value." + } + }, + "type": "object", + "required": [ + "doubleValue", + "intValue", + "stringValue" + ] + }, "google-native:aiplatform/v1:GoogleCloudAiplatformV1WorkerPoolSpec": { "description": "Represents the spec of a worker pool in a job.", "properties": { @@ -10587,7 +11316,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -10998,6 +11730,80 @@ "trainingConfig" ] }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ArtifactResponse": { + "description": "Instance of a general artifact.", + "properties": { + "createTime": { + "type": "string", + "description": "Timestamp when this Artifact was created." + }, + "description": { + "type": "string", + "description": "Description of the Artifact" + }, + "displayName": { + "type": "string", + "description": "User provided display name of the Artifact. May be up to 128 Unicode characters." + }, + "etag": { + "type": "string", + "description": "An eTag used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens." + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded)." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." + }, + "name": { + "type": "string", + "description": "The resource name of the Artifact." + }, + "schemaTitle": { + "type": "string", + "description": "The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store." + }, + "schemaVersion": { + "type": "string", + "description": "The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store." + }, + "state": { + "type": "string", + "description": "The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions." + }, + "updateTime": { + "type": "string", + "description": "Timestamp when this Artifact was last updated." + }, + "uri": { + "type": "string", + "description": "The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file." + } + }, + "type": "object", + "required": [ + "createTime", + "description", + "displayName", + "etag", + "labels", + "metadata", + "name", + "schemaTitle", + "schemaVersion", + "state", + "updateTime", + "uri" + ] + }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1AutomaticResourcesResponse": { "description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", "properties": { @@ -11475,10 +12281,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -12234,10 +13046,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -12285,6 +13103,10 @@ }, "inputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata" + }, "description": "Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance." }, "latentSpaceSource": { @@ -12293,6 +13115,10 @@ }, "outputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata" + }, "description": "Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed." } }, @@ -12302,6 +13128,469 @@ "outputs" ] }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata": { + "description": "Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow.", + "properties": { + "denseShapeTensorName": { + "type": "string", + "description": "Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor." + }, + "encodedBaselines": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor." + }, + "encodedTensorName": { + "type": "string", + "description": "Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table." + }, + "encoding": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding", + "description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY." + }, + "featureValueDomain": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain", + "description": "The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized." + }, + "groupName": { + "type": "string", + "description": "Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name." + }, + "indexFeatureMapping": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR." + }, + "indicesTensorName": { + "type": "string", + "description": "Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor." + }, + "inputBaselines": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri." + }, + "inputTensorName": { + "type": "string", + "description": "Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow." + }, + "modality": { + "type": "string", + "description": "Modality of the feature. Valid values are: numeric, image. Defaults to numeric." + }, + "visualization": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization", + "description": "Visualization configurations for image explanation." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding": { + "description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY.", + "type": "string", + "enum": [ + { + "name": "EncodingUnspecified", + "description": "Default value. This is the same as IDENTITY.", + "value": "ENCODING_UNSPECIFIED" + }, + { + "name": "Identity", + "description": "The tensor represents one feature.", + "value": "IDENTITY" + }, + { + "name": "BagOfFeatures", + "description": "The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = [\"age\", \"height\", \"weight\"] ```", + "value": "BAG_OF_FEATURES" + }, + { + "name": "BagOfFeaturesSparse", + "description": "The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", + "value": "BAG_OF_FEATURES_SPARSE" + }, + { + "name": "Indicator", + "description": "The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = [\"a\", \"b\", \"c\", \"d\", \"e\"] ```", + "value": "INDICATOR" + }, + { + "name": "CombinedEmbedding", + "description": "The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ```", + "value": "COMBINED_EMBEDDING" + }, + { + "name": "ConcatEmbedding", + "description": "Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = [\"This\", \"is\", \"a\", \"test\", \".\"] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ```", + "value": "CONCAT_EMBEDDING" + } + ] + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain": { + "description": "Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained.", + "properties": { + "maxValue": { + "type": "number", + "description": "The maximum permissible value for this feature." + }, + "minValue": { + "type": "number", + "description": "The minimum permissible value for this feature." + }, + "originalMean": { + "type": "number", + "description": "If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization." + }, + "originalStddev": { + "type": "number", + "description": "If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse": { + "description": "Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained.", + "properties": { + "maxValue": { + "type": "number", + "description": "The maximum permissible value for this feature." + }, + "minValue": { + "type": "number", + "description": "The minimum permissible value for this feature." + }, + "originalMean": { + "type": "number", + "description": "If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization." + }, + "originalStddev": { + "type": "number", + "description": "If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization." + } + }, + "type": "object", + "required": [ + "maxValue", + "minValue", + "originalMean", + "originalStddev" + ] + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse": { + "description": "Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow.", + "properties": { + "denseShapeTensorName": { + "type": "string", + "description": "Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor." + }, + "encodedBaselines": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor." + }, + "encodedTensorName": { + "type": "string", + "description": "Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table." + }, + "encoding": { + "type": "string", + "description": "Defines how the feature is encoded into the input tensor. Defaults to IDENTITY." + }, + "featureValueDomain": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse", + "description": "The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized." + }, + "groupName": { + "type": "string", + "description": "Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name." + }, + "indexFeatureMapping": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR." + }, + "indicesTensorName": { + "type": "string", + "description": "Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor." + }, + "inputBaselines": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri." + }, + "inputTensorName": { + "type": "string", + "description": "Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow." + }, + "modality": { + "type": "string", + "description": "Modality of the feature. Valid values are: numeric, image. Defaults to numeric." + }, + "visualization": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse", + "description": "Visualization configurations for image explanation." + } + }, + "type": "object", + "required": [ + "denseShapeTensorName", + "encodedBaselines", + "encodedTensorName", + "encoding", + "featureValueDomain", + "groupName", + "indexFeatureMapping", + "indicesTensorName", + "inputBaselines", + "inputTensorName", + "modality", + "visualization" + ] + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization": { + "description": "Visualization configurations for image explanation.", + "properties": { + "clipPercentLowerbound": { + "type": "number", + "description": "Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62." + }, + "clipPercentUpperbound": { + "type": "number", + "description": "Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9." + }, + "colorMap": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap", + "description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue." + }, + "overlayType": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType", + "description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE." + }, + "polarity": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity", + "description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE." + }, + "type": { + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType", + "description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap": { + "description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue.", + "type": "string", + "enum": [ + { + "name": "ColorMapUnspecified", + "description": "Should not be used.", + "value": "COLOR_MAP_UNSPECIFIED" + }, + { + "name": "PinkGreen", + "description": "Positive: green. Negative: pink.", + "value": "PINK_GREEN" + }, + { + "name": "Viridis", + "description": "Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue.", + "value": "VIRIDIS" + }, + { + "name": "Red", + "description": "Positive: red. Negative: red.", + "value": "RED" + }, + { + "name": "Green", + "description": "Positive: green. Negative: green.", + "value": "GREEN" + }, + { + "name": "RedGreen", + "description": "Positive: green. Negative: red.", + "value": "RED_GREEN" + }, + { + "name": "PinkWhiteGreen", + "description": "PiYG palette.", + "value": "PINK_WHITE_GREEN" + } + ] + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType": { + "description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE.", + "type": "string", + "enum": [ + { + "name": "OverlayTypeUnspecified", + "description": "Default value. This is the same as NONE.", + "value": "OVERLAY_TYPE_UNSPECIFIED" + }, + { + "name": "None", + "description": "No overlay.", + "value": "NONE" + }, + { + "name": "Original", + "description": "The attributions are shown on top of the original image.", + "value": "ORIGINAL" + }, + { + "name": "Grayscale", + "description": "The attributions are shown on top of grayscaled version of the original image.", + "value": "GRAYSCALE" + }, + { + "name": "MaskBlack", + "description": "The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts.", + "value": "MASK_BLACK" + } + ] + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity": { + "description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE.", + "type": "string", + "enum": [ + { + "name": "PolarityUnspecified", + "description": "Default value. This is the same as POSITIVE.", + "value": "POLARITY_UNSPECIFIED" + }, + { + "name": "Positive", + "description": "Highlights the pixels/outlines that were most influential to the model's prediction.", + "value": "POSITIVE" + }, + { + "name": "Negative", + "description": "Setting polarity to negative highlights areas that does not lead to the models's current prediction.", + "value": "NEGATIVE" + }, + { + "name": "Both", + "description": "Shows both positive and negative attributions.", + "value": "BOTH" + } + ] + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse": { + "description": "Visualization configurations for image explanation.", + "properties": { + "clipPercentLowerbound": { + "type": "number", + "description": "Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62." + }, + "clipPercentUpperbound": { + "type": "number", + "description": "Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9." + }, + "colorMap": { + "type": "string", + "description": "The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue." + }, + "overlayType": { + "type": "string", + "description": "How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE." + }, + "polarity": { + "type": "string", + "description": "Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE." + }, + "type": { + "type": "string", + "description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES." + } + }, + "type": "object", + "required": [ + "clipPercentLowerbound", + "clipPercentUpperbound", + "colorMap", + "overlayType", + "polarity", + "type" + ] + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType": { + "description": "Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES.", + "type": "string", + "enum": [ + { + "name": "TypeUnspecified", + "description": "Should not be used.", + "value": "TYPE_UNSPECIFIED" + }, + { + "name": "Pixels", + "description": "Shows which pixel contributed to the image prediction.", + "value": "PIXELS" + }, + { + "name": "Outlines", + "description": "Shows which region contributed to the image prediction by outlining the region.", + "value": "OUTLINES" + } + ] + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata": { + "description": "Metadata of the prediction output to be explained.", + "properties": { + "displayNameMappingKey": { + "type": "string", + "description": "Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output." + }, + "indexDisplayNameMapping": { + "$ref": "pulumi.json#/Any", + "description": "Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index." + }, + "outputTensorName": { + "type": "string", + "description": "Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse": { + "description": "Metadata of the prediction output to be explained.", + "properties": { + "displayNameMappingKey": { + "type": "string", + "description": "Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output." + }, + "indexDisplayNameMapping": { + "$ref": "pulumi.json#/Any", + "description": "Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index." + }, + "outputTensorName": { + "type": "string", + "description": "Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow." + } + }, + "type": "object", + "required": [ + "displayNameMappingKey", + "indexDisplayNameMapping", + "outputTensorName" + ] + }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataResponse": { "description": "Metadata describing the Model's input and output for explanation.", "properties": { @@ -12311,6 +13600,10 @@ }, "inputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse" + }, "description": "Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance." }, "latentSpaceSource": { @@ -12319,6 +13612,10 @@ }, "outputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse" + }, "description": "Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed." } }, @@ -13969,6 +15266,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Models. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "metadata": { @@ -14549,6 +15849,10 @@ "properties": { "attributionScoreDriftThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" + }, "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows." }, "defaultDriftThreshold": { @@ -14558,6 +15862,10 @@ }, "driftThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" + }, "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws." } }, @@ -14568,6 +15876,10 @@ "properties": { "attributionScoreDriftThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" + }, "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows." }, "defaultDriftThreshold": { @@ -14577,6 +15889,10 @@ }, "driftThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" + }, "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws." } }, @@ -14698,6 +16014,10 @@ "properties": { "attributionScoreSkewThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" + }, "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature." }, "defaultSkewThreshold": { @@ -14707,6 +16027,10 @@ }, "skewThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfig" + }, "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature." } }, @@ -14717,6 +16041,10 @@ "properties": { "attributionScoreSkewThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" + }, "description": "Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature." }, "defaultSkewThreshold": { @@ -14726,6 +16054,10 @@ }, "skewThresholds": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ThresholdConfigResponse" + }, "description": "Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature." } }, @@ -14948,6 +16280,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Models. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "metadata": { @@ -15642,6 +16977,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "network": { @@ -15650,6 +16988,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "reservedIpRanges": { @@ -15736,6 +17077,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "name": { @@ -15748,6 +17092,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "reservedIpRanges": { @@ -15828,14 +17175,25 @@ }, "inputArtifacts": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact" + }, "description": "The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact." }, "parameterValues": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL." }, "parameters": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1Value" + }, "description": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.", "deprecationMessage": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower." } @@ -15866,6 +17224,29 @@ } ] }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact": { + "description": "The type of an input artifact.", + "properties": { + "artifactId": { + "type": "string", + "description": "Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse": { + "description": "The type of an input artifact.", + "properties": { + "artifactId": { + "type": "string", + "description": "Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline." + } + }, + "type": "object", + "required": [ + "artifactId" + ] + }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse": { "description": "The runtime config of a PipelineJob.", "properties": { @@ -15879,14 +17260,25 @@ }, "inputArtifacts": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse" + }, "description": "The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact." }, "parameterValues": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL." }, "parameters": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ValueResponse" + }, "description": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.", "deprecationMessage": "Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower." } @@ -15900,6 +17292,23 @@ "parameters" ] }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse": { + "description": "A list of artifact metadata.", + "properties": { + "artifacts": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ArtifactResponse" + }, + "description": "A list of artifact metadata." + } + }, + "type": "object", + "required": [ + "artifacts" + ] + }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatusResponse": { "description": "A single record of the task status.", "properties": { @@ -15952,10 +17361,18 @@ }, "inputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse" + }, "description": "The runtime input artifacts of the task." }, "outputs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse" + }, "description": "The runtime output artifacts of the task." }, "parentTaskId": { @@ -16537,6 +17954,9 @@ }, "resourcePoolImages": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Required if image_uri isn't set. A map of resource_pool_id to prebuild Ray image if user need to use different images for different head/worker pools. This map needs to cover all the resource pool ids. Example: { \"ray_head_node_pool\": \"head image\" \"ray_worker_node_pool1\": \"worker image\" \"ray_worker_node_pool2\": \"another worker image\" }" } }, @@ -16555,6 +17975,9 @@ }, "resourcePoolImages": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Required if image_uri isn't set. A map of resource_pool_id to prebuild Ray image if user need to use different images for different head/worker pools. This map needs to cover all the resource pool ids. Example: { \"ray_head_node_pool\": \"head image\" \"ray_worker_node_pool1\": \"worker image\" \"ray_worker_node_pool2\": \"another worker image\" }" } }, @@ -16670,6 +18093,9 @@ "properties": { "accessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for user to connect to the Cluster. Example: { \"RAY_HEAD_NODE_INTERNAL_IP\": \"head-node-IP:10001\" \"RAY_DASHBOARD_URI\": \"ray-dashboard-address:8888\" }" }, "notebookRuntimeTemplate": { @@ -18409,6 +19835,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -18472,6 +19901,47 @@ "predictSchemata" ] }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1Value": { + "description": "Value is the value of the field.", + "properties": { + "doubleValue": { + "type": "number", + "description": "A double value." + }, + "intValue": { + "type": "string", + "description": "An integer value." + }, + "stringValue": { + "type": "string", + "description": "A string value." + } + }, + "type": "object" + }, + "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1ValueResponse": { + "description": "Value is the value of the field.", + "properties": { + "doubleValue": { + "type": "number", + "description": "A double value." + }, + "intValue": { + "type": "string", + "description": "An integer value." + }, + "stringValue": { + "type": "string", + "description": "A string value." + } + }, + "type": "object", + "required": [ + "doubleValue", + "intValue", + "stringValue" + ] + }, "google-native:aiplatform/v1beta1:GoogleCloudAiplatformV1beta1WorkerPoolSpec": { "description": "Represents the spec of a worker pool in a job.", "properties": { @@ -18663,7 +20133,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -18864,6 +20337,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to backups created using this configuration." }, "location": { @@ -18906,6 +20382,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to backups created using this configuration." }, "location": { @@ -19783,6 +21262,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to backups created using this configuration." }, "location": { @@ -19825,6 +21307,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to backups created using this configuration." }, "location": { @@ -20769,6 +22254,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to backups created using this configuration." }, "location": { @@ -20811,6 +22299,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to backups created using this configuration." }, "location": { @@ -26919,6 +28410,10 @@ }, "files": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:appengine/v1:FileInfo" + }, "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call." }, "zip": { @@ -26944,6 +28439,10 @@ }, "files": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:appengine/v1:FileInfoResponse" + }, "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call." }, "zip": { @@ -27208,6 +28707,47 @@ "useContainerOptimizedOs" ] }, + "google-native:appengine/v1:FileInfo": { + "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", + "properties": { + "mimeType": { + "type": "string", + "description": "The MIME type of the file.Defaults to the value from Google Cloud Storage." + }, + "sha1Sum": { + "type": "string", + "description": "The SHA1 hash of the file, in hex." + }, + "sourceUrl": { + "type": "string", + "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'." + } + }, + "type": "object" + }, + "google-native:appengine/v1:FileInfoResponse": { + "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", + "properties": { + "mimeType": { + "type": "string", + "description": "The MIME type of the file.Defaults to the value from Google Cloud Storage." + }, + "sha1Sum": { + "type": "string", + "description": "The SHA1 hash of the file, in hex." + }, + "sourceUrl": { + "type": "string", + "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'." + } + }, + "type": "object", + "required": [ + "mimeType", + "sha1Sum", + "sourceUrl" + ] + }, "google-native:appengine/v1:FlexibleRuntimeSettings": { "description": "Runtime settings for the App Engine flexible environment.", "properties": { @@ -28021,6 +29561,9 @@ }, "httpHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP headers to use for all responses from these URLs." }, "mimeType": { @@ -28055,6 +29598,9 @@ }, "httpHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP headers to use for all responses from these URLs." }, "mimeType": { @@ -29247,6 +30793,10 @@ }, "files": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:appengine/v1beta:FileInfo" + }, "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call." }, "zip": { @@ -29277,6 +30827,10 @@ }, "files": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:appengine/v1beta:FileInfoResponse" + }, "description": "Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call." }, "zip": { @@ -29542,6 +31096,47 @@ "useContainerOptimizedOs" ] }, + "google-native:appengine/v1beta:FileInfo": { + "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", + "properties": { + "mimeType": { + "type": "string", + "description": "The MIME type of the file.Defaults to the value from Google Cloud Storage." + }, + "sha1Sum": { + "type": "string", + "description": "The SHA1 hash of the file, in hex." + }, + "sourceUrl": { + "type": "string", + "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'." + } + }, + "type": "object" + }, + "google-native:appengine/v1beta:FileInfoResponse": { + "description": "Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately.", + "properties": { + "mimeType": { + "type": "string", + "description": "The MIME type of the file.Defaults to the value from Google Cloud Storage." + }, + "sha1Sum": { + "type": "string", + "description": "The SHA1 hash of the file, in hex." + }, + "sourceUrl": { + "type": "string", + "description": "URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'." + } + }, + "type": "object", + "required": [ + "mimeType", + "sha1Sum", + "sourceUrl" + ] + }, "google-native:appengine/v1beta:FlexibleRuntimeSettings": { "description": "Runtime settings for the App Engine flexible environment.", "properties": { @@ -30350,6 +31945,9 @@ }, "httpHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP headers to use for all responses from these URLs." }, "mimeType": { @@ -30384,6 +31982,9 @@ }, "httpHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP headers to use for all responses from these URLs." }, "mimeType": { @@ -30926,6 +32527,237 @@ "role" ] }, + "google-native:artifactregistry/v1:CleanupPolicy": { + "description": "Artifact policy configuration for repository cleanup policies.", + "properties": { + "action": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyAction", + "description": "Policy action." + }, + "condition": { + "type": "object", + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyCondition", + "description": "Policy condition for matching versions." + }, + "id": { + "type": "string", + "description": "The user-provided ID of the cleanup policy." + }, + "mostRecentVersions": { + "type": "object", + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyMostRecentVersions", + "description": "Policy condition for retaining a minimum number of versions. May only be specified with a Keep action." + } + }, + "type": "object" + }, + "google-native:artifactregistry/v1:CleanupPolicyAction": { + "description": "Policy action.", + "type": "string", + "enum": [ + { + "name": "ActionUnspecified", + "description": "Action not specified.", + "value": "ACTION_UNSPECIFIED" + }, + { + "name": "Delete", + "description": "Delete action.", + "value": "DELETE" + }, + { + "name": "Keep", + "description": "Keep action.", + "value": "KEEP" + } + ] + }, + "google-native:artifactregistry/v1:CleanupPolicyCondition": { + "description": "CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied.", + "properties": { + "newerThan": { + "type": "string", + "description": "Match versions newer than a duration." + }, + "olderThan": { + "type": "string", + "description": "Match versions older than a duration." + }, + "packageNamePrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match versions by package prefix. Applied on any prefix match." + }, + "tagPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match versions by tag prefix. Applied on any prefix match." + }, + "tagState": { + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyConditionTagState", + "description": "Match versions by tag status." + }, + "versionAge": { + "type": "string", + "description": "DEPRECATED: Use older_than.", + "deprecationMessage": "DEPRECATED: Use older_than." + }, + "versionNamePrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match versions by version name prefix. Applied on any prefix match." + } + }, + "type": "object" + }, + "google-native:artifactregistry/v1:CleanupPolicyConditionResponse": { + "description": "CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied.", + "properties": { + "newerThan": { + "type": "string", + "description": "Match versions newer than a duration." + }, + "olderThan": { + "type": "string", + "description": "Match versions older than a duration." + }, + "packageNamePrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match versions by package prefix. Applied on any prefix match." + }, + "tagPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match versions by tag prefix. Applied on any prefix match." + }, + "tagState": { + "type": "string", + "description": "Match versions by tag status." + }, + "versionAge": { + "type": "string", + "description": "DEPRECATED: Use older_than.", + "deprecationMessage": "DEPRECATED: Use older_than." + }, + "versionNamePrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match versions by version name prefix. Applied on any prefix match." + } + }, + "type": "object", + "required": [ + "newerThan", + "olderThan", + "packageNamePrefixes", + "tagPrefixes", + "tagState", + "versionAge", + "versionNamePrefixes" + ] + }, + "google-native:artifactregistry/v1:CleanupPolicyConditionTagState": { + "description": "Match versions by tag status.", + "type": "string", + "enum": [ + { + "name": "TagStateUnspecified", + "description": "Tag status not specified.", + "value": "TAG_STATE_UNSPECIFIED" + }, + { + "name": "Tagged", + "description": "Applies to tagged versions only.", + "value": "TAGGED" + }, + { + "name": "Untagged", + "description": "Applies to untagged versions only.", + "value": "UNTAGGED" + }, + { + "name": "Any", + "description": "Applies to all versions.", + "value": "ANY" + } + ] + }, + "google-native:artifactregistry/v1:CleanupPolicyMostRecentVersions": { + "description": "CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions.", + "properties": { + "keepCount": { + "type": "integer", + "description": "Minimum number of versions to keep." + }, + "packageNamePrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of package name prefixes that will apply this rule." + } + }, + "type": "object" + }, + "google-native:artifactregistry/v1:CleanupPolicyMostRecentVersionsResponse": { + "description": "CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions.", + "properties": { + "keepCount": { + "type": "integer", + "description": "Minimum number of versions to keep." + }, + "packageNamePrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of package name prefixes that will apply this rule." + } + }, + "type": "object", + "required": [ + "keepCount", + "packageNamePrefixes" + ] + }, + "google-native:artifactregistry/v1:CleanupPolicyResponse": { + "description": "Artifact policy configuration for repository cleanup policies.", + "properties": { + "action": { + "type": "string", + "description": "Policy action." + }, + "condition": { + "type": "object", + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyConditionResponse", + "description": "Policy condition for matching versions." + }, + "mostRecentVersions": { + "type": "object", + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyMostRecentVersionsResponse", + "description": "Policy condition for retaining a minimum number of versions. May only be specified with a Keep action." + } + }, + "type": "object", + "required": [ + "action", + "condition", + "mostRecentVersions" + ] + }, "google-native:artifactregistry/v1:DockerRepository": { "description": "Configuration for a Docker remote repository.", "properties": { @@ -34275,6 +36107,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels applied to all VM instances and other resources created by AllocationPolicy. Labels could be user provided or system generated. You can assign up to 64 labels. [Google Compute Engine label restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) apply. Label names that start with \"goog-\" or \"google-\" are reserved." }, "location": { @@ -34313,6 +36148,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels applied to all VM instances and other resources created by AllocationPolicy. Labels could be user provided or system generated. You can assign up to 64 labels. [Google Compute Engine label restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) apply. Label names that start with \"goog-\" or \"google-\" are reserved." }, "location": { @@ -34626,10 +36464,16 @@ }, "secretVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of environment variable names to Secret Manager secret names. The VM will access the named secrets to set the value of each environment variable." }, "variables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of environment variable names to values." } }, @@ -34645,10 +36489,16 @@ }, "secretVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of environment variable names to Secret Manager secret names. The VM will access the named secrets to set the value of each environment variable." }, "variables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of environment variable names to values." } }, @@ -34846,6 +36696,35 @@ "reservation" ] }, + "google-native:batch/v1:InstanceStatusResponse": { + "description": "VM instance status.", + "properties": { + "bootDisk": { + "type": "object", + "$ref": "#/types/google-native:batch/v1:DiskResponse", + "description": "The VM boot disk." + }, + "machineType": { + "type": "string", + "description": "The Compute Engine machine type." + }, + "provisioningModel": { + "type": "string", + "description": "The VM instance provisioning model." + }, + "taskPack": { + "type": "string", + "description": "The max number of tasks can be assigned to this instance type." + } + }, + "type": "object", + "required": [ + "bootDisk", + "machineType", + "provisioningModel", + "taskPack" + ] + }, "google-native:batch/v1:JobNotification": { "description": "Notification configurations.", "properties": { @@ -34901,6 +36780,10 @@ }, "taskGroups": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:batch/v1:TaskGroupStatusResponse" + }, "description": "Aggregated task status for each TaskGroup in the Job. The map key is TaskGroup ID." } }, @@ -35404,6 +37287,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Runnable." }, "script": { @@ -35454,6 +37340,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Runnable." }, "script": { @@ -35722,6 +37611,31 @@ } ] }, + "google-native:batch/v1:TaskGroupStatusResponse": { + "description": "Aggregated task status for a TaskGroup.", + "properties": { + "counts": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Count of task in each state in the TaskGroup. The map key is task state name." + }, + "instances": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:batch/v1:InstanceStatusResponse" + }, + "description": "Status of instances allocated for the TaskGroup." + } + }, + "type": "object", + "required": [ + "counts", + "instances" + ] + }, "google-native:batch/v1:TaskSpec": { "description": "Spec of a task", "properties": { @@ -35737,6 +37651,9 @@ }, "environments": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deprecated: please use environment(non-plural) instead.", "deprecationMessage": "Deprecated: please use environment(non-plural) instead." }, @@ -35790,6 +37707,9 @@ }, "environments": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deprecated: please use environment(non-plural) instead.", "deprecationMessage": "Deprecated: please use environment(non-plural) instead." }, @@ -36133,6 +38053,9 @@ }, "resource": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Specific details for the resource. This is for internal use only." }, "status": { @@ -36162,6 +38085,9 @@ "properties": { "resource": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Specific details for the resource. This is for internal use only." }, "status": { @@ -36753,6 +38679,9 @@ }, "resource": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Specific details for the resource. This is for internal use only." }, "status": { @@ -36782,6 +38711,9 @@ "properties": { "resource": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Specific details for the resource. This is for internal use only." }, "status": { @@ -36966,6 +38898,9 @@ }, "value": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The value of the Setting." } }, @@ -36984,6 +38919,9 @@ }, "value": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The value of the Setting." } }, @@ -37265,6 +39203,9 @@ }, "resource": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Specific details for the resource." }, "status": { @@ -37294,6 +39235,9 @@ "properties": { "resource": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Specific details for the resource." }, "status": { @@ -37442,6 +39386,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Stores user supplied Hive database parameters." } }, @@ -37456,6 +39403,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Stores user supplied Hive database parameters." } }, @@ -37470,6 +39420,9 @@ "properties": { "parameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Stores user supplied Hive table parameters." }, "storageDescriptor": { @@ -37489,6 +39442,9 @@ "properties": { "parameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Stores user supplied Hive table parameters." }, "storageDescriptor": { @@ -38759,6 +40715,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "[Optional] The labels associated with this table. You can use these to organize and group your tables. This will only be used if the destination table is newly created. If the table already exists and labels are different than the current labels are provided, the job will fail." } }, @@ -38780,6 +40739,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "[Optional] The labels associated with this table. You can use these to organize and group your tables. This will only be used if the destination table is newly created. If the table already exists and labels are different than the current labels are provided, the job will fail." } }, @@ -39499,6 +41461,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this job. You can use these to organize and group your jobs. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key." }, "load": { @@ -40095,6 +42060,10 @@ }, "tableDefinitions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigquery/v2:ExternalDataConfiguration" + }, "description": "[Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table." }, "timePartitioning": { @@ -40222,6 +42191,10 @@ }, "tableDefinitions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigquery/v2:ExternalDataConfigurationResponse" + }, "description": "[Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table." }, "timePartitioning": { @@ -40305,6 +42278,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this job. You can use these to organize and group your jobs. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key." }, "load": { @@ -41335,6 +43311,10 @@ }, "structValues": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigquery/v2:QueryParameterValue" + }, "description": "[Optional] The struct field values, in order of the struct type's declaration." }, "value": { @@ -41356,6 +43336,10 @@ }, "structValues": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigquery/v2:QueryParameterValueResponse" + }, "description": "[Optional] The struct field values, in order of the struct type's declaration." }, "value": { @@ -41497,6 +43481,9 @@ }, "userDefinedContext": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined context as a set of key/value pairs, which will be sent as function invocation context together with batched arguments in the requests to the remote service. The total number of bytes of keys and values must be less than 8KB." } }, @@ -41519,6 +43506,9 @@ }, "userDefinedContext": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined context as a set of key/value pairs, which will be sent as function invocation context together with batched arguments in the requests to the remote service. The total number of bytes of keys and values must be less than 8KB." } }, @@ -41906,6 +43896,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Configuration properties as a set of key/value pairs, which will be passed on to the Spark application. For more information, see [Apache Spark](https://spark.apache.org/docs/latest/index.html) and the [procedure option list](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#procedure_option_list)." }, "pyFileUris": { @@ -41964,6 +43957,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Configuration properties as a set of key/value pairs, which will be passed on to the Spark application. For more information, see [Apache Spark](https://spark.apache.org/docs/latest/index.html) and the [procedure option list](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#procedure_option_list)." }, "pyFileUris": { @@ -41996,6 +43992,9 @@ "properties": { "endpoints": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Endpoints generated for the Spark job." }, "loggingInfo": { @@ -43822,7 +45821,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -43910,7 +45912,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -44226,6 +46231,38 @@ "retentionPeriod" ] }, + "google-native:bigtableadmin/v2:Cluster": { + "description": "A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.", + "properties": { + "clusterConfig": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:ClusterConfig", + "description": "Configuration for this cluster." + }, + "defaultStorageType": { + "$ref": "#/types/google-native:bigtableadmin/v2:ClusterDefaultStorageType", + "description": "Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden." + }, + "encryptionConfig": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:EncryptionConfig", + "description": "Immutable. The encryption configuration for CMEK-protected clusters." + }, + "location": { + "type": "string", + "description": "Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`." + }, + "name": { + "type": "string", + "description": "The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`." + }, + "serveNodes": { + "type": "integer", + "description": "The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization." + } + }, + "type": "object" + }, "google-native:bigtableadmin/v2:ClusterAutoscalingConfig": { "description": "Autoscaling config for a cluster.", "properties": { @@ -44312,6 +46349,82 @@ } ] }, + "google-native:bigtableadmin/v2:ClusterStateResponse": { + "description": "The state of a table's data in a particular cluster.", + "properties": { + "encryptionInfo": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:EncryptionInfoResponse" + }, + "description": "The encryption information for the table in this cluster. If the encryption key protecting this resource is customer managed, then its version can be rotated in Cloud Key Management Service (Cloud KMS). The primary version of the key and its status will be reflected here when changes propagate from Cloud KMS." + }, + "replicationState": { + "type": "string", + "description": "The state of replication for the table in this cluster." + } + }, + "type": "object", + "required": [ + "encryptionInfo", + "replicationState" + ] + }, + "google-native:bigtableadmin/v2:ColumnFamily": { + "description": "A set of columns within a table which share a common configuration.", + "properties": { + "gcRule": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:GcRule", + "description": "Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family." + } + }, + "type": "object" + }, + "google-native:bigtableadmin/v2:ColumnFamilyResponse": { + "description": "A set of columns within a table which share a common configuration.", + "properties": { + "gcRule": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:GcRuleResponse", + "description": "Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family." + }, + "stats": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:ColumnFamilyStatsResponse", + "description": "Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above." + } + }, + "type": "object", + "required": [ + "gcRule", + "stats" + ] + }, + "google-native:bigtableadmin/v2:ColumnFamilyStatsResponse": { + "description": "Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified.", + "properties": { + "averageCellsPerColumn": { + "type": "number", + "description": "How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family \"family\" in a table with 3 rows: * A row with 3 cells in \"family:col\" and 1 cell in \"other:col\" (3 cells / 1 column in \"family\") * A row with 1 cell in \"family:col\", 7 cells in \"family:other_col\", and 7 cells in \"other:data\" (8 cells / 2 columns in \"family\") * A row with 3 cells in \"other:col\" (0 columns in \"family\", \"family\" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field." + }, + "averageColumnsPerRow": { + "type": "number", + "description": "How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family \"family\" in a table with 3 rows: * A row with cells in \"family:col\" and \"other:col\" (1 column in \"family\") * A row with cells in \"family:col\", \"family:other_col\", and \"other:data\" (2 columns in \"family\") * A row with cells in \"other:col\" (0 columns in \"family\", \"family\" not present) would report (1 + 2 + 0)/3 = 1.5 in this field." + }, + "logicalDataBytes": { + "type": "string", + "description": "How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out)." + } + }, + "type": "object", + "required": [ + "averageCellsPerColumn", + "averageColumnsPerRow", + "logicalDataBytes" + ] + }, "google-native:bigtableadmin/v2:EncryptionConfig": { "description": "Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster.", "properties": { @@ -44409,6 +46522,60 @@ "title" ] }, + "google-native:bigtableadmin/v2:GcRule": { + "description": "Rule for determining which cells to delete during garbage collection.", + "properties": { + "intersection": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:Intersection", + "description": "Delete cells that would be deleted by every nested rule." + }, + "maxAge": { + "type": "string", + "description": "Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity." + }, + "maxNumVersions": { + "type": "integer", + "description": "Delete all cells in a column except the most recent N." + }, + "union": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:Union", + "description": "Delete cells that would be deleted by any nested rule." + } + }, + "type": "object" + }, + "google-native:bigtableadmin/v2:GcRuleResponse": { + "description": "Rule for determining which cells to delete during garbage collection.", + "properties": { + "intersection": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:IntersectionResponse", + "description": "Delete cells that would be deleted by every nested rule." + }, + "maxAge": { + "type": "string", + "description": "Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity." + }, + "maxNumVersions": { + "type": "integer", + "description": "Delete all cells in a column except the most recent N." + }, + "union": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:UnionResponse", + "description": "Delete cells that would be deleted by any nested rule." + } + }, + "type": "object", + "required": [ + "intersection", + "maxAge", + "maxNumVersions", + "union" + ] + }, "google-native:bigtableadmin/v2:InstanceType": { "description": "The type of the instance. Defaults to `PRODUCTION`.", "type": "string", @@ -44430,6 +46597,37 @@ } ] }, + "google-native:bigtableadmin/v2:Intersection": { + "description": "A GcRule which deletes cells matching all of the given rules.", + "properties": { + "rules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:GcRule" + }, + "description": "Only delete cells which would be deleted by every element of `rules`." + } + }, + "type": "object" + }, + "google-native:bigtableadmin/v2:IntersectionResponse": { + "description": "A GcRule which deletes cells matching all of the given rules.", + "properties": { + "rules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:GcRuleResponse" + }, + "description": "Only delete cells which would be deleted by every element of `rules`." + } + }, + "type": "object", + "required": [ + "rules" + ] + }, "google-native:bigtableadmin/v2:MultiClusterRoutingUseAny": { "description": "Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability.", "properties": { @@ -44576,7 +46774,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -44636,6 +46837,37 @@ "rowCount" ] }, + "google-native:bigtableadmin/v2:Union": { + "description": "A GcRule which deletes cells matching any of the given rules.", + "properties": { + "rules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:GcRule" + }, + "description": "Delete cells which would be deleted by any element of `rules`." + } + }, + "type": "object" + }, + "google-native:bigtableadmin/v2:UnionResponse": { + "description": "A GcRule which deletes cells matching any of the given rules.", + "properties": { + "rules": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:GcRuleResponse" + }, + "description": "Delete cells which would be deleted by any element of `rules`." + } + }, + "type": "object", + "required": [ + "rules" + ] + }, "google-native:billingbudgets/v1:BudgetOwnershipScope": { "type": "string", "enum": [ @@ -44756,6 +46988,12 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + } + }, "description": "Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `\"key\": value` pair. Example: `{ \"name\": \"wrench\" }`. _Currently, multiple entries or multiple values per entry are not allowed._" }, "projects": { @@ -44865,6 +47103,12 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + } + }, "description": "Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `\"key\": value` pair. Example: `{ \"name\": \"wrench\" }`. _Currently, multiple entries or multiple values per entry are not allowed._" }, "projects": { @@ -45305,6 +47549,12 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + } + }, "description": "Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `\"key\": value` pair. Example: `{ \"name\": \"wrench\" }`. _Currently, multiple entries or multiple values per entry are not allowed._" }, "projects": { @@ -45414,6 +47664,12 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + } + }, "description": "Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `\"key\": value` pair. Example: `{ \"name\": \"wrench\" }`. _Currently, multiple entries or multiple values per entry are not allowed._" }, "projects": { @@ -48850,6 +51106,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions data for `Build` resource." }, "tags": { @@ -49353,6 +51612,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions data for `Build` resource." }, "tags": { @@ -49368,6 +51630,10 @@ }, "timing": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:cloudbuild/v1:TimeSpanResponse" + }, "description": "Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included." }, "warnings": { @@ -50385,6 +52651,9 @@ "properties": { "envMap": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets." }, "kmsKeyName": { @@ -50399,6 +52668,9 @@ "properties": { "envMap": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets." }, "kmsKeyName": { @@ -50874,6 +53146,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions to use in a triggered build. Should only be used with RunBuildTrigger" }, "tagName": { @@ -50912,6 +53187,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions to use in a triggered build. Should only be used with RunBuildTrigger" }, "tagName": { @@ -51066,6 +53344,9 @@ }, "secretEnv": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets." } }, @@ -51112,6 +53393,9 @@ }, "secretEnv": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets." } }, @@ -51228,6 +53512,10 @@ "properties": { "fileHashes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:cloudbuild/v1:FileHashesResponse" + }, "description": "Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file." }, "resolvedConnectedRepository": { @@ -53257,6 +55545,9 @@ }, "protoValue": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Represents an 'Any' proto value." }, "stringValue": { @@ -53283,6 +55574,9 @@ }, "protoValue": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Represents an 'Any' proto value." }, "stringValue": { @@ -54091,6 +56385,19 @@ "serviceUrls" ] }, + "google-native:clouddeploy/v1:CloudRunRenderMetadataResponse": { + "description": "CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render.", + "properties": { + "service": { + "type": "string", + "description": "The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`." + } + }, + "type": "object", + "required": [ + "service" + ] + }, "google-native:clouddeploy/v1:CreateChildRolloutJobResponse": { "description": "A createChildRollout Job.", "type": "object" @@ -54166,6 +56473,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy." }, "condition": { @@ -54187,6 +56497,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "name": { @@ -54235,10 +56548,16 @@ "properties": { "matchTargetLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target)." }, "values": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Values are deploy parameters in key-value pairs." } }, @@ -54252,10 +56571,16 @@ "properties": { "matchTargetLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Deploy parameters are applied to targets with match labels. If unspecified, deploy parameters are applied to all targets (including child targets of a multi-target)." }, "values": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Values are deploy parameters in key-value pairs." } }, @@ -54706,6 +57031,29 @@ "targetIds" ] }, + "google-native:clouddeploy/v1:PhaseArtifactResponse": { + "description": "Contains the paths to the artifacts, relative to the URI, for a phase.", + "properties": { + "jobManifestsPath": { + "type": "string", + "description": "File path of the directory of rendered job manifests relative to the URI. This is only set if it is applicable." + }, + "manifestPath": { + "type": "string", + "description": "File path of the rendered manifest relative to the URI." + }, + "skaffoldConfigPath": { + "type": "string", + "description": "File path of the resolved Skaffold configuration relative to the URI." + } + }, + "type": "object", + "required": [ + "jobManifestsPath", + "manifestPath", + "skaffoldConfigPath" + ] + }, "google-native:clouddeploy/v1:PhaseConfig": { "description": "PhaseConfig represents the configuration for a phase in the custom canary deployment.", "properties": { @@ -55083,6 +57431,20 @@ "status" ] }, + "google-native:clouddeploy/v1:RenderMetadataResponse": { + "description": "RenderMetadata includes information associated with a `Release` render.", + "properties": { + "cloudRun": { + "type": "object", + "$ref": "#/types/google-native:clouddeploy/v1:CloudRunRenderMetadataResponse", + "description": "Metadata associated with rendering for Cloud Run." + } + }, + "type": "object", + "required": [ + "cloudRun" + ] + }, "google-native:clouddeploy/v1:RepairMode": { "description": "Configuration of the repair action.", "properties": { @@ -55569,6 +57931,38 @@ "standard" ] }, + "google-native:clouddeploy/v1:TargetArtifactResponse": { + "description": "The artifacts produced by a target render operation.", + "properties": { + "artifactUri": { + "type": "string", + "description": "URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location." + }, + "manifestPath": { + "type": "string", + "description": "File path of the rendered manifest relative to the URI." + }, + "phaseArtifacts": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:clouddeploy/v1:PhaseArtifactResponse" + }, + "description": "Map from the phase ID to the phase artifacts for the `Target`." + }, + "skaffoldConfigPath": { + "type": "string", + "description": "File path of the resolved Skaffold configuration relative to the URI." + } + }, + "type": "object", + "required": [ + "artifactUri", + "manifestPath", + "phaseArtifacts", + "skaffoldConfigPath" + ] + }, "google-native:clouddeploy/v1:TargetAttribute": { "description": "Contains criteria for selecting Targets. Attributes provided must match the target resource in order for policy restrictions to apply. E.g. if id \"prod\" and labels \"foo: bar\" are given the target resource must match both that id and have that label in order to be selected.", "properties": { @@ -55578,6 +57972,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Target labels." } }, @@ -55588,6 +57985,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Target labels." } }, @@ -55596,11 +57996,48 @@ "labels" ] }, + "google-native:clouddeploy/v1:TargetRenderResponse": { + "description": "Details of rendering for a single target.", + "properties": { + "failureCause": { + "type": "string", + "description": "Reason this render failed. This will always be unspecified while the render in progress." + }, + "failureMessage": { + "type": "string", + "description": "Additional information about the render failure, if available." + }, + "metadata": { + "type": "object", + "$ref": "#/types/google-native:clouddeploy/v1:RenderMetadataResponse", + "description": "Metadata related to the `Release` render for this Target." + }, + "renderingBuild": { + "type": "string", + "description": "The resource name of the Cloud Build `Build` object that is used to render the manifest for this target. Format is `projects/{project}/locations/{location}/builds/{build}`." + }, + "renderingState": { + "type": "string", + "description": "Current state of the render operation for this Target." + } + }, + "type": "object", + "required": [ + "failureCause", + "failureMessage", + "metadata", + "renderingBuild", + "renderingState" + ] + }, "google-native:clouddeploy/v1:TargetResponse": { "description": "A `Target` resource in the Cloud Deploy API. A `Target` defines a location to which a Skaffold configuration can be deployed.", "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "anthosCluster": { @@ -55614,6 +58051,9 @@ }, "deployParameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The deploy parameters to use for this target." }, "description": { @@ -55639,6 +58079,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "multiTarget": { @@ -56487,6 +58930,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided build-time environment variables for the function" }, "runtime": { @@ -56551,6 +58997,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided build-time environment variables for the function" }, "runtime": { @@ -57068,6 +59517,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables that shall be available during function execution." }, "ingressSettings": { @@ -57168,6 +59620,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables that shall be available during function execution." }, "ingressSettings": { @@ -57580,6 +60035,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided build-time environment variables for the function" }, "runtime": { @@ -57644,6 +60102,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided build-time environment variables for the function" }, "runtime": { @@ -58161,6 +60622,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables that shall be available during function execution." }, "ingressSettings": { @@ -58261,6 +60725,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables that shall be available during function execution." }, "ingressSettings": { @@ -58673,6 +61140,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided build-time environment variables for the function" }, "runtime": { @@ -58737,6 +61207,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided build-time environment variables for the function" }, "runtime": { @@ -59254,6 +61727,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables that shall be available during function execution." }, "ingressSettings": { @@ -59354,6 +61830,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables that shall be available during function execution." }, "ingressSettings": { @@ -61303,7 +63782,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -63476,6 +65958,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler." }, "httpMethod": { @@ -63549,6 +66034,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler." }, "httpMethod": { @@ -63624,6 +66112,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The total size of headers must be less than 80KB." }, "httpMethod": { @@ -63705,6 +66196,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The total size of headers must be less than 80KB." }, "httpMethod": { @@ -63805,6 +66299,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Attributes for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute." }, "data": { @@ -63826,6 +66323,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Attributes for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute." }, "data": { @@ -63913,7 +66413,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -63943,6 +66446,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler." }, "httpMethod": { @@ -64016,6 +66522,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the job is created. Cloud Scheduler sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Scheduler will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The headers below are output only. They cannot be set or overridden: * `Content-Length`: This is computed by Cloud Scheduler. * `X-Google-*`: For Google internal use only. * `X-AppEngine-*`: For Google internal use only. In addition, some App Engine headers, which contain job-specific information, are also be sent to the job handler." }, "httpMethod": { @@ -64091,6 +66600,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The total size of headers must be less than 80KB." }, "httpMethod": { @@ -64172,6 +66684,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. The user can specify HTTP request headers to send with the job's HTTP request. Repeated headers are not supported, but a header value can contain commas. The following headers represent a subset of the headers that accompany the job's HTTP request. Some HTTP request headers are ignored or replaced. A partial list of headers that are ignored or replaced is below: * Host: This will be computed by Cloud Scheduler and derived from uri. * `Content-Length`: This will be computed by Cloud Scheduler. * `User-Agent`: This will be set to `\"Google-Cloud-Scheduler\"`. * `X-Google-*`: Google internal use only. * `X-AppEngine-*`: Google internal use only. * `X-CloudScheduler`: This header will be set to true. * `X-CloudScheduler-JobName`: This header will contain the job name. * `X-CloudScheduler-ScheduleTime`: For Cloud Scheduler jobs specified in the unix-cron format, this header will contain the job schedule time in RFC3339 UTC \"Zulu\" format. If the job has a body and the following headers are not set by the user, Cloud Scheduler sets default values: * `Content-Type`: This will be set to `\"application/octet-stream\"`. You can override this default by explicitly setting `Content-Type` to a particular media type when creating the job. For example, you can set `Content-Type` to `\"application/json\"`. The total size of headers must be less than 80KB." }, "httpMethod": { @@ -64272,6 +66787,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Attributes for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute." }, "data": { @@ -64293,6 +66811,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Attributes for PubsubMessage. Pubsub message must contain either non-empty data, or at least one attribute." }, "data": { @@ -64380,7 +66901,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -65376,6 +67900,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Tasks will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. If the task has a body, Cloud Tasks sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explicitly setting `Content-Type` to a particular media type when the task is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: * `Host` * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see [request headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers). These headers are set only when the task is dispatched, so they are not visible when the task is returned in a Cloud Tasks response. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the Task. For more information, see the CreateTask documentation." }, "httpMethod": { @@ -65449,6 +67976,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Tasks will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. If the task has a body, Cloud Tasks sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explicitly setting `Content-Type` to a particular media type when the task is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: * `Host` * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see [request headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers). These headers are set only when the task is dispatched, so they are not visible when the task is returned in a Cloud Tasks response. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the Task. For more information, see the CreateTask documentation." }, "httpMethod": { @@ -65709,6 +68239,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB." }, "httpMethod": { @@ -65790,6 +68323,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB." }, "httpMethod": { @@ -66179,7 +68715,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -66340,6 +68879,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Tasks will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. If the task has a payload, Cloud Tasks sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explicitly setting `Content-Type` to a particular media type when the task is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: * `Host` * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see [request headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers). These headers are set only when the task is dispatched, so they are not visible when the task is returned in a Cloud Tasks response. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the Task. For more information, see the CreateTask documentation." }, "httpMethod": { @@ -66413,6 +68955,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Tasks will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. If the task has a payload, Cloud Tasks sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explicitly setting `Content-Type` to a particular media type when the task is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: * `Host` * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see [request headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers). These headers are set only when the task is dispatched, so they are not visible when the task is returned in a Cloud Tasks response. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the Task. For more information, see the CreateTask documentation." }, "httpMethod": { @@ -66702,6 +69247,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when running the task is created or task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with \"X-CloudTasks-\" will be treated as service header. Service headers define properties of the task and are predefined in CloudTask. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB." }, "httpMethod": { @@ -66783,6 +69331,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when running the task is created or task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with \"X-CloudTasks-\" will be treated as service header. Service headers define properties of the task and are predefined in CloudTask. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB." }, "httpMethod": { @@ -67235,7 +69786,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -67455,6 +70009,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Tasks will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. If the task has a body, Cloud Tasks sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explicitly setting `Content-Type` to a particular media type when the task is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: * `Host` * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see [request headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers). These headers are set only when the task is dispatched, so they are not visible when the task is returned in a Cloud Tasks response. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the Task. For more information, see the CreateTask documentation." }, "httpMethod": { @@ -67528,6 +70085,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Tasks will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. If the task has a body, Cloud Tasks sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explicitly setting `Content-Type` to a particular media type when the task is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: * `Host` * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see [request headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers). These headers are set only when the task is dispatched, so they are not visible when the task is returned in a Cloud Tasks response. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the Task. For more information, see the CreateTask documentation." }, "httpMethod": { @@ -67788,6 +70348,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with \"X-CloudTasks-\" will be treated as service header. Service headers define properties of the task and are predefined in CloudTask. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB." }, "httpMethod": { @@ -67869,6 +70432,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with \"X-CloudTasks-\" will be treated as service header. Service headers define properties of the task and are predefined in CloudTask. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB." }, "httpMethod": { @@ -68348,7 +70914,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -69475,10 +72044,16 @@ "properties": { "airflowConfigOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example \"core-dags_are_paused_at_creation\". Section names must not contain hyphens (\"-\"), opening square brackets (\"[\"), or closing square brackets (\"]\"). The property name must not be empty and must not contain an equals sign (\"=\") or semicolon (\";\"). Section and property names must not contain a period (\".\"). Apache Airflow configuration property names must be written in [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), and cannot be overridden." }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes. Environment variable names must match the regular expression `a-zA-Z_*`. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the following reserved names: * `AIRFLOW_HOME` * `C_FORCE_ROOT` * `CONTAINER_NAME` * `DAGS_FOLDER` * `GCP_PROJECT` * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION` * `SQL_USER`" }, "imageVersion": { @@ -69487,6 +72062,9 @@ }, "pypiPackages": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name such as \"numpy\" and values are the lowercase extras and version specifier such as \"==1.12.0\", \"[devel,gcp_api]\", or \"[devel]\u003e=1.8.2, \u003c1.9.2\". To specify a package without pinning it to a version specifier, use the empty string as the value." }, "pythonVersion": { @@ -69505,10 +72083,16 @@ "properties": { "airflowConfigOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example \"core-dags_are_paused_at_creation\". Section names must not contain hyphens (\"-\"), opening square brackets (\"[\"), or closing square brackets (\"]\"). The property name must not be empty and must not contain an equals sign (\"=\") or semicolon (\";\"). Section and property names must not contain a period (\".\"). Apache Airflow configuration property names must be written in [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), and cannot be overridden." }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes. Environment variable names must match the regular expression `a-zA-Z_*`. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the following reserved names: * `AIRFLOW_HOME` * `C_FORCE_ROOT` * `CONTAINER_NAME` * `DAGS_FOLDER` * `GCP_PROJECT` * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION` * `SQL_USER`" }, "imageVersion": { @@ -69517,6 +72101,9 @@ }, "pypiPackages": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name such as \"numpy\" and values are the lowercase extras and version specifier such as \"==1.12.0\", \"[devel,gcp_api]\", or \"[devel]\u003e=1.8.2, \u003c1.9.2\". To specify a package without pinning it to a version specifier, use the empty string as the value." }, "pythonVersion": { @@ -70799,6 +73386,9 @@ "properties": { "airflowConfigOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example \"core-dags_are_paused_at_creation\". Section names must not contain hyphens (\"-\"), opening square brackets (\"[\"), or closing square brackets (\"]\"). The property name must not be empty and must not contain an equals sign (\"=\") or semicolon (\";\"). Section and property names must not contain a period (\".\"). Apache Airflow configuration property names must be written in [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), and cannot be overridden." }, "cloudDataLineageIntegration": { @@ -70808,6 +73398,9 @@ }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes. Environment variable names must match the regular expression `a-zA-Z_*`. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the following reserved names: * `AIRFLOW_HOME` * `C_FORCE_ROOT` * `CONTAINER_NAME` * `DAGS_FOLDER` * `GCP_PROJECT` * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION` * `SQL_USER`" }, "imageVersion": { @@ -70816,6 +73409,9 @@ }, "pypiPackages": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name such as \"numpy\" and values are the lowercase extras and version specifier such as \"==1.12.0\", \"[devel,gcp_api]\", or \"[devel]\u003e=1.8.2, \u003c1.9.2\". To specify a package without pinning it to a version specifier, use the empty string as the value." }, "pythonVersion": { @@ -70834,6 +73430,9 @@ "properties": { "airflowConfigOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Apache Airflow configuration properties to override. Property keys contain the section and property names, separated by a hyphen, for example \"core-dags_are_paused_at_creation\". Section names must not contain hyphens (\"-\"), opening square brackets (\"[\"), or closing square brackets (\"]\"). The property name must not be empty and must not contain an equals sign (\"=\") or semicolon (\";\"). Section and property names must not contain a period (\".\"). Apache Airflow configuration property names must be written in [snake_case](https://en.wikipedia.org/wiki/Snake_case). Property values can contain any character, and can be written in any lower/upper case format. Certain Apache Airflow configuration property values are [blocked](/composer/docs/concepts/airflow-configurations), and cannot be overridden." }, "cloudDataLineageIntegration": { @@ -70843,6 +73442,9 @@ }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Additional environment variables to provide to the Apache Airflow scheduler, worker, and webserver processes. Environment variable names must match the regular expression `a-zA-Z_*`. They cannot specify Apache Airflow software configuration overrides (they cannot match the regular expression `AIRFLOW__[A-Z0-9_]+__[A-Z0-9_]+`), and they cannot match any of the following reserved names: * `AIRFLOW_HOME` * `C_FORCE_ROOT` * `CONTAINER_NAME` * `DAGS_FOLDER` * `GCP_PROJECT` * `GCS_BUCKET` * `GKE_CLUSTER_NAME` * `SQL_DATABASE` * `SQL_INSTANCE` * `SQL_PASSWORD` * `SQL_PROJECT` * `SQL_REGION` * `SQL_USER`" }, "imageVersion": { @@ -70851,6 +73453,9 @@ }, "pypiPackages": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Custom Python Package Index (PyPI) packages to be installed in the environment. Keys refer to the lowercase package name such as \"numpy\" and values are the lowercase extras and version specifier such as \"==1.12.0\", \"[devel,gcp_api]\", or \"[devel]\u003e=1.8.2, \u003c1.9.2\". To specify a package without pinning it to a version specifier, use the empty string as the value." }, "pythonVersion": { @@ -72144,6 +74749,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks." }, "licenseCodes": { @@ -72185,6 +74793,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -72325,6 +74936,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks." }, "licenseCodes": { @@ -72366,6 +74980,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -72980,6 +75597,10 @@ }, "scalingSchedules": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:AutoscalingPolicyScalingSchedule" + }, "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed." } }, @@ -73218,6 +75839,10 @@ }, "scalingSchedules": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:AutoscalingPolicyScalingScheduleResponse" + }, "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed." } }, @@ -73303,6 +75928,74 @@ "timeWindowSec" ] }, + "google-native:compute/alpha:AutoscalingPolicyScalingSchedule": { + "description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", + "properties": { + "description": { + "type": "string", + "description": "A description of a scaling schedule." + }, + "disabled": { + "type": "boolean", + "description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default." + }, + "durationSec": { + "type": "integer", + "description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required." + }, + "minRequiredReplicas": { + "type": "integer", + "description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required." + }, + "schedule": { + "type": "string", + "description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving." + }, + "timeZone": { + "type": "string", + "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty." + } + }, + "type": "object" + }, + "google-native:compute/alpha:AutoscalingPolicyScalingScheduleResponse": { + "description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", + "properties": { + "description": { + "type": "string", + "description": "A description of a scaling schedule." + }, + "disabled": { + "type": "boolean", + "description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default." + }, + "durationSec": { + "type": "integer", + "description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required." + }, + "minRequiredReplicas": { + "type": "integer", + "description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required." + }, + "schedule": { + "type": "string", + "description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving." + }, + "timeZone": { + "type": "string", + "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty." + } + }, + "type": "object", + "required": [ + "description", + "disabled", + "durationSec", + "minRequiredReplicas", + "schedule", + "timeZone" + ] + }, "google-native:compute/alpha:Backend": { "description": "Message containing information of one individual backend.", "properties": { @@ -74783,6 +77476,10 @@ }, "perInstanceProperties": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:BulkInsertInstanceResourcePerInstanceProperties" + }, "description": "Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used." }, "sourceInstanceTemplate": { @@ -74792,6 +77489,38 @@ }, "type": "object" }, + "google-native:compute/alpha:BulkInsertInstanceResourcePerInstanceProperties": { + "description": "Per-instance properties to be set on individual instances. To be extended in the future.", + "properties": { + "hostname": { + "type": "string", + "description": "Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention" + }, + "name": { + "type": "string", + "description": "This field is only temporary. It will be removed. Do not use it." + } + }, + "type": "object" + }, + "google-native:compute/alpha:BulkInsertInstanceResourcePerInstancePropertiesResponse": { + "description": "Per-instance properties to be set on individual instances. To be extended in the future.", + "properties": { + "hostname": { + "type": "string", + "description": "Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention" + }, + "name": { + "type": "string", + "description": "This field is only temporary. It will be removed. Do not use it." + } + }, + "type": "object", + "required": [ + "hostname", + "name" + ] + }, "google-native:compute/alpha:BulkInsertInstanceResourceResponse": { "description": "A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests.", "properties": { @@ -74819,6 +77548,10 @@ }, "perInstanceProperties": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:BulkInsertInstanceResourcePerInstancePropertiesResponse" + }, "description": "Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used." }, "sourceInstanceTemplate": { @@ -75992,6 +78725,18 @@ }, "type": "object" }, + "google-native:compute/alpha:DiskAsyncReplicationListResponse": { + "properties": { + "asyncReplicationDisk": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:DiskAsyncReplicationResponse" + } + }, + "type": "object", + "required": [ + "asyncReplicationDisk" + ] + }, "google-native:compute/alpha:DiskAsyncReplicationResponse": { "properties": { "consistencyGroupPolicy": { @@ -76133,6 +78878,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -76143,6 +78891,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -76170,6 +78921,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:DiskResourceStatusAsyncReplicationStatusResponse" + }, "description": "Key: disk, value: AsyncReplicationStatus message" }, "usedBytes": { @@ -76347,6 +79102,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional structured details about this error. Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request." }, "reason": { @@ -80008,23 +82766,75 @@ "properties": { "instanceSelectionLists": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" + }, "description": "Named instance selections configuring properties that the group will use when creating new VMs." }, "instanceSelections": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" + }, "description": "Named instance selections configuring properties that the group will use when creating new VMs." } }, "type": "object" }, + "google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { + "properties": { + "machineTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Full machine-type names, e.g. \"n1-standard-16\"." + }, + "rank": { + "type": "integer", + "description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference." + } + }, + "type": "object" + }, + "google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse": { + "properties": { + "machineTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Full machine-type names, e.g. \"n1-standard-16\"." + }, + "rank": { + "type": "integer", + "description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference." + } + }, + "type": "object", + "required": [ + "machineTypes", + "rank" + ] + }, "google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyResponse": { "properties": { "instanceSelectionLists": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse" + }, "description": "Named instance selections configuring properties that the group will use when creating new VMs." }, "instanceSelections": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse" + }, "description": "Named instance selections configuring properties that the group will use when creating new VMs." } }, @@ -80667,6 +83477,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -80677,6 +83490,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -80774,6 +83590,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to instances that are created from these properties." }, "machineType": { @@ -80804,6 +83623,10 @@ }, "partnerMetadata": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StructuredEntries" + }, "description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map." }, "postKeyRevocationActionType": { @@ -80821,6 +83644,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -80852,6 +83678,10 @@ }, "serviceIntegrationSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpec" + }, "description": "Mapping of user defined keys to ServiceIntegrationSpec." }, "shieldedInstanceConfig": { @@ -80898,10 +83728,16 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The label key-value pairs that you want to patch onto the instance." }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata." } }, @@ -80912,10 +83748,16 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The label key-value pairs that you want to patch onto the instance." }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata." } }, @@ -81014,6 +83856,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to instances that are created from these properties." }, "machineType": { @@ -81044,6 +83889,10 @@ }, "partnerMetadata": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StructuredEntriesResponse" + }, "description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map." }, "postKeyRevocationActionType": { @@ -81061,6 +83910,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -81092,6 +83944,10 @@ }, "serviceIntegrationSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpecResponse" + }, "description": "Mapping of user defined keys to ServiceIntegrationSpec." }, "shieldedInstanceConfig": { @@ -81855,6 +84711,10 @@ "properties": { "locations": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocation" + }, "description": "Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a." }, "targetShape": { @@ -81864,11 +84724,106 @@ }, "type": "object" }, + "google-native:compute/alpha:LocationPolicyLocation": { + "properties": { + "constraints": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocationConstraints", + "description": "Constraints that the caller requires on the result distribution in this zone." + }, + "names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset." + }, + "preference": { + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocationPreference", + "description": "Preference for a given location. Set to either ALLOW or DENY." + } + }, + "type": "object" + }, + "google-native:compute/alpha:LocationPolicyLocationConstraints": { + "description": "Per-zone constraints on location policy for this zone.", + "properties": { + "maxCount": { + "type": "integer", + "description": "Maximum number of items that are allowed to be placed in this zone. The value must be non-negative." + } + }, + "type": "object" + }, + "google-native:compute/alpha:LocationPolicyLocationConstraintsResponse": { + "description": "Per-zone constraints on location policy for this zone.", + "properties": { + "maxCount": { + "type": "integer", + "description": "Maximum number of items that are allowed to be placed in this zone. The value must be non-negative." + } + }, + "type": "object", + "required": [ + "maxCount" + ] + }, + "google-native:compute/alpha:LocationPolicyLocationPreference": { + "description": "Preference for a given location. Set to either ALLOW or DENY.", + "type": "string", + "enum": [ + { + "name": "Allow", + "description": "Location is allowed for use.", + "value": "ALLOW" + }, + { + "name": "Deny", + "description": "Location is prohibited.", + "value": "DENY" + }, + { + "name": "PreferenceUnspecified", + "description": "Default value, unused.", + "value": "PREFERENCE_UNSPECIFIED" + } + ] + }, + "google-native:compute/alpha:LocationPolicyLocationResponse": { + "properties": { + "constraints": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocationConstraintsResponse", + "description": "Constraints that the caller requires on the result distribution in this zone." + }, + "names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset." + }, + "preference": { + "type": "string", + "description": "Preference for a given location. Set to either ALLOW or DENY." + } + }, + "type": "object", + "required": [ + "constraints", + "names", + "preference" + ] + }, "google-native:compute/alpha:LocationPolicyResponse": { "description": "Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region).", "properties": { "locations": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:LocationPolicyLocationResponse" + }, "description": "Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a." }, "targetShape": { @@ -84507,6 +87462,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of Istio attribute to expected values. Exact match, prefix match, and suffix match are supported for values. For example, `request.headers[version]: \"v1\"`. The properties are ANDed together." }, "users": { @@ -84577,6 +87535,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of Istio attribute to expected values. Exact match, prefix match, and suffix match are supported for values. For example, `request.headers[version]: \"v1\"`. The properties are ANDed together." }, "users": { @@ -84981,6 +87942,9 @@ "properties": { "dimensions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map holding related quota dimensions." }, "futureLimit": { @@ -85917,6 +88881,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "shareSettings": { @@ -86061,6 +89028,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "resourceStatus": { @@ -86734,6 +89704,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to scheduled snapshots. These can be later modified by the setLabels method. Label values may be empty." }, "storageLocations": { @@ -86759,6 +89732,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to scheduled snapshots. These can be later modified by the setLabels method. Label values may be empty." }, "storageLocations": { @@ -86987,6 +89963,10 @@ }, "serviceIntegrationStatuses": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ResourceStatusServiceIntegrationStatusResponse" + }, "description": "Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs." }, "shutdownDetails": { @@ -87026,6 +90006,37 @@ "terminationTimestamp" ] }, + "google-native:compute/alpha:ResourceStatusServiceIntegrationStatusBackupDRStatusResponse": { + "description": "Message defining compute perspective of the result of integration with Backup and DR. FAILED status indicates that the operation specified did not complete correctly and should be retried with the same value.", + "properties": { + "integrationDetails": { + "type": "string", + "description": "The PlanReference object created by Backup and DR to maintain the actual status of backups. May still be present if removing the backup plan fails." + }, + "state": { + "type": "string", + "description": "Enum representing the registration state of a Backup and DR backup plan for the instance." + } + }, + "type": "object", + "required": [ + "integrationDetails", + "state" + ] + }, + "google-native:compute/alpha:ResourceStatusServiceIntegrationStatusResponse": { + "description": "Represents the status of integration between instance and another service. See go/gce-backupdr-design for more details.", + "properties": { + "backupDr": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ResourceStatusServiceIntegrationStatusBackupDRStatusResponse" + } + }, + "type": "object", + "required": [ + "backupDr" + ] + }, "google-native:compute/alpha:ResourceStatusShutdownDetailsResponse": { "description": "Specifies if the instance is in `SHUTTING_DOWN` state or there is a instance stopping scheduled.", "properties": { @@ -87064,6 +90075,9 @@ }, "locationRolloutPolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Location based rollout policies to apply to the resource. Currently only zone names are supported and must be represented as valid URLs, like: zones/us-central1-a. The value expects an RFC3339 timestamp on or after which the update is considered rolled out to the specified location." } }, @@ -87078,6 +90092,9 @@ }, "locationRolloutPolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Location based rollout policies to apply to the resource. Currently only zone names are supported and must be represented as valid URLs, like: zones/us-central1-a. The value expects an RFC3339 timestamp on or after which the update is considered rolled out to the specified location." } }, @@ -88866,6 +91883,28 @@ "storageBytesStatus" ] }, + "google-native:compute/alpha:ScalingScheduleStatusResponse": { + "properties": { + "lastStartTime": { + "type": "string", + "description": "The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format." + }, + "nextStartTime": { + "type": "string", + "description": "The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format." + }, + "state": { + "type": "string", + "description": "The current state of a scaling schedule." + } + }, + "type": "object", + "required": [ + "lastStartTime", + "nextStartTime", + "state" + ] + }, "google-native:compute/alpha:Scheduling": { "description": "Sets the scheduling options for an Instance.", "properties": { @@ -91440,15 +94479,69 @@ } ] }, + "google-native:compute/alpha:ServiceIntegrationSpec": { + "description": "Specifies the parameters to configure an integration with instances.", + "properties": { + "backupDr": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpecBackupDRSpec" + } + }, + "type": "object" + }, + "google-native:compute/alpha:ServiceIntegrationSpecBackupDRSpec": { + "description": "Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup.", + "properties": { + "plan": { + "type": "string", + "description": "The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates" + } + }, + "type": "object" + }, + "google-native:compute/alpha:ServiceIntegrationSpecBackupDRSpecResponse": { + "description": "Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup.", + "properties": { + "plan": { + "type": "string", + "description": "The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates" + } + }, + "type": "object", + "required": [ + "plan" + ] + }, + "google-native:compute/alpha:ServiceIntegrationSpecResponse": { + "description": "Specifies the parameters to configure an integration with instances.", + "properties": { + "backupDr": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpecBackupDRSpecResponse" + } + }, + "type": "object", + "required": [ + "backupDr" + ] + }, "google-native:compute/alpha:ShareSettings": { "description": "The share setting for reservations and sole tenancy node groups.", "properties": { "folderMap": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ShareSettingsFolderConfig" + }, "description": "A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without \"folders/\" prefix." }, "projectMap": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ShareSettingsProjectConfig" + }, "description": "A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS." }, "projects": { @@ -91465,15 +94558,69 @@ }, "type": "object" }, + "google-native:compute/alpha:ShareSettingsFolderConfig": { + "description": "Config for each folder in the share settings.", + "properties": { + "folderId": { + "type": "string", + "description": "The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without \"folders/\" prefix." + } + }, + "type": "object" + }, + "google-native:compute/alpha:ShareSettingsFolderConfigResponse": { + "description": "Config for each folder in the share settings.", + "properties": { + "folderId": { + "type": "string", + "description": "The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without \"folders/\" prefix." + } + }, + "type": "object", + "required": [ + "folderId" + ] + }, + "google-native:compute/alpha:ShareSettingsProjectConfig": { + "description": "Config for each project in the share settings.", + "properties": { + "project": { + "type": "string", + "description": "The project ID, should be same as the key of this project config in the parent map." + } + }, + "type": "object" + }, + "google-native:compute/alpha:ShareSettingsProjectConfigResponse": { + "description": "Config for each project in the share settings.", + "properties": { + "project": { + "type": "string", + "description": "The project ID, should be same as the key of this project config in the parent map." + } + }, + "type": "object", + "required": [ + "project" + ] + }, "google-native:compute/alpha:ShareSettingsResponse": { "description": "The share setting for reservations and sole tenancy node groups.", "properties": { "folderMap": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ShareSettingsFolderConfigResponse" + }, "description": "A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without \"folders/\" prefix." }, "projectMap": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ShareSettingsProjectConfigResponse" + }, "description": "A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS." }, "projects": { @@ -91769,6 +94916,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to instances that are created from this machine image." }, "machineType": { @@ -91852,6 +95002,9 @@ "properties": { "domainStatus": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "[Output only] Detailed statuses of the domains specified for managed certificate resource." }, "domains": { @@ -92029,32 +95182,126 @@ "properties": { "disks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateDiskDevice" + }, "description": "Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks." }, "externalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIp" + }, "description": "External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." }, "internalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIp" + }, "description": "Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." } }, "type": "object" }, + "google-native:compute/alpha:StatefulPolicyPreservedStateDiskDevice": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateDiskDeviceAutoDelete", + "description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted." + } + }, + "type": "object" + }, + "google-native:compute/alpha:StatefulPolicyPreservedStateDiskDeviceAutoDelete": { + "description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.", + "type": "string", + "enum": [ + { + "name": "Never", + "value": "NEVER" + }, + { + "name": "OnPermanentInstanceDeletion", + "value": "ON_PERMANENT_INSTANCE_DELETION" + } + ] + }, + "google-native:compute/alpha:StatefulPolicyPreservedStateDiskDeviceResponse": { + "properties": { + "autoDelete": { + "type": "string", + "description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted." + } + }, + "type": "object", + "required": [ + "autoDelete" + ] + }, + "google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIp": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIpAutoDelete", + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted." + } + }, + "type": "object" + }, + "google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIpAutoDelete": { + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.", + "type": "string", + "enum": [ + { + "name": "Never", + "value": "NEVER" + }, + { + "name": "OnPermanentInstanceDeletion", + "value": "ON_PERMANENT_INSTANCE_DELETION" + } + ] + }, + "google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIpResponse": { + "properties": { + "autoDelete": { + "type": "string", + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted." + } + }, + "type": "object", + "required": [ + "autoDelete" + ] + }, "google-native:compute/alpha:StatefulPolicyPreservedStateResponse": { "description": "Configuration of preserved resources.", "properties": { "disks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateDiskDeviceResponse" + }, "description": "Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks." }, "externalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIpResponse" + }, "description": "External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." }, "internalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StatefulPolicyPreservedStateNetworkIpResponse" + }, "description": "Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." } }, @@ -92165,6 +95412,33 @@ "usedThroughput" ] }, + "google-native:compute/alpha:StructuredEntries": { + "properties": { + "entries": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct." + } + }, + "type": "object" + }, + "google-native:compute/alpha:StructuredEntriesResponse": { + "properties": { + "entries": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct." + } + }, + "type": "object", + "required": [ + "entries" + ] + }, "google-native:compute/alpha:SubnetworkAggregationInterval": { "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Sets the aggregation interval for collecting flow logs. Increasing the interval time reduces the amount of generated flow logs for long-lasting connections. Default is an interval of 5 seconds per connection. Valid values: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN, INTERVAL_15_MIN.", "type": "string", @@ -94319,6 +97593,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks." }, "licenses": { @@ -94353,6 +97630,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -94466,6 +97746,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks." }, "licenses": { @@ -94500,6 +97783,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -94984,6 +98270,10 @@ }, "scalingSchedules": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:AutoscalingPolicyScalingSchedule" + }, "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed." } }, @@ -95217,6 +98507,10 @@ }, "scalingSchedules": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:AutoscalingPolicyScalingScheduleResponse" + }, "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed." } }, @@ -95302,6 +98596,74 @@ "timeWindowSec" ] }, + "google-native:compute/beta:AutoscalingPolicyScalingSchedule": { + "description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", + "properties": { + "description": { + "type": "string", + "description": "A description of a scaling schedule." + }, + "disabled": { + "type": "boolean", + "description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default." + }, + "durationSec": { + "type": "integer", + "description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required." + }, + "minRequiredReplicas": { + "type": "integer", + "description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required." + }, + "schedule": { + "type": "string", + "description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving." + }, + "timeZone": { + "type": "string", + "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty." + } + }, + "type": "object" + }, + "google-native:compute/beta:AutoscalingPolicyScalingScheduleResponse": { + "description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", + "properties": { + "description": { + "type": "string", + "description": "A description of a scaling schedule." + }, + "disabled": { + "type": "boolean", + "description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default." + }, + "durationSec": { + "type": "integer", + "description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required." + }, + "minRequiredReplicas": { + "type": "integer", + "description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required." + }, + "schedule": { + "type": "string", + "description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving." + }, + "timeZone": { + "type": "string", + "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty." + } + }, + "type": "object", + "required": [ + "description", + "disabled", + "durationSec", + "minRequiredReplicas", + "schedule", + "timeZone" + ] + }, "google-native:compute/beta:Backend": { "description": "Message containing information of one individual backend.", "properties": { @@ -97533,6 +100895,18 @@ }, "type": "object" }, + "google-native:compute/beta:DiskAsyncReplicationListResponse": { + "properties": { + "asyncReplicationDisk": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:DiskAsyncReplicationResponse" + } + }, + "type": "object", + "required": [ + "asyncReplicationDisk" + ] + }, "google-native:compute/beta:DiskAsyncReplicationResponse": { "properties": { "consistencyGroupPolicy": { @@ -97674,6 +101048,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -97684,6 +101061,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -97711,6 +101091,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:DiskResourceStatusAsyncReplicationStatusResponse" + }, "description": "Key: disk, value: AsyncReplicationStatus message" } }, @@ -97883,6 +101267,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional structured details about this error. Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request." }, "reason": { @@ -101228,15 +104615,59 @@ "properties": { "instanceSelectionLists": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" + }, "description": "Named instance selections configuring properties that the group will use when creating new VMs." } }, "type": "object" }, + "google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { + "properties": { + "machineTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Full machine-type names, e.g. \"n1-standard-16\"." + }, + "rank": { + "type": "integer", + "description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference." + } + }, + "type": "object" + }, + "google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse": { + "properties": { + "machineTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Full machine-type names, e.g. \"n1-standard-16\"." + }, + "rank": { + "type": "integer", + "description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference." + } + }, + "type": "object", + "required": [ + "machineTypes", + "rank" + ] + }, "google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyResponse": { "properties": { "instanceSelectionLists": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse" + }, "description": "Named instance selections configuring properties that the group will use when creating new VMs." } }, @@ -101813,6 +105244,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -101823,6 +105257,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -101920,6 +105357,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to instances that are created from these properties." }, "machineType": { @@ -101963,6 +105403,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -102029,10 +105472,16 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The label key-value pairs that you want to patch onto the instance." }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata." } }, @@ -102043,10 +105492,16 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The label key-value pairs that you want to patch onto the instance." }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata." } }, @@ -102145,6 +105600,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to instances that are created from these properties." }, "machineType": { @@ -102188,6 +105646,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -105005,6 +108466,9 @@ "properties": { "dimensions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map holding related quota dimensions." }, "futureLimit": { @@ -105763,6 +109227,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "shareSettings": { @@ -105907,6 +109374,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "resourceStatus": { @@ -106465,6 +109935,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to scheduled snapshots. These can be later modified by the setLabels method. Label values may be empty." }, "storageLocations": { @@ -106490,6 +109963,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to scheduled snapshots. These can be later modified by the setLabels method. Label values may be empty." }, "storageLocations": { @@ -106656,6 +110132,9 @@ }, "locationRolloutPolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Location based rollout policies to apply to the resource. Currently only zone names are supported and must be represented as valid URLs, like: zones/us-central1-a. The value expects an RFC3339 timestamp on or after which the update is considered rolled out to the specified location." } }, @@ -106670,6 +110149,9 @@ }, "locationRolloutPolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Location based rollout policies to apply to the resource. Currently only zone names are supported and must be represented as valid URLs, like: zones/us-central1-a. The value expects an RFC3339 timestamp on or after which the update is considered rolled out to the specified location." } }, @@ -108328,6 +111810,28 @@ "storageBytesStatus" ] }, + "google-native:compute/beta:ScalingScheduleStatusResponse": { + "properties": { + "lastStartTime": { + "type": "string", + "description": "The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format." + }, + "nextStartTime": { + "type": "string", + "description": "The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format." + }, + "state": { + "type": "string", + "description": "The current state of a scaling schedule." + } + }, + "type": "object", + "required": [ + "lastStartTime", + "nextStartTime", + "state" + ] + }, "google-native:compute/beta:Scheduling": { "description": "Sets the scheduling options for an Instance.", "properties": { @@ -110557,6 +114061,10 @@ "properties": { "projectMap": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:ShareSettingsProjectConfig" + }, "description": "A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS." }, "projects": { @@ -110573,11 +114081,38 @@ }, "type": "object" }, + "google-native:compute/beta:ShareSettingsProjectConfig": { + "description": "Config for each project in the share settings.", + "properties": { + "project": { + "type": "string", + "description": "The project ID, should be same as the key of this project config in the parent map." + } + }, + "type": "object" + }, + "google-native:compute/beta:ShareSettingsProjectConfigResponse": { + "description": "Config for each project in the share settings.", + "properties": { + "project": { + "type": "string", + "description": "The project ID, should be same as the key of this project config in the parent map." + } + }, + "type": "object", + "required": [ + "project" + ] + }, "google-native:compute/beta:ShareSettingsResponse": { "description": "The share setting for reservations and sole tenancy node groups.", "properties": { "projectMap": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:ShareSettingsProjectConfigResponse" + }, "description": "A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS." }, "projects": { @@ -110867,6 +114402,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to instances that are created from this machine image." }, "machineType": { @@ -110950,6 +114488,9 @@ "properties": { "domainStatus": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "[Output only] Detailed statuses of the domains specified for managed certificate resource." }, "domains": { @@ -111127,32 +114668,126 @@ "properties": { "disks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateDiskDevice" + }, "description": "Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks." }, "externalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIp" + }, "description": "External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." }, "internalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIp" + }, "description": "Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." } }, "type": "object" }, + "google-native:compute/beta:StatefulPolicyPreservedStateDiskDevice": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateDiskDeviceAutoDelete", + "description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted." + } + }, + "type": "object" + }, + "google-native:compute/beta:StatefulPolicyPreservedStateDiskDeviceAutoDelete": { + "description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.", + "type": "string", + "enum": [ + { + "name": "Never", + "value": "NEVER" + }, + { + "name": "OnPermanentInstanceDeletion", + "value": "ON_PERMANENT_INSTANCE_DELETION" + } + ] + }, + "google-native:compute/beta:StatefulPolicyPreservedStateDiskDeviceResponse": { + "properties": { + "autoDelete": { + "type": "string", + "description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted." + } + }, + "type": "object", + "required": [ + "autoDelete" + ] + }, + "google-native:compute/beta:StatefulPolicyPreservedStateNetworkIp": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIpAutoDelete", + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted." + } + }, + "type": "object" + }, + "google-native:compute/beta:StatefulPolicyPreservedStateNetworkIpAutoDelete": { + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.", + "type": "string", + "enum": [ + { + "name": "Never", + "value": "NEVER" + }, + { + "name": "OnPermanentInstanceDeletion", + "value": "ON_PERMANENT_INSTANCE_DELETION" + } + ] + }, + "google-native:compute/beta:StatefulPolicyPreservedStateNetworkIpResponse": { + "properties": { + "autoDelete": { + "type": "string", + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted." + } + }, + "type": "object", + "required": [ + "autoDelete" + ] + }, "google-native:compute/beta:StatefulPolicyPreservedStateResponse": { "description": "Configuration of preserved resources.", "properties": { "disks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateDiskDeviceResponse" + }, "description": "Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks." }, "externalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIpResponse" + }, "description": "External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." }, "internalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:StatefulPolicyPreservedStateNetworkIpResponse" + }, "description": "Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." } }, @@ -112766,6 +116401,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks." }, "licenses": { @@ -112796,6 +116434,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -112893,6 +116534,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks." }, "licenses": { @@ -112923,6 +116567,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -113382,6 +117029,10 @@ }, "scalingSchedules": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:AutoscalingPolicyScalingSchedule" + }, "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed." } }, @@ -113607,6 +117258,10 @@ }, "scalingSchedules": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:AutoscalingPolicyScalingScheduleResponse" + }, "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed." } }, @@ -113657,6 +117312,74 @@ "timeWindowSec" ] }, + "google-native:compute/v1:AutoscalingPolicyScalingSchedule": { + "description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", + "properties": { + "description": { + "type": "string", + "description": "A description of a scaling schedule." + }, + "disabled": { + "type": "boolean", + "description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default." + }, + "durationSec": { + "type": "integer", + "description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required." + }, + "minRequiredReplicas": { + "type": "integer", + "description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required." + }, + "schedule": { + "type": "string", + "description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving." + }, + "timeZone": { + "type": "string", + "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty." + } + }, + "type": "object" + }, + "google-native:compute/v1:AutoscalingPolicyScalingScheduleResponse": { + "description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", + "properties": { + "description": { + "type": "string", + "description": "A description of a scaling schedule." + }, + "disabled": { + "type": "boolean", + "description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default." + }, + "durationSec": { + "type": "integer", + "description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required." + }, + "minRequiredReplicas": { + "type": "integer", + "description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required." + }, + "schedule": { + "type": "string", + "description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving." + }, + "timeZone": { + "type": "string", + "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty." + } + }, + "type": "object", + "required": [ + "description", + "disabled", + "durationSec", + "minRequiredReplicas", + "schedule", + "timeZone" + ] + }, "google-native:compute/v1:Backend": { "description": "Message containing information of one individual backend.", "properties": { @@ -115693,6 +119416,18 @@ }, "type": "object" }, + "google-native:compute/v1:DiskAsyncReplicationListResponse": { + "properties": { + "asyncReplicationDisk": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:DiskAsyncReplicationResponse" + } + }, + "type": "object", + "required": [ + "asyncReplicationDisk" + ] + }, "google-native:compute/v1:DiskAsyncReplicationResponse": { "properties": { "consistencyGroupPolicy": { @@ -115816,6 +119551,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -115826,6 +119564,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -115853,6 +119594,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:DiskResourceStatusAsyncReplicationStatusResponse" + }, "description": "Key: disk, value: AsyncReplicationStatus message" } }, @@ -119295,6 +123040,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -119305,6 +123053,9 @@ "properties": { "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." } }, @@ -119376,6 +123127,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to instances that are created from these properties." }, "machineType": { @@ -119415,6 +123169,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -119534,6 +123291,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to instances that are created from these properties." }, "machineType": { @@ -119573,6 +123333,9 @@ }, "resourceManagerTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT \u0026 PATCH) when empty." }, "resourcePolicies": { @@ -122798,6 +126561,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "shareSettings": { @@ -122918,6 +126684,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "resourceStatus": { @@ -123446,6 +127215,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to scheduled snapshots. These can be later modified by the setLabels method. Label values may be empty." }, "storageLocations": { @@ -123471,6 +127243,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to scheduled snapshots. These can be later modified by the setLabels method. Label values may be empty." }, "storageLocations": { @@ -125201,6 +128976,28 @@ "storageBytesStatus" ] }, + "google-native:compute/v1:ScalingScheduleStatusResponse": { + "properties": { + "lastStartTime": { + "type": "string", + "description": "The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format." + }, + "nextStartTime": { + "type": "string", + "description": "The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format." + }, + "state": { + "type": "string", + "description": "The current state of a scaling schedule." + } + }, + "type": "object", + "required": [ + "lastStartTime", + "nextStartTime", + "state" + ] + }, "google-native:compute/v1:Scheduling": { "description": "Sets the scheduling options for an Instance.", "properties": { @@ -126953,6 +130750,10 @@ "properties": { "projectMap": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:ShareSettingsProjectConfig" + }, "description": "A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS." }, "shareType": { @@ -126962,11 +130763,38 @@ }, "type": "object" }, + "google-native:compute/v1:ShareSettingsProjectConfig": { + "description": "Config for each project in the share settings.", + "properties": { + "project": { + "type": "string", + "description": "The project ID, should be same as the key of this project config in the parent map." + } + }, + "type": "object" + }, + "google-native:compute/v1:ShareSettingsProjectConfigResponse": { + "description": "Config for each project in the share settings.", + "properties": { + "project": { + "type": "string", + "description": "The project ID, should be same as the key of this project config in the parent map." + } + }, + "type": "object", + "required": [ + "project" + ] + }, "google-native:compute/v1:ShareSettingsResponse": { "description": "The share setting for reservations and sole tenancy node groups.", "properties": { "projectMap": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:ShareSettingsProjectConfigResponse" + }, "description": "A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS." }, "shareType": { @@ -127184,6 +131012,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to instances that are created from this machine image." }, "machineType": { @@ -127262,6 +131093,9 @@ "properties": { "domainStatus": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "[Output only] Detailed statuses of the domains specified for managed certificate resource." }, "domains": { @@ -127439,32 +131273,126 @@ "properties": { "disks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateDiskDevice" + }, "description": "Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks." }, "externalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIp" + }, "description": "External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." }, "internalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIp" + }, "description": "Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." } }, "type": "object" }, + "google-native:compute/v1:StatefulPolicyPreservedStateDiskDevice": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateDiskDeviceAutoDelete", + "description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted." + } + }, + "type": "object" + }, + "google-native:compute/v1:StatefulPolicyPreservedStateDiskDeviceAutoDelete": { + "description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.", + "type": "string", + "enum": [ + { + "name": "Never", + "value": "NEVER" + }, + { + "name": "OnPermanentInstanceDeletion", + "value": "ON_PERMANENT_INSTANCE_DELETION" + } + ] + }, + "google-native:compute/v1:StatefulPolicyPreservedStateDiskDeviceResponse": { + "properties": { + "autoDelete": { + "type": "string", + "description": "These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted." + } + }, + "type": "object", + "required": [ + "autoDelete" + ] + }, + "google-native:compute/v1:StatefulPolicyPreservedStateNetworkIp": { + "properties": { + "autoDelete": { + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIpAutoDelete", + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted." + } + }, + "type": "object" + }, + "google-native:compute/v1:StatefulPolicyPreservedStateNetworkIpAutoDelete": { + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.", + "type": "string", + "enum": [ + { + "name": "Never", + "value": "NEVER" + }, + { + "name": "OnPermanentInstanceDeletion", + "value": "ON_PERMANENT_INSTANCE_DELETION" + } + ] + }, + "google-native:compute/v1:StatefulPolicyPreservedStateNetworkIpResponse": { + "properties": { + "autoDelete": { + "type": "string", + "description": "These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted." + } + }, + "type": "object", + "required": [ + "autoDelete" + ] + }, "google-native:compute/v1:StatefulPolicyPreservedStateResponse": { "description": "Configuration of preserved resources.", "properties": { "disks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateDiskDeviceResponse" + }, "description": "Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks." }, "externalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIpResponse" + }, "description": "External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." }, "internalIPs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:StatefulPolicyPreservedStateNetworkIpResponse" + }, "description": "Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name." } }, @@ -130235,10 +134163,18 @@ }, "entities": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1EntityResponse" + }, "description": "All the entities in the call." }, "intents": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IntentResponse" + }, "description": "All the matched intents in the call." }, "issueModelResult": { @@ -130248,6 +134184,10 @@ }, "phraseMatchers": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse" + }, "description": "All the matched phrase matchers in the call." }, "sentiments": { @@ -130513,6 +134453,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map that contains metadata about the Article Suggestion and the document that it originates from." }, "queryRecord": { @@ -130753,6 +134696,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map that contains metadata about the summarization and the document from which it originates." }, "text": { @@ -130761,6 +134707,9 @@ }, "textSections": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The summarization content that is divided into sections. The key is the section's name and the value is the section's content. There is no specific format for the key or value." } }, @@ -130892,6 +134841,19 @@ "word" ] }, + "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1DialogflowIntentResponse": { + "description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", + "properties": { + "displayName": { + "type": "string", + "description": "The human-readable name of the intent." + } + }, + "type": "object", + "required": [ + "displayName" + ] + }, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1DialogflowInteractionDataResponse": { "description": "Dialogflow interaction data.", "properties": { @@ -130962,6 +134924,43 @@ "type" ] }, + "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1EntityResponse": { + "description": "The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location.", + "properties": { + "displayName": { + "type": "string", + "description": "The representative name for the entity." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below." + }, + "salience": { + "type": "number", + "description": "The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient." + }, + "sentiment": { + "type": "object", + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1SentimentDataResponse", + "description": "The aggregate sentiment expressed for this entity in the conversation." + }, + "type": { + "type": "string", + "description": "The entity type." + } + }, + "type": "object", + "required": [ + "displayName", + "metadata", + "salience", + "sentiment", + "type" + ] + }, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1ExactMatchConfig": { "description": "Exact match configuration.", "properties": { @@ -130998,6 +134997,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map that contains metadata about the FAQ answer and the document that it originates from." }, "queryRecord": { @@ -131072,6 +135074,19 @@ "intentUniqueId" ] }, + "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IntentResponse": { + "description": "The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE.", + "properties": { + "displayName": { + "type": "string", + "description": "The human-readable name of the intent." + } + }, + "type": "object", + "required": [ + "displayName" + ] + }, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1InterruptionDataResponse": { "description": "The data for an interruption annotation.", "type": "object" @@ -131171,6 +135186,29 @@ "trainingConversationsCount" ] }, + "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse": { + "description": "Aggregated statistics about an issue.", + "properties": { + "displayName": { + "type": "string", + "description": "Display name of the issue." + }, + "issue": { + "type": "string", + "description": "Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}" + }, + "labeledConversationsCount": { + "type": "string", + "description": "Number of conversations attached to the issue at this point in time." + } + }, + "type": "object", + "required": [ + "displayName", + "issue", + "labeledConversationsCount" + ] + }, "google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse": { "description": "Aggregated statistics about an issue model.", "properties": { @@ -131180,6 +135218,10 @@ }, "issueStats": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse" + }, "description": "Statistics on each issue. Key is the issue's resource name." }, "unclassifiedConversationsCount": { @@ -131472,6 +135514,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map that contains metadata about the Smart Compose suggestion and the document from which it originates." }, "queryRecord": { @@ -131500,6 +135545,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map that contains metadata about the Smart Reply and the document from which it originates." }, "queryRecord": { @@ -134064,6 +138112,9 @@ }, "sysctls": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse" } }, @@ -134099,6 +138150,9 @@ }, "sysctls": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse" } }, @@ -134352,6 +138406,10 @@ }, "maintenanceExclusions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:container/v1:TimeWindow" + }, "description": "Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows." }, "recurringWindow": { @@ -134372,6 +138430,10 @@ }, "maintenanceExclusions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:container/v1:TimeWindowResponse" + }, "description": "Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows." }, "recurringWindow": { @@ -135150,6 +139212,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/" }, "linuxNodeConfig": { @@ -135177,6 +139242,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-os-login\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB." }, "minCpuPlatform": { @@ -135205,6 +139273,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the node pool to use to annotate any related Google Compute Engine resources." }, "resourceManagerTags": { @@ -135363,6 +139434,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/" }, "linuxNodeConfig": { @@ -135390,6 +139464,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-os-login\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB." }, "minCpuPlatform": { @@ -135418,6 +139495,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the node pool to use to annotate any related Google Compute Engine resources." }, "resourceManagerTags": { @@ -135577,6 +139657,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of node label keys and node label values." } }, @@ -136247,6 +140330,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels contain the configuration of the parent product." }, "productName": { @@ -136261,6 +140347,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels contain the configuration of the parent product." }, "productName": { @@ -136724,6 +140813,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of node label keys and node label values." } }, @@ -136775,6 +140867,9 @@ "properties": { "tags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "TagKeyValue must be in one of the following formats ([KEY]=[VALUE]) 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}` 2. `{org_id}/{tag_key_name}={tag_value_name}` 3. `{project_id}/{tag_key_name}={tag_value_name}`" } }, @@ -136785,6 +140880,9 @@ "properties": { "tags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "TagKeyValue must be in one of the following formats ([KEY]=[VALUE]) 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}` 2. `{org_id}/{tag_key_name}={tag_value_name}` 3. `{project_id}/{tag_key_name}={tag_value_name}`" } }, @@ -139418,6 +143516,29 @@ } ] }, + "google-native:container/v1beta1:DateResponse": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "properties": { + "day": { + "type": "integer", + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant." + }, + "month": { + "type": "integer", + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day." + }, + "year": { + "type": "integer", + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year." + } + }, + "type": "object", + "required": [ + "day", + "month", + "year" + ] + }, "google-native:container/v1beta1:DefaultSnatStatus": { "description": "DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster.", "properties": { @@ -140437,6 +144558,9 @@ }, "sysctls": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse" } }, @@ -140472,6 +144596,9 @@ }, "sysctls": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse" } }, @@ -140725,6 +144852,10 @@ }, "maintenanceExclusions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:container/v1beta1:TimeWindow" + }, "description": "Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows." }, "recurringWindow": { @@ -140745,6 +144876,10 @@ }, "maintenanceExclusions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:container/v1beta1:TimeWindowResponse" + }, "description": "Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows." }, "recurringWindow": { @@ -141607,6 +145742,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/" }, "linuxNodeConfig": { @@ -141634,6 +145772,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-oslogin\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB." }, "minCpuPlatform": { @@ -141662,6 +145803,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the node pool to use to annotate any related Google Compute Engine resources." }, "resourceManagerTags": { @@ -141845,6 +145989,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/" }, "linuxNodeConfig": { @@ -141872,6 +146019,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-oslogin\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB." }, "minCpuPlatform": { @@ -141900,6 +146050,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the node pool to use to annotate any related Google Compute Engine resources." }, "resourceManagerTags": { @@ -142062,6 +146215,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of node label keys and node label values." } }, @@ -142773,6 +146929,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels contain the configuration of the parent product." }, "productName": { @@ -142787,6 +146946,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels contain the configuration of the parent product." }, "productName": { @@ -143361,6 +147523,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of node label keys and node label values." } }, @@ -143412,6 +147577,9 @@ "properties": { "tags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Tags must be in one of the following formats ([KEY]=[VALUE]) 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}` 2. `{org_id}/{tag_key_name}={tag_value_name}` 3. `{project_id}/{tag_key_name}={tag_value_name}`" } }, @@ -143422,6 +147590,9 @@ "properties": { "tags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Tags must be in one of the following formats ([KEY]=[VALUE]) 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}` 2. `{org_id}/{tag_key_name}={tag_value_name}` 3. `{project_id}/{tag_key_name}={tag_value_name}`" } }, @@ -144188,6 +148359,47 @@ "osVersion" ] }, + "google-native:container/v1beta1:WindowsVersionResponse": { + "description": "Windows server version.", + "properties": { + "imageType": { + "type": "string", + "description": "Windows server image type" + }, + "osVersion": { + "type": "string", + "description": "Windows server build number" + }, + "supportEndDate": { + "type": "object", + "$ref": "#/types/google-native:container/v1beta1:DateResponse", + "description": "Mainstream support end date" + } + }, + "type": "object", + "required": [ + "imageType", + "osVersion", + "supportEndDate" + ] + }, + "google-native:container/v1beta1:WindowsVersionsResponse": { + "description": "Windows server versions.", + "properties": { + "windowsVersions": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:container/v1beta1:WindowsVersionResponse" + }, + "description": "List of Windows server versions." + } + }, + "type": "object", + "required": [ + "windowsVersions" + ] + }, "google-native:container/v1beta1:WorkloadALTSConfig": { "description": "Configuration for direct-path (via ALTS) with workload identity.", "properties": { @@ -144850,10 +149062,16 @@ "type": "string" }, "externalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "internalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "resolvedDependencies": { "type": "array", @@ -144871,10 +149089,16 @@ "type": "string" }, "externalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "internalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "resolvedDependencies": { "type": "array", @@ -145025,6 +149249,9 @@ "properties": { "buildOptions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Special options applied to this build. This is a catch-all field where build providers can enter any desired additional details." }, "builderVersion": { @@ -145095,6 +149322,9 @@ "properties": { "buildOptions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Special options applied to this build. This is a catch-all field where build providers can enter any desired additional details." }, "builderVersion": { @@ -147048,6 +151278,40 @@ "title" ] }, + "google-native:containeranalysis/v1:FileHashes": { + "description": "Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build.", + "properties": { + "fileHash": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1:Hash" + }, + "description": "Collection of file hashes." + } + }, + "type": "object", + "required": [ + "fileHash" + ] + }, + "google-native:containeranalysis/v1:FileHashesResponse": { + "description": "Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build.", + "properties": { + "fileHash": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1:HashResponse" + }, + "description": "Collection of file hashes." + } + }, + "type": "object", + "required": [ + "fileHash" + ] + }, "google-native:containeranalysis/v1:Fingerprint": { "description": "A set of properties that uniquely identify a given Docker image.", "properties": { @@ -147254,7 +151518,10 @@ "description": "Describes where the config file that kicked off the build came from. This is effectively a pointer to the source where buildConfig came from.", "properties": { "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "entryPoint": { "type": "string" @@ -147269,7 +151536,10 @@ "description": "Describes where the config file that kicked off the build came from. This is effectively a pointer to the source where buildConfig came from.", "properties": { "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "entryPoint": { "type": "string" @@ -147293,10 +151563,16 @@ "$ref": "#/types/google-native:containeranalysis/v1:GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource" }, "environment": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "parameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } } }, "type": "object" @@ -147309,10 +151585,16 @@ "$ref": "#/types/google-native:containeranalysis/v1:GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceResponse" }, "environment": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "parameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } } }, "type": "object", @@ -147326,7 +151608,10 @@ "description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", "properties": { "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "uri": { "type": "string" @@ -147338,7 +151623,10 @@ "description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", "properties": { "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "uri": { "type": "string" @@ -147401,6 +151689,42 @@ "reproducible" ] }, + "google-native:containeranalysis/v1:Hash": { + "description": "Container message for hash values.", + "properties": { + "type": { + "type": "string", + "description": "The type of hash that was performed, e.g. \"SHA-256\"." + }, + "value": { + "type": "string", + "description": "The hash value." + } + }, + "type": "object", + "required": [ + "type", + "value" + ] + }, + "google-native:containeranalysis/v1:HashResponse": { + "description": "Container message for hash values.", + "properties": { + "type": { + "type": "string", + "description": "The type of hash that was performed, e.g. \"SHA-256\"." + }, + "value": { + "type": "string", + "description": "The hash value." + } + }, + "type": "object", + "required": [ + "type", + "value" + ] + }, "google-native:containeranalysis/v1:Hint": { "description": "This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from \"readable\" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify.", "properties": { @@ -147972,7 +152296,10 @@ "google-native:containeranalysis/v1:Material": { "properties": { "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "uri": { "type": "string" @@ -147983,7 +152310,10 @@ "google-native:containeranalysis/v1:MaterialResponse": { "properties": { "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "uri": { "type": "string" @@ -148519,7 +152849,10 @@ "type": "string" }, "version": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object" @@ -148534,7 +152867,10 @@ } }, "version": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object", @@ -148590,7 +152926,10 @@ "arguments": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form \"Any\"." }, @@ -148605,7 +152944,10 @@ "environment": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form \"Any\"." }, @@ -148622,7 +152964,10 @@ "arguments": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form \"Any\"." }, @@ -148637,7 +152982,10 @@ "environment": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form \"Any\"." }, @@ -148803,13 +153151,19 @@ "google-native:containeranalysis/v1:ResourceDescriptor": { "properties": { "annotations": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "content": { "type": "string" }, "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "downloadLocation": { "type": "string" @@ -148829,13 +153183,19 @@ "google-native:containeranalysis/v1:ResourceDescriptorResponse": { "properties": { "annotations": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "content": { "type": "string" }, "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "downloadLocation": { "type": "string" @@ -149107,6 +153467,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of algorithm to digest of the contents of the SBOM." }, "location": { @@ -149129,6 +153492,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of algorithm to digest of the contents of the SBOM." }, "location": { @@ -149393,7 +153759,10 @@ "description": "See full explanation of fields at slsa.dev/provenance/v0.2.", "properties": { "buildConfig": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "buildType": { "type": "string" @@ -149424,7 +153793,10 @@ "description": "See full explanation of fields at slsa.dev/provenance/v0.2.", "properties": { "buildConfig": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "buildType": { "type": "string" @@ -149464,6 +153836,9 @@ "properties": { "arguments": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different." }, "definedInMaterial": { @@ -149476,6 +153851,9 @@ }, "environment": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different." }, "type": { @@ -149490,6 +153868,9 @@ "properties": { "arguments": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different." }, "definedInMaterial": { @@ -149502,6 +153883,9 @@ }, "environment": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different." }, "type": { @@ -149540,6 +153924,10 @@ }, "fileHashes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1:FileHashes" + }, "description": "Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file." } }, @@ -149565,6 +153953,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user defined metadata." } }, @@ -149590,6 +153981,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user defined metadata." } }, @@ -149623,6 +154017,10 @@ }, "fileHashes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1:FileHashesResponse" + }, "description": "Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file." } }, @@ -149644,7 +154042,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -149665,7 +154066,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -149685,6 +154089,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "`\"\": \"\"` Algorithms can be e.g. sha256, sha512 See https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet" }, "name": { @@ -149697,6 +154104,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "`\"\": \"\"` Algorithms can be e.g. sha256, sha512 See https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet" }, "name": { @@ -151077,10 +155487,16 @@ "type": "string" }, "externalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "internalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "resolvedDependencies": { "type": "array", @@ -151098,10 +155514,16 @@ "type": "string" }, "externalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "internalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "resolvedDependencies": { "type": "array", @@ -151226,6 +155648,9 @@ "properties": { "buildOptions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Special options applied to this build. This is a catch-all field where build providers can enter any desired additional details." }, "builderVersion": { @@ -151293,6 +155718,9 @@ "properties": { "buildOptions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Special options applied to this build. This is a catch-all field where build providers can enter any desired additional details." }, "builderVersion": { @@ -153366,6 +157794,37 @@ "type" ] }, + "google-native:containeranalysis/v1alpha1:FileHashes": { + "description": "Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build.", + "properties": { + "fileHash": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1alpha1:Hash" + }, + "description": "Collection of file hashes." + } + }, + "type": "object" + }, + "google-native:containeranalysis/v1alpha1:FileHashesResponse": { + "description": "Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build.", + "properties": { + "fileHash": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1alpha1:HashResponse" + }, + "description": "Collection of file hashes." + } + }, + "type": "object", + "required": [ + "fileHash" + ] + }, "google-native:containeranalysis/v1alpha1:FileLocation": { "description": "Indicates the location at which a package was found.", "properties": { @@ -153962,6 +158421,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Collection of cryptographic digests for the contents of the artifact specified by invocation.configSource.uri." }, "entryPoint": { @@ -153980,6 +158442,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Collection of cryptographic digests for the contents of the artifact specified by invocation.configSource.uri." }, "entryPoint": { @@ -154008,10 +158473,16 @@ }, "environment": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the build." }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Collection of all external inputs that influenced the build on top of invocation.configSource." } }, @@ -154027,10 +158498,16 @@ }, "environment": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the build." }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Collection of all external inputs that influenced the build on top of invocation.configSource." } }, @@ -154046,6 +158523,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Collection of cryptographic digests for the contents of this artifact." }, "uri": { @@ -154060,6 +158540,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Collection of cryptographic digests for the contents of this artifact." }, "uri": { @@ -154154,6 +158637,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user defined metadata." } }, @@ -154179,6 +158665,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user defined metadata." } }, @@ -154826,6 +159315,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "digest is a map from a hash algorithm (e.g. sha256) to the value in the material" }, "uri": { @@ -154840,6 +159332,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "digest is a map from a hash algorithm (e.g. sha256) to the value in the material" }, "uri": { @@ -154969,6 +159464,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any." }, "name": { @@ -154977,6 +159475,9 @@ }, "response": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`." } }, @@ -155572,7 +160073,10 @@ "type": "string" }, "version": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object" @@ -155587,7 +160091,10 @@ } }, "version": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object", @@ -155643,7 +160150,10 @@ "arguments": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint." }, @@ -155658,7 +160168,10 @@ "environment": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy." }, @@ -155675,7 +160188,10 @@ "arguments": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint." }, @@ -155690,7 +160206,10 @@ "environment": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy." }, @@ -156195,13 +160714,19 @@ "google-native:containeranalysis/v1alpha1:ResourceDescriptor": { "properties": { "annotations": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "content": { "type": "string" }, "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "downloadLocation": { "type": "string" @@ -156221,13 +160746,19 @@ "google-native:containeranalysis/v1alpha1:ResourceDescriptorResponse": { "properties": { "annotations": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "content": { "type": "string" }, "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "downloadLocation": { "type": "string" @@ -156488,6 +161019,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of algorithm to digest of the contents of the SBOM." }, "location": { @@ -156510,6 +161044,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of algorithm to digest of the contents of the SBOM." }, "location": { @@ -156750,6 +161287,9 @@ "properties": { "buildConfig": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Lists the steps in the build." }, "buildType": { @@ -156787,6 +161327,9 @@ "properties": { "buildConfig": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Lists the steps in the build." }, "buildType": { @@ -156832,6 +161375,9 @@ "properties": { "arguments": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different." }, "definedInMaterial": { @@ -156844,6 +161390,9 @@ }, "environment": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different." }, "type": { @@ -156858,6 +161407,9 @@ "properties": { "arguments": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were \"make\", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different." }, "definedInMaterial": { @@ -156870,6 +161422,9 @@ }, "environment": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different." }, "type": { @@ -156909,6 +161464,10 @@ }, "fileHashes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1alpha1:FileHashes" + }, "description": "Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file." }, "repoSource": { @@ -156947,6 +161506,10 @@ }, "fileHashes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1alpha1:FileHashesResponse" + }, "description": "Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file." }, "repoSource": { @@ -156980,7 +161543,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -157001,7 +161567,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -157063,6 +161632,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "\"\": \"\" Algorithms can be e.g. sha256, sha512 See https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet" }, "name": { @@ -157077,6 +161649,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "\"\": \"\" Algorithms can be e.g. sha256, sha512 See https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet" }, "name": { @@ -158418,10 +162993,16 @@ "type": "string" }, "externalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "internalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "resolvedDependencies": { "type": "array", @@ -158439,10 +163020,16 @@ "type": "string" }, "externalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "internalParameters": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "resolvedDependencies": { "type": "array", @@ -158498,6 +163085,9 @@ "properties": { "buildOptions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Special options applied to this build. This is a catch-all field where build providers can enter any desired additional details." }, "builderVersion": { @@ -158568,6 +163158,9 @@ "properties": { "buildOptions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Special options applied to this build. This is a catch-all field where build providers can enter any desired additional details." }, "builderVersion": { @@ -158737,7 +163330,10 @@ "description": "Defines an object for the byproducts field in in-toto links. The suggested fields are \"stderr\", \"stdout\", and \"return-value\".", "properties": { "customValues": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object" @@ -158746,7 +163342,10 @@ "description": "Defines an object for the byproducts field in in-toto links. The suggested fields are \"stderr\", \"stdout\", and \"return-value\".", "properties": { "customValues": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object", @@ -160470,7 +165069,10 @@ "description": "Defines an object for the environment field in in-toto links. The suggested fields are \"variables\", \"filesystem\", and \"workdir\".", "properties": { "customValues": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object" @@ -160479,7 +165081,10 @@ "description": "Defines an object for the environment field in in-toto links. The suggested fields are \"variables\", \"filesystem\", and \"workdir\".", "properties": { "customValues": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object", @@ -160618,6 +165223,40 @@ "type" ] }, + "google-native:containeranalysis/v1beta1:FileHashes": { + "description": "Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build.", + "properties": { + "fileHash": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1beta1:Hash" + }, + "description": "Collection of file hashes." + } + }, + "type": "object", + "required": [ + "fileHash" + ] + }, + "google-native:containeranalysis/v1beta1:FileHashesResponse": { + "description": "Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build.", + "properties": { + "fileHash": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1beta1:HashResponse" + }, + "description": "Collection of file hashes." + } + }, + "type": "object", + "required": [ + "fileHash" + ] + }, "google-native:containeranalysis/v1beta1:FileNote": { "description": "FileNote represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/", "properties": { @@ -162765,7 +167404,10 @@ "type": "string" }, "version": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object" @@ -162780,7 +167422,10 @@ } }, "version": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "type": "object", @@ -163297,13 +167942,19 @@ "google-native:containeranalysis/v1beta1:ResourceDescriptor": { "properties": { "annotations": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "content": { "type": "string" }, "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "downloadLocation": { "type": "string" @@ -163323,13 +167974,19 @@ "google-native:containeranalysis/v1beta1:ResourceDescriptorResponse": { "properties": { "annotations": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "content": { "type": "string" }, "digest": { - "type": "object" + "type": "object", + "additionalProperties": { + "type": "string" + } }, "downloadLocation": { "type": "string" @@ -163627,6 +168284,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of algorithm to digest of the contents of the SBOM." }, "location": { @@ -163649,6 +168309,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of algorithm to digest of the contents of the SBOM." }, "location": { @@ -163808,6 +168471,10 @@ }, "fileHashes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1beta1:FileHashes" + }, "description": "Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file." } }, @@ -163833,6 +168500,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user defined metadata." } }, @@ -163858,6 +168528,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user defined metadata." } }, @@ -163891,6 +168564,10 @@ }, "fileHashes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:containeranalysis/v1beta1:FileHashesResponse" + }, "description": "Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file." } }, @@ -163912,7 +168589,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -163933,7 +168613,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -163954,6 +168637,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "`\"\": \"\"` Algorithms can be e.g. sha256, sha512 See https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet" }, "name": { @@ -163968,6 +168654,9 @@ "properties": { "digest": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "`\"\": \"\"` Algorithms can be e.g. sha256, sha512 See https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet" }, "name": { @@ -164840,6 +169529,9 @@ "properties": { "customizedEntitiesPropertiesConversions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "If set, only selected entities will be converted to properties." }, "enableEntitiesConversions": { @@ -164854,6 +169546,9 @@ "properties": { "entries": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of (K, V) -\u003e (valid name of the field, new value of the field) E.g., (\"age\", \"60\") entry triggers update of field age with a value of 60. If the field is not present then new entry is added. During update action execution, value strings will be casted to appropriate types." } }, @@ -164864,6 +169559,9 @@ "properties": { "entries": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of (K, V) -\u003e (valid name of the field, new value of the field) E.g., (\"age\", \"60\") entry triggers update of field age with a value of 60. If the field is not present then new entry is added. During update action execution, value strings will be casted to appropriate types." } }, @@ -164877,6 +169575,9 @@ "properties": { "conditions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of (K, V) -\u003e (field, string condition to be evaluated on the field) E.g., (\"age\", \"age \u003e 18 \u0026\u0026 age \u003c 60\") entry triggers validation of field age with the given condition. Map entries will be ANDed during validation." } }, @@ -164887,6 +169588,9 @@ "properties": { "conditions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of (K, V) -\u003e (field, string condition to be evaluated on the field) E.g., (\"age\", \"age \u003e 18 \u0026\u0026 age \u003c 60\") entry triggers validation of field age with the given condition. Map entries will be ANDed during validation." } }, @@ -165027,6 +169731,29 @@ "validationCheckDisabled" ] }, + "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1EnumValue": { + "description": "Represents the string value of the enum field.", + "properties": { + "value": { + "type": "string", + "description": "String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions." + } + }, + "type": "object" + }, + "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1EnumValueResponse": { + "description": "Represents the string value of the enum field.", + "properties": { + "value": { + "type": "string", + "description": "String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions." + } + }, + "type": "object", + "required": [ + "value" + ] + }, "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1FloatArray": { "description": "Float values.", "properties": { @@ -165106,6 +169833,10 @@ "properties": { "fields": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1Value" + }, "description": "Unordered map of dynamically typed values." } }, @@ -165116,6 +169847,10 @@ "properties": { "fields": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1ValueResponse" + }, "description": "Unordered map of dynamically typed values." } }, @@ -165985,6 +170720,89 @@ }, "type": "object" }, + "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1Value": { + "description": "`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.", + "properties": { + "booleanValue": { + "type": "boolean", + "description": "Represents a boolean value." + }, + "datetimeValue": { + "type": "object", + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleTypeDateTime", + "description": "Represents a datetime value." + }, + "enumValue": { + "type": "object", + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1EnumValue", + "description": "Represents an enum value." + }, + "floatValue": { + "type": "number", + "description": "Represents a float value." + }, + "intValue": { + "type": "integer", + "description": "Represents a integer value." + }, + "stringValue": { + "type": "string", + "description": "Represents a string value." + }, + "timestampValue": { + "type": "object", + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1TimestampValue", + "description": "Represents a timestamp value." + } + }, + "type": "object" + }, + "google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1ValueResponse": { + "description": "`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.", + "properties": { + "booleanValue": { + "type": "boolean", + "description": "Represents a boolean value." + }, + "datetimeValue": { + "type": "object", + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleTypeDateTimeResponse", + "description": "Represents a datetime value." + }, + "enumValue": { + "type": "object", + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1EnumValueResponse", + "description": "Represents an enum value." + }, + "floatValue": { + "type": "number", + "description": "Represents a float value." + }, + "intValue": { + "type": "integer", + "description": "Represents a integer value." + }, + "stringValue": { + "type": "string", + "description": "Represents a string value." + }, + "timestampValue": { + "type": "object", + "$ref": "#/types/google-native:contentwarehouse/v1:GoogleCloudContentwarehouseV1TimestampValueResponse", + "description": "Represents a timestamp value." + } + }, + "type": "object", + "required": [ + "booleanValue", + "datetimeValue", + "enumValue", + "floatValue", + "intValue", + "stringValue", + "timestampValue" + ] + }, "google-native:contentwarehouse/v1:GoogleCloudDocumentaiV1Barcode": { "description": "Encodes the detailed information of a barcode.", "properties": { @@ -168937,7 +173755,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -168958,7 +173779,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -170070,6 +174894,29 @@ "type" ] }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1CommonUsageStats": { + "description": "Common statistics on the entry's usage. They can be set on any system.", + "properties": { + "viewCount": { + "type": "string", + "description": "View count in source system." + } + }, + "type": "object" + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1CommonUsageStatsResponse": { + "description": "Common statistics on the entry's usage. They can be set on any system.", + "properties": { + "viewCount": { + "type": "string", + "description": "View count in source system." + } + }, + "type": "object", + "required": [ + "viewCount" + ] + }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1Contacts": { "description": "Contact people for the entry.", "properties": { @@ -170484,6 +175331,127 @@ "overview" ] }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldType": { + "properties": { + "enumType": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumType", + "description": "An enum type." + }, + "primitiveType": { + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypePrimitiveType", + "description": "Primitive types, such as string, boolean, etc." + } + }, + "type": "object" + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumType": { + "properties": { + "allowedValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue" + }, + "description": "The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method." + } + }, + "type": "object" + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue": { + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters." + } + }, + "type": "object", + "required": [ + "displayName" + ] + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse": { + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters." + } + }, + "type": "object", + "required": [ + "displayName" + ] + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse": { + "properties": { + "allowedValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse" + }, + "description": "The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method." + } + }, + "type": "object", + "required": [ + "allowedValues" + ] + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypePrimitiveType": { + "description": "Primitive types, such as string, boolean, etc.", + "type": "string", + "enum": [ + { + "name": "PrimitiveTypeUnspecified", + "description": "The default invalid value for a type.", + "value": "PRIMITIVE_TYPE_UNSPECIFIED" + }, + { + "name": "Double", + "description": "A double precision number.", + "value": "DOUBLE" + }, + { + "name": "String", + "description": "An UTF-8 string.", + "value": "STRING" + }, + { + "name": "Bool", + "description": "A boolean value.", + "value": "BOOL" + }, + { + "name": "Timestamp", + "description": "A timestamp.", + "value": "TIMESTAMP" + }, + { + "name": "Richtext", + "description": "A Richtext description.", + "value": "RICHTEXT" + } + ] + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeResponse": { + "properties": { + "enumType": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse", + "description": "An enum type." + }, + "primitiveType": { + "type": "string", + "description": "Primitive types, such as string, boolean, etc." + } + }, + "type": "object", + "required": [ + "enumType", + "primitiveType" + ] + }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1FilesetSpec": { "description": "Specification that applies to a fileset. Valid only for entries with the 'FILESET' type.", "properties": { @@ -171192,6 +176160,75 @@ "groupedEntry" ] }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1TagTemplateField": { + "description": "The template for an individual field within a tag template.", + "properties": { + "description": { + "type": "string", + "description": "The description for this field. Defaults to an empty string." + }, + "displayName": { + "type": "string", + "description": "The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters." + }, + "isRequired": { + "type": "boolean", + "description": "If true, this field is required. Defaults to false." + }, + "order": { + "type": "integer", + "description": "The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential." + }, + "type": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldType", + "description": "The type of value this tag field can contain." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1TagTemplateFieldResponse": { + "description": "The template for an individual field within a tag template.", + "properties": { + "description": { + "type": "string", + "description": "The description for this field. Defaults to an empty string." + }, + "displayName": { + "type": "string", + "description": "The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters." + }, + "isRequired": { + "type": "boolean", + "description": "If true, this field is required. Defaults to false." + }, + "name": { + "type": "string", + "description": "The resource name of the tag template field in URL format. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}` Note: The tag template field itself might not be stored in the location specified in its name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 64 characters." + }, + "order": { + "type": "integer", + "description": "The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential." + }, + "type": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1FieldTypeResponse", + "description": "The type of value this tag field can contain." + } + }, + "type": "object", + "required": [ + "description", + "displayName", + "isRequired", + "name", + "order", + "type" + ] + }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1TaxonomyServiceResponse": { "description": "The source system of the Taxonomy.", "properties": { @@ -171215,6 +176252,10 @@ "properties": { "commonUsageWithinTimeRange": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1CommonUsageStats" + }, "description": "Common usage statistics over each of the predefined time ranges. Supported time ranges are `{\"24H\", \"7D\", \"30D\", \"Lifetime\"}`." }, "favoriteCount": { @@ -171233,6 +176274,10 @@ "properties": { "commonUsageWithinTimeRange": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1CommonUsageStatsResponse" + }, "description": "Common usage statistics over each of the predefined time ranges. Supported time ranges are `{\"24H\", \"7D\", \"30D\", \"Lifetime\"}`." }, "favoriteCount": { @@ -171245,6 +176290,10 @@ }, "usageWithinTimeRange": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1UsageStatsResponse" + }, "description": "BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{\"24H\", \"7D\", \"30D\"}`." } }, @@ -171256,6 +176305,34 @@ "usageWithinTimeRange" ] }, + "google-native:datacatalog/v1:GoogleCloudDatacatalogV1UsageStatsResponse": { + "description": "Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables)", + "properties": { + "totalCancellations": { + "type": "number", + "description": "The number of cancelled attempts to use the underlying entry." + }, + "totalCompletions": { + "type": "number", + "description": "The number of successful uses of the underlying entry." + }, + "totalExecutionTimeForCompletionsMillis": { + "type": "number", + "description": "Total time spent only on successful uses, in milliseconds." + }, + "totalFailures": { + "type": "number", + "description": "The number of failed attempts to use the underlying entry." + } + }, + "type": "object", + "required": [ + "totalCancellations", + "totalCompletions", + "totalExecutionTimeForCompletionsMillis", + "totalFailures" + ] + }, "google-native:datacatalog/v1:GoogleCloudDatacatalogV1VertexDatasetSpec": { "description": "Specification for vertex dataset resources.", "properties": { @@ -171786,6 +176863,120 @@ "type" ] }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldType": { + "properties": { + "enumType": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumType", + "description": "Represents an enum type." + }, + "primitiveType": { + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType", + "description": "Represents primitive types - string, bool etc." + } + }, + "type": "object" + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumType": { + "properties": { + "allowedValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue" + } + } + }, + "type": "object" + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue": { + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the enum value. Must not be an empty string." + } + }, + "type": "object", + "required": [ + "displayName" + ] + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse": { + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the enum value. Must not be an empty string." + } + }, + "type": "object", + "required": [ + "displayName" + ] + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse": { + "properties": { + "allowedValues": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse" + } + } + }, + "type": "object", + "required": [ + "allowedValues" + ] + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType": { + "description": "Represents primitive types - string, bool etc.", + "type": "string", + "enum": [ + { + "name": "PrimitiveTypeUnspecified", + "description": "This is the default invalid value for a type.", + "value": "PRIMITIVE_TYPE_UNSPECIFIED" + }, + { + "name": "Double", + "description": "A double precision number.", + "value": "DOUBLE" + }, + { + "name": "String", + "description": "An UTF-8 string.", + "value": "STRING" + }, + { + "name": "Bool", + "description": "A boolean value.", + "value": "BOOL" + }, + { + "name": "Timestamp", + "description": "A timestamp.", + "value": "TIMESTAMP" + } + ] + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeResponse": { + "properties": { + "enumType": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse", + "description": "Represents an enum type." + }, + "primitiveType": { + "type": "string", + "description": "Represents primitive types - string, bool etc." + } + }, + "type": "object", + "required": [ + "enumType", + "primitiveType" + ] + }, "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1GcsFileSpecResponse": { "description": "Specifications of a single file in Cloud Storage.", "properties": { @@ -171925,6 +177116,75 @@ "groupedEntry" ] }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TagTemplateField": { + "description": "The template for an individual field within a tag template.", + "properties": { + "description": { + "type": "string", + "description": "The description for this field. Defaults to an empty string." + }, + "displayName": { + "type": "string", + "description": "The display name for this field. Defaults to an empty string." + }, + "isRequired": { + "type": "boolean", + "description": "Whether this is a required field. Defaults to false." + }, + "order": { + "type": "integer", + "description": "The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential." + }, + "type": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldType", + "description": "The type of value this tag field can contain." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse": { + "description": "The template for an individual field within a tag template.", + "properties": { + "description": { + "type": "string", + "description": "The description for this field. Defaults to an empty string." + }, + "displayName": { + "type": "string", + "description": "The display name for this field. Defaults to an empty string." + }, + "isRequired": { + "type": "boolean", + "description": "Whether this is a required field. Defaults to false." + }, + "name": { + "type": "string", + "description": "The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name." + }, + "order": { + "type": "integer", + "description": "The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential." + }, + "type": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1FieldTypeResponse", + "description": "The type of value this tag field can contain." + } + }, + "type": "object", + "required": [ + "description", + "displayName", + "isRequired", + "name", + "order", + "type" + ] + }, "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TaxonomyServiceResponse": { "description": "The source system of the Taxonomy.", "properties": { @@ -171952,6 +177212,10 @@ }, "usageWithinTimeRange": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1UsageStatsResponse" + }, "description": "Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {\"24H\", \"7D\", \"30D\"}." } }, @@ -171961,6 +177225,34 @@ "usageWithinTimeRange" ] }, + "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1UsageStatsResponse": { + "description": "Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables", + "properties": { + "totalCancellations": { + "type": "number", + "description": "The number of times that the underlying entry was attempted to be used but was cancelled by the user." + }, + "totalCompletions": { + "type": "number", + "description": "The number of times that the underlying entry was successfully used." + }, + "totalExecutionTimeForCompletionsMillis": { + "type": "number", + "description": "Total time spent (in milliseconds) during uses the resulted in completions." + }, + "totalFailures": { + "type": "number", + "description": "The number of times that the underlying entry was attempted to be used but failed." + } + }, + "type": "object", + "required": [ + "totalCancellations", + "totalCompletions", + "totalExecutionTimeForCompletionsMillis", + "totalFailures" + ] + }, "google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1ViewSpec": { "description": "Table view specification.", "type": "object" @@ -172531,10 +177823,16 @@ }, "internalExperiments": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Experimental settings." }, "sdkPipelineOptions": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way." }, "serviceAccountEmail": { @@ -172558,10 +177856,16 @@ }, "userAgent": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "A description of the process that generated the request." }, "version": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "A structure describing which components and their versions of the service are required in order to run the job." }, "workerPools": { @@ -172633,10 +177937,16 @@ }, "internalExperiments": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Experimental settings." }, "sdkPipelineOptions": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way." }, "serviceAccountEmail": { @@ -172668,10 +177978,16 @@ }, "userAgent": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "A description of the process that generated the request." }, "version": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "A structure describing which components and their versions of the service are required in order to run the job." }, "workerPools": { @@ -173094,6 +178410,10 @@ "properties": { "stages": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dataflow/v1b3:JobExecutionStageInfo" + }, "description": "A mapping from each stage to the information about that stage." } }, @@ -173104,6 +178424,10 @@ "properties": { "stages": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dataflow/v1b3:JobExecutionStageInfoResponse" + }, "description": "A mapping from each stage to the information about that stage." } }, @@ -173112,6 +178436,35 @@ "stages" ] }, + "google-native:dataflow/v1b3:JobExecutionStageInfo": { + "description": "Contains information about how a particular google.dataflow.v1beta3.Step will be executed.", + "properties": { + "stepName": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage." + } + }, + "type": "object" + }, + "google-native:dataflow/v1b3:JobExecutionStageInfoResponse": { + "description": "Contains information about how a particular google.dataflow.v1beta3.Step will be executed.", + "properties": { + "stepName": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage." + } + }, + "type": "object", + "required": [ + "stepName" + ] + }, "google-native:dataflow/v1b3:JobMetadata": { "description": "Metadata available primarily for filtering jobs. Will be included in the ListJob response and Job SUMMARY view.", "properties": { @@ -173170,6 +178523,9 @@ }, "userDisplayProperties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "List of display properties to help UI filter jobs." } }, @@ -173233,6 +178589,9 @@ }, "userDisplayProperties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "List of display properties to help UI filter jobs." } }, @@ -173400,6 +178759,9 @@ "properties": { "customMetadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Additional metadata for describing this parameter." }, "defaultValue": { @@ -173591,6 +178953,9 @@ }, "additionalUserLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) page. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }." }, "bypassTempDirValidation": { @@ -174024,7 +179389,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -174053,6 +179421,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL." } }, @@ -174071,6 +179442,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL." } }, @@ -174481,6 +179855,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata to set on the Google Compute Engine VMs." }, "network": { @@ -174509,6 +179886,9 @@ }, "poolArgs": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Extra arguments for this worker pool." }, "sdkHarnessContainerImages": { @@ -174640,6 +180020,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata to set on the Google Compute Engine VMs." }, "network": { @@ -174668,6 +180051,9 @@ }, "poolArgs": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Extra arguments for this worker pool." }, "sdkHarnessContainerImages": { @@ -174903,6 +180289,9 @@ }, "vars": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined variables that are made available to project code during compilation." } }, @@ -174941,6 +180330,9 @@ }, "vars": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined variables that are made available to project code during compilation." } }, @@ -175291,7 +180683,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -176546,6 +181941,9 @@ "properties": { "bigqueryImportKeys": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Prediction keys that tell Data Labeling Service where to find the data for evaluation in your BigQuery table. When the service samples prediction input and output from your model version and saves it to BigQuery, the data gets stored as JSON strings in the BigQuery table. These keys tell Data Labeling Service how to parse the JSON. You can provide the following entries in this field: * `data_json_key`: the data key for prediction input. You must provide either this key or `reference_json_key`. * `reference_json_key`: the data reference key for prediction input. You must provide either this key or `data_json_key`. * `label_json_key`: the label key for prediction output. Required. * `label_score_json_key`: the score key for prediction output. Required. * `bounding_box_json_key`: the bounding box key for prediction output. Required if your model version perform image object detection. Learn [how to configure prediction keys](/ml-engine/docs/continuous-evaluation/create-job#prediction-keys)." }, "boundingPolyConfig": { @@ -176605,6 +182003,9 @@ "properties": { "bigqueryImportKeys": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Prediction keys that tell Data Labeling Service where to find the data for evaluation in your BigQuery table. When the service samples prediction input and output from your model version and saves it to BigQuery, the data gets stored as JSON strings in the BigQuery table. These keys tell Data Labeling Service how to parse the JSON. You can provide the following entries in this field: * `data_json_key`: the data key for prediction input. You must provide either this key or `reference_json_key`. * `reference_json_key`: the data reference key for prediction input. You must provide either this key or `data_json_key`. * `label_json_key`: the label key for prediction output. Required. * `label_score_json_key`: the score key for prediction output. Required. * `bounding_box_json_key`: the bounding box key for prediction output. Required if your model version perform image object detection. Learn [how to configure prediction keys](/ml-engine/docs/continuous-evaluation/create-job#prediction-keys)." }, "boundingPolyConfig": { @@ -177201,7 +182602,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -177474,6 +182878,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for the AlloyDB cluster created by DMS. An object containing a list of 'key', 'value' pairs." }, "primaryInstanceSettings": { @@ -177531,6 +182938,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for the AlloyDB cluster created by DMS. An object containing a list of 'key', 'value' pairs." }, "primaryInstanceSettings": { @@ -177839,6 +183249,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The database flags passed to the Cloud SQL instance at startup. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." }, "databaseVersion": { @@ -177876,6 +183289,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"18kg\", \"count\": \"3\" }`." }, "zone": { @@ -178113,6 +183529,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The database flags passed to the Cloud SQL instance at startup. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." }, "databaseVersion": { @@ -178154,6 +183573,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"18kg\", \"count\": \"3\" }`." }, "zone": { @@ -178190,6 +183612,9 @@ "properties": { "customFeatures": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. Custom engine specific features." }, "sourceNumericFilter": { @@ -178218,6 +183643,9 @@ "properties": { "customFeatures": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. Custom engine specific features." }, "sourceNumericFilter": { @@ -179276,6 +184704,9 @@ "properties": { "customFeatures": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. Custom engine specific features." }, "newDataType": { @@ -179324,6 +184755,9 @@ "properties": { "customFeatures": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. Custom engine specific features." }, "newDataType": { @@ -179804,6 +185238,9 @@ "properties": { "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster and instances. See the AlloyDB documentation for how these can be used." }, "id": { @@ -179812,6 +185249,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for the AlloyDB primary instance created by DMS. An object containing a list of 'key', 'value' pairs." }, "machineConfig": { @@ -179830,10 +185270,16 @@ "properties": { "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags to pass to AlloyDB when DMS is creating the AlloyDB cluster and instances. See the AlloyDB documentation for how these can be used." }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for the AlloyDB primary instance created by DMS. An object containing a list of 'key', 'value' pairs." }, "machineConfig": { @@ -180056,6 +185502,9 @@ }, "customFeatures": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. Custom engine specific features." }, "dataType": { @@ -180125,6 +185574,9 @@ }, "customFeatures": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. Custom engine specific features." }, "dataType": { @@ -180578,7 +186030,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -181101,6 +186556,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The database flags passed to the Cloud SQL instance at startup. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." }, "databaseVersion": { @@ -181130,6 +186588,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"18kg\", \"count\": \"3\" }`." }, "zone": { @@ -181228,6 +186689,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The database flags passed to the Cloud SQL instance at startup. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." }, "databaseVersion": { @@ -181261,6 +186725,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"18kg\", \"count\": \"3\" }`." }, "zone": { @@ -181889,7 +187356,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -181940,6 +187410,9 @@ }, "additionalUserLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional user labels to be specified for the job. Keys and values must follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions). An object containing a list of key/value pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }`." }, "enableStreamingEngine": { @@ -182055,6 +187528,9 @@ }, "additionalUserLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional user labels to be specified for the job. Keys and values must follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions). An object containing a list of key/value pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }`." }, "enableStreamingEngine": { @@ -182152,14 +187628,23 @@ }, "launchOptions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Launch options for this Flex Template job. This is a common set of options across languages and templates. This should not be used to pass job parameters." }, "parameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The parameters for the Flex Template. Example: `{\"num_workers\":\"5\"}`" }, "transformNameMappings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Use this to pass transform name mappings for streaming update jobs. Example: `{\"oldTransformName\":\"newTransformName\",...}`" }, "update": { @@ -182190,14 +187675,23 @@ }, "launchOptions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Launch options for this Flex Template job. This is a common set of options across languages and templates. This should not be used to pass job parameters." }, "parameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The parameters for the Flex Template. Example: `{\"num_workers\":\"5\"}`" }, "transformNameMappings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Use this to pass transform name mappings for streaming update jobs. Example: `{\"oldTransformName\":\"newTransformName\",...}`" }, "update": { @@ -182287,10 +187781,16 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The runtime parameters to pass to the job." }, "transformNameMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job. Only applicable when updating a pipeline." }, "update": { @@ -182317,10 +187817,16 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The runtime parameters to pass to the job." }, "transformNameMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job. Only applicable when updating a pipeline." }, "update": { @@ -182413,6 +187919,9 @@ }, "additionalUserLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) page. An object containing a list of key/value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }." }, "bypassTempDirValidation": { @@ -182507,6 +188016,9 @@ }, "additionalUserLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) page. An object containing a list of key/value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1kg\", \"count\": \"3\" }." }, "bypassTempDirValidation": { @@ -184647,6 +190159,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Spark properties to provide configuration for use in sessions created for this environment. The properties to set on daemon config files. Property keys are specified in prefix:property format. The prefix must be \"spark\"." }, "pythonPackages": { @@ -184678,6 +190193,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Spark properties to provide configuration for use in sessions created for this environment. The properties to set on daemon config files. Property keys are specified in prefix:property format. The prefix must be \"spark\"." }, "pythonPackages": { @@ -184775,6 +190293,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the task." }, "message": { @@ -185576,6 +191097,9 @@ "properties": { "args": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The arguments to pass to the task. The args can use placeholders of the format ${placeholder} as part of key/value string. These will be interpolated before passing the args to the driver. Currently supported placeholders: - ${task_id} - ${job_time} To pass positional args, set the key as TASK_ARGS. The value should be a comma-separated string of all the positional arguments. To use a delimiter other than comma, refer to https://cloud.google.com/sdk/gcloud/reference/topic/escaping. In case of other keys being present in the args, then TASK_ARGS will be passed as the last argument." }, "kmsKey": { @@ -185605,6 +191129,9 @@ "properties": { "args": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The arguments to pass to the task. The args can use placeholders of the format ${placeholder} as part of key/value string. These will be interpolated before passing the args to the driver. Currently supported placeholders: - ${task_id} - ${job_time} To pass positional args, set the key as TASK_ARGS. The value should be a comma-separated string of all the positional arguments. To use a delimiter other than comma, refer to https://cloud.google.com/sdk/gcloud/reference/topic/escaping. In case of other keys being present in the args, then TASK_ARGS will be passed as the last argument." }, "kmsKey": { @@ -185721,6 +191248,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Override to common configuration of open source components installed on the Dataproc cluster. The properties to set on daemon config files. Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. For more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties)." }, "pythonPackages": { @@ -185749,6 +191279,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Override to common configuration of open source components installed on the Dataproc cluster. The properties to set on daemon config files. Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. For more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties)." }, "pythonPackages": { @@ -187100,10 +192633,16 @@ "properties": { "hdfsMetrics": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The HDFS metrics." }, "yarnMetrics": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "YARN metrics." } }, @@ -187118,6 +192657,9 @@ "properties": { "clusterLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The cluster labels. Cluster must have all labels to match." }, "zone": { @@ -187135,6 +192677,9 @@ "properties": { "clusterLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The cluster labels. Cluster must have all labels to match." }, "zone": { @@ -187370,6 +192915,9 @@ }, "httpPorts": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of port descriptions to URLs. Will only be populated if enable_http_port_access is true." } }, @@ -187589,6 +193137,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Flink. Properties that conflict with values set by the Dataproc API might beoverwritten. Can include properties set in/etc/flink/conf/flink-defaults.conf and classes in user code." }, "savepointUri": { @@ -187630,6 +193181,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Flink. Properties that conflict with values set by the Dataproc API might beoverwritten. Can include properties set in/etc/flink/conf/flink-defaults.conf and classes in user code." }, "savepointUri": { @@ -187662,6 +193216,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata))." }, "networkUri": { @@ -187756,6 +193313,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata))." }, "networkUri": { @@ -188239,6 +193799,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code." } }, @@ -188290,6 +193853,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code." } }, @@ -188321,6 +193887,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code." }, "queryFileUri": { @@ -188334,6 +193903,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Hive command: SET name=\"value\";)." } }, @@ -188355,6 +193927,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code." }, "queryFileUri": { @@ -188368,6 +193943,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Hive command: SET name=\"value\";)." } }, @@ -188386,6 +193964,9 @@ "properties": { "userServiceAccountMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of user to service account." } }, @@ -188399,6 +193980,9 @@ "properties": { "userServiceAccountMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of user to service account." } }, @@ -188752,6 +194336,9 @@ "properties": { "clusterLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Cluster labels to identify a cluster where the job will be submitted." }, "clusterName": { @@ -188769,6 +194356,9 @@ "properties": { "clusterLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Cluster labels to identify a cluster where the job will be submitted." }, "clusterName": { @@ -189134,10 +194724,16 @@ "properties": { "componentVersion": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The components that should be installed in this Dataproc cluster. The key must be a string from the KubernetesComponent enumeration. The value is the version of the software to be installed. At least one entry must be specified." }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The properties to set on daemon config files.Property keys are specified in prefix:property format, for example spark:spark.kubernetes.container.image. The following are supported prefixes and their mappings: spark: spark-defaults.confFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties)." } }, @@ -189148,10 +194744,16 @@ "properties": { "componentVersion": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The components that should be installed in this Dataproc cluster. The key must be a string from the KubernetesComponent enumeration. The value is the version of the software to be installed. At least one entry must be specified." }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The properties to set on daemon config files.Property keys are specified in prefix:property format, for example spark:spark.kubernetes.container.image. The following are supported prefixes and their mappings: spark: spark-defaults.confFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties)." } }, @@ -189212,6 +194814,9 @@ "properties": { "driverLogLevels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The per-package log levels for the driver. This can include \"root\" package name to configure rootLogger. Examples: - 'com.google = FATAL' - 'root = INFO' - 'org.apache = DEBUG'" } }, @@ -189222,6 +194827,9 @@ "properties": { "driverLogLevels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The per-package log levels for the driver. This can include \"root\" package name to configure rootLogger. Examples: - 'com.google = FATAL' - 'root = INFO' - 'org.apache = DEBUG'" } }, @@ -189244,6 +194852,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster.Label keys must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given cluster." } }, @@ -189267,6 +194878,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster.Label keys must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given cluster." } }, @@ -189455,6 +195069,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labelsn." }, "name": { @@ -189510,6 +195127,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labelsn." }, "name": { @@ -189607,6 +195227,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job.Label keys must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given job." }, "pigJob": { @@ -189686,6 +195309,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job.Label keys must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given job." }, "pigJob": { @@ -189849,6 +195475,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Pig. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code." }, "queryFileUri": { @@ -189862,6 +195491,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value])." } }, @@ -189888,6 +195520,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Pig. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code." }, "queryFileUri": { @@ -189901,6 +195536,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value])." } }, @@ -189940,6 +195578,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values. Used to set Presto session properties (https://prestodb.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Presto CLI" }, "queryFileUri": { @@ -189979,6 +195620,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values. Used to set Presto session properties (https://prestodb.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Presto CLI" }, "queryFileUri": { @@ -190168,6 +195812,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." }, "pythonFileUris": { @@ -190225,6 +195872,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." }, "pythonFileUris": { @@ -190417,6 +196067,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, which are used to configure workload execution." }, "repositoryConfig": { @@ -190440,6 +196093,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, which are used to configure workload execution." }, "repositoryConfig": { @@ -190479,6 +196135,9 @@ }, "endpoints": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of remote access endpoints (such as web interfaces and APIs) to their URIs." }, "outputUri": { @@ -190611,6 +196270,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. The following are supported prefixes and their mappings: capacity-scheduler: capacity-scheduler.xml core: core-site.xml distcp: distcp-default.xml hdfs: hdfs-site.xml hive: hive-site.xml mapred: mapred-site.xml pig: pig.properties spark: spark-defaults.conf yarn: yarn-site.xmlFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties)." } }, @@ -190712,6 +196374,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. The following are supported prefixes and their mappings: capacity-scheduler: capacity-scheduler.xml core: core-site.xml distcp: distcp-default.xml hdfs: hdfs-site.xml hive: hive-site.xml mapred: mapred-site.xml pig: pig.properties spark: spark-defaults.conf yarn: yarn-site.xmlFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties)." } }, @@ -190883,6 +196548,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." } }, @@ -190934,6 +196602,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." } }, @@ -191055,6 +196726,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure SparkR. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." } }, @@ -191098,6 +196772,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure SparkR. Properties that conflict with values set by the Dataproc API might be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." } }, @@ -191127,6 +196804,9 @@ }, "queryVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";)." } }, @@ -191151,6 +196831,9 @@ }, "queryVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";)." } }, @@ -191178,6 +196861,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Spark SQL's SparkConf. Properties that conflict with values set by the Dataproc API might be overwritten." }, "queryFileUri": { @@ -191191,6 +196877,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";)." } }, @@ -191213,6 +196902,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Spark SQL's SparkConf. Properties that conflict with values set by the Dataproc API might be overwritten." }, "queryFileUri": { @@ -191226,6 +196918,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";)." } }, @@ -191445,6 +197140,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values. Used to set Trino session properties (https://trino.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Trino CLI" }, "queryFileUri": { @@ -191484,6 +197182,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values. Used to set Trino session properties (https://trino.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Trino CLI" }, "queryFileUri": { @@ -192110,10 +197811,16 @@ "properties": { "hdfsMetrics": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The HDFS metrics." }, "yarnMetrics": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The YARN metrics." } }, @@ -192128,6 +197835,9 @@ "properties": { "clusterLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The cluster labels. Cluster must have all labels to match." }, "zone": { @@ -192145,6 +197855,9 @@ "properties": { "clusterLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The cluster labels. Cluster must have all labels to match." }, "zone": { @@ -192269,6 +197982,9 @@ }, "httpPorts": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of port descriptions to URLs. Will only be populated if enable_http_port_access is true." } }, @@ -192337,6 +198053,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata))." }, "networkUri": { @@ -192426,6 +198145,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The Compute Engine metadata entries to add to all instances (see Project and instance metadata (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata))." }, "networkUri": { @@ -192565,6 +198287,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code." } }, @@ -192616,6 +198341,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code." } }, @@ -192647,6 +198375,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code." }, "queryFileUri": { @@ -192660,6 +198391,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Hive command: SET name=\"value\";)." } }, @@ -192681,6 +198415,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names and values, used to configure Hive. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/hive/conf/hive-site.xml, and classes in user code." }, "queryFileUri": { @@ -192694,6 +198431,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Hive command: SET name=\"value\";)." } }, @@ -192912,6 +198652,9 @@ "properties": { "clusterLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Cluster labels to identify a cluster where the job will be submitted." }, "clusterName": { @@ -192929,6 +198672,9 @@ "properties": { "clusterLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Cluster labels to identify a cluster where the job will be submitted." }, "clusterName": { @@ -193239,6 +198985,9 @@ "properties": { "driverLogLevels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The per-package log levels for the driver. This may include \"root\" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'" } }, @@ -193249,6 +198998,9 @@ "properties": { "driverLogLevels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The per-package log levels for the driver. This may include \"root\" package name to configure rootLogger. Examples: 'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'" } }, @@ -193271,6 +199023,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster.Label keys must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given cluster." } }, @@ -193294,6 +199049,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster.Label keys must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given cluster." } }, @@ -193456,6 +199214,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job.Label keys must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given job." }, "pigJob": { @@ -193525,6 +199286,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job.Label keys must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}{0,62}Label values must be between 1 and 63 characters long, and must conform to the following regular expression: \\p{Ll}\\p{Lo}\\p{N}_-{0,63}No more than 32 labels can be associated with a given job." }, "pigJob": { @@ -193647,6 +199411,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Pig. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code." }, "queryFileUri": { @@ -193660,6 +199427,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value])." } }, @@ -193686,6 +199456,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Pig. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml, /etc/pig/conf/pig.properties, and classes in user code." }, "queryFileUri": { @@ -193699,6 +199472,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Pig command: name=[value])." } }, @@ -193738,6 +199514,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values. Used to set Presto session properties (https://prestodb.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Presto CLI" }, "queryFileUri": { @@ -193777,6 +199556,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values. Used to set Presto session properties (https://prestodb.io/docs/current/sql/set-session.html) Equivalent to using the --session flag in the Presto CLI" }, "queryFileUri": { @@ -193842,6 +199624,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." }, "pythonFileUris": { @@ -193899,6 +199684,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure PySpark. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." }, "pythonFileUris": { @@ -194139,6 +199927,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. The following are supported prefixes and their mappings: capacity-scheduler: capacity-scheduler.xml core: core-site.xml distcp: distcp-default.xml hdfs: hdfs-site.xml hive: hive-site.xml mapred: mapred-site.xml pig: pig.properties spark: spark-defaults.conf yarn: yarn-site.xmlFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties)." } }, @@ -194235,6 +200026,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The properties to set on daemon config files.Property keys are specified in prefix:property format, for example core:hadoop.tmp.dir. The following are supported prefixes and their mappings: capacity-scheduler: capacity-scheduler.xml core: core-site.xml distcp: distcp-default.xml hdfs: hdfs-site.xml hive: hive-site.xml mapred: mapred-site.xml pig: pig.properties spark: spark-defaults.conf yarn: yarn-site.xmlFor more information, see Cluster properties (https://cloud.google.com/dataproc/docs/concepts/cluster-properties)." } }, @@ -194291,6 +200085,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." } }, @@ -194342,6 +200139,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." } }, @@ -194392,6 +200192,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure SparkR. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." } }, @@ -194435,6 +200238,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure SparkR. Properties that conflict with values set by the Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code." } }, @@ -194465,6 +200271,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Spark SQL's SparkConf. Properties that conflict with values set by the Dataproc API may be overwritten." }, "queryFileUri": { @@ -194478,6 +200287,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";)." } }, @@ -194500,6 +200312,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A mapping of property names to values, used to configure Spark SQL's SparkConf. Properties that conflict with values set by the Dataproc API may be overwritten." }, "queryFileUri": { @@ -194513,6 +200328,9 @@ }, "scriptVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: SET name=\"value\";)." } }, @@ -194983,6 +200801,9 @@ "properties": { "details": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional information about the error." }, "errorTime": { @@ -195728,6 +201549,9 @@ "properties": { "connectionAttributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Connection string attributes" }, "databaseService": { @@ -195769,6 +201593,9 @@ "properties": { "connectionAttributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Connection string attributes" }, "databaseService": { @@ -196690,6 +202517,9 @@ "properties": { "details": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional information about the error." }, "errorTime": { @@ -197434,6 +203264,9 @@ "properties": { "connectionAttributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Connection string attributes" }, "databaseService": { @@ -197470,6 +203303,9 @@ "properties": { "connectionAttributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Connection string attributes" }, "databaseService": { @@ -198040,6 +203876,38 @@ "role" ] }, + "google-native:deploymentmanager/alpha:BulkInsertOperationStatusResponse": { + "properties": { + "createdVmCount": { + "type": "integer", + "description": "Count of VMs successfully created so far." + }, + "deletedVmCount": { + "type": "integer", + "description": "Count of VMs that got deleted during rollback." + }, + "failedToCreateVmCount": { + "type": "integer", + "description": "Count of VMs that started creating but encountered an error." + }, + "status": { + "type": "string", + "description": "Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back." + }, + "targetVmCount": { + "type": "integer", + "description": "Count of VMs originally planned to be created." + } + }, + "type": "object", + "required": [ + "createdVmCount", + "deletedVmCount", + "failedToCreateVmCount", + "status", + "targetVmCount" + ] + }, "google-native:deploymentmanager/alpha:CollectionOverride": { "description": "CollectionOverride allows resource handling overrides for specific resources within a BaseType", "properties": { @@ -198519,6 +204387,10 @@ "properties": { "perLocationStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:deploymentmanager/alpha:BulkInsertOperationStatusResponse" + }, "description": "Status information per location (location name is key). Example key: zones/us-central1-a" } }, @@ -198964,6 +204836,24 @@ "email" ] }, + "google-native:deploymentmanager/alpha:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse": { + "properties": { + "error": { + "type": "object", + "$ref": "#/types/google-native:deploymentmanager/alpha:StatusResponse", + "description": "If state is `ABANDONED` or `FAILED`, this field is populated." + }, + "state": { + "type": "string", + "description": "Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`." + } + }, + "type": "object", + "required": [ + "error", + "state" + ] + }, "google-native:deploymentmanager/alpha:SetCommonInstanceMetadataOperationMetadataResponse": { "properties": { "clientOperationId": { @@ -198972,6 +204862,10 @@ }, "perLocationOperations": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:deploymentmanager/alpha:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse" + }, "description": "Status information per location (location name is key). Example key: zones/us-central1-a" } }, @@ -198981,6 +204875,35 @@ "perLocationOperations" ] }, + "google-native:deploymentmanager/alpha:StatusResponse": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "properties": { + "code": { + "type": "integer", + "description": "The status code, which should be an enum value of google.rpc.Code." + }, + "details": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } + }, + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." + }, + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client." + } + }, + "type": "object", + "required": [ + "code", + "details", + "message" + ] + }, "google-native:deploymentmanager/alpha:TargetConfiguration": { "properties": { "config": { @@ -199383,6 +205306,38 @@ "role" ] }, + "google-native:deploymentmanager/v2:BulkInsertOperationStatusResponse": { + "properties": { + "createdVmCount": { + "type": "integer", + "description": "Count of VMs successfully created so far." + }, + "deletedVmCount": { + "type": "integer", + "description": "Count of VMs that got deleted during rollback." + }, + "failedToCreateVmCount": { + "type": "integer", + "description": "Count of VMs that started creating but encountered an error." + }, + "status": { + "type": "string", + "description": "Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back." + }, + "targetVmCount": { + "type": "integer", + "description": "Count of VMs originally planned to be created." + } + }, + "type": "object", + "required": [ + "createdVmCount", + "deletedVmCount", + "failedToCreateVmCount", + "status", + "targetVmCount" + ] + }, "google-native:deploymentmanager/v2:ConfigFile": { "properties": { "content": { @@ -199564,6 +205519,10 @@ "properties": { "perLocationStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:deploymentmanager/v2:BulkInsertOperationStatusResponse" + }, "description": "Status information per location (location name is key). Example key: zones/us-central1-a" } }, @@ -199794,6 +205753,24 @@ "message" ] }, + "google-native:deploymentmanager/v2:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse": { + "properties": { + "error": { + "type": "object", + "$ref": "#/types/google-native:deploymentmanager/v2:StatusResponse", + "description": "If state is `ABANDONED` or `FAILED`, this field is populated." + }, + "state": { + "type": "string", + "description": "Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`." + } + }, + "type": "object", + "required": [ + "error", + "state" + ] + }, "google-native:deploymentmanager/v2:SetCommonInstanceMetadataOperationMetadataResponse": { "properties": { "clientOperationId": { @@ -199802,6 +205779,10 @@ }, "perLocationOperations": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:deploymentmanager/v2:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse" + }, "description": "Status information per location (location name is key). Example key: zones/us-central1-a" } }, @@ -199811,6 +205792,35 @@ "perLocationOperations" ] }, + "google-native:deploymentmanager/v2:StatusResponse": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "properties": { + "code": { + "type": "integer", + "description": "The status code, which should be an enum value of google.rpc.Code." + }, + "details": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } + }, + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." + }, + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client." + } + }, + "type": "object", + "required": [ + "code", + "details", + "message" + ] + }, "google-native:deploymentmanager/v2:TargetConfiguration": { "properties": { "config": { @@ -200066,6 +206076,38 @@ "role" ] }, + "google-native:deploymentmanager/v2beta:BulkInsertOperationStatusResponse": { + "properties": { + "createdVmCount": { + "type": "integer", + "description": "Count of VMs successfully created so far." + }, + "deletedVmCount": { + "type": "integer", + "description": "Count of VMs that got deleted during rollback." + }, + "failedToCreateVmCount": { + "type": "integer", + "description": "Count of VMs that started creating but encountered an error." + }, + "status": { + "type": "string", + "description": "Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back." + }, + "targetVmCount": { + "type": "integer", + "description": "Count of VMs originally planned to be created." + } + }, + "type": "object", + "required": [ + "createdVmCount", + "deletedVmCount", + "failedToCreateVmCount", + "status", + "targetVmCount" + ] + }, "google-native:deploymentmanager/v2beta:CollectionOverride": { "description": "CollectionOverride allows resource handling overrides for specific resources within a BaseType", "properties": { @@ -200510,6 +206552,10 @@ "properties": { "perLocationStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:deploymentmanager/v2beta:BulkInsertOperationStatusResponse" + }, "description": "Status information per location (location name is key). Example key: zones/us-central1-a" } }, @@ -200896,6 +206942,24 @@ "email" ] }, + "google-native:deploymentmanager/v2beta:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse": { + "properties": { + "error": { + "type": "object", + "$ref": "#/types/google-native:deploymentmanager/v2beta:StatusResponse", + "description": "If state is `ABANDONED` or `FAILED`, this field is populated." + }, + "state": { + "type": "string", + "description": "Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`." + } + }, + "type": "object", + "required": [ + "error", + "state" + ] + }, "google-native:deploymentmanager/v2beta:SetCommonInstanceMetadataOperationMetadataResponse": { "properties": { "clientOperationId": { @@ -200904,6 +206968,10 @@ }, "perLocationOperations": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:deploymentmanager/v2beta:SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse" + }, "description": "Status information per location (location name is key). Example key: zones/us-central1-a" } }, @@ -200913,6 +206981,35 @@ "perLocationOperations" ] }, + "google-native:deploymentmanager/v2beta:StatusResponse": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "properties": { + "code": { + "type": "integer", + "description": "The status code, which should be an enum value of google.rpc.Code." + }, + "details": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } + }, + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." + }, + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client." + } + }, + "type": "object", + "required": [ + "code", + "details", + "message" + ] + }, "google-native:deploymentmanager/v2beta:TargetConfiguration": { "properties": { "config": { @@ -201347,6 +207444,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." } }, @@ -201368,6 +207468,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." } }, @@ -201677,6 +207780,9 @@ }, "requestHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The HTTP request headers to send together with fulfillment requests." }, "uri": { @@ -201706,6 +207812,9 @@ }, "requestHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The HTTP request headers to send together with fulfillment requests." }, "uri": { @@ -202626,6 +208735,9 @@ }, "payload": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "A custom platform-specific response." }, "platform": { @@ -203676,6 +209788,9 @@ }, "payload": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "A custom platform-specific response." }, "platform": { @@ -204692,6 +210807,10 @@ }, "synthesizeSpeechConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v2:GoogleCloudDialogflowV2SynthesizeSpeechConfig" + }, "description": "Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig." } }, @@ -204753,6 +210872,10 @@ }, "synthesizeSpeechConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v2:GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse" + }, "description": "Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig." } }, @@ -204832,7 +210955,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -205117,6 +211243,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." } }, @@ -205138,6 +211267,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." } }, @@ -205308,6 +211440,9 @@ }, "requestHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The HTTP request headers to send together with fulfillment requests." }, "uri": { @@ -205337,6 +211472,9 @@ }, "requestHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The HTTP request headers to send together with fulfillment requests." }, "uri": { @@ -206201,6 +212339,9 @@ }, "payload": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "A custom platform-specific response." }, "platform": { @@ -207806,6 +213947,9 @@ }, "payload": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "A custom platform-specific response." }, "platform": { @@ -208863,6 +215007,10 @@ }, "synthesizeSpeechConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v2beta1:GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig" + }, "description": "Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig." } }, @@ -208924,6 +215072,10 @@ }, "synthesizeSpeechConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v2beta1:GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse" + }, "description": "Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig." } }, @@ -209003,7 +215155,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -209593,6 +215748,9 @@ }, "injectedParameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Parameters that need to be injected into the conversation during intent detection." }, "input": { @@ -209616,6 +215774,9 @@ }, "injectedParameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Parameters that need to be injected into the conversation during intent detection." }, "input": { @@ -209646,10 +215807,16 @@ }, "diagnosticInfo": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Input only. The diagnostic info output for the turn. Required to calculate the testing coverage." }, "sessionParameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The session parameters available to the bot at this point." }, "status": { @@ -209686,6 +215853,9 @@ }, "diagnosticInfo": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Input only. The diagnostic info output for the turn. Required to calculate the testing coverage." }, "differences": { @@ -209698,6 +215868,9 @@ }, "sessionParameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The session parameters available to the bot at this point." }, "status": { @@ -211005,6 +217178,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys.contextual\" means the intent is a contextual intent." }, "name": { @@ -211129,6 +217305,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys.contextual\" means the intent is a contextual intent." }, "name": { @@ -211636,6 +217815,9 @@ }, "payload": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Returns a response containing a custom, platform-specific payload." }, "playAudio": { @@ -211665,6 +217847,9 @@ "properties": { "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Custom metadata. Dialogflow doesn't impose any structure on this." } }, @@ -211675,6 +217860,9 @@ "properties": { "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Custom metadata. Dialogflow doesn't impose any structure on this." } }, @@ -211700,6 +217888,9 @@ "properties": { "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this." } }, @@ -211710,6 +217901,9 @@ "properties": { "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this." } }, @@ -211865,6 +218059,9 @@ }, "payload": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Returns a response containing a custom, platform-specific payload." }, "playAudio": { @@ -212242,6 +218439,73 @@ "enableSpeechAdaptation" ] }, + "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3SynthesizeSpeechConfig": { + "description": "Configuration of how speech should be synthesized.", + "properties": { + "effectsProfileId": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given." + }, + "pitch": { + "type": "number", + "description": "Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch." + }, + "speakingRate": { + "type": "number", + "description": "Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values \u003c 0.25 or \u003e 4.0 will return an error." + }, + "voice": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParams", + "description": "Optional. The desired voice of the synthesized audio." + }, + "volumeGainDb": { + "type": "number", + "description": "Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that." + } + }, + "type": "object" + }, + "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse": { + "description": "Configuration of how speech should be synthesized.", + "properties": { + "effectsProfileId": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given." + }, + "pitch": { + "type": "number", + "description": "Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch." + }, + "speakingRate": { + "type": "number", + "description": "Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values \u003c 0.25 or \u003e 4.0 will return an error." + }, + "voice": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse", + "description": "Optional. The desired voice of the synthesized audio." + }, + "volumeGainDb": { + "type": "number", + "description": "Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that." + } + }, + "type": "object", + "required": [ + "effectsProfileId", + "pitch", + "speakingRate", + "voice", + "volumeGainDb" + ] + }, "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3TestCaseResult": { "description": "Represents a result from running a test case in an agent environment.", "properties": { @@ -212426,6 +218690,10 @@ "properties": { "synthesizeSpeechConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3SynthesizeSpeechConfig" + }, "description": "Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified." } }, @@ -212436,6 +218704,10 @@ "properties": { "synthesizeSpeechConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse" + }, "description": "Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified." } }, @@ -212625,6 +218897,64 @@ "version" ] }, + "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParams": { + "description": "Description of which voice to use for speech synthesis.", + "properties": { + "name": { + "type": "string", + "description": "Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices)." + }, + "ssmlGender": { + "$ref": "#/types/google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender", + "description": "Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request." + } + }, + "type": "object" + }, + "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse": { + "description": "Description of which voice to use for speech synthesis.", + "properties": { + "name": { + "type": "string", + "description": "Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices)." + }, + "ssmlGender": { + "type": "string", + "description": "Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request." + } + }, + "type": "object", + "required": [ + "name", + "ssmlGender" + ] + }, + "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender": { + "description": "Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request.", + "type": "string", + "enum": [ + { + "name": "SsmlVoiceGenderUnspecified", + "description": "An unspecified gender, which means that the client doesn't care which gender the selected voice will have.", + "value": "SSML_VOICE_GENDER_UNSPECIFIED" + }, + { + "name": "SsmlVoiceGenderMale", + "description": "A male voice.", + "value": "SSML_VOICE_GENDER_MALE" + }, + { + "name": "SsmlVoiceGenderFemale", + "description": "A female voice.", + "value": "SSML_VOICE_GENDER_FEMALE" + }, + { + "name": "SsmlVoiceGenderNeutral", + "description": "A gender-neutral voice.", + "value": "SSML_VOICE_GENDER_NEUTRAL" + } + ] + }, "google-native:dialogflow/v3:GoogleCloudDialogflowCxV3Webhook": { "description": "Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.", "properties": { @@ -212676,6 +219006,9 @@ }, "parameterMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response" }, "password": { @@ -212688,6 +219021,9 @@ }, "requestHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The HTTP request headers to send together with webhook requests." }, "uri": { @@ -212770,6 +219106,9 @@ }, "parameterMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response" }, "password": { @@ -212782,6 +219121,9 @@ }, "requestHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The HTTP request headers to send together with webhook requests." }, "uri": { @@ -212918,7 +219260,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -212939,7 +219284,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -213485,6 +219833,9 @@ }, "injectedParameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Parameters that need to be injected into the conversation during intent detection." }, "input": { @@ -213508,6 +219859,9 @@ }, "injectedParameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Parameters that need to be injected into the conversation during intent detection." }, "input": { @@ -213538,10 +219892,16 @@ }, "diagnosticInfo": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Input only. The diagnostic info output for the turn. Required to calculate the testing coverage." }, "sessionParameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The session parameters available to the bot at this point." }, "status": { @@ -213578,6 +219938,9 @@ }, "diagnosticInfo": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Input only. The diagnostic info output for the turn. Required to calculate the testing coverage." }, "differences": { @@ -213590,6 +219953,9 @@ }, "sessionParameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The session parameters available to the bot at this point." }, "status": { @@ -214897,6 +221263,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys-contextual\" means the intent is a contextual intent." }, "name": { @@ -215021,6 +221390,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys-contextual\" means the intent is a contextual intent." }, "name": { @@ -215528,6 +221900,9 @@ }, "payload": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Returns a response containing a custom, platform-specific payload." }, "playAudio": { @@ -215553,6 +221928,9 @@ "properties": { "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Custom metadata. Dialogflow doesn't impose any structure on this." } }, @@ -215563,6 +221941,9 @@ "properties": { "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Custom metadata. Dialogflow doesn't impose any structure on this." } }, @@ -215588,6 +221969,9 @@ "properties": { "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this." } }, @@ -215598,6 +221982,9 @@ "properties": { "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this." } }, @@ -215753,6 +222140,9 @@ }, "payload": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Returns a response containing a custom, platform-specific payload." }, "playAudio": { @@ -216099,6 +222489,73 @@ "enableSpeechAdaptation" ] }, + "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig": { + "description": "Configuration of how speech should be synthesized.", + "properties": { + "effectsProfileId": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given." + }, + "pitch": { + "type": "number", + "description": "Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch." + }, + "speakingRate": { + "type": "number", + "description": "Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values \u003c 0.25 or \u003e 4.0 will return an error." + }, + "voice": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParams", + "description": "Optional. The desired voice of the synthesized audio." + }, + "volumeGainDb": { + "type": "number", + "description": "Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that." + } + }, + "type": "object" + }, + "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse": { + "description": "Configuration of how speech should be synthesized.", + "properties": { + "effectsProfileId": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given." + }, + "pitch": { + "type": "number", + "description": "Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch." + }, + "speakingRate": { + "type": "number", + "description": "Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values \u003c 0.25 or \u003e 4.0 will return an error." + }, + "voice": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse", + "description": "Optional. The desired voice of the synthesized audio." + }, + "volumeGainDb": { + "type": "number", + "description": "Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that." + } + }, + "type": "object", + "required": [ + "effectsProfileId", + "pitch", + "speakingRate", + "voice", + "volumeGainDb" + ] + }, "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1TestCaseResult": { "description": "Represents a result from running a test case in an agent environment.", "properties": { @@ -216283,6 +222740,10 @@ "properties": { "synthesizeSpeechConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig" + }, "description": "Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified." } }, @@ -216293,6 +222754,10 @@ "properties": { "synthesizeSpeechConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse" + }, "description": "Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified." } }, @@ -216482,6 +222947,64 @@ "version" ] }, + "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParams": { + "description": "Description of which voice to use for speech synthesis.", + "properties": { + "name": { + "type": "string", + "description": "Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices)." + }, + "ssmlGender": { + "$ref": "#/types/google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender", + "description": "Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request." + } + }, + "type": "object" + }, + "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse": { + "description": "Description of which voice to use for speech synthesis.", + "properties": { + "name": { + "type": "string", + "description": "Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices)." + }, + "ssmlGender": { + "type": "string", + "description": "Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request." + } + }, + "type": "object", + "required": [ + "name", + "ssmlGender" + ] + }, + "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender": { + "description": "Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request.", + "type": "string", + "enum": [ + { + "name": "SsmlVoiceGenderUnspecified", + "description": "An unspecified gender, which means that the client doesn't care which gender the selected voice will have.", + "value": "SSML_VOICE_GENDER_UNSPECIFIED" + }, + { + "name": "SsmlVoiceGenderMale", + "description": "A male voice.", + "value": "SSML_VOICE_GENDER_MALE" + }, + { + "name": "SsmlVoiceGenderFemale", + "description": "A female voice.", + "value": "SSML_VOICE_GENDER_FEMALE" + }, + { + "name": "SsmlVoiceGenderNeutral", + "description": "A gender-neutral voice.", + "value": "SSML_VOICE_GENDER_NEUTRAL" + } + ] + }, "google-native:dialogflow/v3beta1:GoogleCloudDialogflowCxV3beta1Webhook": { "description": "Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.", "properties": { @@ -216533,6 +223056,9 @@ }, "parameterMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response" }, "password": { @@ -216545,6 +223071,9 @@ }, "requestHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The HTTP request headers to send together with webhook requests." }, "uri": { @@ -216627,6 +223156,9 @@ }, "parameterMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response" }, "password": { @@ -216639,6 +223171,9 @@ }, "requestHeaders": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The HTTP request headers to send together with webhook requests." }, "uri": { @@ -216775,7 +223310,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -216796,7 +223334,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -221564,6 +228105,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "To organize findings, these labels will be added to each finding. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. No more than 10 labels can be associated with a given finding. Examples: * `\"environment\" : \"production\"` * `\"pipeline\" : \"etl\"`" }, "requiredFindingLabelKeys": { @@ -221590,6 +228134,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "To organize findings, these labels will be added to each finding. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. No more than 10 labels can be associated with a given finding. Examples: * `\"environment\" : \"production\"` * `\"pipeline\" : \"etl\"`" }, "requiredFindingLabelKeys": { @@ -225201,7 +231748,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -232339,6 +238889,24 @@ "topic" ] }, + "google-native:eventarc/v1:StateConditionResponse": { + "description": "A condition that is part of the trigger state computation.", + "properties": { + "code": { + "type": "string", + "description": "The canonical code of the condition." + }, + "message": { + "type": "string", + "description": "Human-readable message." + } + }, + "type": "object", + "required": [ + "code", + "message" + ] + }, "google-native:eventarc/v1:Transport": { "description": "Represents the transport intermediaries created for the trigger to deliver events.", "properties": { @@ -233886,6 +240454,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The additional headers to add to the response." }, "regex": { @@ -233907,6 +240478,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The additional headers to add to the response." }, "regex": { @@ -234330,7 +240904,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -234387,6 +240964,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels used for extra metadata and/or filtering." }, "name": { @@ -234502,6 +241082,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any." }, "name": { @@ -234510,6 +241093,9 @@ }, "response": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`." } }, @@ -234532,7 +241118,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -237437,6 +244026,9 @@ }, "backupCrdVersions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A list of the Backup for GKE CRD versions found in the cluster." }, "cluster": { @@ -238659,6 +245251,10 @@ }, "ignored": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeIgnoredMembershipResponse" + }, "description": "A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`." } }, @@ -238800,6 +245396,9 @@ "properties": { "stats": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Number of GKE clusters in each status code." }, "status": { @@ -238820,6 +245419,80 @@ "upgrade" ] }, + "google-native:gkehub/v1:ClusterUpgradeIgnoredMembershipResponse": { + "description": "IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default.", + "properties": { + "ignoredTime": { + "type": "string", + "description": "Time when the membership was first set to ignored." + }, + "reason": { + "type": "string", + "description": "Reason why the membership is ignored." + } + }, + "type": "object", + "required": [ + "ignoredTime", + "reason" + ] + }, + "google-native:gkehub/v1:ClusterUpgradeMembershipGKEUpgradeStateResponse": { + "description": "ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership.", + "properties": { + "status": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeUpgradeStatusResponse", + "description": "Status of the upgrade." + }, + "upgrade": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeGKEUpgradeResponse", + "description": "Which upgrade to track the state." + } + }, + "type": "object", + "required": [ + "status", + "upgrade" + ] + }, + "google-native:gkehub/v1:ClusterUpgradeMembershipStateResponse": { + "description": "Per-membership state for this feature.", + "properties": { + "fleet": { + "type": "string", + "description": "Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing." + }, + "ignored": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeIgnoredMembershipResponse", + "description": "Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel." + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeMembershipGKEUpgradeStateResponse" + }, + "description": "Actual upgrade state against desired." + } + }, + "type": "object", + "required": [ + "fleet", + "ignored", + "scopes", + "upgrades" + ] + }, "google-native:gkehub/v1:ClusterUpgradePostConditions": { "description": "Post conditional checks after an upgrade has been applied on all eligible clusters.", "properties": { @@ -239054,6 +245727,62 @@ }, "type": "object" }, + "google-native:gkehub/v1:ConfigManagementConfigSyncDeploymentStateResponse": { + "description": "The state of ConfigSync's deployment on a cluster", + "properties": { + "admissionWebhook": { + "type": "string", + "description": "Deployment state of admission-webhook" + }, + "gitSync": { + "type": "string", + "description": "Deployment state of the git-sync pod" + }, + "importer": { + "type": "string", + "description": "Deployment state of the importer pod" + }, + "monitor": { + "type": "string", + "description": "Deployment state of the monitor pod" + }, + "reconcilerManager": { + "type": "string", + "description": "Deployment state of reconciler-manager pod" + }, + "rootReconciler": { + "type": "string", + "description": "Deployment state of root-reconciler" + }, + "syncer": { + "type": "string", + "description": "Deployment state of the syncer pod" + } + }, + "type": "object", + "required": [ + "admissionWebhook", + "gitSync", + "importer", + "monitor", + "reconcilerManager", + "rootReconciler", + "syncer" + ] + }, + "google-native:gkehub/v1:ConfigManagementConfigSyncErrorResponse": { + "description": "Errors pertaining to the installation of Config Sync", + "properties": { + "errorMessage": { + "type": "string", + "description": "A string representing the user facing error message" + } + }, + "type": "object", + "required": [ + "errorMessage" + ] + }, "google-native:gkehub/v1:ConfigManagementConfigSyncResponse": { "description": "Configuration for Config Sync", "properties": { @@ -239100,6 +245829,136 @@ "sourceFormat" ] }, + "google-native:gkehub/v1:ConfigManagementConfigSyncStateResponse": { + "description": "State information for ConfigSync", + "properties": { + "deploymentState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementConfigSyncDeploymentStateResponse", + "description": "Information about the deployment of ConfigSync, including the version of the various Pods deployed" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementConfigSyncErrorResponse" + }, + "description": "Errors pertaining to the installation of Config Sync." + }, + "syncState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementSyncStateResponse", + "description": "The state of ConfigSync's process to sync configs to a cluster" + }, + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementConfigSyncVersionResponse", + "description": "The version of ConfigSync deployed" + } + }, + "type": "object", + "required": [ + "deploymentState", + "errors", + "syncState", + "version" + ] + }, + "google-native:gkehub/v1:ConfigManagementConfigSyncVersionResponse": { + "description": "Specific versioning information pertaining to ConfigSync's Pods", + "properties": { + "admissionWebhook": { + "type": "string", + "description": "Version of the deployed admission_webhook pod" + }, + "gitSync": { + "type": "string", + "description": "Version of the deployed git-sync pod" + }, + "importer": { + "type": "string", + "description": "Version of the deployed importer pod" + }, + "monitor": { + "type": "string", + "description": "Version of the deployed monitor pod" + }, + "reconcilerManager": { + "type": "string", + "description": "Version of the deployed reconciler-manager pod" + }, + "rootReconciler": { + "type": "string", + "description": "Version of the deployed reconciler container in root-reconciler pod" + }, + "syncer": { + "type": "string", + "description": "Version of the deployed syncer pod" + } + }, + "type": "object", + "required": [ + "admissionWebhook", + "gitSync", + "importer", + "monitor", + "reconcilerManager", + "rootReconciler", + "syncer" + ] + }, + "google-native:gkehub/v1:ConfigManagementErrorResourceResponse": { + "description": "Model for a config file in the git repo with an associated Sync error", + "properties": { + "resourceGvk": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementGroupVersionKindResponse", + "description": "Group/version/kind of the resource that is causing an error" + }, + "resourceName": { + "type": "string", + "description": "Metadata name of the resource that is causing an error" + }, + "resourceNamespace": { + "type": "string", + "description": "Namespace of the resource that is causing an error" + }, + "sourcePath": { + "type": "string", + "description": "Path in the git repo of the erroneous config" + } + }, + "type": "object", + "required": [ + "resourceGvk", + "resourceName", + "resourceNamespace", + "sourcePath" + ] + }, + "google-native:gkehub/v1:ConfigManagementGatekeeperDeploymentStateResponse": { + "description": "State of Policy Controller installation.", + "properties": { + "gatekeeperAudit": { + "type": "string", + "description": "Status of gatekeeper-audit deployment." + }, + "gatekeeperControllerManagerState": { + "type": "string", + "description": "Status of gatekeeper-controller-manager pod." + }, + "gatekeeperMutation": { + "type": "string", + "description": "Status of the pod serving the mutation webhook." + } + }, + "type": "object", + "required": [ + "gatekeeperAudit", + "gatekeeperControllerManagerState", + "gatekeeperMutation" + ] + }, "google-native:gkehub/v1:ConfigManagementGitConfig": { "description": "Git repo configuration for a single cluster.", "properties": { @@ -239186,6 +246045,29 @@ "syncWaitSecs" ] }, + "google-native:gkehub/v1:ConfigManagementGroupVersionKindResponse": { + "description": "A Kubernetes object's GVK", + "properties": { + "group": { + "type": "string", + "description": "Kubernetes Group" + }, + "kind": { + "type": "string", + "description": "Kubernetes Kind" + }, + "version": { + "type": "string", + "description": "Kubernetes Version" + } + }, + "type": "object", + "required": [ + "group", + "kind", + "version" + ] + }, "google-native:gkehub/v1:ConfigManagementHierarchyControllerConfig": { "description": "Configuration for Hierarchy Controller", "properties": { @@ -239227,6 +246109,75 @@ "enabled" ] }, + "google-native:gkehub/v1:ConfigManagementHierarchyControllerDeploymentStateResponse": { + "description": "Deployment state for Hierarchy Controller", + "properties": { + "extension": { + "type": "string", + "description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)" + }, + "hnc": { + "type": "string", + "description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0)" + } + }, + "type": "object", + "required": [ + "extension", + "hnc" + ] + }, + "google-native:gkehub/v1:ConfigManagementHierarchyControllerStateResponse": { + "description": "State for Hierarchy Controller", + "properties": { + "state": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementHierarchyControllerDeploymentStateResponse", + "description": "The deployment state for Hierarchy Controller" + }, + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementHierarchyControllerVersionResponse", + "description": "The version for Hierarchy Controller" + } + }, + "type": "object", + "required": [ + "state", + "version" + ] + }, + "google-native:gkehub/v1:ConfigManagementHierarchyControllerVersionResponse": { + "description": "Version for Hierarchy Controller", + "properties": { + "extension": { + "type": "string", + "description": "Version for Hierarchy Controller extension" + }, + "hnc": { + "type": "string", + "description": "Version for open source HNC" + } + }, + "type": "object", + "required": [ + "extension", + "hnc" + ] + }, + "google-native:gkehub/v1:ConfigManagementInstallErrorResponse": { + "description": "Errors pertaining to the installation of ACM", + "properties": { + "errorMessage": { + "type": "string", + "description": "A string representing the user facing error message" + } + }, + "type": "object", + "required": [ + "errorMessage" + ] + }, "google-native:gkehub/v1:ConfigManagementMembershipSpec": { "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", "properties": { @@ -239292,6 +246243,49 @@ "version" ] }, + "google-native:gkehub/v1:ConfigManagementMembershipStateResponse": { + "description": "**Anthos Config Management**: State for a single cluster.", + "properties": { + "clusterName": { + "type": "string", + "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name." + }, + "configSyncState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementConfigSyncStateResponse", + "description": "Current sync status" + }, + "hierarchyControllerState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementHierarchyControllerStateResponse", + "description": "Hierarchy Controller status" + }, + "membershipSpec": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementMembershipSpecResponse", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" + }, + "operatorState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementOperatorStateResponse", + "description": "Current install status of ACM's Operator" + }, + "policyControllerState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementPolicyControllerStateResponse", + "description": "PolicyController status" + } + }, + "type": "object", + "required": [ + "clusterName", + "configSyncState", + "hierarchyControllerState", + "membershipSpec", + "operatorState", + "policyControllerState" + ] + }, "google-native:gkehub/v1:ConfigManagementOciConfig": { "description": "OCI repo configuration for a single cluster", "properties": { @@ -239351,6 +246345,33 @@ "syncWaitSecs" ] }, + "google-native:gkehub/v1:ConfigManagementOperatorStateResponse": { + "description": "State information for an ACM's Operator", + "properties": { + "deploymentState": { + "type": "string", + "description": "The state of the Operator's deployment" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementInstallErrorResponse" + }, + "description": "Install errors." + }, + "version": { + "type": "string", + "description": "The semenatic version number of the operator" + } + }, + "type": "object", + "required": [ + "deploymentState", + "errors", + "version" + ] + }, "google-native:gkehub/v1:ConfigManagementPolicyController": { "description": "Configuration for Policy Controller", "properties": { @@ -239393,6 +246414,24 @@ }, "type": "object" }, + "google-native:gkehub/v1:ConfigManagementPolicyControllerMigrationResponse": { + "description": "State for the migration of PolicyController from ACM -\u003e PoCo Hub.", + "properties": { + "copyTime": { + "type": "string", + "description": "Last time this membership spec was copied to PoCo feature." + }, + "stage": { + "type": "string", + "description": "Stage of the migration." + } + }, + "type": "object", + "required": [ + "copyTime", + "stage" + ] + }, "google-native:gkehub/v1:ConfigManagementPolicyControllerMonitoring": { "description": "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", "properties": { @@ -239499,6 +246538,120 @@ "updateTime" ] }, + "google-native:gkehub/v1:ConfigManagementPolicyControllerStateResponse": { + "description": "State for PolicyControllerState.", + "properties": { + "deploymentState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementGatekeeperDeploymentStateResponse", + "description": "The state about the policy controller installation." + }, + "migration": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementPolicyControllerMigrationResponse", + "description": "Record state of ACM -\u003e PoCo Hub migration for this feature." + }, + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementPolicyControllerVersionResponse", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object", + "required": [ + "deploymentState", + "migration", + "version" + ] + }, + "google-native:gkehub/v1:ConfigManagementPolicyControllerVersionResponse": { + "description": "The build version of Gatekeeper Policy Controller is using.", + "properties": { + "version": { + "type": "string", + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number." + } + }, + "type": "object", + "required": [ + "version" + ] + }, + "google-native:gkehub/v1:ConfigManagementSyncErrorResponse": { + "description": "An ACM created error representing a problem syncing configurations", + "properties": { + "code": { + "type": "string", + "description": "An ACM defined error code" + }, + "errorMessage": { + "type": "string", + "description": "A description of the error" + }, + "errorResources": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementErrorResourceResponse" + }, + "description": "A list of config(s) associated with the error, if any" + } + }, + "type": "object", + "required": [ + "code", + "errorMessage", + "errorResources" + ] + }, + "google-native:gkehub/v1:ConfigManagementSyncStateResponse": { + "description": "State indicating an ACM's progress syncing configurations to a cluster", + "properties": { + "code": { + "type": "string", + "description": "Sync status code" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementSyncErrorResponse" + }, + "description": "A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist." + }, + "importToken": { + "type": "string", + "description": "Token indicating the state of the importer." + }, + "lastSync": { + "type": "string", + "description": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String", + "deprecationMessage": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String" + }, + "lastSyncTime": { + "type": "string", + "description": "Timestamp type of when ACM last successfully synced the repo" + }, + "sourceToken": { + "type": "string", + "description": "Token indicating the state of the repo." + }, + "syncToken": { + "type": "string", + "description": "Token indicating the state of the syncer." + } + }, + "type": "object", + "required": [ + "code", + "errors", + "importToken", + "lastSync", + "lastSyncTime", + "sourceToken", + "syncToken" + ] + }, "google-native:gkehub/v1:DefaultClusterConfig": { "description": "DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet.", "properties": { @@ -239812,6 +246965,18 @@ "fleetScopeLogsConfig" ] }, + "google-native:gkehub/v1:FleetObservabilityMembershipSpec": { + "description": "**FleetObservability**: The membership-specific input for FleetObservability feature.", + "type": "object" + }, + "google-native:gkehub/v1:FleetObservabilityMembershipSpecResponse": { + "description": "**FleetObservability**: The membership-specific input for FleetObservability feature.", + "type": "object" + }, + "google-native:gkehub/v1:FleetObservabilityMembershipStateResponse": { + "description": "**FleetObservability**: Membership-specific Feature state for fleetobservability.", + "type": "object" + }, "google-native:gkehub/v1:FleetObservabilityRoutingConfig": { "description": "RoutingConfig configures the behaviour of fleet logging feature.", "properties": { @@ -240058,6 +247223,35 @@ "authMethods" ] }, + "google-native:gkehub/v1:IdentityServiceMembershipStateResponse": { + "description": "**Anthos Identity Service**: State for a single Membership.", + "properties": { + "failureReason": { + "type": "string", + "description": "The reason of the failure." + }, + "installedVersion": { + "type": "string", + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK." + }, + "memberConfig": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:IdentityServiceMembershipSpecResponse", + "description": "Last reconciled membership configuration" + }, + "state": { + "type": "string", + "description": "Deployment state on this member" + } + }, + "type": "object", + "required": [ + "failureReason", + "installedVersion", + "memberConfig", + "state" + ] + }, "google-native:gkehub/v1:IdentityServiceOidcConfig": { "description": "Configuration for OIDC Auth flow.", "properties": { @@ -240388,6 +247582,142 @@ "onPremCluster" ] }, + "google-native:gkehub/v1:MembershipFeatureSpec": { + "description": "MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name.", + "properties": { + "configmanagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementMembershipSpec", + "description": "Config Management-specific spec." + }, + "fleetobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:FleetObservabilityMembershipSpec", + "description": "Fleet observability membership spec" + }, + "identityservice": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:IdentityServiceMembershipSpec", + "description": "Identity Service-specific spec." + }, + "mesh": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshMembershipSpec", + "description": "Anthos Service Mesh-specific spec" + }, + "origin": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:Origin", + "description": "Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerMembershipSpec", + "description": "Policy Controller spec." + } + }, + "type": "object" + }, + "google-native:gkehub/v1:MembershipFeatureSpecResponse": { + "description": "MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name.", + "properties": { + "configmanagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementMembershipSpecResponse", + "description": "Config Management-specific spec." + }, + "fleetobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:FleetObservabilityMembershipSpecResponse", + "description": "Fleet observability membership spec" + }, + "identityservice": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:IdentityServiceMembershipSpecResponse", + "description": "Identity Service-specific spec." + }, + "mesh": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshMembershipSpecResponse", + "description": "Anthos Service Mesh-specific spec" + }, + "origin": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:OriginResponse", + "description": "Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerMembershipSpecResponse", + "description": "Policy Controller spec." + } + }, + "type": "object", + "required": [ + "configmanagement", + "fleetobservability", + "identityservice", + "mesh", + "origin", + "policycontroller" + ] + }, + "google-native:gkehub/v1:MembershipFeatureStateResponse": { + "description": "MembershipFeatureState contains Feature status information for a single Membership.", + "properties": { + "appdevexperience": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:AppDevExperienceFeatureStateResponse", + "description": "Appdevexperience specific state." + }, + "clusterupgrade": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ClusterUpgradeMembershipStateResponse", + "description": "ClusterUpgrade state." + }, + "configmanagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ConfigManagementMembershipStateResponse", + "description": "Config Management-specific state." + }, + "fleetobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:FleetObservabilityMembershipStateResponse", + "description": "Fleet observability membership state." + }, + "identityservice": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:IdentityServiceMembershipStateResponse", + "description": "Identity Service-specific state." + }, + "policycontroller": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerMembershipStateResponse", + "description": "Policycontroller-specific state." + }, + "servicemesh": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshMembershipStateResponse", + "description": "Service Mesh-specific state." + }, + "state": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:FeatureStateResponse", + "description": "The high-level state of this Feature for a single membership." + } + }, + "type": "object", + "required": [ + "appdevexperience", + "clusterupgrade", + "configmanagement", + "fleetobservability", + "identityservice", + "policycontroller", + "servicemesh", + "state" + ] + }, "google-native:gkehub/v1:MembershipStateResponse": { "description": "MembershipState describes the state of a Membership resource.", "properties": { @@ -240601,6 +247931,55 @@ "resourceLink" ] }, + "google-native:gkehub/v1:Origin": { + "description": "Origin defines where this MembershipFeatureSpec originated from.", + "properties": { + "type": { + "$ref": "#/types/google-native:gkehub/v1:OriginType", + "description": "Type specifies which type of origin is set." + } + }, + "type": "object" + }, + "google-native:gkehub/v1:OriginResponse": { + "description": "Origin defines where this MembershipFeatureSpec originated from.", + "properties": { + "type": { + "type": "string", + "description": "Type specifies which type of origin is set." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "google-native:gkehub/v1:OriginType": { + "description": "Type specifies which type of origin is set.", + "type": "string", + "enum": [ + { + "name": "TypeUnspecified", + "description": "Type is unknown or not set.", + "value": "TYPE_UNSPECIFIED" + }, + { + "name": "Fleet", + "description": "Per-Membership spec was inherited from the fleet-level default.", + "value": "FLEET" + }, + { + "name": "FleetOutOfSync", + "description": "Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default.", + "value": "FLEET_OUT_OF_SYNC" + }, + { + "name": "User", + "description": "Per-Membership spec was inherited from a user specification.", + "value": "USER" + } + ] + }, "google-native:gkehub/v1:PolicyBinding": { "description": "Binauthz policy that applies to this cluster.", "properties": { @@ -240624,6 +248003,35 @@ "name" ] }, + "google-native:gkehub/v1:PolicyControllerBundleInstallSpec": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "properties": { + "exemptedNamespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of namespaces to be exempted from the bundle." + } + }, + "type": "object" + }, + "google-native:gkehub/v1:PolicyControllerBundleInstallSpecResponse": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "properties": { + "exemptedNamespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of namespaces to be exempted from the bundle." + } + }, + "type": "object", + "required": [ + "exemptedNamespaces" + ] + }, "google-native:gkehub/v1:PolicyControllerHubConfig": { "description": "Configuration for Policy Controller", "properties": { @@ -240637,6 +248045,10 @@ }, "deploymentConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfig" + }, "description": "Map of deployment configs to deployments (\"admission\", \"audit\", \"mutation')." }, "exemptableNamespaces": { @@ -240719,6 +248131,10 @@ }, "deploymentConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfigResponse" + }, "description": "Map of deployment configs to deployments (\"admission\", \"audit\", \"mutation')." }, "exemptableNamespaces": { @@ -240803,6 +248219,34 @@ "version" ] }, + "google-native:gkehub/v1:PolicyControllerMembershipStateResponse": { + "description": "**Policy Controller**: State for a single cluster.", + "properties": { + "componentStates": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerOnClusterStateResponse" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"" + }, + "policyContentState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerPolicyContentStateResponse", + "description": "The overall content state observed by the Hub Feature controller." + }, + "state": { + "type": "string", + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller." + } + }, + "type": "object", + "required": [ + "componentStates", + "policyContentState", + "state" + ] + }, "google-native:gkehub/v1:PolicyControllerMonitoringConfig": { "description": "MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", "properties": { @@ -240852,11 +248296,33 @@ "backends" ] }, + "google-native:gkehub/v1:PolicyControllerOnClusterStateResponse": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "properties": { + "details": { + "type": "string", + "description": "Surface potential errors or information logs." + }, + "state": { + "type": "string", + "description": "The lifecycle state of this component." + } + }, + "type": "object", + "required": [ + "details", + "state" + ] + }, "google-native:gkehub/v1:PolicyControllerPolicyContentSpec": { "description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", "properties": { "bundles": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerBundleInstallSpec" + }, "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint." }, "templateLibrary": { @@ -240872,6 +248338,10 @@ "properties": { "bundles": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerBundleInstallSpecResponse" + }, "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint." }, "templateLibrary": { @@ -240886,6 +248356,193 @@ "templateLibrary" ] }, + "google-native:gkehub/v1:PolicyControllerPolicyContentStateResponse": { + "description": "The state of the policy controller policy content", + "properties": { + "bundleStates": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerOnClusterStateResponse" + }, + "description": "The state of the any bundles included in the chosen version of the manifest" + }, + "referentialSyncConfigState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerOnClusterStateResponse", + "description": "The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user." + }, + "templateLibraryState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerOnClusterStateResponse", + "description": "The state of the template library" + } + }, + "type": "object", + "required": [ + "bundleStates", + "referentialSyncConfigState", + "templateLibraryState" + ] + }, + "google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfig": { + "description": "Deployment-specific configuration.", + "properties": { + "containerResources": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceRequirements", + "description": "Container resource requirements." + }, + "podAffinity": { + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfigPodAffinity", + "description": "Pod affinity configuration." + }, + "podAntiAffinity": { + "type": "boolean", + "description": "Pod anti-affinity enablement." + }, + "podTolerations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerToleration" + }, + "description": "Pod tolerations of node taints." + }, + "replicaCount": { + "type": "string", + "description": "Pod replica count." + } + }, + "type": "object" + }, + "google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfigPodAffinity": { + "description": "Pod affinity configuration.", + "type": "string", + "enum": [ + { + "name": "AffinityUnspecified", + "description": "No affinity configuration has been specified.", + "value": "AFFINITY_UNSPECIFIED" + }, + { + "name": "NoAffinity", + "description": "Affinity configurations will be removed from the deployment.", + "value": "NO_AFFINITY" + }, + { + "name": "AntiAffinity", + "description": "Anti-affinity configuration will be applied to this deployment. Default for admissions deployment.", + "value": "ANTI_AFFINITY" + } + ] + }, + "google-native:gkehub/v1:PolicyControllerPolicyControllerDeploymentConfigResponse": { + "description": "Deployment-specific configuration.", + "properties": { + "containerResources": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceRequirementsResponse", + "description": "Container resource requirements." + }, + "podAffinity": { + "type": "string", + "description": "Pod affinity configuration." + }, + "podAntiAffinity": { + "type": "boolean", + "description": "Pod anti-affinity enablement." + }, + "podTolerations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerTolerationResponse" + }, + "description": "Pod tolerations of node taints." + }, + "replicaCount": { + "type": "string", + "description": "Pod replica count." + } + }, + "type": "object", + "required": [ + "containerResources", + "podAffinity", + "podAntiAffinity", + "podTolerations", + "replicaCount" + ] + }, + "google-native:gkehub/v1:PolicyControllerResourceList": { + "description": "ResourceList contains container resource requirements.", + "properties": { + "cpu": { + "type": "string", + "description": "CPU requirement expressed in Kubernetes resource units." + }, + "memory": { + "type": "string", + "description": "Memory requirement expressed in Kubernetes resource units." + } + }, + "type": "object" + }, + "google-native:gkehub/v1:PolicyControllerResourceListResponse": { + "description": "ResourceList contains container resource requirements.", + "properties": { + "cpu": { + "type": "string", + "description": "CPU requirement expressed in Kubernetes resource units." + }, + "memory": { + "type": "string", + "description": "Memory requirement expressed in Kubernetes resource units." + } + }, + "type": "object", + "required": [ + "cpu", + "memory" + ] + }, + "google-native:gkehub/v1:PolicyControllerResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "properties": { + "limits": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceList", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceList", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object" + }, + "google-native:gkehub/v1:PolicyControllerResourceRequirementsResponse": { + "description": "ResourceRequirements describes the compute resource requirements.", + "properties": { + "limits": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceListResponse", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:PolicyControllerResourceListResponse", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object", + "required": [ + "limits", + "requests" + ] + }, "google-native:gkehub/v1:PolicyControllerTemplateLibraryConfig": { "description": "The config specifying which default library templates to install.", "properties": { @@ -240930,6 +248587,56 @@ "installation" ] }, + "google-native:gkehub/v1:PolicyControllerToleration": { + "description": "Toleration of a node taint.", + "properties": { + "effect": { + "type": "string", + "description": "Matches a taint effect." + }, + "key": { + "type": "string", + "description": "Matches a taint key (not necessarily unique)." + }, + "operator": { + "type": "string", + "description": "Matches a taint operator." + }, + "value": { + "type": "string", + "description": "Matches a taint value." + } + }, + "type": "object" + }, + "google-native:gkehub/v1:PolicyControllerTolerationResponse": { + "description": "Toleration of a node taint.", + "properties": { + "effect": { + "type": "string", + "description": "Matches a taint effect." + }, + "key": { + "type": "string", + "description": "Matches a taint key (not necessarily unique)." + }, + "operator": { + "type": "string", + "description": "Matches a taint operator." + }, + "value": { + "type": "string", + "description": "Matches a taint value." + } + }, + "type": "object", + "required": [ + "effect", + "key", + "operator", + "value" + ] + }, "google-native:gkehub/v1:RBACRoleBindingLifecycleStateResponse": { "description": "RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource.", "properties": { @@ -241056,6 +248763,28 @@ "predefinedRole" ] }, + "google-native:gkehub/v1:ScopeFeatureSpec": { + "description": "ScopeFeatureSpec contains feature specs for a fleet scope.", + "type": "object" + }, + "google-native:gkehub/v1:ScopeFeatureSpecResponse": { + "description": "ScopeFeatureSpec contains feature specs for a fleet scope.", + "type": "object" + }, + "google-native:gkehub/v1:ScopeFeatureStateResponse": { + "description": "ScopeFeatureState contains Scope-wide Feature status information.", + "properties": { + "state": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:FeatureStateResponse", + "description": "The \"running state\" of the Feature in this Scope." + } + }, + "type": "object", + "required": [ + "state" + ] + }, "google-native:gkehub/v1:ScopeLifecycleStateResponse": { "description": "ScopeLifecycleState describes the state of a Scope resource.", "properties": { @@ -241148,6 +248877,50 @@ } ] }, + "google-native:gkehub/v1:ServiceMeshControlPlaneManagementResponse": { + "description": "Status of control plane management.", + "properties": { + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshStatusDetailsResponse" + }, + "description": "Explanation of state." + }, + "state": { + "type": "string", + "description": "LifecycleState of control plane management." + } + }, + "type": "object", + "required": [ + "details", + "state" + ] + }, + "google-native:gkehub/v1:ServiceMeshDataPlaneManagementResponse": { + "description": "Status of data plane management. Only reported per-member.", + "properties": { + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshStatusDetailsResponse" + }, + "description": "Explanation of the status." + }, + "state": { + "type": "string", + "description": "Lifecycle status of data plane management." + } + }, + "type": "object", + "required": [ + "details", + "state" + ] + }, "google-native:gkehub/v1:ServiceMeshMembershipSpec": { "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", "properties": { @@ -241224,6 +248997,44 @@ "management" ] }, + "google-native:gkehub/v1:ServiceMeshMembershipStateResponse": { + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", + "properties": { + "controlPlaneManagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshControlPlaneManagementResponse", + "description": "Status of control plane management" + }, + "dataPlaneManagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ServiceMeshDataPlaneManagementResponse", + "description": "Status of data plane management." + } + }, + "type": "object", + "required": [ + "controlPlaneManagement", + "dataPlaneManagement" + ] + }, + "google-native:gkehub/v1:ServiceMeshStatusDetailsResponse": { + "description": "Structured and human-readable details for a status.", + "properties": { + "code": { + "type": "string", + "description": "A machine-readable code that further describes a broad status." + }, + "details": { + "type": "string", + "description": "Human-readable explanation of code." + } + }, + "type": "object", + "required": [ + "code", + "details" + ] + }, "google-native:gkehub/v1:StatusResponse": { "description": "Status specifies state for the subcomponent.", "properties": { @@ -242390,6 +250201,59 @@ "allowlistedServiceAccounts" ] }, + "google-native:gkehub/v1alpha:CloudBuildMembershipSpec": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "properties": { + "securityPolicy": { + "$ref": "#/types/google-native:gkehub/v1alpha:CloudBuildMembershipSpecSecurityPolicy", + "description": "Whether it is allowed to run the privileged builds on the cluster or not." + }, + "version": { + "type": "string", + "description": "Version of the cloud build software on the cluster." + } + }, + "type": "object" + }, + "google-native:gkehub/v1alpha:CloudBuildMembershipSpecResponse": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "properties": { + "securityPolicy": { + "type": "string", + "description": "Whether it is allowed to run the privileged builds on the cluster or not." + }, + "version": { + "type": "string", + "description": "Version of the cloud build software on the cluster." + } + }, + "type": "object", + "required": [ + "securityPolicy", + "version" + ] + }, + "google-native:gkehub/v1alpha:CloudBuildMembershipSpecSecurityPolicy": { + "description": "Whether it is allowed to run the privileged builds on the cluster or not.", + "type": "string", + "enum": [ + { + "name": "SecurityPolicyUnspecified", + "description": "Unspecified policy", + "value": "SECURITY_POLICY_UNSPECIFIED" + }, + { + "name": "NonPrivileged", + "description": "Privileged build pods are disallowed", + "value": "NON_PRIVILEGED" + }, + { + "name": "Privileged", + "description": "Privileged build pods are allowed", + "value": "PRIVILEGED" + } + ] + }, "google-native:gkehub/v1alpha:ClusterUpgradeFleetSpec": { "description": "**ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature.", "properties": { @@ -242467,6 +250331,10 @@ }, "ignored": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeIgnoredMembershipResponse" + }, "description": "A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`." } }, @@ -242608,6 +250476,9 @@ "properties": { "stats": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Number of GKE clusters in each status code." }, "status": { @@ -242628,6 +250499,80 @@ "upgrade" ] }, + "google-native:gkehub/v1alpha:ClusterUpgradeIgnoredMembershipResponse": { + "description": "IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default.", + "properties": { + "ignoredTime": { + "type": "string", + "description": "Time when the membership was first set to ignored." + }, + "reason": { + "type": "string", + "description": "Reason why the membership is ignored." + } + }, + "type": "object", + "required": [ + "ignoredTime", + "reason" + ] + }, + "google-native:gkehub/v1alpha:ClusterUpgradeMembershipGKEUpgradeStateResponse": { + "description": "ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership.", + "properties": { + "status": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeUpgradeStatusResponse", + "description": "Status of the upgrade." + }, + "upgrade": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeResponse", + "description": "Which upgrade to track the state." + } + }, + "type": "object", + "required": [ + "status", + "upgrade" + ] + }, + "google-native:gkehub/v1alpha:ClusterUpgradeMembershipStateResponse": { + "description": "Per-membership state for this feature.", + "properties": { + "fleet": { + "type": "string", + "description": "Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing." + }, + "ignored": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeIgnoredMembershipResponse", + "description": "Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel." + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeMembershipGKEUpgradeStateResponse" + }, + "description": "Actual upgrade state against desired." + } + }, + "type": "object", + "required": [ + "fleet", + "ignored", + "scopes", + "upgrades" + ] + }, "google-native:gkehub/v1alpha:ClusterUpgradePostConditions": { "description": "Post conditional checks after an upgrade has been applied on all eligible clusters.", "properties": { @@ -242654,6 +250599,97 @@ "soaking" ] }, + "google-native:gkehub/v1alpha:ClusterUpgradeScopeSpec": { + "description": "**ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature.", + "properties": { + "gkeUpgradeOverrides": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeOverride" + }, + "description": "Allow users to override some properties of each GKE upgrade." + }, + "postConditions": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradePostConditions", + "description": "Post conditions to evaluate to mark an upgrade COMPLETE. Required." + }, + "upstreamScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope." + } + }, + "type": "object", + "required": [ + "postConditions" + ] + }, + "google-native:gkehub/v1alpha:ClusterUpgradeScopeSpecResponse": { + "description": "**ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature.", + "properties": { + "gkeUpgradeOverrides": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeOverrideResponse" + }, + "description": "Allow users to override some properties of each GKE upgrade." + }, + "postConditions": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradePostConditionsResponse", + "description": "Post conditions to evaluate to mark an upgrade COMPLETE. Required." + }, + "upstreamScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope." + } + }, + "type": "object", + "required": [ + "gkeUpgradeOverrides", + "postConditions", + "upstreamScopes" + ] + }, + "google-native:gkehub/v1alpha:ClusterUpgradeScopeStateResponse": { + "description": "**ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature.", + "properties": { + "downstreamScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project." + }, + "gkeState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeGKEUpgradeFeatureStateResponse", + "description": "Feature state for GKE clusters." + }, + "ignored": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeIgnoredMembershipResponse" + }, + "description": "A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`." + } + }, + "type": "object", + "required": [ + "downstreamScopes", + "gkeState", + "ignored" + ] + }, "google-native:gkehub/v1alpha:ClusterUpgradeUpgradeStatusResponse": { "description": "UpgradeStatus provides status information for each upgrade.", "properties": { @@ -242904,6 +250940,38 @@ "enabled" ] }, + "google-native:gkehub/v1alpha:ConfigManagementBinauthzStateResponse": { + "description": "State for Binauthz", + "properties": { + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementBinauthzVersionResponse", + "description": "The version of binauthz that is installed." + }, + "webhook": { + "type": "string", + "description": "The state of the binauthz webhook." + } + }, + "type": "object", + "required": [ + "version", + "webhook" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementBinauthzVersionResponse": { + "description": "The version of binauthz.", + "properties": { + "webhookVersion": { + "type": "string", + "description": "The version of the binauthz webhook." + } + }, + "type": "object", + "required": [ + "webhookVersion" + ] + }, "google-native:gkehub/v1alpha:ConfigManagementConfigSync": { "description": "Configuration for Config Sync", "properties": { @@ -242941,6 +251009,62 @@ }, "type": "object" }, + "google-native:gkehub/v1alpha:ConfigManagementConfigSyncDeploymentStateResponse": { + "description": "The state of ConfigSync's deployment on a cluster", + "properties": { + "admissionWebhook": { + "type": "string", + "description": "Deployment state of admission-webhook" + }, + "gitSync": { + "type": "string", + "description": "Deployment state of the git-sync pod" + }, + "importer": { + "type": "string", + "description": "Deployment state of the importer pod" + }, + "monitor": { + "type": "string", + "description": "Deployment state of the monitor pod" + }, + "reconcilerManager": { + "type": "string", + "description": "Deployment state of reconciler-manager pod" + }, + "rootReconciler": { + "type": "string", + "description": "Deployment state of root-reconciler" + }, + "syncer": { + "type": "string", + "description": "Deployment state of the syncer pod" + } + }, + "type": "object", + "required": [ + "admissionWebhook", + "gitSync", + "importer", + "monitor", + "reconcilerManager", + "rootReconciler", + "syncer" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementConfigSyncErrorResponse": { + "description": "Errors pertaining to the installation of Config Sync", + "properties": { + "errorMessage": { + "type": "string", + "description": "A string representing the user facing error message" + } + }, + "type": "object", + "required": [ + "errorMessage" + ] + }, "google-native:gkehub/v1alpha:ConfigManagementConfigSyncResponse": { "description": "Configuration for Config Sync", "properties": { @@ -242987,6 +251111,136 @@ "sourceFormat" ] }, + "google-native:gkehub/v1alpha:ConfigManagementConfigSyncStateResponse": { + "description": "State information for ConfigSync", + "properties": { + "deploymentState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementConfigSyncDeploymentStateResponse", + "description": "Information about the deployment of ConfigSync, including the version of the various Pods deployed" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementConfigSyncErrorResponse" + }, + "description": "Errors pertaining to the installation of Config Sync." + }, + "syncState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementSyncStateResponse", + "description": "The state of ConfigSync's process to sync configs to a cluster" + }, + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementConfigSyncVersionResponse", + "description": "The version of ConfigSync deployed" + } + }, + "type": "object", + "required": [ + "deploymentState", + "errors", + "syncState", + "version" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementConfigSyncVersionResponse": { + "description": "Specific versioning information pertaining to ConfigSync's Pods", + "properties": { + "admissionWebhook": { + "type": "string", + "description": "Version of the deployed admission_webhook pod" + }, + "gitSync": { + "type": "string", + "description": "Version of the deployed git-sync pod" + }, + "importer": { + "type": "string", + "description": "Version of the deployed importer pod" + }, + "monitor": { + "type": "string", + "description": "Version of the deployed monitor pod" + }, + "reconcilerManager": { + "type": "string", + "description": "Version of the deployed reconciler-manager pod" + }, + "rootReconciler": { + "type": "string", + "description": "Version of the deployed reconciler container in root-reconciler pod" + }, + "syncer": { + "type": "string", + "description": "Version of the deployed syncer pod" + } + }, + "type": "object", + "required": [ + "admissionWebhook", + "gitSync", + "importer", + "monitor", + "reconcilerManager", + "rootReconciler", + "syncer" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementErrorResourceResponse": { + "description": "Model for a config file in the git repo with an associated Sync error", + "properties": { + "resourceGvk": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementGroupVersionKindResponse", + "description": "Group/version/kind of the resource that is causing an error" + }, + "resourceName": { + "type": "string", + "description": "Metadata name of the resource that is causing an error" + }, + "resourceNamespace": { + "type": "string", + "description": "Namespace of the resource that is causing an error" + }, + "sourcePath": { + "type": "string", + "description": "Path in the git repo of the erroneous config" + } + }, + "type": "object", + "required": [ + "resourceGvk", + "resourceName", + "resourceNamespace", + "sourcePath" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementGatekeeperDeploymentStateResponse": { + "description": "State of Policy Controller installation.", + "properties": { + "gatekeeperAudit": { + "type": "string", + "description": "Status of gatekeeper-audit deployment." + }, + "gatekeeperControllerManagerState": { + "type": "string", + "description": "Status of gatekeeper-controller-manager pod." + }, + "gatekeeperMutation": { + "type": "string", + "description": "Status of the pod serving the mutation webhook." + } + }, + "type": "object", + "required": [ + "gatekeeperAudit", + "gatekeeperControllerManagerState", + "gatekeeperMutation" + ] + }, "google-native:gkehub/v1alpha:ConfigManagementGitConfig": { "description": "Git repo configuration for a single cluster.", "properties": { @@ -243073,6 +251327,29 @@ "syncWaitSecs" ] }, + "google-native:gkehub/v1alpha:ConfigManagementGroupVersionKindResponse": { + "description": "A Kubernetes object's GVK", + "properties": { + "group": { + "type": "string", + "description": "Kubernetes Group" + }, + "kind": { + "type": "string", + "description": "Kubernetes Kind" + }, + "version": { + "type": "string", + "description": "Kubernetes Version" + } + }, + "type": "object", + "required": [ + "group", + "kind", + "version" + ] + }, "google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerConfig": { "description": "Configuration for Hierarchy Controller", "properties": { @@ -243114,6 +251391,75 @@ "enabled" ] }, + "google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerDeploymentStateResponse": { + "description": "Deployment state for Hierarchy Controller", + "properties": { + "extension": { + "type": "string", + "description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)" + }, + "hnc": { + "type": "string", + "description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0)" + } + }, + "type": "object", + "required": [ + "extension", + "hnc" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerStateResponse": { + "description": "State for Hierarchy Controller", + "properties": { + "state": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerDeploymentStateResponse", + "description": "The deployment state for Hierarchy Controller" + }, + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerVersionResponse", + "description": "The version for Hierarchy Controller" + } + }, + "type": "object", + "required": [ + "state", + "version" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerVersionResponse": { + "description": "Version for Hierarchy Controller", + "properties": { + "extension": { + "type": "string", + "description": "Version for Hierarchy Controller extension" + }, + "hnc": { + "type": "string", + "description": "Version for open source HNC" + } + }, + "type": "object", + "required": [ + "extension", + "hnc" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementInstallErrorResponse": { + "description": "Errors pertaining to the installation of ACM", + "properties": { + "errorMessage": { + "type": "string", + "description": "A string representing the user facing error message" + } + }, + "type": "object", + "required": [ + "errorMessage" + ] + }, "google-native:gkehub/v1alpha:ConfigManagementMembershipSpec": { "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", "properties": { @@ -243192,6 +251538,55 @@ "version" ] }, + "google-native:gkehub/v1alpha:ConfigManagementMembershipStateResponse": { + "description": "**Anthos Config Management**: State for a single cluster.", + "properties": { + "binauthzState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementBinauthzStateResponse", + "description": "Binauthz status" + }, + "clusterName": { + "type": "string", + "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name." + }, + "configSyncState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementConfigSyncStateResponse", + "description": "Current sync status" + }, + "hierarchyControllerState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementHierarchyControllerStateResponse", + "description": "Hierarchy Controller status" + }, + "membershipSpec": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementMembershipSpecResponse", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" + }, + "operatorState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementOperatorStateResponse", + "description": "Current install status of ACM's Operator" + }, + "policyControllerState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementPolicyControllerStateResponse", + "description": "PolicyController status" + } + }, + "type": "object", + "required": [ + "binauthzState", + "clusterName", + "configSyncState", + "hierarchyControllerState", + "membershipSpec", + "operatorState", + "policyControllerState" + ] + }, "google-native:gkehub/v1alpha:ConfigManagementOciConfig": { "description": "OCI repo configuration for a single cluster", "properties": { @@ -243251,6 +251646,33 @@ "syncWaitSecs" ] }, + "google-native:gkehub/v1alpha:ConfigManagementOperatorStateResponse": { + "description": "State information for an ACM's Operator", + "properties": { + "deploymentState": { + "type": "string", + "description": "The state of the Operator's deployment" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementInstallErrorResponse" + }, + "description": "Install errors." + }, + "version": { + "type": "string", + "description": "The semenatic version number of the operator" + } + }, + "type": "object", + "required": [ + "deploymentState", + "errors", + "version" + ] + }, "google-native:gkehub/v1alpha:ConfigManagementPolicyController": { "description": "Configuration for Policy Controller", "properties": { @@ -243293,6 +251715,24 @@ }, "type": "object" }, + "google-native:gkehub/v1alpha:ConfigManagementPolicyControllerMigrationResponse": { + "description": "State for the migration of PolicyController from ACM -\u003e PoCo Hub.", + "properties": { + "copyTime": { + "type": "string", + "description": "Last time this membership spec was copied to PoCo feature." + }, + "stage": { + "type": "string", + "description": "Stage of the migration." + } + }, + "type": "object", + "required": [ + "copyTime", + "stage" + ] + }, "google-native:gkehub/v1alpha:ConfigManagementPolicyControllerMonitoring": { "description": "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", "properties": { @@ -243399,6 +251839,120 @@ "updateTime" ] }, + "google-native:gkehub/v1alpha:ConfigManagementPolicyControllerStateResponse": { + "description": "State for PolicyControllerState.", + "properties": { + "deploymentState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementGatekeeperDeploymentStateResponse", + "description": "The state about the policy controller installation." + }, + "migration": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementPolicyControllerMigrationResponse", + "description": "Record state of ACM -\u003e PoCo Hub migration for this feature." + }, + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementPolicyControllerVersionResponse", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object", + "required": [ + "deploymentState", + "migration", + "version" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementPolicyControllerVersionResponse": { + "description": "The build version of Gatekeeper Policy Controller is using.", + "properties": { + "version": { + "type": "string", + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number." + } + }, + "type": "object", + "required": [ + "version" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementSyncErrorResponse": { + "description": "An ACM created error representing a problem syncing configurations", + "properties": { + "code": { + "type": "string", + "description": "An ACM defined error code" + }, + "errorMessage": { + "type": "string", + "description": "A description of the error" + }, + "errorResources": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementErrorResourceResponse" + }, + "description": "A list of config(s) associated with the error, if any" + } + }, + "type": "object", + "required": [ + "code", + "errorMessage", + "errorResources" + ] + }, + "google-native:gkehub/v1alpha:ConfigManagementSyncStateResponse": { + "description": "State indicating an ACM's progress syncing configurations to a cluster", + "properties": { + "code": { + "type": "string", + "description": "Sync status code" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementSyncErrorResponse" + }, + "description": "A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist." + }, + "importToken": { + "type": "string", + "description": "Token indicating the state of the importer." + }, + "lastSync": { + "type": "string", + "description": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String", + "deprecationMessage": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String" + }, + "lastSyncTime": { + "type": "string", + "description": "Timestamp type of when ACM last successfully synced the repo" + }, + "sourceToken": { + "type": "string", + "description": "Token indicating the state of the repo." + }, + "syncToken": { + "type": "string", + "description": "Token indicating the state of the syncer." + } + }, + "type": "object", + "required": [ + "code", + "errors", + "importToken", + "lastSync", + "lastSyncTime", + "sourceToken", + "syncToken" + ] + }, "google-native:gkehub/v1alpha:DefaultClusterConfig": { "description": "DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet.", "properties": { @@ -243777,6 +252331,18 @@ "fleetScopeLogsConfig" ] }, + "google-native:gkehub/v1alpha:FleetObservabilityMembershipSpec": { + "description": "**FleetObservability**: The membership-specific input for FleetObservability feature.", + "type": "object" + }, + "google-native:gkehub/v1alpha:FleetObservabilityMembershipSpecResponse": { + "description": "**FleetObservability**: The membership-specific input for FleetObservability feature.", + "type": "object" + }, + "google-native:gkehub/v1alpha:FleetObservabilityMembershipStateResponse": { + "description": "**FleetObservability**: Membership-specific Feature state for fleetobservability.", + "type": "object" + }, "google-native:gkehub/v1alpha:FleetObservabilityRoutingConfig": { "description": "RoutingConfig configures the behaviour of fleet logging feature.", "properties": { @@ -244023,6 +252589,35 @@ "authMethods" ] }, + "google-native:gkehub/v1alpha:IdentityServiceMembershipStateResponse": { + "description": "**Anthos Identity Service**: State for a single Membership.", + "properties": { + "failureReason": { + "type": "string", + "description": "The reason of the failure." + }, + "installedVersion": { + "type": "string", + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK." + }, + "memberConfig": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:IdentityServiceMembershipSpecResponse", + "description": "Last reconciled membership configuration" + }, + "state": { + "type": "string", + "description": "Deployment state on this member" + } + }, + "type": "object", + "required": [ + "failureReason", + "installedVersion", + "memberConfig", + "state" + ] + }, "google-native:gkehub/v1alpha:IdentityServiceOidcConfig": { "description": "Configuration for OIDC Auth flow.", "properties": { @@ -244353,6 +252948,198 @@ "onPremCluster" ] }, + "google-native:gkehub/v1alpha:MembershipFeatureSpec": { + "description": "MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name.", + "properties": { + "anthosobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:AnthosObservabilityMembershipSpec", + "description": "Anthos Observability-specific spec" + }, + "cloudbuild": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:CloudBuildMembershipSpec", + "description": "Cloud Build-specific spec" + }, + "configmanagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementMembershipSpec", + "description": "Config Management-specific spec." + }, + "fleetobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:FleetObservabilityMembershipSpec", + "description": "Fleet observability membership spec" + }, + "identityservice": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:IdentityServiceMembershipSpec", + "description": "Identity Service-specific spec." + }, + "mesh": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshMembershipSpec", + "description": "Anthos Service Mesh-specific spec" + }, + "namespaceactuation": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:NamespaceActuationMembershipSpec", + "description": "FNS Actuation membership spec" + }, + "origin": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:Origin", + "description": "Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerMembershipSpec", + "description": "Policy Controller spec." + }, + "workloadcertificate": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipSpec", + "description": "Workload Certificate spec." + } + }, + "type": "object" + }, + "google-native:gkehub/v1alpha:MembershipFeatureSpecResponse": { + "description": "MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name.", + "properties": { + "anthosobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:AnthosObservabilityMembershipSpecResponse", + "description": "Anthos Observability-specific spec" + }, + "cloudbuild": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:CloudBuildMembershipSpecResponse", + "description": "Cloud Build-specific spec" + }, + "configmanagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementMembershipSpecResponse", + "description": "Config Management-specific spec." + }, + "fleetobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:FleetObservabilityMembershipSpecResponse", + "description": "Fleet observability membership spec" + }, + "identityservice": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:IdentityServiceMembershipSpecResponse", + "description": "Identity Service-specific spec." + }, + "mesh": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshMembershipSpecResponse", + "description": "Anthos Service Mesh-specific spec" + }, + "namespaceactuation": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:NamespaceActuationMembershipSpecResponse", + "description": "FNS Actuation membership spec" + }, + "origin": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:OriginResponse", + "description": "Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerMembershipSpecResponse", + "description": "Policy Controller spec." + }, + "workloadcertificate": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipSpecResponse", + "description": "Workload Certificate spec." + } + }, + "type": "object", + "required": [ + "anthosobservability", + "cloudbuild", + "configmanagement", + "fleetobservability", + "identityservice", + "mesh", + "namespaceactuation", + "origin", + "policycontroller", + "workloadcertificate" + ] + }, + "google-native:gkehub/v1alpha:MembershipFeatureStateResponse": { + "description": "MembershipFeatureState contains Feature status information for a single Membership.", + "properties": { + "appdevexperience": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:AppDevExperienceFeatureStateResponse", + "description": "Appdevexperience specific state." + }, + "clusterupgrade": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeMembershipStateResponse", + "description": "ClusterUpgrade state." + }, + "configmanagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ConfigManagementMembershipStateResponse", + "description": "Config Management-specific state." + }, + "fleetobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:FleetObservabilityMembershipStateResponse", + "description": "Fleet observability membership state." + }, + "identityservice": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:IdentityServiceMembershipStateResponse", + "description": "Identity Service-specific state." + }, + "metering": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:MeteringMembershipStateResponse", + "description": "Metering-specific state." + }, + "namespaceactuation": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:NamespaceActuationMembershipStateResponse", + "description": "FNS Actuation membership state" + }, + "policycontroller": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerMembershipStateResponse", + "description": "Policycontroller-specific state." + }, + "servicemesh": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshMembershipStateResponse", + "description": "Service Mesh-specific state." + }, + "state": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:FeatureStateResponse", + "description": "The high-level state of this Feature for a single membership." + } + }, + "type": "object", + "required": [ + "appdevexperience", + "clusterupgrade", + "configmanagement", + "fleetobservability", + "identityservice", + "metering", + "namespaceactuation", + "policycontroller", + "servicemesh", + "state" + ] + }, "google-native:gkehub/v1alpha:MembershipSpec": { "description": "**Workload Certificate**: The membership-specific input for WorkloadCertificate feature.", "properties": { @@ -244410,6 +253197,24 @@ "code" ] }, + "google-native:gkehub/v1alpha:MeteringMembershipStateResponse": { + "description": "**Metering**: Per-Membership Feature State.", + "properties": { + "lastMeasurementTime": { + "type": "string", + "description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster." + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "type": "number", + "description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision)." + } + }, + "type": "object", + "required": [ + "lastMeasurementTime", + "preciseLastMeasuredClusterVcpuCapacity" + ] + }, "google-native:gkehub/v1alpha:MonitoringConfig": { "description": "MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics.", "properties": { @@ -244600,6 +253405,18 @@ "description": "NamespaceActuation Feature State.", "type": "object" }, + "google-native:gkehub/v1alpha:NamespaceActuationMembershipSpec": { + "description": "**Namespace Actuation**: The membership-specific input for NamespaceActuation feature.", + "type": "object" + }, + "google-native:gkehub/v1alpha:NamespaceActuationMembershipSpecResponse": { + "description": "**Namespace Actuation**: The membership-specific input for NamespaceActuation feature.", + "type": "object" + }, + "google-native:gkehub/v1alpha:NamespaceActuationMembershipStateResponse": { + "description": "**Namespace Actuation**: An empty state left as an example membership-specific Feature state.", + "type": "object" + }, "google-native:gkehub/v1alpha:NamespaceLifecycleStateResponse": { "description": "NamespaceLifecycleState describes the state of a Namespace resource.", "properties": { @@ -244690,6 +253507,55 @@ "resourceLink" ] }, + "google-native:gkehub/v1alpha:Origin": { + "description": "Origin defines where this MembershipFeatureSpec originated from.", + "properties": { + "type": { + "$ref": "#/types/google-native:gkehub/v1alpha:OriginType", + "description": "Type specifies which type of origin is set." + } + }, + "type": "object" + }, + "google-native:gkehub/v1alpha:OriginResponse": { + "description": "Origin defines where this MembershipFeatureSpec originated from.", + "properties": { + "type": { + "type": "string", + "description": "Type specifies which type of origin is set." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "google-native:gkehub/v1alpha:OriginType": { + "description": "Type specifies which type of origin is set.", + "type": "string", + "enum": [ + { + "name": "TypeUnspecified", + "description": "Type is unknown or not set.", + "value": "TYPE_UNSPECIFIED" + }, + { + "name": "Fleet", + "description": "Per-Membership spec was inherited from the fleet-level default.", + "value": "FLEET" + }, + { + "name": "FleetOutOfSync", + "description": "Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default.", + "value": "FLEET_OUT_OF_SYNC" + }, + { + "name": "User", + "description": "Per-Membership spec was inherited from a user specification.", + "value": "USER" + } + ] + }, "google-native:gkehub/v1alpha:PolicyBinding": { "description": "Binauthz policy that applies to this cluster.", "properties": { @@ -244713,6 +253579,35 @@ "name" ] }, + "google-native:gkehub/v1alpha:PolicyControllerBundleInstallSpec": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "properties": { + "exemptedNamespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of namespaces to be exempted from the bundle." + } + }, + "type": "object" + }, + "google-native:gkehub/v1alpha:PolicyControllerBundleInstallSpecResponse": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "properties": { + "exemptedNamespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of namespaces to be exempted from the bundle." + } + }, + "type": "object", + "required": [ + "exemptedNamespaces" + ] + }, "google-native:gkehub/v1alpha:PolicyControllerHubConfig": { "description": "Configuration for Policy Controller", "properties": { @@ -244726,6 +253621,10 @@ }, "deploymentConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfig" + }, "description": "Map of deployment configs to deployments (\"admission\", \"audit\", \"mutation')." }, "exemptableNamespaces": { @@ -244808,6 +253707,10 @@ }, "deploymentConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfigResponse" + }, "description": "Map of deployment configs to deployments (\"admission\", \"audit\", \"mutation')." }, "exemptableNamespaces": { @@ -244892,6 +253795,34 @@ "version" ] }, + "google-native:gkehub/v1alpha:PolicyControllerMembershipStateResponse": { + "description": "**Policy Controller**: State for a single cluster.", + "properties": { + "componentStates": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"" + }, + "policyContentState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerPolicyContentStateResponse", + "description": "The overall content state observed by the Hub Feature controller." + }, + "state": { + "type": "string", + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller." + } + }, + "type": "object", + "required": [ + "componentStates", + "policyContentState", + "state" + ] + }, "google-native:gkehub/v1alpha:PolicyControllerMonitoringConfig": { "description": "MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", "properties": { @@ -244941,11 +253872,33 @@ "backends" ] }, + "google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "properties": { + "details": { + "type": "string", + "description": "Surface potential errors or information logs." + }, + "state": { + "type": "string", + "description": "The lifecycle state of this component." + } + }, + "type": "object", + "required": [ + "details", + "state" + ] + }, "google-native:gkehub/v1alpha:PolicyControllerPolicyContentSpec": { "description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", "properties": { "bundles": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerBundleInstallSpec" + }, "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint." }, "templateLibrary": { @@ -244961,6 +253914,10 @@ "properties": { "bundles": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerBundleInstallSpecResponse" + }, "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint." }, "templateLibrary": { @@ -244975,6 +253932,193 @@ "templateLibrary" ] }, + "google-native:gkehub/v1alpha:PolicyControllerPolicyContentStateResponse": { + "description": "The state of the policy controller policy content", + "properties": { + "bundleStates": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse" + }, + "description": "The state of the any bundles included in the chosen version of the manifest" + }, + "referentialSyncConfigState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse", + "description": "The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user." + }, + "templateLibraryState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerOnClusterStateResponse", + "description": "The state of the template library" + } + }, + "type": "object", + "required": [ + "bundleStates", + "referentialSyncConfigState", + "templateLibraryState" + ] + }, + "google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfig": { + "description": "Deployment-specific configuration.", + "properties": { + "containerResources": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceRequirements", + "description": "Container resource requirements." + }, + "podAffinity": { + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfigPodAffinity", + "description": "Pod affinity configuration." + }, + "podAntiAffinity": { + "type": "boolean", + "description": "Pod anti-affinity enablement." + }, + "podTolerations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerToleration" + }, + "description": "Pod tolerations of node taints." + }, + "replicaCount": { + "type": "string", + "description": "Pod replica count." + } + }, + "type": "object" + }, + "google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfigPodAffinity": { + "description": "Pod affinity configuration.", + "type": "string", + "enum": [ + { + "name": "AffinityUnspecified", + "description": "No affinity configuration has been specified.", + "value": "AFFINITY_UNSPECIFIED" + }, + { + "name": "NoAffinity", + "description": "Affinity configurations will be removed from the deployment.", + "value": "NO_AFFINITY" + }, + { + "name": "AntiAffinity", + "description": "Anti-affinity configuration will be applied to this deployment. Default for admissions deployment.", + "value": "ANTI_AFFINITY" + } + ] + }, + "google-native:gkehub/v1alpha:PolicyControllerPolicyControllerDeploymentConfigResponse": { + "description": "Deployment-specific configuration.", + "properties": { + "containerResources": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceRequirementsResponse", + "description": "Container resource requirements." + }, + "podAffinity": { + "type": "string", + "description": "Pod affinity configuration." + }, + "podAntiAffinity": { + "type": "boolean", + "description": "Pod anti-affinity enablement." + }, + "podTolerations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerTolerationResponse" + }, + "description": "Pod tolerations of node taints." + }, + "replicaCount": { + "type": "string", + "description": "Pod replica count." + } + }, + "type": "object", + "required": [ + "containerResources", + "podAffinity", + "podAntiAffinity", + "podTolerations", + "replicaCount" + ] + }, + "google-native:gkehub/v1alpha:PolicyControllerResourceList": { + "description": "ResourceList contains container resource requirements.", + "properties": { + "cpu": { + "type": "string", + "description": "CPU requirement expressed in Kubernetes resource units." + }, + "memory": { + "type": "string", + "description": "Memory requirement expressed in Kubernetes resource units." + } + }, + "type": "object" + }, + "google-native:gkehub/v1alpha:PolicyControllerResourceListResponse": { + "description": "ResourceList contains container resource requirements.", + "properties": { + "cpu": { + "type": "string", + "description": "CPU requirement expressed in Kubernetes resource units." + }, + "memory": { + "type": "string", + "description": "Memory requirement expressed in Kubernetes resource units." + } + }, + "type": "object", + "required": [ + "cpu", + "memory" + ] + }, + "google-native:gkehub/v1alpha:PolicyControllerResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "properties": { + "limits": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceList", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceList", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object" + }, + "google-native:gkehub/v1alpha:PolicyControllerResourceRequirementsResponse": { + "description": "ResourceRequirements describes the compute resource requirements.", + "properties": { + "limits": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceListResponse", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:PolicyControllerResourceListResponse", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object", + "required": [ + "limits", + "requests" + ] + }, "google-native:gkehub/v1alpha:PolicyControllerTemplateLibraryConfig": { "description": "The config specifying which default library templates to install.", "properties": { @@ -245019,6 +254163,56 @@ "installation" ] }, + "google-native:gkehub/v1alpha:PolicyControllerToleration": { + "description": "Toleration of a node taint.", + "properties": { + "effect": { + "type": "string", + "description": "Matches a taint effect." + }, + "key": { + "type": "string", + "description": "Matches a taint key (not necessarily unique)." + }, + "operator": { + "type": "string", + "description": "Matches a taint operator." + }, + "value": { + "type": "string", + "description": "Matches a taint value." + } + }, + "type": "object" + }, + "google-native:gkehub/v1alpha:PolicyControllerTolerationResponse": { + "description": "Toleration of a node taint.", + "properties": { + "effect": { + "type": "string", + "description": "Matches a taint effect." + }, + "key": { + "type": "string", + "description": "Matches a taint key (not necessarily unique)." + }, + "operator": { + "type": "string", + "description": "Matches a taint operator." + }, + "value": { + "type": "string", + "description": "Matches a taint value." + } + }, + "type": "object", + "required": [ + "effect", + "key", + "operator", + "value" + ] + }, "google-native:gkehub/v1alpha:RBACRoleBindingLifecycleStateResponse": { "description": "RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource.", "properties": { @@ -245145,6 +254339,51 @@ "predefinedRole" ] }, + "google-native:gkehub/v1alpha:ScopeFeatureSpec": { + "description": "ScopeFeatureSpec contains feature specs for a fleet scope.", + "properties": { + "clusterupgrade": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeScopeSpec", + "description": "Spec for the ClusterUpgrade feature at the scope level" + } + }, + "type": "object" + }, + "google-native:gkehub/v1alpha:ScopeFeatureSpecResponse": { + "description": "ScopeFeatureSpec contains feature specs for a fleet scope.", + "properties": { + "clusterupgrade": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeScopeSpecResponse", + "description": "Spec for the ClusterUpgrade feature at the scope level" + } + }, + "type": "object", + "required": [ + "clusterupgrade" + ] + }, + "google-native:gkehub/v1alpha:ScopeFeatureStateResponse": { + "description": "ScopeFeatureState contains Scope-wide Feature status information.", + "properties": { + "clusterupgrade": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ClusterUpgradeScopeStateResponse", + "description": "State for the ClusterUpgrade feature at the scope level" + }, + "state": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:FeatureStateResponse", + "description": "The \"running state\" of the Feature in this Scope." + } + }, + "type": "object", + "required": [ + "clusterupgrade", + "state" + ] + }, "google-native:gkehub/v1alpha:ScopeLifecycleStateResponse": { "description": "ScopeLifecycleState describes the state of a Scope resource.", "properties": { @@ -245266,6 +254505,9 @@ "properties": { "args": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "A UI can combine these args with a template (based on message_base.type) to produce an internationalized message." }, "description": { @@ -245293,6 +254535,50 @@ "resourcePaths" ] }, + "google-native:gkehub/v1alpha:ServiceMeshControlPlaneManagementResponse": { + "description": "Status of control plane management.", + "properties": { + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshStatusDetailsResponse" + }, + "description": "Explanation of state." + }, + "state": { + "type": "string", + "description": "LifecycleState of control plane management." + } + }, + "type": "object", + "required": [ + "details", + "state" + ] + }, + "google-native:gkehub/v1alpha:ServiceMeshDataPlaneManagementResponse": { + "description": "Status of data plane management. Only reported per-member.", + "properties": { + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshStatusDetailsResponse" + }, + "description": "Explanation of the status." + }, + "state": { + "type": "string", + "description": "Lifecycle status of data plane management." + } + }, + "type": "object", + "required": [ + "details", + "state" + ] + }, "google-native:gkehub/v1alpha:ServiceMeshFeatureStateResponse": { "description": "**Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller.", "properties": { @@ -245421,6 +254707,58 @@ "management" ] }, + "google-native:gkehub/v1alpha:ServiceMeshMembershipStateResponse": { + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", + "properties": { + "analysisMessages": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshAnalysisMessageResponse" + }, + "description": "Results of running Service Mesh analyzers." + }, + "configApiVersion": { + "type": "string", + "description": "The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field." + }, + "controlPlaneManagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshControlPlaneManagementResponse", + "description": "Status of control plane management" + }, + "dataPlaneManagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ServiceMeshDataPlaneManagementResponse", + "description": "Status of data plane management." + } + }, + "type": "object", + "required": [ + "analysisMessages", + "configApiVersion", + "controlPlaneManagement", + "dataPlaneManagement" + ] + }, + "google-native:gkehub/v1alpha:ServiceMeshStatusDetailsResponse": { + "description": "Structured and human-readable details for a status.", + "properties": { + "code": { + "type": "string", + "description": "A machine-readable code that further describes a broad status." + }, + "details": { + "type": "string", + "description": "Human-readable explanation of code." + } + }, + "type": "object", + "required": [ + "code", + "details" + ] + }, "google-native:gkehub/v1alpha:ServiceMeshTypeResponse": { "description": "A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type", "properties": { @@ -246663,6 +256001,10 @@ }, "ignored": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeIgnoredMembershipResponse" + }, "description": "A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`." } }, @@ -246804,6 +256146,9 @@ "properties": { "stats": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Number of GKE clusters in each status code." }, "status": { @@ -246824,6 +256169,80 @@ "upgrade" ] }, + "google-native:gkehub/v1beta:ClusterUpgradeIgnoredMembershipResponse": { + "description": "IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default.", + "properties": { + "ignoredTime": { + "type": "string", + "description": "Time when the membership was first set to ignored." + }, + "reason": { + "type": "string", + "description": "Reason why the membership is ignored." + } + }, + "type": "object", + "required": [ + "ignoredTime", + "reason" + ] + }, + "google-native:gkehub/v1beta:ClusterUpgradeMembershipGKEUpgradeStateResponse": { + "description": "ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership.", + "properties": { + "status": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeUpgradeStatusResponse", + "description": "Status of the upgrade." + }, + "upgrade": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeGKEUpgradeResponse", + "description": "Which upgrade to track the state." + } + }, + "type": "object", + "required": [ + "status", + "upgrade" + ] + }, + "google-native:gkehub/v1beta:ClusterUpgradeMembershipStateResponse": { + "description": "Per-membership state for this feature.", + "properties": { + "fleet": { + "type": "string", + "description": "Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing." + }, + "ignored": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeIgnoredMembershipResponse", + "description": "Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel." + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled." + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeMembershipGKEUpgradeStateResponse" + }, + "description": "Actual upgrade state against desired." + } + }, + "type": "object", + "required": [ + "fleet", + "ignored", + "scopes", + "upgrades" + ] + }, "google-native:gkehub/v1beta:ClusterUpgradePostConditions": { "description": "Post conditional checks after an upgrade has been applied on all eligible clusters.", "properties": { @@ -247055,6 +256474,38 @@ "enabled" ] }, + "google-native:gkehub/v1beta:ConfigManagementBinauthzStateResponse": { + "description": "State for Binauthz", + "properties": { + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementBinauthzVersionResponse", + "description": "The version of binauthz that is installed." + }, + "webhook": { + "type": "string", + "description": "The state of the binauthz webhook." + } + }, + "type": "object", + "required": [ + "version", + "webhook" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementBinauthzVersionResponse": { + "description": "The version of binauthz.", + "properties": { + "webhookVersion": { + "type": "string", + "description": "The version of the binauthz webhook." + } + }, + "type": "object", + "required": [ + "webhookVersion" + ] + }, "google-native:gkehub/v1beta:ConfigManagementConfigSync": { "description": "Configuration for Config Sync", "properties": { @@ -247092,6 +256543,62 @@ }, "type": "object" }, + "google-native:gkehub/v1beta:ConfigManagementConfigSyncDeploymentStateResponse": { + "description": "The state of ConfigSync's deployment on a cluster", + "properties": { + "admissionWebhook": { + "type": "string", + "description": "Deployment state of admission-webhook" + }, + "gitSync": { + "type": "string", + "description": "Deployment state of the git-sync pod" + }, + "importer": { + "type": "string", + "description": "Deployment state of the importer pod" + }, + "monitor": { + "type": "string", + "description": "Deployment state of the monitor pod" + }, + "reconcilerManager": { + "type": "string", + "description": "Deployment state of reconciler-manager pod" + }, + "rootReconciler": { + "type": "string", + "description": "Deployment state of root-reconciler" + }, + "syncer": { + "type": "string", + "description": "Deployment state of the syncer pod" + } + }, + "type": "object", + "required": [ + "admissionWebhook", + "gitSync", + "importer", + "monitor", + "reconcilerManager", + "rootReconciler", + "syncer" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementConfigSyncErrorResponse": { + "description": "Errors pertaining to the installation of Config Sync", + "properties": { + "errorMessage": { + "type": "string", + "description": "A string representing the user facing error message" + } + }, + "type": "object", + "required": [ + "errorMessage" + ] + }, "google-native:gkehub/v1beta:ConfigManagementConfigSyncResponse": { "description": "Configuration for Config Sync", "properties": { @@ -247138,6 +256645,136 @@ "sourceFormat" ] }, + "google-native:gkehub/v1beta:ConfigManagementConfigSyncStateResponse": { + "description": "State information for ConfigSync", + "properties": { + "deploymentState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementConfigSyncDeploymentStateResponse", + "description": "Information about the deployment of ConfigSync, including the version of the various Pods deployed" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementConfigSyncErrorResponse" + }, + "description": "Errors pertaining to the installation of Config Sync." + }, + "syncState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementSyncStateResponse", + "description": "The state of ConfigSync's process to sync configs to a cluster" + }, + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementConfigSyncVersionResponse", + "description": "The version of ConfigSync deployed" + } + }, + "type": "object", + "required": [ + "deploymentState", + "errors", + "syncState", + "version" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementConfigSyncVersionResponse": { + "description": "Specific versioning information pertaining to ConfigSync's Pods", + "properties": { + "admissionWebhook": { + "type": "string", + "description": "Version of the deployed admission_webhook pod" + }, + "gitSync": { + "type": "string", + "description": "Version of the deployed git-sync pod" + }, + "importer": { + "type": "string", + "description": "Version of the deployed importer pod" + }, + "monitor": { + "type": "string", + "description": "Version of the deployed monitor pod" + }, + "reconcilerManager": { + "type": "string", + "description": "Version of the deployed reconciler-manager pod" + }, + "rootReconciler": { + "type": "string", + "description": "Version of the deployed reconciler container in root-reconciler pod" + }, + "syncer": { + "type": "string", + "description": "Version of the deployed syncer pod" + } + }, + "type": "object", + "required": [ + "admissionWebhook", + "gitSync", + "importer", + "monitor", + "reconcilerManager", + "rootReconciler", + "syncer" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementErrorResourceResponse": { + "description": "Model for a config file in the git repo with an associated Sync error", + "properties": { + "resourceGvk": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementGroupVersionKindResponse", + "description": "Group/version/kind of the resource that is causing an error" + }, + "resourceName": { + "type": "string", + "description": "Metadata name of the resource that is causing an error" + }, + "resourceNamespace": { + "type": "string", + "description": "Namespace of the resource that is causing an error" + }, + "sourcePath": { + "type": "string", + "description": "Path in the git repo of the erroneous config" + } + }, + "type": "object", + "required": [ + "resourceGvk", + "resourceName", + "resourceNamespace", + "sourcePath" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementGatekeeperDeploymentStateResponse": { + "description": "State of Policy Controller installation.", + "properties": { + "gatekeeperAudit": { + "type": "string", + "description": "Status of gatekeeper-audit deployment." + }, + "gatekeeperControllerManagerState": { + "type": "string", + "description": "Status of gatekeeper-controller-manager pod." + }, + "gatekeeperMutation": { + "type": "string", + "description": "Status of the pod serving the mutation webhook." + } + }, + "type": "object", + "required": [ + "gatekeeperAudit", + "gatekeeperControllerManagerState", + "gatekeeperMutation" + ] + }, "google-native:gkehub/v1beta:ConfigManagementGitConfig": { "description": "Git repo configuration for a single cluster.", "properties": { @@ -247224,6 +256861,29 @@ "syncWaitSecs" ] }, + "google-native:gkehub/v1beta:ConfigManagementGroupVersionKindResponse": { + "description": "A Kubernetes object's GVK", + "properties": { + "group": { + "type": "string", + "description": "Kubernetes Group" + }, + "kind": { + "type": "string", + "description": "Kubernetes Kind" + }, + "version": { + "type": "string", + "description": "Kubernetes Version" + } + }, + "type": "object", + "required": [ + "group", + "kind", + "version" + ] + }, "google-native:gkehub/v1beta:ConfigManagementHierarchyControllerConfig": { "description": "Configuration for Hierarchy Controller", "properties": { @@ -247265,6 +256925,75 @@ "enabled" ] }, + "google-native:gkehub/v1beta:ConfigManagementHierarchyControllerDeploymentStateResponse": { + "description": "Deployment state for Hierarchy Controller", + "properties": { + "extension": { + "type": "string", + "description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1)" + }, + "hnc": { + "type": "string", + "description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0)" + } + }, + "type": "object", + "required": [ + "extension", + "hnc" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementHierarchyControllerStateResponse": { + "description": "State for Hierarchy Controller", + "properties": { + "state": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementHierarchyControllerDeploymentStateResponse", + "description": "The deployment state for Hierarchy Controller" + }, + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementHierarchyControllerVersionResponse", + "description": "The version for Hierarchy Controller" + } + }, + "type": "object", + "required": [ + "state", + "version" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementHierarchyControllerVersionResponse": { + "description": "Version for Hierarchy Controller", + "properties": { + "extension": { + "type": "string", + "description": "Version for Hierarchy Controller extension" + }, + "hnc": { + "type": "string", + "description": "Version for open source HNC" + } + }, + "type": "object", + "required": [ + "extension", + "hnc" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementInstallErrorResponse": { + "description": "Errors pertaining to the installation of ACM", + "properties": { + "errorMessage": { + "type": "string", + "description": "A string representing the user facing error message" + } + }, + "type": "object", + "required": [ + "errorMessage" + ] + }, "google-native:gkehub/v1beta:ConfigManagementMembershipSpec": { "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", "properties": { @@ -247343,6 +257072,55 @@ "version" ] }, + "google-native:gkehub/v1beta:ConfigManagementMembershipStateResponse": { + "description": "**Anthos Config Management**: State for a single cluster.", + "properties": { + "binauthzState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementBinauthzStateResponse", + "description": "Binauthz status" + }, + "clusterName": { + "type": "string", + "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name." + }, + "configSyncState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementConfigSyncStateResponse", + "description": "Current sync status" + }, + "hierarchyControllerState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementHierarchyControllerStateResponse", + "description": "Hierarchy Controller status" + }, + "membershipSpec": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementMembershipSpecResponse", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" + }, + "operatorState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementOperatorStateResponse", + "description": "Current install status of ACM's Operator" + }, + "policyControllerState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementPolicyControllerStateResponse", + "description": "PolicyController status" + } + }, + "type": "object", + "required": [ + "binauthzState", + "clusterName", + "configSyncState", + "hierarchyControllerState", + "membershipSpec", + "operatorState", + "policyControllerState" + ] + }, "google-native:gkehub/v1beta:ConfigManagementOciConfig": { "description": "OCI repo configuration for a single cluster", "properties": { @@ -247402,6 +257180,33 @@ "syncWaitSecs" ] }, + "google-native:gkehub/v1beta:ConfigManagementOperatorStateResponse": { + "description": "State information for an ACM's Operator", + "properties": { + "deploymentState": { + "type": "string", + "description": "The state of the Operator's deployment" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementInstallErrorResponse" + }, + "description": "Install errors." + }, + "version": { + "type": "string", + "description": "The semenatic version number of the operator" + } + }, + "type": "object", + "required": [ + "deploymentState", + "errors", + "version" + ] + }, "google-native:gkehub/v1beta:ConfigManagementPolicyController": { "description": "Configuration for Policy Controller", "properties": { @@ -247444,6 +257249,24 @@ }, "type": "object" }, + "google-native:gkehub/v1beta:ConfigManagementPolicyControllerMigrationResponse": { + "description": "State for the migration of PolicyController from ACM -\u003e PoCo Hub.", + "properties": { + "copyTime": { + "type": "string", + "description": "Last time this membership spec was copied to PoCo feature." + }, + "stage": { + "type": "string", + "description": "Stage of the migration." + } + }, + "type": "object", + "required": [ + "copyTime", + "stage" + ] + }, "google-native:gkehub/v1beta:ConfigManagementPolicyControllerMonitoring": { "description": "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", "properties": { @@ -247550,6 +257373,120 @@ "updateTime" ] }, + "google-native:gkehub/v1beta:ConfigManagementPolicyControllerStateResponse": { + "description": "State for PolicyControllerState.", + "properties": { + "deploymentState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementGatekeeperDeploymentStateResponse", + "description": "The state about the policy controller installation." + }, + "migration": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementPolicyControllerMigrationResponse", + "description": "Record state of ACM -\u003e PoCo Hub migration for this feature." + }, + "version": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementPolicyControllerVersionResponse", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object", + "required": [ + "deploymentState", + "migration", + "version" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementPolicyControllerVersionResponse": { + "description": "The build version of Gatekeeper Policy Controller is using.", + "properties": { + "version": { + "type": "string", + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number." + } + }, + "type": "object", + "required": [ + "version" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementSyncErrorResponse": { + "description": "An ACM created error representing a problem syncing configurations", + "properties": { + "code": { + "type": "string", + "description": "An ACM defined error code" + }, + "errorMessage": { + "type": "string", + "description": "A description of the error" + }, + "errorResources": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementErrorResourceResponse" + }, + "description": "A list of config(s) associated with the error, if any" + } + }, + "type": "object", + "required": [ + "code", + "errorMessage", + "errorResources" + ] + }, + "google-native:gkehub/v1beta:ConfigManagementSyncStateResponse": { + "description": "State indicating an ACM's progress syncing configurations to a cluster", + "properties": { + "code": { + "type": "string", + "description": "Sync status code" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementSyncErrorResponse" + }, + "description": "A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist." + }, + "importToken": { + "type": "string", + "description": "Token indicating the state of the importer." + }, + "lastSync": { + "type": "string", + "description": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String", + "deprecationMessage": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String" + }, + "lastSyncTime": { + "type": "string", + "description": "Timestamp type of when ACM last successfully synced the repo" + }, + "sourceToken": { + "type": "string", + "description": "Token indicating the state of the repo." + }, + "syncToken": { + "type": "string", + "description": "Token indicating the state of the syncer." + } + }, + "type": "object", + "required": [ + "code", + "errors", + "importToken", + "lastSync", + "lastSyncTime", + "sourceToken", + "syncToken" + ] + }, "google-native:gkehub/v1beta:DefaultClusterConfig": { "description": "DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet.", "properties": { @@ -247863,6 +257800,18 @@ "fleetScopeLogsConfig" ] }, + "google-native:gkehub/v1beta:FleetObservabilityMembershipSpec": { + "description": "**FleetObservability**: The membership-specific input for FleetObservability feature.", + "type": "object" + }, + "google-native:gkehub/v1beta:FleetObservabilityMembershipSpecResponse": { + "description": "**FleetObservability**: The membership-specific input for FleetObservability feature.", + "type": "object" + }, + "google-native:gkehub/v1beta:FleetObservabilityMembershipStateResponse": { + "description": "**FleetObservability**: Membership-specific Feature state for fleetobservability.", + "type": "object" + }, "google-native:gkehub/v1beta:FleetObservabilityRoutingConfig": { "description": "RoutingConfig configures the behaviour of fleet logging feature.", "properties": { @@ -248109,6 +258058,35 @@ "authMethods" ] }, + "google-native:gkehub/v1beta:IdentityServiceMembershipStateResponse": { + "description": "**Anthos Identity Service**: State for a single Membership.", + "properties": { + "failureReason": { + "type": "string", + "description": "The reason of the failure." + }, + "installedVersion": { + "type": "string", + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK." + }, + "memberConfig": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:IdentityServiceMembershipSpecResponse", + "description": "Last reconciled membership configuration" + }, + "state": { + "type": "string", + "description": "Deployment state on this member" + } + }, + "type": "object", + "required": [ + "failureReason", + "installedVersion", + "memberConfig", + "state" + ] + }, "google-native:gkehub/v1beta:IdentityServiceOidcConfig": { "description": "Configuration for OIDC Auth flow.", "properties": { @@ -248439,6 +258417,223 @@ "onPremCluster" ] }, + "google-native:gkehub/v1beta:MembershipFeatureSpec": { + "description": "MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name.", + "properties": { + "anthosobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:AnthosObservabilityMembershipSpec", + "description": "Anthos Observability-specific spec" + }, + "cloudbuild": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:MembershipSpec", + "description": "Cloud Build-specific spec" + }, + "configmanagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementMembershipSpec", + "description": "Config Management-specific spec." + }, + "fleetobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:FleetObservabilityMembershipSpec", + "description": "Fleet observability membership spec" + }, + "identityservice": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:IdentityServiceMembershipSpec", + "description": "Identity Service-specific spec." + }, + "mesh": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshMembershipSpec", + "description": "Anthos Service Mesh-specific spec" + }, + "origin": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:Origin", + "description": "Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerMembershipSpec", + "description": "Policy Controller spec." + } + }, + "type": "object" + }, + "google-native:gkehub/v1beta:MembershipFeatureSpecResponse": { + "description": "MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name.", + "properties": { + "anthosobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:AnthosObservabilityMembershipSpecResponse", + "description": "Anthos Observability-specific spec" + }, + "cloudbuild": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:MembershipSpecResponse", + "description": "Cloud Build-specific spec" + }, + "configmanagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementMembershipSpecResponse", + "description": "Config Management-specific spec." + }, + "fleetobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:FleetObservabilityMembershipSpecResponse", + "description": "Fleet observability membership spec" + }, + "identityservice": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:IdentityServiceMembershipSpecResponse", + "description": "Identity Service-specific spec." + }, + "mesh": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshMembershipSpecResponse", + "description": "Anthos Service Mesh-specific spec" + }, + "origin": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:OriginResponse", + "description": "Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerMembershipSpecResponse", + "description": "Policy Controller spec." + } + }, + "type": "object", + "required": [ + "anthosobservability", + "cloudbuild", + "configmanagement", + "fleetobservability", + "identityservice", + "mesh", + "origin", + "policycontroller" + ] + }, + "google-native:gkehub/v1beta:MembershipFeatureStateResponse": { + "description": "MembershipFeatureState contains Feature status information for a single Membership.", + "properties": { + "appdevexperience": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:AppDevExperienceFeatureStateResponse", + "description": "Appdevexperience specific state." + }, + "clusterupgrade": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ClusterUpgradeMembershipStateResponse", + "description": "ClusterUpgrade state." + }, + "configmanagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ConfigManagementMembershipStateResponse", + "description": "Config Management-specific state." + }, + "fleetobservability": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:FleetObservabilityMembershipStateResponse", + "description": "Fleet observability membership state." + }, + "identityservice": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:IdentityServiceMembershipStateResponse", + "description": "Identity Service-specific state." + }, + "metering": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:MeteringMembershipStateResponse", + "description": "Metering-specific state." + }, + "policycontroller": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerMembershipStateResponse", + "description": "Policycontroller-specific state." + }, + "servicemesh": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshMembershipStateResponse", + "description": "Service Mesh-specific state." + }, + "state": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:FeatureStateResponse", + "description": "The high-level state of this Feature for a single membership." + } + }, + "type": "object", + "required": [ + "appdevexperience", + "clusterupgrade", + "configmanagement", + "fleetobservability", + "identityservice", + "metering", + "policycontroller", + "servicemesh", + "state" + ] + }, + "google-native:gkehub/v1beta:MembershipSpec": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "properties": { + "securityPolicy": { + "$ref": "#/types/google-native:gkehub/v1beta:MembershipSpecSecurityPolicy", + "description": "Whether it is allowed to run the privileged builds on the cluster or not." + }, + "version": { + "type": "string", + "description": "Version of the cloud build software on the cluster." + } + }, + "type": "object" + }, + "google-native:gkehub/v1beta:MembershipSpecResponse": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "properties": { + "securityPolicy": { + "type": "string", + "description": "Whether it is allowed to run the privileged builds on the cluster or not." + }, + "version": { + "type": "string", + "description": "Version of the cloud build software on the cluster." + } + }, + "type": "object", + "required": [ + "securityPolicy", + "version" + ] + }, + "google-native:gkehub/v1beta:MembershipSpecSecurityPolicy": { + "description": "Whether it is allowed to run the privileged builds on the cluster or not.", + "type": "string", + "enum": [ + { + "name": "SecurityPolicyUnspecified", + "description": "Unspecified policy", + "value": "SECURITY_POLICY_UNSPECIFIED" + }, + { + "name": "NonPrivileged", + "description": "Privileged build pods are disallowed", + "value": "NON_PRIVILEGED" + }, + { + "name": "Privileged", + "description": "Privileged build pods are allowed", + "value": "PRIVILEGED" + } + ] + }, "google-native:gkehub/v1beta:MembershipStateResponse": { "description": "MembershipState describes the state of a Membership resource.", "properties": { @@ -248452,6 +258647,24 @@ "code" ] }, + "google-native:gkehub/v1beta:MeteringMembershipStateResponse": { + "description": "**Metering**: Per-Membership Feature State.", + "properties": { + "lastMeasurementTime": { + "type": "string", + "description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster." + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "type": "number", + "description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision)." + } + }, + "type": "object", + "required": [ + "lastMeasurementTime", + "preciseLastMeasuredClusterVcpuCapacity" + ] + }, "google-native:gkehub/v1beta:MonitoringConfig": { "description": "MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics.", "properties": { @@ -248684,6 +258897,55 @@ "resourceLink" ] }, + "google-native:gkehub/v1beta:Origin": { + "description": "Origin defines where this MembershipFeatureSpec originated from.", + "properties": { + "type": { + "$ref": "#/types/google-native:gkehub/v1beta:OriginType", + "description": "Type specifies which type of origin is set." + } + }, + "type": "object" + }, + "google-native:gkehub/v1beta:OriginResponse": { + "description": "Origin defines where this MembershipFeatureSpec originated from.", + "properties": { + "type": { + "type": "string", + "description": "Type specifies which type of origin is set." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "google-native:gkehub/v1beta:OriginType": { + "description": "Type specifies which type of origin is set.", + "type": "string", + "enum": [ + { + "name": "TypeUnspecified", + "description": "Type is unknown or not set.", + "value": "TYPE_UNSPECIFIED" + }, + { + "name": "Fleet", + "description": "Per-Membership spec was inherited from the fleet-level default.", + "value": "FLEET" + }, + { + "name": "FleetOutOfSync", + "description": "Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default.", + "value": "FLEET_OUT_OF_SYNC" + }, + { + "name": "User", + "description": "Per-Membership spec was inherited from a user specification.", + "value": "USER" + } + ] + }, "google-native:gkehub/v1beta:PolicyBinding": { "description": "Binauthz policy that applies to this cluster.", "properties": { @@ -248707,6 +258969,35 @@ "name" ] }, + "google-native:gkehub/v1beta:PolicyControllerBundleInstallSpec": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "properties": { + "exemptedNamespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of namespaces to be exempted from the bundle." + } + }, + "type": "object" + }, + "google-native:gkehub/v1beta:PolicyControllerBundleInstallSpecResponse": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "properties": { + "exemptedNamespaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of namespaces to be exempted from the bundle." + } + }, + "type": "object", + "required": [ + "exemptedNamespaces" + ] + }, "google-native:gkehub/v1beta:PolicyControllerHubConfig": { "description": "Configuration for Policy Controller", "properties": { @@ -248720,6 +259011,10 @@ }, "deploymentConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfig" + }, "description": "Map of deployment configs to deployments (\"admission\", \"audit\", \"mutation')." }, "exemptableNamespaces": { @@ -248802,6 +259097,10 @@ }, "deploymentConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfigResponse" + }, "description": "Map of deployment configs to deployments (\"admission\", \"audit\", \"mutation')." }, "exemptableNamespaces": { @@ -248886,6 +259185,34 @@ "version" ] }, + "google-native:gkehub/v1beta:PolicyControllerMembershipStateResponse": { + "description": "**Policy Controller**: State for a single cluster.", + "properties": { + "componentStates": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"" + }, + "policyContentState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerPolicyContentStateResponse", + "description": "The overall content state observed by the Hub Feature controller." + }, + "state": { + "type": "string", + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller." + } + }, + "type": "object", + "required": [ + "componentStates", + "policyContentState", + "state" + ] + }, "google-native:gkehub/v1beta:PolicyControllerMonitoringConfig": { "description": "MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", "properties": { @@ -248935,11 +259262,33 @@ "backends" ] }, + "google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "properties": { + "details": { + "type": "string", + "description": "Surface potential errors or information logs." + }, + "state": { + "type": "string", + "description": "The lifecycle state of this component." + } + }, + "type": "object", + "required": [ + "details", + "state" + ] + }, "google-native:gkehub/v1beta:PolicyControllerPolicyContentSpec": { "description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", "properties": { "bundles": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerBundleInstallSpec" + }, "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint." }, "templateLibrary": { @@ -248955,6 +259304,10 @@ "properties": { "bundles": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerBundleInstallSpecResponse" + }, "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint." }, "templateLibrary": { @@ -248969,6 +259322,193 @@ "templateLibrary" ] }, + "google-native:gkehub/v1beta:PolicyControllerPolicyContentStateResponse": { + "description": "The state of the policy controller policy content", + "properties": { + "bundleStates": { + "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse" + }, + "description": "The state of the any bundles included in the chosen version of the manifest" + }, + "referentialSyncConfigState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse", + "description": "The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user." + }, + "templateLibraryState": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerOnClusterStateResponse", + "description": "The state of the template library" + } + }, + "type": "object", + "required": [ + "bundleStates", + "referentialSyncConfigState", + "templateLibraryState" + ] + }, + "google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfig": { + "description": "Deployment-specific configuration.", + "properties": { + "containerResources": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceRequirements", + "description": "Container resource requirements." + }, + "podAffinity": { + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfigPodAffinity", + "description": "Pod affinity configuration." + }, + "podAntiAffinity": { + "type": "boolean", + "description": "Pod anti-affinity enablement." + }, + "podTolerations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerToleration" + }, + "description": "Pod tolerations of node taints." + }, + "replicaCount": { + "type": "string", + "description": "Pod replica count." + } + }, + "type": "object" + }, + "google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfigPodAffinity": { + "description": "Pod affinity configuration.", + "type": "string", + "enum": [ + { + "name": "AffinityUnspecified", + "description": "No affinity configuration has been specified.", + "value": "AFFINITY_UNSPECIFIED" + }, + { + "name": "NoAffinity", + "description": "Affinity configurations will be removed from the deployment.", + "value": "NO_AFFINITY" + }, + { + "name": "AntiAffinity", + "description": "Anti-affinity configuration will be applied to this deployment. Default for admissions deployment.", + "value": "ANTI_AFFINITY" + } + ] + }, + "google-native:gkehub/v1beta:PolicyControllerPolicyControllerDeploymentConfigResponse": { + "description": "Deployment-specific configuration.", + "properties": { + "containerResources": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceRequirementsResponse", + "description": "Container resource requirements." + }, + "podAffinity": { + "type": "string", + "description": "Pod affinity configuration." + }, + "podAntiAffinity": { + "type": "boolean", + "description": "Pod anti-affinity enablement." + }, + "podTolerations": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerTolerationResponse" + }, + "description": "Pod tolerations of node taints." + }, + "replicaCount": { + "type": "string", + "description": "Pod replica count." + } + }, + "type": "object", + "required": [ + "containerResources", + "podAffinity", + "podAntiAffinity", + "podTolerations", + "replicaCount" + ] + }, + "google-native:gkehub/v1beta:PolicyControllerResourceList": { + "description": "ResourceList contains container resource requirements.", + "properties": { + "cpu": { + "type": "string", + "description": "CPU requirement expressed in Kubernetes resource units." + }, + "memory": { + "type": "string", + "description": "Memory requirement expressed in Kubernetes resource units." + } + }, + "type": "object" + }, + "google-native:gkehub/v1beta:PolicyControllerResourceListResponse": { + "description": "ResourceList contains container resource requirements.", + "properties": { + "cpu": { + "type": "string", + "description": "CPU requirement expressed in Kubernetes resource units." + }, + "memory": { + "type": "string", + "description": "Memory requirement expressed in Kubernetes resource units." + } + }, + "type": "object", + "required": [ + "cpu", + "memory" + ] + }, + "google-native:gkehub/v1beta:PolicyControllerResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "properties": { + "limits": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceList", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceList", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object" + }, + "google-native:gkehub/v1beta:PolicyControllerResourceRequirementsResponse": { + "description": "ResourceRequirements describes the compute resource requirements.", + "properties": { + "limits": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceListResponse", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:PolicyControllerResourceListResponse", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object", + "required": [ + "limits", + "requests" + ] + }, "google-native:gkehub/v1beta:PolicyControllerTemplateLibraryConfig": { "description": "The config specifying which default library templates to install.", "properties": { @@ -249013,6 +259553,56 @@ "installation" ] }, + "google-native:gkehub/v1beta:PolicyControllerToleration": { + "description": "Toleration of a node taint.", + "properties": { + "effect": { + "type": "string", + "description": "Matches a taint effect." + }, + "key": { + "type": "string", + "description": "Matches a taint key (not necessarily unique)." + }, + "operator": { + "type": "string", + "description": "Matches a taint operator." + }, + "value": { + "type": "string", + "description": "Matches a taint value." + } + }, + "type": "object" + }, + "google-native:gkehub/v1beta:PolicyControllerTolerationResponse": { + "description": "Toleration of a node taint.", + "properties": { + "effect": { + "type": "string", + "description": "Matches a taint effect." + }, + "key": { + "type": "string", + "description": "Matches a taint key (not necessarily unique)." + }, + "operator": { + "type": "string", + "description": "Matches a taint operator." + }, + "value": { + "type": "string", + "description": "Matches a taint value." + } + }, + "type": "object", + "required": [ + "effect", + "key", + "operator", + "value" + ] + }, "google-native:gkehub/v1beta:RBACRoleBindingLifecycleStateResponse": { "description": "RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource.", "properties": { @@ -249139,6 +259729,28 @@ "predefinedRole" ] }, + "google-native:gkehub/v1beta:ScopeFeatureSpec": { + "description": "ScopeFeatureSpec contains feature specs for a fleet scope.", + "type": "object" + }, + "google-native:gkehub/v1beta:ScopeFeatureSpecResponse": { + "description": "ScopeFeatureSpec contains feature specs for a fleet scope.", + "type": "object" + }, + "google-native:gkehub/v1beta:ScopeFeatureStateResponse": { + "description": "ScopeFeatureState contains Scope-wide Feature status information.", + "properties": { + "state": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:FeatureStateResponse", + "description": "The \"running state\" of the Feature in this Scope." + } + }, + "type": "object", + "required": [ + "state" + ] + }, "google-native:gkehub/v1beta:ScopeLifecycleStateResponse": { "description": "ScopeLifecycleState describes the state of a Scope resource.", "properties": { @@ -249231,6 +259843,50 @@ } ] }, + "google-native:gkehub/v1beta:ServiceMeshControlPlaneManagementResponse": { + "description": "Status of control plane management.", + "properties": { + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshStatusDetailsResponse" + }, + "description": "Explanation of state." + }, + "state": { + "type": "string", + "description": "LifecycleState of control plane management." + } + }, + "type": "object", + "required": [ + "details", + "state" + ] + }, + "google-native:gkehub/v1beta:ServiceMeshDataPlaneManagementResponse": { + "description": "Status of data plane management. Only reported per-member.", + "properties": { + "details": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshStatusDetailsResponse" + }, + "description": "Explanation of the status." + }, + "state": { + "type": "string", + "description": "Lifecycle status of data plane management." + } + }, + "type": "object", + "required": [ + "details", + "state" + ] + }, "google-native:gkehub/v1beta:ServiceMeshMembershipSpec": { "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", "properties": { @@ -249307,6 +259963,44 @@ "management" ] }, + "google-native:gkehub/v1beta:ServiceMeshMembershipStateResponse": { + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", + "properties": { + "controlPlaneManagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshControlPlaneManagementResponse", + "description": "Status of control plane management" + }, + "dataPlaneManagement": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ServiceMeshDataPlaneManagementResponse", + "description": "Status of data plane management." + } + }, + "type": "object", + "required": [ + "controlPlaneManagement", + "dataPlaneManagement" + ] + }, + "google-native:gkehub/v1beta:ServiceMeshStatusDetailsResponse": { + "description": "Structured and human-readable details for a status.", + "properties": { + "code": { + "type": "string", + "description": "A machine-readable code that further describes a broad status." + }, + "details": { + "type": "string", + "description": "Human-readable explanation of code." + } + }, + "type": "object", + "required": [ + "code", + "details" + ] + }, "google-native:gkehub/v1beta:StatusResponse": { "description": "Status specifies state for the subcomponent.", "properties": { @@ -250852,6 +261546,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to this node. An object containing a list of key/value pairs. The labels here, unioned with the labels set on BareMetalNodePoolConfig are the set of labels that will be applied to the node. If there are any conflicts, the BareMetalNodeConfig labels take precedence. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." }, "nodeIp": { @@ -250866,6 +261563,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to this node. An object containing a list of key/value pairs. The labels here, unioned with the labels set on BareMetalNodePoolConfig are the set of labels that will be applied to the node. If there are any conflicts, the BareMetalNodeConfig labels take precedence. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." }, "nodeIp": { @@ -250889,6 +261589,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to nodes of this node pool. An object containing a list of key/value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." }, "nodeConfigs": { @@ -250943,6 +261646,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to nodes of this node pool. An object containing a list of key/value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }." }, "nodeConfigs": { @@ -252456,6 +263162,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/" }, "memoryMb": { @@ -252510,6 +263219,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/" }, "memoryMb": { @@ -253924,11 +264636,47 @@ } ] }, + "google-native:healthcare/v1:GroupOrSegment": { + "description": "Construct representing a logical group or a segment.", + "properties": { + "group": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1:SchemaGroup" + }, + "segment": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1:SchemaSegment" + } + }, + "type": "object" + }, + "google-native:healthcare/v1:GroupOrSegmentResponse": { + "description": "Construct representing a logical group or a segment.", + "properties": { + "group": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1:SchemaGroupResponse" + }, + "segment": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1:SchemaSegmentResponse" + } + }, + "type": "object", + "required": [ + "group", + "segment" + ] + }, "google-native:healthcare/v1:Hl7SchemaConfig": { "description": "Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to.", "properties": { "messageSchemaConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1:SchemaGroup" + }, "description": "Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group." }, "version": { @@ -253947,6 +264695,10 @@ "properties": { "messageSchemaConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1:SchemaGroupResponse" + }, "description": "Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group." }, "version": { @@ -254483,6 +265235,73 @@ } ] }, + "google-native:healthcare/v1:SchemaGroup": { + "description": "An HL7v2 logical group construct.", + "properties": { + "choice": { + "type": "boolean", + "description": "True indicates that this is a choice group, meaning that only one of its segments can exist in a given message." + }, + "maxOccurs": { + "type": "integer", + "description": "The maximum number of times this group can be repeated. 0 or -1 means unbounded." + }, + "members": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1:GroupOrSegment" + }, + "description": "Nested groups and/or segments." + }, + "minOccurs": { + "type": "integer", + "description": "The minimum number of times this group must be present/repeated." + }, + "name": { + "type": "string", + "description": "The name of this group. For example, \"ORDER_DETAIL\"." + } + }, + "type": "object" + }, + "google-native:healthcare/v1:SchemaGroupResponse": { + "description": "An HL7v2 logical group construct.", + "properties": { + "choice": { + "type": "boolean", + "description": "True indicates that this is a choice group, meaning that only one of its segments can exist in a given message." + }, + "maxOccurs": { + "type": "integer", + "description": "The maximum number of times this group can be repeated. 0 or -1 means unbounded." + }, + "members": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1:GroupOrSegmentResponse" + }, + "description": "Nested groups and/or segments." + }, + "minOccurs": { + "type": "integer", + "description": "The minimum number of times this group must be present/repeated." + }, + "name": { + "type": "string", + "description": "The name of this group. For example, \"ORDER_DETAIL\"." + } + }, + "type": "object", + "required": [ + "choice", + "maxOccurs", + "members", + "minOccurs", + "name" + ] + }, "google-native:healthcare/v1:SchemaPackage": { "description": "A schema package contains a set of schemas and type definitions.", "properties": { @@ -254605,6 +265424,47 @@ } ] }, + "google-native:healthcare/v1:SchemaSegment": { + "description": "An HL7v2 Segment.", + "properties": { + "maxOccurs": { + "type": "integer", + "description": "The maximum number of times this segment can be present in this group. 0 or -1 means unbounded." + }, + "minOccurs": { + "type": "integer", + "description": "The minimum number of times this segment can be present in this group." + }, + "type": { + "type": "string", + "description": "The Segment type. For example, \"PID\"." + } + }, + "type": "object" + }, + "google-native:healthcare/v1:SchemaSegmentResponse": { + "description": "An HL7v2 Segment.", + "properties": { + "maxOccurs": { + "type": "integer", + "description": "The maximum number of times this segment can be present in this group. 0 or -1 means unbounded." + }, + "minOccurs": { + "type": "integer", + "description": "The minimum number of times this segment can be present in this group." + }, + "type": { + "type": "string", + "description": "The Segment type. For example, \"PID\"." + } + }, + "type": "object", + "required": [ + "maxOccurs", + "minOccurs", + "type" + ] + }, "google-native:healthcare/v1:SchematizedData": { "description": "The content of an HL7v2 message in a structured format as specified by a schema.", "properties": { @@ -254642,6 +265502,9 @@ "properties": { "fields": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A mapping from the positional location to the value. The key string uses zero-based indexes separated by dots to identify Fields, components and sub-components. A bracket notation is also used to identify different instances of a repeated field. Regex for key: (\\d+)(\\[\\d+\\])?(.\\d+)?(.\\d+)? Examples of (key, value) pairs: * (0.1, \"hemoglobin\") denotes that the first component of Field 0 has the value \"hemoglobin\". * (1.1.2, \"CBC\") denotes that the second sub-component of the first component of Field 1 has the value \"CBC\". * (1[0].1, \"HbA1c\") denotes that the first component of the first Instance of Field 1, which is repeated, has the value \"HbA1c\"." }, "segmentId": { @@ -254670,6 +265533,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the user's signature. For example, the user's name or the user's title." }, "signatureTime": { @@ -254696,6 +265562,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the user's signature. For example, the user's name or the user's title." }, "signatureTime": { @@ -256090,6 +266959,35 @@ "description": "Delete tag.", "type": "object" }, + "google-native:healthcare/v1beta1:Detail": { + "description": "Contains multiple sensitive information findings for each resource slice.", + "properties": { + "findings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:Finding" + } + } + }, + "type": "object" + }, + "google-native:healthcare/v1beta1:DetailResponse": { + "description": "Contains multiple sensitive information findings for each resource slice.", + "properties": { + "findings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:FindingResponse" + } + } + }, + "type": "object", + "required": [ + "findings" + ] + }, "google-native:healthcare/v1beta1:DicomConfig": { "description": "Specifies the parameters needed for de-identification of DICOM stores.", "properties": { @@ -256658,6 +267556,54 @@ "type" ] }, + "google-native:healthcare/v1beta1:Finding": { + "properties": { + "end": { + "type": "string", + "description": "Zero-based ending index of the found text, exclusively." + }, + "infoType": { + "type": "string", + "description": "The type of information stored in this text range. For example, HumanName, BirthDate, or Address." + }, + "quote": { + "type": "string", + "description": "The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig." + }, + "start": { + "type": "string", + "description": "Zero-based starting index of the found text, inclusively." + } + }, + "type": "object" + }, + "google-native:healthcare/v1beta1:FindingResponse": { + "properties": { + "end": { + "type": "string", + "description": "Zero-based ending index of the found text, exclusively." + }, + "infoType": { + "type": "string", + "description": "The type of information stored in this text range. For example, HumanName, BirthDate, or Address." + }, + "quote": { + "type": "string", + "description": "The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig." + }, + "start": { + "type": "string", + "description": "Zero-based starting index of the found text, inclusively." + } + }, + "type": "object", + "required": [ + "end", + "infoType", + "quote", + "start" + ] + }, "google-native:healthcare/v1beta1:GoogleCloudHealthcareV1beta1ConsentPolicy": { "description": "Represents a user's consent in terms of the resources that can be accessed and under what conditions.", "properties": { @@ -257037,11 +267983,47 @@ } ] }, + "google-native:healthcare/v1beta1:GroupOrSegment": { + "description": "Construct representing a logical group or a segment.", + "properties": { + "group": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaGroup" + }, + "segment": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaSegment" + } + }, + "type": "object" + }, + "google-native:healthcare/v1beta1:GroupOrSegmentResponse": { + "description": "Construct representing a logical group or a segment.", + "properties": { + "group": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaGroupResponse" + }, + "segment": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaSegmentResponse" + } + }, + "type": "object", + "required": [ + "group", + "segment" + ] + }, "google-native:healthcare/v1beta1:Hl7SchemaConfig": { "description": "Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to.", "properties": { "messageSchemaConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaGroup" + }, "description": "Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group." }, "version": { @@ -257060,6 +268042,10 @@ "properties": { "messageSchemaConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:SchemaGroupResponse" + }, "description": "Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group." }, "version": { @@ -257829,6 +268815,73 @@ } ] }, + "google-native:healthcare/v1beta1:SchemaGroup": { + "description": "An HL7v2 logical group construct.", + "properties": { + "choice": { + "type": "boolean", + "description": "True indicates that this is a choice group, meaning that only one of its segments can exist in a given message." + }, + "maxOccurs": { + "type": "integer", + "description": "The maximum number of times this group can be repeated. 0 or -1 means unbounded." + }, + "members": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:GroupOrSegment" + }, + "description": "Nested groups and/or segments." + }, + "minOccurs": { + "type": "integer", + "description": "The minimum number of times this group must be present/repeated." + }, + "name": { + "type": "string", + "description": "The name of this group. For example, \"ORDER_DETAIL\"." + } + }, + "type": "object" + }, + "google-native:healthcare/v1beta1:SchemaGroupResponse": { + "description": "An HL7v2 logical group construct.", + "properties": { + "choice": { + "type": "boolean", + "description": "True indicates that this is a choice group, meaning that only one of its segments can exist in a given message." + }, + "maxOccurs": { + "type": "integer", + "description": "The maximum number of times this group can be repeated. 0 or -1 means unbounded." + }, + "members": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:GroupOrSegmentResponse" + }, + "description": "Nested groups and/or segments." + }, + "minOccurs": { + "type": "integer", + "description": "The minimum number of times this group must be present/repeated." + }, + "name": { + "type": "string", + "description": "The name of this group. For example, \"ORDER_DETAIL\"." + } + }, + "type": "object", + "required": [ + "choice", + "maxOccurs", + "members", + "minOccurs", + "name" + ] + }, "google-native:healthcare/v1beta1:SchemaPackage": { "description": "A schema package contains a set of schemas and type definitions.", "properties": { @@ -257951,6 +269004,47 @@ } ] }, + "google-native:healthcare/v1beta1:SchemaSegment": { + "description": "An HL7v2 Segment.", + "properties": { + "maxOccurs": { + "type": "integer", + "description": "The maximum number of times this segment can be present in this group. 0 or -1 means unbounded." + }, + "minOccurs": { + "type": "integer", + "description": "The minimum number of times this segment can be present in this group." + }, + "type": { + "type": "string", + "description": "The Segment type. For example, \"PID\"." + } + }, + "type": "object" + }, + "google-native:healthcare/v1beta1:SchemaSegmentResponse": { + "description": "An HL7v2 Segment.", + "properties": { + "maxOccurs": { + "type": "integer", + "description": "The maximum number of times this segment can be present in this group. 0 or -1 means unbounded." + }, + "minOccurs": { + "type": "integer", + "description": "The minimum number of times this segment can be present in this group." + }, + "type": { + "type": "string", + "description": "The Segment type. For example, \"PID\"." + } + }, + "type": "object", + "required": [ + "maxOccurs", + "minOccurs", + "type" + ] + }, "google-native:healthcare/v1beta1:SchematizedData": { "description": "The content of an HL7v2 message in a structured format as specified by a schema.", "properties": { @@ -258051,6 +269145,9 @@ "properties": { "fields": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A mapping from the positional location to the value. The key string uses zero-based indexes separated by dots to identify Fields, components and sub-components. A bracket notation is also used to identify different instances of a repeated field. Regex for key: (\\d+)(\\[\\d+\\])?(.\\d+)?(.\\d+)? Examples of (key, value) pairs: * (0.1, \"hemoglobin\") denotes that the first component of Field 0 has the value \"hemoglobin\". * (1.1.2, \"CBC\") denotes that the second sub-component of the first component of Field 1 has the value \"CBC\". * (1[0].1, \"HbA1c\") denotes that the first component of the first Instance of Field 1, which is repeated, has the value \"HbA1c\"." }, "segmentId": { @@ -258074,6 +269171,10 @@ "properties": { "details": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:Detail" + }, "description": "Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --\u003e {findings_1, findings_2, findings_3}" } }, @@ -258084,6 +269185,10 @@ "properties": { "details": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:healthcare/v1beta1:DetailResponse" + }, "description": "Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --\u003e {findings_1, findings_2, findings_3}" } }, @@ -258102,6 +269207,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the user's signature. For example, the user's name or the user's title." }, "signatureTime": { @@ -258128,6 +269236,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the user's signature. For example, the user's name or the user's title." }, "signatureTime": { @@ -262587,7 +273698,10 @@ "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmEventbusProtoProtoParameterArray" }, "protoValue": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "serializedObjectValue": { "type": "object", @@ -262632,7 +273746,10 @@ "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmEventbusProtoProtoParameterArrayResponse" }, "protoValue": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "serializedObjectValue": { "type": "object", @@ -262700,7 +273817,10 @@ "protoValues": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } } } }, @@ -262711,7 +273831,10 @@ "protoValues": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } } } }, @@ -263821,7 +274944,10 @@ "type": "string" }, "protoValue": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "stringArray": { "type": "object", @@ -263854,7 +274980,10 @@ "type": "string" }, "protoValue": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "stringArray": { "type": "object", @@ -264765,7 +275894,10 @@ "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmFrontendsEventbusProtoProtoParameterArray" }, "protoValue": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "serializedObjectValue": { "type": "object", @@ -264813,7 +275945,10 @@ "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse" }, "protoValue": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "serializedObjectValue": { "type": "object", @@ -264848,7 +275983,10 @@ "protoValues": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } } } }, @@ -264859,7 +275997,10 @@ "protoValues": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } } } }, @@ -265034,6 +276175,10 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmFrontendsEventbusProtoParameterEntry" + }, "description": "The customized parameters the user can pass to this task." }, "position": { @@ -265237,6 +276382,10 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:integrations/v1alpha:EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse" + }, "description": "The customized parameters the user can pass to this task." }, "position": { @@ -265519,6 +276668,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Configurable properties of the trigger, not to be confused with workflow parameters. E.g. \"name\" is a property for API triggers and \"subscription\" is a property for Cloud Pubsub triggers." }, "startTasks": { @@ -265626,6 +276778,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Configurable properties of the trigger, not to be confused with workflow parameters. E.g. \"name\" is a property for API triggers and \"subscription\" is a property for Cloud Pubsub triggers." }, "startTasks": { @@ -268581,6 +279736,10 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaEventParameter" + }, "description": "Optional. The customized parameters the user can pass to this task." }, "position": { @@ -268735,6 +279894,10 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:integrations/v1alpha:GoogleCloudIntegrationsV1alphaEventParameterResponse" + }, "description": "Optional. The customized parameters the user can pass to this task." }, "position": { @@ -268918,6 +280081,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Configurable properties of the trigger, not to be confused with integration parameters. E.g. \"name\" is a property for API triggers and \"subscription\" is a property for Pub/sub triggers." }, "startTasks": { @@ -269010,6 +280176,9 @@ }, "properties": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Configurable properties of the trigger, not to be confused with integration parameters. E.g. \"name\" is a property for API triggers and \"subscription\" is a property for Pub/sub triggers." }, "startTasks": { @@ -269725,6 +280894,59 @@ "minCompensation" ] }, + "google-native:jobs/v3:CustomAttribute": { + "description": "Custom attribute values that are either filterable or non-filterable.", + "properties": { + "filterable": { + "type": "boolean", + "description": "Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false." + }, + "longValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported." + }, + "stringValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed." + } + }, + "type": "object" + }, + "google-native:jobs/v3:CustomAttributeResponse": { + "description": "Custom attribute values that are either filterable or non-filterable.", + "properties": { + "filterable": { + "type": "boolean", + "description": "Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false." + }, + "longValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported." + }, + "stringValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed." + } + }, + "type": "object", + "required": [ + "filterable", + "longValues", + "stringValues" + ] + }, "google-native:jobs/v3:JobDegreeTypesItem": { "type": "string", "enum": [ @@ -270585,6 +281807,68 @@ "minCompensation" ] }, + "google-native:jobs/v4:CustomAttribute": { + "description": "Custom attribute values that are either filterable or non-filterable.", + "properties": { + "filterable": { + "type": "boolean", + "description": "If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false." + }, + "keywordSearchable": { + "type": "boolean", + "description": "If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false." + }, + "longValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported." + }, + "stringValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed." + } + }, + "type": "object" + }, + "google-native:jobs/v4:CustomAttributeResponse": { + "description": "Custom attribute values that are either filterable or non-filterable.", + "properties": { + "filterable": { + "type": "boolean", + "description": "If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false." + }, + "keywordSearchable": { + "type": "boolean", + "description": "If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false." + }, + "longValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported." + }, + "stringValues": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed." + } + }, + "type": "object", + "required": [ + "filterable", + "keywordSearchable", + "longValues", + "stringValues" + ] + }, "google-native:jobs/v4:JobDegreeTypesItem": { "type": "string", "enum": [ @@ -273296,6 +284580,9 @@ "properties": { "params": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User defined set of parameters to use in the memcached process." } }, @@ -273305,6 +284592,9 @@ "properties": { "params": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User defined set of parameters to use in the memcached process." } }, @@ -273688,6 +284978,9 @@ "properties": { "params": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User defined set of parameters to use in the memcached process." } }, @@ -273697,6 +284990,9 @@ "properties": { "params": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User defined set of parameters to use in the memcached process." } }, @@ -274042,6 +285338,103 @@ "logType" ] }, + "google-native:metastore/v1:AuxiliaryVersionConfig": { + "description": "Configuration information for the auxiliary service versions.", + "properties": { + "configOverrides": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence." + }, + "version": { + "type": "string", + "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version." + } + }, + "type": "object" + }, + "google-native:metastore/v1:AuxiliaryVersionConfigResponse": { + "description": "Configuration information for the auxiliary service versions.", + "properties": { + "configOverrides": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence." + }, + "networkConfig": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1:NetworkConfigResponse", + "description": "The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service." + }, + "version": { + "type": "string", + "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version." + } + }, + "type": "object", + "required": [ + "configOverrides", + "networkConfig", + "version" + ] + }, + "google-native:metastore/v1:BackendMetastore": { + "description": "Represents a backend metastore for the federation.", + "properties": { + "metastoreType": { + "$ref": "#/types/google-native:metastore/v1:BackendMetastoreMetastoreType", + "description": "The type of the backend metastore." + }, + "name": { + "type": "string", + "description": "The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id}" + } + }, + "type": "object" + }, + "google-native:metastore/v1:BackendMetastoreMetastoreType": { + "description": "The type of the backend metastore.", + "type": "string", + "enum": [ + { + "name": "MetastoreTypeUnspecified", + "description": "The metastore type is not set.", + "value": "METASTORE_TYPE_UNSPECIFIED" + }, + { + "name": "Bigquery", + "description": "The backend metastore is BigQuery.", + "value": "BIGQUERY" + }, + { + "name": "DataprocMetastore", + "description": "The backend metastore is Dataproc Metastore.", + "value": "DATAPROC_METASTORE" + } + ] + }, + "google-native:metastore/v1:BackendMetastoreResponse": { + "description": "Represents a backend metastore for the federation.", + "properties": { + "metastoreType": { + "type": "string", + "description": "The type of the backend metastore." + }, + "name": { + "type": "string", + "description": "The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id}" + } + }, + "type": "object", + "required": [ + "metastoreType", + "name" + ] + }, "google-native:metastore/v1:Binding": { "description": "Associates members, or principals, with a role.", "properties": { @@ -274312,10 +285705,17 @@ "properties": { "auxiliaryVersions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1:AuxiliaryVersionConfig" + }, "description": "A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen." }, "configOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig." }, "endpointProtocol": { @@ -274360,10 +285760,17 @@ "properties": { "auxiliaryVersions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1:AuxiliaryVersionConfigResponse" + }, "description": "A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen." }, "configOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig." }, "endpointProtocol": { @@ -274832,6 +286239,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "maintenanceWindow": { @@ -275096,6 +286506,108 @@ "logType" ] }, + "google-native:metastore/v1alpha:AuxiliaryVersionConfig": { + "description": "Configuration information for the auxiliary service versions.", + "properties": { + "configOverrides": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence." + }, + "version": { + "type": "string", + "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version." + } + }, + "type": "object" + }, + "google-native:metastore/v1alpha:AuxiliaryVersionConfigResponse": { + "description": "Configuration information for the auxiliary service versions.", + "properties": { + "configOverrides": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence." + }, + "networkConfig": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1alpha:NetworkConfigResponse", + "description": "The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service." + }, + "version": { + "type": "string", + "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version." + } + }, + "type": "object", + "required": [ + "configOverrides", + "networkConfig", + "version" + ] + }, + "google-native:metastore/v1alpha:BackendMetastore": { + "description": "Represents a backend metastore for the federation.", + "properties": { + "metastoreType": { + "$ref": "#/types/google-native:metastore/v1alpha:BackendMetastoreMetastoreType", + "description": "The type of the backend metastore." + }, + "name": { + "type": "string", + "description": "The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id}" + } + }, + "type": "object" + }, + "google-native:metastore/v1alpha:BackendMetastoreMetastoreType": { + "description": "The type of the backend metastore.", + "type": "string", + "enum": [ + { + "name": "MetastoreTypeUnspecified", + "description": "The metastore type is not set.", + "value": "METASTORE_TYPE_UNSPECIFIED" + }, + { + "name": "Dataplex", + "description": "The backend metastore is Dataplex.", + "value": "DATAPLEX" + }, + { + "name": "Bigquery", + "description": "The backend metastore is BigQuery.", + "value": "BIGQUERY" + }, + { + "name": "DataprocMetastore", + "description": "The backend metastore is Dataproc Metastore.", + "value": "DATAPROC_METASTORE" + } + ] + }, + "google-native:metastore/v1alpha:BackendMetastoreResponse": { + "description": "Represents a backend metastore for the federation.", + "properties": { + "metastoreType": { + "type": "string", + "description": "The type of the backend metastore." + }, + "name": { + "type": "string", + "description": "The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id}" + } + }, + "type": "object", + "required": [ + "metastoreType", + "name" + ] + }, "google-native:metastore/v1alpha:Binding": { "description": "Associates members, or principals, with a role.", "properties": { @@ -275293,6 +286805,10 @@ "properties": { "lakeResources": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1alpha:Lake" + }, "description": "A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}." } }, @@ -275303,6 +286819,10 @@ "properties": { "lakeResources": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1alpha:LakeResponse" + }, "description": "A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}." } }, @@ -275389,10 +286909,17 @@ "properties": { "auxiliaryVersions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1alpha:AuxiliaryVersionConfig" + }, "description": "A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen." }, "configOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig." }, "endpointProtocol": { @@ -275437,10 +286964,17 @@ "properties": { "auxiliaryVersions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1alpha:AuxiliaryVersionConfigResponse" + }, "description": "A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen." }, "configOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig." }, "endpointProtocol": { @@ -275509,6 +287043,29 @@ "principal" ] }, + "google-native:metastore/v1alpha:Lake": { + "description": "Represents a Lake resource", + "properties": { + "name": { + "type": "string", + "description": "The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}" + } + }, + "type": "object" + }, + "google-native:metastore/v1alpha:LakeResponse": { + "description": "Represents a Lake resource", + "properties": { + "name": { + "type": "string", + "description": "The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}" + } + }, + "type": "object", + "required": [ + "name" + ] + }, "google-native:metastore/v1alpha:MaintenanceWindow": { "description": "Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service.", "properties": { @@ -275929,6 +287486,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "maintenanceWindow": { @@ -276193,6 +287753,108 @@ "logType" ] }, + "google-native:metastore/v1beta:AuxiliaryVersionConfig": { + "description": "Configuration information for the auxiliary service versions.", + "properties": { + "configOverrides": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence." + }, + "version": { + "type": "string", + "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version." + } + }, + "type": "object" + }, + "google-native:metastore/v1beta:AuxiliaryVersionConfigResponse": { + "description": "Configuration information for the auxiliary service versions.", + "properties": { + "configOverrides": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence." + }, + "networkConfig": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1beta:NetworkConfigResponse", + "description": "The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service." + }, + "version": { + "type": "string", + "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version." + } + }, + "type": "object", + "required": [ + "configOverrides", + "networkConfig", + "version" + ] + }, + "google-native:metastore/v1beta:BackendMetastore": { + "description": "Represents a backend metastore for the federation.", + "properties": { + "metastoreType": { + "$ref": "#/types/google-native:metastore/v1beta:BackendMetastoreMetastoreType", + "description": "The type of the backend metastore." + }, + "name": { + "type": "string", + "description": "The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id}" + } + }, + "type": "object" + }, + "google-native:metastore/v1beta:BackendMetastoreMetastoreType": { + "description": "The type of the backend metastore.", + "type": "string", + "enum": [ + { + "name": "MetastoreTypeUnspecified", + "description": "The metastore type is not set.", + "value": "METASTORE_TYPE_UNSPECIFIED" + }, + { + "name": "Dataplex", + "description": "The backend metastore is Dataplex.", + "value": "DATAPLEX" + }, + { + "name": "Bigquery", + "description": "The backend metastore is BigQuery.", + "value": "BIGQUERY" + }, + { + "name": "DataprocMetastore", + "description": "The backend metastore is Dataproc Metastore.", + "value": "DATAPROC_METASTORE" + } + ] + }, + "google-native:metastore/v1beta:BackendMetastoreResponse": { + "description": "Represents a backend metastore for the federation.", + "properties": { + "metastoreType": { + "type": "string", + "description": "The type of the backend metastore." + }, + "name": { + "type": "string", + "description": "The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id}" + } + }, + "type": "object", + "required": [ + "metastoreType", + "name" + ] + }, "google-native:metastore/v1beta:Binding": { "description": "Associates members, or principals, with a role.", "properties": { @@ -276390,6 +288052,10 @@ "properties": { "lakeResources": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1beta:Lake" + }, "description": "A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}." } }, @@ -276400,6 +288066,10 @@ "properties": { "lakeResources": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1beta:LakeResponse" + }, "description": "A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}." } }, @@ -276486,10 +288156,17 @@ "properties": { "auxiliaryVersions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1beta:AuxiliaryVersionConfig" + }, "description": "A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen." }, "configOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig." }, "endpointProtocol": { @@ -276534,10 +288211,17 @@ "properties": { "auxiliaryVersions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1beta:AuxiliaryVersionConfigResponse" + }, "description": "A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen." }, "configOverrides": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig." }, "endpointProtocol": { @@ -276606,6 +288290,29 @@ "principal" ] }, + "google-native:metastore/v1beta:Lake": { + "description": "Represents a Lake resource", + "properties": { + "name": { + "type": "string", + "description": "The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}" + } + }, + "type": "object" + }, + "google-native:metastore/v1beta:LakeResponse": { + "description": "Represents a Lake resource", + "properties": { + "name": { + "type": "string", + "description": "The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}" + } + }, + "type": "object", + "required": [ + "name" + ] + }, "google-native:metastore/v1beta:MaintenanceWindow": { "description": "Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service.", "properties": { @@ -277026,6 +288733,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "maintenanceWindow": { @@ -278219,6 +289929,9 @@ "properties": { "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The headers that were used to sign the URI." }, "signedUri": { @@ -279814,6 +291527,9 @@ "properties": { "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The headers that were used to sign the URL." }, "signedUri": { @@ -281344,6 +293060,9 @@ }, "hyperparameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The hyperparameters given to this trial." }, "isTrialStoppedEarly": { @@ -281356,6 +293075,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/ai-platform/training/docs/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a hyperparameter tuning job and the job's training_input.enable_web_access is `true`. The keys are names of each node in the training job; for example, `master-replica-0` for the master node, `worker-replica-0` for the first worker, and `ps-replica-0` for the first parameter server. The values are the URIs for each node's interactive shell." } }, @@ -281388,6 +293110,9 @@ }, "hyperparameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The hyperparameters given to this trial." }, "isTrialStoppedEarly": { @@ -281408,6 +293133,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/ai-platform/training/docs/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a hyperparameter tuning job and the job's training_input.enable_web_access is `true`. The keys are names of each node in the training job; for example, `master-replica-0` for the master node, `worker-replica-0` for the first worker, and `ps-replica-0` for the first parameter server. The values are the URIs for each node's interactive shell." } }, @@ -282829,6 +294557,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/ai-platform/training/docs/monitor-debug-interactive-shell) (one URI for each training node). Only available if training_input.enable_web_access is `true`. The keys are names of each node in the training job; for example, `master-replica-0` for the master node, `worker-replica-0` for the first worker, and `ps-replica-0` for the first parameter server. The values are the URIs for each node's interactive shell." } }, @@ -282897,6 +294628,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your model versions. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. Note that this field is not updatable for mls1* models." }, "lastMigrationModelId": { @@ -284539,6 +296273,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\"." }, "type": { @@ -284557,6 +296294,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\"." }, "type": { @@ -286741,6 +298481,9 @@ "properties": { "serviceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels that specify the resource that emits the monitoring data which is used for SLO reporting of this Service. Documentation and valid values for given service types here (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli)." }, "serviceType": { @@ -286755,6 +298498,9 @@ "properties": { "serviceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels that specify the resource that emits the monitoring data which is used for SLO reporting of this Service. Documentation and valid values for given service types here (https://cloud.google.com/stackdriver/docs/solutions/slo-monitoring/api/api-structures#basic-svc-w-basic-sli)." }, "serviceType": { @@ -287522,6 +299268,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The list of headers to send as part of the Uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100." }, "maskHeaders": { @@ -287628,6 +299377,9 @@ }, "headers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The list of headers to send as part of the Uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100." }, "maskHeaders": { @@ -287954,6 +299706,9 @@ }, "labelExtractors": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A map from a label key to an extractor expression, which is used to extract the value for this label key. Each entry in this map is a specification for how data should be extracted from log entries that match filter. Each combination of extracted values is treated as a separate rule for the purposes of triggering notifications. Label keys and corresponding values can be used in notifications generated by this condition.Please see the documentation on logs-based metric valueExtractors (https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.metrics#LogMetric.FIELDS.value_extractor) for syntax and examples." } }, @@ -287971,6 +299726,9 @@ }, "labelExtractors": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A map from a label key to an extractor expression, which is used to extract the value for this label key. Each entry in this map is a specification for how data should be extracted from log entries that match filter. Each combination of extracted values is treated as a separate rule for the purposes of triggering notifications. Label keys and corresponding values can be used in notifications generated by this condition.Please see the documentation on logs-based metric valueExtractors (https://cloud.google.com/logging/docs/reference/v2/rest/v2/projects.metrics#LogMetric.FIELDS.value_extractor) for syntax and examples." } }, @@ -288519,6 +300277,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\"." }, "type": { @@ -288537,6 +300298,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels \"project_id\", \"instance_id\", and \"zone\"." }, "type": { @@ -288827,6 +300591,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to add to or overwrite in the PromQL query result. Label names must be valid (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels). Label values can be templatized by using variables (https://cloud.google.com/monitoring/alerts/doc-variables). The only available variable names are the names of the labels in the PromQL result, including \"__name__\" and \"value\". \"labels\" may be empty." }, "query": { @@ -288860,6 +300627,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to add to or overwrite in the PromQL query result. Label names must be valid (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels). Label values can be templatized by using variables (https://cloud.google.com/monitoring/alerts/doc-variables). The only available variable names are the names of the labels in the PromQL result, including \"__name__\" and \"value\". \"labels\" may be empty." }, "query": { @@ -289146,7 +300916,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -289167,7 +300940,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -289896,6 +301672,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional structured details about this error. Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request." }, "reason": { @@ -289920,7 +301699,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -290540,6 +302322,9 @@ }, "data": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata about this warning in key: value format. The key should provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement." }, "warningMessage": { @@ -292101,7 +303886,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -293645,7 +305433,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -296915,6 +308706,9 @@ "properties": { "add": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Add the headers with given map where key is the name of the header, value is the value of the header." }, "remove": { @@ -296926,6 +308720,9 @@ }, "set": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header." } }, @@ -296936,6 +308733,9 @@ "properties": { "add": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Add the headers with given map where key is the name of the header, value is the value of the header." }, "remove": { @@ -296947,6 +308747,9 @@ }, "set": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header." } }, @@ -299209,6 +311012,9 @@ "properties": { "add": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Add the headers with given map where key is the name of the header, value is the value of the header." }, "remove": { @@ -299220,6 +311026,9 @@ }, "set": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header." } }, @@ -299230,6 +311039,9 @@ "properties": { "add": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Add the headers with given map where key is the name of the header, value is the value of the header." }, "remove": { @@ -299241,6 +311053,9 @@ }, "set": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header." } }, @@ -300770,6 +312585,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for execution. If execution is scheduled, a field included will be 'nbs-scheduled'. Otherwise, it is an immediate execution, and an included field will be 'nbs-immediate'. Use fields to efficiently index between various types of executions." }, "masterType": { @@ -300864,6 +312682,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for execution. If execution is scheduled, a field included will be 'nbs-scheduled'. Otherwise, it is an immediate execution, and an included field will be 'nbs-immediate'. Use fields to efficiently index between various types of executions." }, "masterType": { @@ -301200,6 +313021,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks." } }, @@ -301257,6 +313081,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks." } }, @@ -301597,6 +313424,9 @@ "properties": { "systemMetrics": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The system metrics." } }, @@ -302142,6 +313972,9 @@ "properties": { "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables. At most 100 environment variables can be specified and unique. Example: `GCP_BUCKET=gs://my-bucket/samples/`" }, "network": { @@ -302156,6 +313989,9 @@ "properties": { "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables. At most 100 environment variables can be specified and unique. Example: `GCP_BUCKET=gs://my-bucket/samples/`" }, "network": { @@ -302217,6 +314053,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this runtime. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "machineType": { @@ -302225,6 +314064,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata))." }, "network": { @@ -302316,6 +314158,9 @@ }, "guestAttributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The Compute Engine guest attributes. (see [Project and instance guest attributes](https://cloud.google.com/compute/docs/storing-retrieving-metadata#guest_attributes))." }, "internalIpOnly": { @@ -302324,6 +314169,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this runtime. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "machineType": { @@ -302332,6 +314180,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata))." }, "network": { @@ -302967,6 +314818,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Custom metadata to apply to this instance." }, "networkInterfaces": { @@ -303053,6 +314907,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Custom metadata to apply to this instance." }, "networkInterfaces": { @@ -304105,6 +315962,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected." } }, @@ -304115,6 +315975,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected." } }, @@ -305571,6 +317434,9 @@ "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." } }, @@ -305581,6 +317447,9 @@ "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." } }, @@ -306524,6 +318393,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected." } }, @@ -306534,6 +318406,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected." } }, @@ -308043,6 +319918,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Google Compute Engine instance labels that must be present for an instance to be included in this assignment group." } }, @@ -308053,6 +319931,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Google Compute Engine instance labels that must be present for an instance to be included in this assignment group." } }, @@ -308801,6 +320682,9 @@ "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." } }, @@ -308811,6 +320695,9 @@ "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." } }, @@ -310393,6 +322280,10 @@ }, "policyOverlay": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1Policy" + }, "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay." } }, @@ -310423,6 +322314,10 @@ }, "policyOverlay": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1PolicyResponse" + }, "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay." } }, @@ -310472,6 +322367,225 @@ "unchangedCount" ] }, + "google-native:policysimulator/v1:GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "properties": { + "auditLogConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditLogConfig" + }, + "description": "The configuration for logging of each type of permission." + }, + "service": { + "type": "string", + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1:GoogleIamV1AuditConfigResponse": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "properties": { + "auditLogConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditLogConfigResponse" + }, + "description": "The configuration for logging of each type of permission." + }, + "service": { + "type": "string", + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services." + } + }, + "type": "object", + "required": [ + "auditLogConfigs", + "service" + ] + }, + "google-native:policysimulator/v1:GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "properties": { + "exemptedMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members." + }, + "logType": { + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditLogConfigLogType", + "description": "The log type that this config enables." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1:GoogleIamV1AuditLogConfigLogType": { + "description": "The log type that this config enables.", + "type": "string", + "enum": [ + { + "name": "LogTypeUnspecified", + "description": "Default case. Should never be this.", + "value": "LOG_TYPE_UNSPECIFIED" + }, + { + "name": "AdminRead", + "description": "Admin reads. Example: CloudIAM getIamPolicy", + "value": "ADMIN_READ" + }, + { + "name": "DataWrite", + "description": "Data writes. Example: CloudSQL Users create", + "value": "DATA_WRITE" + }, + { + "name": "DataRead", + "description": "Data reads. Example: CloudSQL Users list", + "value": "DATA_READ" + } + ] + }, + "google-native:policysimulator/v1:GoogleIamV1AuditLogConfigResponse": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "properties": { + "exemptedMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members." + }, + "logType": { + "type": "string", + "description": "The log type that this config enables." + } + }, + "type": "object", + "required": [ + "exemptedMembers", + "logType" + ] + }, + "google-native:policysimulator/v1:GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "properties": { + "condition": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleTypeExpr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding." + }, + "role": { + "type": "string", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1:GoogleIamV1BindingResponse": { + "description": "Associates `members`, or principals, with a `role`.", + "properties": { + "condition": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleTypeExprResponse", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding." + }, + "role": { + "type": "string", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + }, + "type": "object", + "required": [ + "condition", + "members", + "role" + ] + }, + "google-native:policysimulator/v1:GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "properties": { + "auditConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditConfig" + }, + "description": "Specifies cloud audit logging configuration for this policy." + }, + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1Binding" + }, + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`." + }, + "etag": { + "type": "string", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost." + }, + "version": { + "type": "integer", + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1:GoogleIamV1PolicyResponse": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "properties": { + "auditConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1AuditConfigResponse" + }, + "description": "Specifies cloud audit logging configuration for this policy." + }, + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1:GoogleIamV1BindingResponse" + }, + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`." + }, + "etag": { + "type": "string", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost." + }, + "version": { + "type": "integer", + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + } + }, + "type": "object", + "required": [ + "auditConfigs", + "bindings", + "etag", + "version" + ] + }, "google-native:policysimulator/v1:GoogleTypeDateResponse": { "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "properties": { @@ -310495,6 +322609,56 @@ "year" ] }, + "google-native:policysimulator/v1:GoogleTypeExpr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "properties": { + "description": { + "type": "string", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI." + }, + "expression": { + "type": "string", + "description": "Textual representation of an expression in Common Expression Language syntax." + }, + "location": { + "type": "string", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file." + }, + "title": { + "type": "string", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1:GoogleTypeExprResponse": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "properties": { + "description": { + "type": "string", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI." + }, + "expression": { + "type": "string", + "description": "Textual representation of an expression in Common Expression Language syntax." + }, + "location": { + "type": "string", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file." + }, + "title": { + "type": "string", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression." + } + }, + "type": "object", + "required": [ + "description", + "expression", + "location", + "title" + ] + }, "google-native:policysimulator/v1alpha:GoogleCloudPolicysimulatorV1alphaReplayConfig": { "description": "The configuration used for a Replay.", "properties": { @@ -310504,6 +322668,10 @@ }, "policyOverlay": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1Policy" + }, "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay." } }, @@ -310534,6 +322702,10 @@ }, "policyOverlay": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1PolicyResponse" + }, "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay." } }, @@ -310583,6 +322755,225 @@ "unchangedCount" ] }, + "google-native:policysimulator/v1alpha:GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "properties": { + "auditLogConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfig" + }, + "description": "The configuration for logging of each type of permission." + }, + "service": { + "type": "string", + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1alpha:GoogleIamV1AuditConfigResponse": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "properties": { + "auditLogConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfigResponse" + }, + "description": "The configuration for logging of each type of permission." + }, + "service": { + "type": "string", + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services." + } + }, + "type": "object", + "required": [ + "auditLogConfigs", + "service" + ] + }, + "google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "properties": { + "exemptedMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members." + }, + "logType": { + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfigLogType", + "description": "The log type that this config enables." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfigLogType": { + "description": "The log type that this config enables.", + "type": "string", + "enum": [ + { + "name": "LogTypeUnspecified", + "description": "Default case. Should never be this.", + "value": "LOG_TYPE_UNSPECIFIED" + }, + { + "name": "AdminRead", + "description": "Admin reads. Example: CloudIAM getIamPolicy", + "value": "ADMIN_READ" + }, + { + "name": "DataWrite", + "description": "Data writes. Example: CloudSQL Users create", + "value": "DATA_WRITE" + }, + { + "name": "DataRead", + "description": "Data reads. Example: CloudSQL Users list", + "value": "DATA_READ" + } + ] + }, + "google-native:policysimulator/v1alpha:GoogleIamV1AuditLogConfigResponse": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "properties": { + "exemptedMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members." + }, + "logType": { + "type": "string", + "description": "The log type that this config enables." + } + }, + "type": "object", + "required": [ + "exemptedMembers", + "logType" + ] + }, + "google-native:policysimulator/v1alpha:GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "properties": { + "condition": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleTypeExpr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding." + }, + "role": { + "type": "string", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1alpha:GoogleIamV1BindingResponse": { + "description": "Associates `members`, or principals, with a `role`.", + "properties": { + "condition": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleTypeExprResponse", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding." + }, + "role": { + "type": "string", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + }, + "type": "object", + "required": [ + "condition", + "members", + "role" + ] + }, + "google-native:policysimulator/v1alpha:GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "properties": { + "auditConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditConfig" + }, + "description": "Specifies cloud audit logging configuration for this policy." + }, + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1Binding" + }, + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`." + }, + "etag": { + "type": "string", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost." + }, + "version": { + "type": "integer", + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1alpha:GoogleIamV1PolicyResponse": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "properties": { + "auditConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1AuditConfigResponse" + }, + "description": "Specifies cloud audit logging configuration for this policy." + }, + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1alpha:GoogleIamV1BindingResponse" + }, + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`." + }, + "etag": { + "type": "string", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost." + }, + "version": { + "type": "integer", + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + } + }, + "type": "object", + "required": [ + "auditConfigs", + "bindings", + "etag", + "version" + ] + }, "google-native:policysimulator/v1alpha:GoogleTypeDateResponse": { "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "properties": { @@ -310606,6 +322997,56 @@ "year" ] }, + "google-native:policysimulator/v1alpha:GoogleTypeExpr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "properties": { + "description": { + "type": "string", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI." + }, + "expression": { + "type": "string", + "description": "Textual representation of an expression in Common Expression Language syntax." + }, + "location": { + "type": "string", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file." + }, + "title": { + "type": "string", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1alpha:GoogleTypeExprResponse": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "properties": { + "description": { + "type": "string", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI." + }, + "expression": { + "type": "string", + "description": "Textual representation of an expression in Common Expression Language syntax." + }, + "location": { + "type": "string", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file." + }, + "title": { + "type": "string", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression." + } + }, + "type": "object", + "required": [ + "description", + "expression", + "location", + "title" + ] + }, "google-native:policysimulator/v1beta1:GoogleCloudPolicysimulatorV1beta1ReplayConfig": { "description": "The configuration used for a Replay.", "properties": { @@ -310615,6 +323056,10 @@ }, "policyOverlay": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1Policy" + }, "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay." } }, @@ -310645,6 +323090,10 @@ }, "policyOverlay": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1PolicyResponse" + }, "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay." } }, @@ -310694,6 +323143,225 @@ "unchangedCount" ] }, + "google-native:policysimulator/v1beta1:GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "properties": { + "auditLogConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfig" + }, + "description": "The configuration for logging of each type of permission." + }, + "service": { + "type": "string", + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta1:GoogleIamV1AuditConfigResponse": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "properties": { + "auditLogConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfigResponse" + }, + "description": "The configuration for logging of each type of permission." + }, + "service": { + "type": "string", + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services." + } + }, + "type": "object", + "required": [ + "auditLogConfigs", + "service" + ] + }, + "google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "properties": { + "exemptedMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members." + }, + "logType": { + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfigLogType", + "description": "The log type that this config enables." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfigLogType": { + "description": "The log type that this config enables.", + "type": "string", + "enum": [ + { + "name": "LogTypeUnspecified", + "description": "Default case. Should never be this.", + "value": "LOG_TYPE_UNSPECIFIED" + }, + { + "name": "AdminRead", + "description": "Admin reads. Example: CloudIAM getIamPolicy", + "value": "ADMIN_READ" + }, + { + "name": "DataWrite", + "description": "Data writes. Example: CloudSQL Users create", + "value": "DATA_WRITE" + }, + { + "name": "DataRead", + "description": "Data reads. Example: CloudSQL Users list", + "value": "DATA_READ" + } + ] + }, + "google-native:policysimulator/v1beta1:GoogleIamV1AuditLogConfigResponse": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "properties": { + "exemptedMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members." + }, + "logType": { + "type": "string", + "description": "The log type that this config enables." + } + }, + "type": "object", + "required": [ + "exemptedMembers", + "logType" + ] + }, + "google-native:policysimulator/v1beta1:GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "properties": { + "condition": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleTypeExpr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. " + }, + "role": { + "type": "string", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta1:GoogleIamV1BindingResponse": { + "description": "Associates `members`, or principals, with a `role`.", + "properties": { + "condition": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleTypeExprResponse", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. " + }, + "role": { + "type": "string", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + }, + "type": "object", + "required": [ + "condition", + "members", + "role" + ] + }, + "google-native:policysimulator/v1beta1:GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "properties": { + "auditConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditConfig" + }, + "description": "Specifies cloud audit logging configuration for this policy." + }, + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1Binding" + }, + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`." + }, + "etag": { + "type": "string", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost." + }, + "version": { + "type": "integer", + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta1:GoogleIamV1PolicyResponse": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "properties": { + "auditConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1AuditConfigResponse" + }, + "description": "Specifies cloud audit logging configuration for this policy." + }, + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta1:GoogleIamV1BindingResponse" + }, + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`." + }, + "etag": { + "type": "string", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost." + }, + "version": { + "type": "integer", + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + } + }, + "type": "object", + "required": [ + "auditConfigs", + "bindings", + "etag", + "version" + ] + }, "google-native:policysimulator/v1beta1:GoogleTypeDateResponse": { "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "properties": { @@ -310717,6 +323385,56 @@ "year" ] }, + "google-native:policysimulator/v1beta1:GoogleTypeExpr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "properties": { + "description": { + "type": "string", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI." + }, + "expression": { + "type": "string", + "description": "Textual representation of an expression in Common Expression Language syntax." + }, + "location": { + "type": "string", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file." + }, + "title": { + "type": "string", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta1:GoogleTypeExprResponse": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "properties": { + "description": { + "type": "string", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI." + }, + "expression": { + "type": "string", + "description": "Textual representation of an expression in Common Expression Language syntax." + }, + "location": { + "type": "string", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file." + }, + "title": { + "type": "string", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression." + } + }, + "type": "object", + "required": [ + "description", + "expression", + "location", + "title" + ] + }, "google-native:policysimulator/v1beta:GoogleCloudPolicysimulatorV1betaReplayConfig": { "description": "The configuration used for a Replay.", "properties": { @@ -310726,6 +323444,10 @@ }, "policyOverlay": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1Policy" + }, "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay." } }, @@ -310756,6 +323478,10 @@ }, "policyOverlay": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1PolicyResponse" + }, "description": "A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay." } }, @@ -310805,6 +323531,225 @@ "unchangedCount" ] }, + "google-native:policysimulator/v1beta:GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "properties": { + "auditLogConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfig" + }, + "description": "The configuration for logging of each type of permission." + }, + "service": { + "type": "string", + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta:GoogleIamV1AuditConfigResponse": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "properties": { + "auditLogConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfigResponse" + }, + "description": "The configuration for logging of each type of permission." + }, + "service": { + "type": "string", + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services." + } + }, + "type": "object", + "required": [ + "auditLogConfigs", + "service" + ] + }, + "google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "properties": { + "exemptedMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members." + }, + "logType": { + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfigLogType", + "description": "The log type that this config enables." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfigLogType": { + "description": "The log type that this config enables.", + "type": "string", + "enum": [ + { + "name": "LogTypeUnspecified", + "description": "Default case. Should never be this.", + "value": "LOG_TYPE_UNSPECIFIED" + }, + { + "name": "AdminRead", + "description": "Admin reads. Example: CloudIAM getIamPolicy", + "value": "ADMIN_READ" + }, + { + "name": "DataWrite", + "description": "Data writes. Example: CloudSQL Users create", + "value": "DATA_WRITE" + }, + { + "name": "DataRead", + "description": "Data reads. Example: CloudSQL Users list", + "value": "DATA_READ" + } + ] + }, + "google-native:policysimulator/v1beta:GoogleIamV1AuditLogConfigResponse": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "properties": { + "exemptedMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members." + }, + "logType": { + "type": "string", + "description": "The log type that this config enables." + } + }, + "type": "object", + "required": [ + "exemptedMembers", + "logType" + ] + }, + "google-native:policysimulator/v1beta:GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "properties": { + "condition": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleTypeExpr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding." + }, + "role": { + "type": "string", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta:GoogleIamV1BindingResponse": { + "description": "Associates `members`, or principals, with a `role`.", + "properties": { + "condition": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleTypeExprResponse", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding." + }, + "role": { + "type": "string", + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + }, + "type": "object", + "required": [ + "condition", + "members", + "role" + ] + }, + "google-native:policysimulator/v1beta:GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "properties": { + "auditConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditConfig" + }, + "description": "Specifies cloud audit logging configuration for this policy." + }, + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1Binding" + }, + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`." + }, + "etag": { + "type": "string", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost." + }, + "version": { + "type": "integer", + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta:GoogleIamV1PolicyResponse": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "properties": { + "auditConfigs": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1AuditConfigResponse" + }, + "description": "Specifies cloud audit logging configuration for this policy." + }, + "bindings": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/types/google-native:policysimulator/v1beta:GoogleIamV1BindingResponse" + }, + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`." + }, + "etag": { + "type": "string", + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost." + }, + "version": { + "type": "integer", + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + } + }, + "type": "object", + "required": [ + "auditConfigs", + "bindings", + "etag", + "version" + ] + }, "google-native:policysimulator/v1beta:GoogleTypeDateResponse": { "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "properties": { @@ -310828,6 +323773,56 @@ "year" ] }, + "google-native:policysimulator/v1beta:GoogleTypeExpr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "properties": { + "description": { + "type": "string", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI." + }, + "expression": { + "type": "string", + "description": "Textual representation of an expression in Common Expression Language syntax." + }, + "location": { + "type": "string", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file." + }, + "title": { + "type": "string", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression." + } + }, + "type": "object" + }, + "google-native:policysimulator/v1beta:GoogleTypeExprResponse": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "properties": { + "description": { + "type": "string", + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI." + }, + "expression": { + "type": "string", + "description": "Textual representation of an expression in Common Expression Language syntax." + }, + "location": { + "type": "string", + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file." + }, + "title": { + "type": "string", + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression." + } + }, + "type": "object", + "required": [ + "description", + "expression", + "location", + "title" + ] + }, "google-native:privateca/v1:AccessUrlsResponse": { "description": "URLs where a CertificateAuthority will publish content.", "properties": { @@ -313352,6 +326347,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: `attributes { \"x-goog-version\": \"v1\" }`" }, "noWrapper": { @@ -313381,6 +326379,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: `attributes { \"x-goog-version\": \"v1\" }`" }, "noWrapper": { @@ -313706,6 +326707,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the `CreateSubscription` call, it will default to the version of the API used to make such call. If not present during a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API." }, "oidcToken": { @@ -313725,6 +326729,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the `CreateSubscription` call, it will default to the version of the API used to make such call. If not present during a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API." }, "oidcToken": { @@ -314657,24 +327664,69 @@ "properties": { "categoricalFeatures": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapStringList" + }, "description": "Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ \"colors\": {\"value\": [\"yellow\", \"green\"]}, \"sizes\": {\"value\":[\"S\", \"M\"]}`" }, "numericalFeatures": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapFloatList" + }, "description": "Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ \"lengths_cm\": {\"value\":[2.3, 15.4]}, \"heights_cm\": {\"value\":[8.1, 6.4]} }`" } }, "type": "object" }, + "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapFloatList": { + "description": "A list of float features.", + "properties": { + "value": { + "type": "array", + "items": { + "type": "number" + }, + "description": "Float feature value." + } + }, + "type": "object" + }, + "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse": { + "description": "A list of float features.", + "properties": { + "value": { + "type": "array", + "items": { + "type": "number" + }, + "description": "Float feature value." + } + }, + "type": "object", + "required": [ + "value" + ] + }, "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapResponse": { "description": "FeatureMap represents extra features that customers want to include in the recommendation model for catalogs/user events as categorical/numerical features.", "properties": { "categoricalFeatures": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse" + }, "description": "Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ \"colors\": {\"value\": [\"yellow\", \"green\"]}, \"sizes\": {\"value\":[\"S\", \"M\"]}`" }, "numericalFeatures": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse" + }, "description": "Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ \"lengths_cm\": {\"value\":[2.3, 15.4]}, \"heights_cm\": {\"value\":[8.1, 6.4]} }`" } }, @@ -314684,6 +327736,35 @@ "numericalFeatures" ] }, + "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapStringList": { + "description": "A list of string features.", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "String feature value with a length limit of 128 bytes." + } + }, + "type": "object" + }, + "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse": { + "description": "A list of string features.", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "String feature value with a length limit of 128 bytes." + } + }, + "type": "object", + "required": [ + "value" + ] + }, "google-native:recommendationengine/v1beta1:GoogleCloudRecommendationengineV1beta1Image": { "description": "Catalog item thumbnail/detail image.", "properties": { @@ -314741,6 +327822,9 @@ }, "costs": { "type": "object", + "additionalProperties": { + "type": "number" + }, "description": "Optional. A map to pass the costs associated with the product. For example: {\"manufacturing\": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs)" }, "currencyCode": { @@ -314853,6 +327937,9 @@ }, "costs": { "type": "object", + "additionalProperties": { + "type": "number" + }, "description": "Optional. A map to pass the costs associated with the product. For example: {\"manufacturing\": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs)" }, "currencyCode": { @@ -316433,6 +329520,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with the workers. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International letters are permitted. Label keys must start with a letter. Label values are optional. There can not be more than 64 labels per resource." }, "machineType": { @@ -316489,6 +329579,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with the workers. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International letters are permitted. Label keys must start with a letter. Label values are optional. There can not be more than 64 labels per resource." }, "machineType": { @@ -316790,6 +329883,68 @@ "startTime" ] }, + "google-native:retail/v2:GoogleCloudRetailV2CustomAttribute": { + "description": "A custom attribute that is not explicitly modeled in Product.", + "properties": { + "indexable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details." + }, + "numbers": { + "type": "array", + "items": { + "type": "number" + }, + "description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + }, + "searchable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned." + }, + "text": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + } + }, + "type": "object" + }, + "google-native:retail/v2:GoogleCloudRetailV2CustomAttributeResponse": { + "description": "A custom attribute that is not explicitly modeled in Product.", + "properties": { + "indexable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details." + }, + "numbers": { + "type": "array", + "items": { + "type": "number" + }, + "description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + }, + "searchable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned." + }, + "text": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + } + }, + "type": "object", + "required": [ + "indexable", + "numbers", + "searchable", + "text" + ] + }, "google-native:retail/v2:GoogleCloudRetailV2FulfillmentInfo": { "description": "Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.", "properties": { @@ -316905,6 +330060,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2CustomAttributeResponse" + }, "description": "Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB." }, "fulfillmentTypes": { @@ -317116,6 +330275,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2CustomAttributeResponse" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -318443,6 +331606,68 @@ "startTime" ] }, + "google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttribute": { + "description": "A custom attribute that is not explicitly modeled in Product.", + "properties": { + "indexable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details." + }, + "numbers": { + "type": "array", + "items": { + "type": "number" + }, + "description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + }, + "searchable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned." + }, + "text": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + } + }, + "type": "object" + }, + "google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttributeResponse": { + "description": "A custom attribute that is not explicitly modeled in Product.", + "properties": { + "indexable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details." + }, + "numbers": { + "type": "array", + "items": { + "type": "number" + }, + "description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + }, + "searchable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned." + }, + "text": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + } + }, + "type": "object", + "required": [ + "indexable", + "numbers", + "searchable", + "text" + ] + }, "google-native:retail/v2alpha:GoogleCloudRetailV2alphaFulfillmentInfo": { "description": "Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.", "properties": { @@ -318580,6 +331805,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttributeResponse" + }, "description": "Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB." }, "fulfillmentTypes": { @@ -318953,6 +332182,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttributeResponse" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -320465,6 +333698,68 @@ "startTime" ] }, + "google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttribute": { + "description": "A custom attribute that is not explicitly modeled in Product.", + "properties": { + "indexable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details." + }, + "numbers": { + "type": "array", + "items": { + "type": "number" + }, + "description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + }, + "searchable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned." + }, + "text": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + } + }, + "type": "object" + }, + "google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttributeResponse": { + "description": "A custom attribute that is not explicitly modeled in Product.", + "properties": { + "indexable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details." + }, + "numbers": { + "type": "array", + "items": { + "type": "number" + }, + "description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + }, + "searchable": { + "type": "boolean", + "description": "This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned." + }, + "text": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned." + } + }, + "type": "object", + "required": [ + "indexable", + "numbers", + "searchable", + "text" + ] + }, "google-native:retail/v2beta:GoogleCloudRetailV2betaFulfillmentInfo": { "description": "Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods.", "properties": { @@ -320602,6 +333897,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttributeResponse" + }, "description": "Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB." }, "fulfillmentTypes": { @@ -320813,6 +334112,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttributeResponse" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -323474,6 +336777,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision. * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/disable-default-url`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service (ALPHA) * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution." }, "clusterName": { @@ -323509,6 +336815,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes." }, "name": { @@ -323551,6 +336860,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision. * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/disable-default-url`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service (ALPHA) * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution." }, "clusterName": { @@ -323586,6 +336898,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes." }, "name": { @@ -323879,10 +337194,16 @@ "properties": { "limits": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Limits describes the maximum amount of compute resources allowed. Only 'cpu' and 'memory' keys are supported. * For supported 'cpu' values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits" }, "requests": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported 'cpu' values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits" } }, @@ -323893,10 +337214,16 @@ "properties": { "limits": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Limits describes the maximum amount of compute resources allowed. Only 'cpu' and 'memory' keys are supported. * For supported 'cpu' values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits" }, "requests": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported 'cpu' values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits" } }, @@ -325126,10 +338453,16 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 ExecutionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 ExecutionTemplate." }, "parallelism": { @@ -325156,10 +338489,16 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 ExecutionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 ExecutionTemplate." }, "parallelism": { @@ -325440,6 +338779,9 @@ }, "limits": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Only ´memory´ and 'cpu' are supported. Notes: * The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits" }, "startupCpuBoost": { @@ -325458,6 +338800,9 @@ }, "limits": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Only ´memory´ and 'cpu' are supported. Notes: * The only supported values for CPU are '1', '2', '4', and '8'. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported 'memory' values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits" }, "startupCpuBoost": { @@ -325509,6 +338854,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 RevisionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "containers": { @@ -325529,6 +338877,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 RevisionTemplate." }, "maxInstanceRequestConcurrency": { @@ -325598,6 +338949,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 RevisionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "containers": { @@ -325618,6 +338972,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 RevisionTemplate." }, "maxInstanceRequestConcurrency": { @@ -326734,7 +340091,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -328255,6 +341615,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Annotations for the endpoint. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 512 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/) Annotations that fails to meet these requirements are rejected. Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory." }, "name": { @@ -328396,6 +341759,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the endpoint. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 512 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory." }, "name": { @@ -328979,10 +342345,6 @@ "type": "number", "description": "The number of seconds to wait for the completion of a long running operation. The default is no deadline." }, - "overridesByRequestProtocol": { - "type": "object", - "description": "The map between request protocol and the backend address." - }, "pathTranslation": { "$ref": "#/types/google-native:servicemanagement/v1:BackendRulePathTranslation" }, @@ -329044,10 +342406,6 @@ "type": "number", "description": "The number of seconds to wait for the completion of a long running operation. The default is no deadline." }, - "overridesByRequestProtocol": { - "type": "object", - "description": "The map between request protocol and the backend address." - }, "pathTranslation": { "type": "string" }, @@ -329068,7 +342426,6 @@ "jwtAudience", "minDeadline", "operationDeadline", - "overridesByRequestProtocol", "pathTranslation", "protocol", "selector" @@ -329904,10 +343261,16 @@ }, "renamedResources": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map from full resource types to the effective short name for the resource. This is used when otherwise resource named from different services would cause naming collisions. Example entry: \"datalabeling.googleapis.com/Dataset\": \"DataLabelingDataset\"" }, "renamedServices": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map from original service names to renamed versions. This is used when the default generated types would cause a naming conflict. (Neither name is fully-qualified.) Example: Subscriber to SubscriberServiceApi." } }, @@ -329944,10 +343307,16 @@ }, "renamedResources": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map from full resource types to the effective short name for the resource. This is used when otherwise resource named from different services would cause naming collisions. Example entry: \"datalabeling.googleapis.com/Dataset\": \"DataLabelingDataset\"" }, "renamedServices": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map from original service names to renamed versions. This is used when the default generated types would cause a naming conflict. (Neither name is fully-qualified.) Example: Subscriber to SubscriberServiceApi." } }, @@ -330698,6 +344067,9 @@ }, "serviceClassNames": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names\" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin" } }, @@ -330717,6 +344089,9 @@ }, "serviceClassNames": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Configure the Java class name to use instead of the service's for its corresponding generated GAPIC client. Keys are fully-qualified service names as they appear in the protobuf (including the full the language_settings.java.interface_names\" field in gapic.yaml. API teams should otherwise use the service name as it appears in the protobuf. Example of a YAML configuration:: publishing: java_settings: service_class_names: - google.pubsub.v1.Publisher: TopicAdmin - google.pubsub.v1.Subscriber: SubscriptionAdmin" } }, @@ -331564,6 +344939,9 @@ "properties": { "metricCosts": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metrics to update when the selected methods are called, and the associated cost applied to each metric. The key of the map is the metric name, and the values are the amount increased for the metric against which the quota limits are defined. The value must not be negative." }, "selector": { @@ -331578,6 +344956,9 @@ "properties": { "metricCosts": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metrics to update when the selected methods are called, and the associated cost applied to each metric. The key of the map is the metric name, and the values are the amount increased for the metric against which the quota limits are defined. The value must not be negative." }, "selector": { @@ -331892,6 +345273,9 @@ }, "value": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type." } }, @@ -331906,6 +345290,9 @@ }, "value": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type." } }, @@ -332249,6 +345636,9 @@ }, "values": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Tiered limit values. You must specify this as a key:value pair, with an integer value that is the maximum number of requests allowed for the specified unit. Currently only STANDARD is supported." } }, @@ -332295,6 +345685,9 @@ }, "values": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Tiered limit values. You must specify this as a key:value pair, with an integer value that is the maximum number of requests allowed for the specified unit. Currently only STANDARD is supported." } }, @@ -332433,7 +345826,10 @@ "sourceFiles": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "All files used during config generation." } @@ -332560,6 +345956,9 @@ "properties": { "percentages": { "type": "object", + "additionalProperties": { + "type": "number" + }, "description": "Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0." } }, @@ -332570,6 +345969,9 @@ "properties": { "percentages": { "type": "object", + "additionalProperties": { + "type": "number" + }, "description": "Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0." } }, @@ -333040,6 +346442,68 @@ "webhookId" ] }, + "google-native:sourcerepo/v1:PubsubConfig": { + "description": "Configuration to publish a Cloud Pub/Sub message.", + "properties": { + "messageFormat": { + "$ref": "#/types/google-native:sourcerepo/v1:PubsubConfigMessageFormat", + "description": "The format of the Cloud Pub/Sub messages." + }, + "serviceAccountEmail": { + "type": "string", + "description": "Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account." + }, + "topic": { + "type": "string", + "description": "A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in." + } + }, + "type": "object" + }, + "google-native:sourcerepo/v1:PubsubConfigMessageFormat": { + "description": "The format of the Cloud Pub/Sub messages.", + "type": "string", + "enum": [ + { + "name": "MessageFormatUnspecified", + "description": "Unspecified.", + "value": "MESSAGE_FORMAT_UNSPECIFIED" + }, + { + "name": "Protobuf", + "description": "The message payload is a serialized protocol buffer of SourceRepoEvent.", + "value": "PROTOBUF" + }, + { + "name": "Json", + "description": "The message payload is a JSON string of SourceRepoEvent.", + "value": "JSON" + } + ] + }, + "google-native:sourcerepo/v1:PubsubConfigResponse": { + "description": "Configuration to publish a Cloud Pub/Sub message.", + "properties": { + "messageFormat": { + "type": "string", + "description": "The format of the Cloud Pub/Sub messages." + }, + "serviceAccountEmail": { + "type": "string", + "description": "Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account." + }, + "topic": { + "type": "string", + "description": "A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in." + } + }, + "type": "object", + "required": [ + "messageFormat", + "serviceAccountEmail", + "topic" + ] + }, "google-native:spanner/v1:AutoscalingConfig": { "description": "Autoscaling config for an instance.", "properties": { @@ -333530,7 +346994,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -335471,6 +348938,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided labels, represented as a dictionary where each label is a single key value pair." } }, @@ -335785,6 +349255,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided labels, represented as a dictionary where each label is a single key value pair." } }, @@ -338161,6 +351634,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided labels, represented as a dictionary where each label is a single key value pair." } }, @@ -338475,6 +351951,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided labels, represented as a dictionary where each label is a single key value pair." } }, @@ -347203,10 +360682,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script" }, "networkConfig": { @@ -347332,10 +360817,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script" }, "multisliceNode": { @@ -347731,7 +361222,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -350175,7 +363669,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -350967,7 +364464,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -351178,6 +364678,9 @@ }, "migrationResourcesUserTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`." } }, @@ -351217,6 +364720,9 @@ }, "migrationResourcesUserTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`." }, "publicIp": { @@ -351310,6 +364816,9 @@ }, "migrationResourcesUserTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified tags to add to every M2VM generated resource in Azure. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m4ce` or `m2vm`." }, "subscriptionId": { @@ -351338,6 +364847,9 @@ }, "migrationResourcesUserTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified tags to add to every M2VM generated resource in Azure. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m4ce` or `m2vm`." }, "resourceGroupId": { @@ -351753,6 +365265,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the VM." }, "licenseType": { @@ -351769,6 +365284,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -351895,6 +365413,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the VM." }, "licenseType": { @@ -351911,6 +365432,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -352011,6 +365535,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the VM." }, "licenseType": { @@ -352027,6 +365554,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -352424,6 +365954,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A map of labels to associate with the VM." }, "machineType": { @@ -352436,6 +365969,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -352503,6 +366039,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A map of labels to associate with the VM." }, "machineType": { @@ -352515,6 +366054,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -352761,6 +366303,9 @@ "properties": { "additionalLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the Persistent Disk." }, "diskName": { @@ -352822,6 +366367,9 @@ "properties": { "additionalLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the Persistent Disk." }, "diskName": { @@ -353105,7 +366653,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -353810,6 +367361,9 @@ }, "migrationResourcesUserTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`." } }, @@ -353849,6 +367403,9 @@ }, "migrationResourcesUserTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified tags to add to every M2VM generated resource in AWS. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m2vm`." }, "publicIp": { @@ -353942,6 +367499,9 @@ }, "migrationResourcesUserTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified tags to add to every M2VM generated resource in Azure. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m4ce` or `m2vm`." }, "subscriptionId": { @@ -353970,6 +367530,9 @@ }, "migrationResourcesUserTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified tags to add to every M2VM generated resource in Azure. These tags will be set in addition to the default tags that are set as part of the migration process. The tags must not begin with the reserved prefix `m4ce` or `m2vm`." }, "resourceGroupId": { @@ -354399,6 +367962,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the VM." }, "licenseType": { @@ -354415,6 +367981,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -354541,6 +368110,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the VM." }, "licenseType": { @@ -354557,6 +368129,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -354657,6 +368232,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the VM." }, "licenseType": { @@ -354673,6 +368251,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -355096,6 +368677,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A map of labels to associate with the VM." }, "machineType": { @@ -355108,6 +368692,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -355175,6 +368762,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A map of labels to associate with the VM." }, "machineType": { @@ -355187,6 +368777,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The metadata key/value pairs to assign to the VM." }, "networkInterfaces": { @@ -355433,6 +369026,9 @@ "properties": { "additionalLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the Persistent Disk." }, "diskName": { @@ -355494,6 +369090,9 @@ "properties": { "additionalLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the Persistent Disk." }, "diskName": { @@ -355782,7 +369381,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -355852,6 +369454,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the VM." }, "licenseType": { @@ -355868,6 +369473,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs to assign to the VM." }, "name": { @@ -355994,6 +369602,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of labels to associate with the VM." }, "licenseType": { @@ -356010,6 +369621,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key/value pairs to assign to the VM." }, "name": { @@ -357004,6 +370618,10 @@ }, "nodeTypeConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:vmwareengine/v1:NodeTypeConfig" + }, "description": "The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`)." }, "stretchedClusterConfig": { @@ -357027,6 +370645,10 @@ }, "nodeTypeConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:vmwareengine/v1:NodeTypeConfigResponse" + }, "description": "The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`)." }, "stretchedClusterConfig": { @@ -357161,6 +370783,41 @@ "state" ] }, + "google-native:vmwareengine/v1:NodeTypeConfig": { + "description": "Information about the type and number of nodes associated with the cluster.", + "properties": { + "customCoreCount": { + "type": "integer", + "description": "Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used." + }, + "nodeCount": { + "type": "integer", + "description": "The number of nodes of this type in the cluster" + } + }, + "type": "object", + "required": [ + "nodeCount" + ] + }, + "google-native:vmwareengine/v1:NodeTypeConfigResponse": { + "description": "Information about the type and number of nodes associated with the cluster.", + "properties": { + "customCoreCount": { + "type": "integer", + "description": "Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used." + }, + "nodeCount": { + "type": "integer", + "description": "The number of nodes of this type in the cluster" + } + }, + "type": "object", + "required": [ + "customCoreCount", + "nodeCount" + ] + }, "google-native:vmwareengine/v1:NsxResponse": { "description": "Details about a NSX Manager appliance.", "properties": { @@ -359351,6 +373008,9 @@ }, "inclusionLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The label used for filter resource" }, "resourceIdPatterns": { @@ -359380,6 +373040,9 @@ }, "inclusionLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The label used for filter resource" }, "resourceIdPatterns": { @@ -359598,6 +373261,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the container's entrypoint." }, "image": { @@ -359634,6 +373300,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the container's entrypoint." }, "image": { @@ -360159,7 +373828,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -360379,6 +374051,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the container's entrypoint." }, "image": { @@ -360415,6 +374090,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the container's entrypoint." }, "image": { @@ -361067,7 +374745,10 @@ "details": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use." }, @@ -361923,6 +375604,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded)." }, "location": { @@ -361931,6 +375615,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -362003,6 +375690,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded)." }, "location": { @@ -362011,6 +375701,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -362102,6 +375795,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -362250,6 +375946,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -362319,6 +376018,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded)." }, "location": { @@ -362327,6 +376029,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -362397,6 +376102,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded)." }, "location": { @@ -362405,6 +376113,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -362464,6 +376175,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -362492,6 +376206,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if job_spec.enable_web_access is `true`. The keys are names of each node in the training job; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -362529,6 +376246,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -362555,6 +376275,9 @@ }, "annotationLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "createTime": { @@ -362609,6 +376332,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your DataLabelingJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each DataLabelingJob: * \"aiplatform.googleapis.com/schema\": output only, its value is the inputs_schema's title." }, "location": { @@ -362670,6 +376396,9 @@ }, "annotationLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "datasets": { @@ -362706,6 +376435,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your DataLabelingJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each DataLabelingJob: * \"aiplatform.googleapis.com/schema\": output only, its value is the inputs_schema's title." }, "location": { @@ -362763,6 +376495,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Dataset: * \"aiplatform.googleapis.com/dataset_metadata_schema\": output only, its value is the metadata_schema's title." }, "location": { @@ -362840,6 +376575,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Dataset: * \"aiplatform.googleapis.com/dataset_metadata_schema\": output only, its value is the metadata_schema's title." }, "location": { @@ -363046,6 +376784,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -363075,6 +376816,9 @@ }, "trafficSplit": { "type": "object", + "additionalProperties": { + "type": "integer" + }, "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment." }, "updateTime": { @@ -363130,6 +376874,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -363151,6 +376898,9 @@ }, "trafficSplit": { "type": "object", + "additionalProperties": { + "type": "integer" + }, "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment." } }, @@ -363184,6 +376934,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -363247,6 +377000,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -363301,6 +377057,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded)." }, "location": { @@ -363309,6 +377068,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -363376,6 +377138,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded)." }, "location": { @@ -363384,6 +377149,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -363432,6 +377200,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title." }, "location": { @@ -363494,6 +377265,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title." }, "location": { @@ -363550,6 +377324,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -363603,6 +377380,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -363648,6 +377428,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -363724,6 +377507,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -363775,6 +377561,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -363828,6 +377617,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -363877,6 +377669,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -363958,6 +377753,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -364019,6 +377817,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -364088,6 +377889,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -364136,6 +377940,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -364200,6 +378007,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -364663,6 +378473,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize HyperparameterTuningJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -364753,6 +378566,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize HyperparameterTuningJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -364837,6 +378653,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -364906,6 +378725,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -364968,6 +378790,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -365048,6 +378873,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -365291,6 +379119,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "latestMonitoringPipelineMetadata": { @@ -365419,6 +379250,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -365509,6 +379343,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -365580,6 +379417,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -365641,6 +379481,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -365732,6 +379575,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -366002,6 +379848,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "location": { @@ -366022,6 +379871,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "project": { @@ -366106,6 +379958,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "location": { @@ -366122,6 +379977,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "project": { @@ -366175,6 +380033,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -366237,6 +380098,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -366623,6 +380487,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -366686,6 +380553,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -366878,6 +380748,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize TrainingPipelines. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -366969,6 +380842,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize TrainingPipelines. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -367073,6 +380949,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -367136,6 +381015,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded)." }, "location": { @@ -367144,6 +381026,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -367216,6 +381101,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded)." }, "location": { @@ -367224,6 +381112,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -367315,6 +381206,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -367484,6 +381378,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -367566,6 +381463,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded)." }, "location": { @@ -367574,6 +381474,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -367644,6 +381547,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded)." }, "location": { @@ -367652,6 +381558,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -367711,6 +381620,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -367739,6 +381651,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if job_spec.enable_web_access is `true`. The keys are names of each node in the training job; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -367776,6 +381691,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -367802,6 +381720,9 @@ }, "annotationLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "createTime": { @@ -367856,6 +381777,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your DataLabelingJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each DataLabelingJob: * \"aiplatform.googleapis.com/schema\": output only, its value is the inputs_schema's title." }, "location": { @@ -367917,6 +381841,9 @@ }, "annotationLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "datasets": { @@ -367953,6 +381880,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your DataLabelingJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each DataLabelingJob: * \"aiplatform.googleapis.com/schema\": output only, its value is the inputs_schema's title." }, "location": { @@ -368010,6 +381940,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Dataset: * \"aiplatform.googleapis.com/dataset_metadata_schema\": output only, its value is the metadata_schema's title." }, "location": { @@ -368087,6 +382020,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Dataset: * \"aiplatform.googleapis.com/dataset_metadata_schema\": output only, its value is the metadata_schema's title." }, "location": { @@ -368293,6 +382229,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -368322,6 +382261,9 @@ }, "trafficSplit": { "type": "object", + "additionalProperties": { + "type": "integer" + }, "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment." }, "updateTime": { @@ -368377,6 +382319,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -368398,6 +382343,9 @@ }, "trafficSplit": { "type": "object", + "additionalProperties": { + "type": "integer" + }, "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment." } }, @@ -368632,6 +382580,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -368695,6 +382646,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -368749,6 +382703,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded)." }, "location": { @@ -368757,6 +382714,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -368824,6 +382784,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded)." }, "location": { @@ -368832,6 +382795,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "metadataStoreId": { @@ -368880,6 +382846,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title." }, "location": { @@ -368942,6 +382911,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title." }, "location": { @@ -368998,6 +382970,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369051,6 +383026,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369096,6 +383074,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369188,6 +383169,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369255,6 +383239,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369326,6 +383313,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369380,6 +383370,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369477,6 +383470,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369544,6 +383540,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369619,6 +383618,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369672,6 +383674,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -369736,6 +383741,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -370199,6 +384207,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize HyperparameterTuningJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -370289,6 +384300,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize HyperparameterTuningJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -370373,6 +384387,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -370442,6 +384459,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -370504,6 +384524,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -370584,6 +384607,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -370827,6 +384853,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "latestMonitoringPipelineMetadata": { @@ -370955,6 +384984,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -371246,6 +385278,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -371317,6 +385352,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -371378,6 +385416,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -371469,6 +385510,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -371730,6 +385774,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize PersistentResource. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -371823,6 +385870,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize PersistentResource. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -371904,6 +385954,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "location": { @@ -371924,6 +385977,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "project": { @@ -372008,6 +386064,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "location": { @@ -372024,6 +386083,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "project": { @@ -372077,6 +386139,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -372139,6 +386204,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -372525,6 +386593,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -372588,6 +386659,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "location": { @@ -372780,6 +386854,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize TrainingPipelines. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -372871,6 +386948,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize TrainingPipelines. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "location": { @@ -372975,6 +387055,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -373018,6 +387101,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "backupId": { @@ -373078,6 +387164,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -373151,6 +387240,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "backupId": { @@ -373181,6 +387273,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -373210,6 +387305,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "automatedBackupPolicy": { @@ -373278,6 +387376,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -373377,6 +387478,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "automatedBackupPolicy": { @@ -373418,6 +387522,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -373462,6 +387569,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "availabilityType": { @@ -373483,6 +387593,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value." }, "deleteTime": { @@ -373516,6 +387629,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -373611,6 +387727,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "availabilityType": { @@ -373628,6 +387747,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value." }, "displayName": { @@ -373653,6 +387775,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -373792,6 +387917,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "backupId": { @@ -373852,6 +387980,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -373930,6 +388061,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "backupId": { @@ -373960,6 +388094,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -373989,6 +388126,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "automatedBackupPolicy": { @@ -374057,6 +388197,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -374167,6 +388310,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "automatedBackupPolicy": { @@ -374208,6 +388354,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -374257,6 +388406,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "availabilityType": { @@ -374278,6 +388430,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value." }, "deleteTime": { @@ -374311,6 +388466,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -374417,6 +388575,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "availabilityType": { @@ -374434,6 +388595,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value." }, "displayName": { @@ -374459,6 +388623,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -374603,6 +388770,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "backupId": { @@ -374663,6 +388833,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -374736,6 +388909,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "backupId": { @@ -374766,6 +388942,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -374795,6 +388974,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "automatedBackupPolicy": { @@ -374863,6 +389045,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -374962,6 +389147,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "automatedBackupPolicy": { @@ -375003,6 +389191,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -375047,6 +389238,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "availabilityType": { @@ -375068,6 +389262,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value." }, "deleteTime": { @@ -375101,6 +389298,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -375202,6 +389402,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "availabilityType": { @@ -375219,6 +389422,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value." }, "displayName": { @@ -375244,6 +389450,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -377092,6 +391301,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -377144,6 +391356,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -377651,6 +391866,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -377740,6 +391958,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -377798,6 +392019,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -377851,6 +392075,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -378107,6 +392334,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -378159,6 +392389,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -378671,6 +392904,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -378766,6 +393002,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -378824,6 +393063,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -378877,6 +393119,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -379196,7 +393441,10 @@ "extensions": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Application specific response metadata. Must be set in the first response for streaming APIs." }, @@ -379250,6 +393498,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels applied to this API Proxy." }, "latestRevisionId": { @@ -379312,7 +393563,10 @@ "extensions": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Application specific response metadata. Must be set in the first response for streaming APIs." }, @@ -379832,6 +394086,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -379873,6 +394130,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -382886,7 +397146,10 @@ "extensions": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Application specific response metadata. Must be set in the first response for streaming APIs." }, @@ -382931,7 +397194,10 @@ "extensions": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Application specific response metadata. Must be set in the first response for streaming APIs." }, @@ -383457,7 +397723,10 @@ "extensions": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Application specific response metadata. Must be set in the first response for streaming APIs." }, @@ -383654,6 +397923,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -383679,6 +397951,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "location": { @@ -383725,6 +398000,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -383746,6 +398024,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "location": { @@ -385285,6 +399566,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -385310,6 +399594,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed." }, "location": { @@ -385366,6 +399653,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -385383,6 +399673,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed." }, "location": { @@ -385627,6 +399920,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiDeploymentId": { @@ -385668,6 +399964,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "location": { @@ -385723,6 +400022,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiDeploymentId": { @@ -385760,6 +400062,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "location": { @@ -385785,6 +400090,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -385814,6 +400122,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed." }, "location": { @@ -385861,6 +400172,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -385882,6 +400196,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed." }, "location": { @@ -386580,6 +400897,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -386613,6 +400933,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "location": { @@ -386681,6 +401004,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -386706,6 +401032,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "location": { @@ -386744,6 +401073,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -386769,6 +401101,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "location": { @@ -386815,6 +401150,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -386836,6 +401174,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "location": { @@ -386869,6 +401210,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -386894,6 +401238,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed." }, "location": { @@ -386945,6 +401292,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiId": { @@ -386962,6 +401312,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed." }, "location": { @@ -386996,6 +401349,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects." }, "createTime": { @@ -387066,6 +401422,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects." }, "displayName": { @@ -387137,6 +401496,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest" }, "iap": { @@ -387206,6 +401568,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest" }, "iap": { @@ -387454,10 +401819,16 @@ }, "betaSettings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata settings that are supplied to this version to enable beta runtime features." }, "buildEnvVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the build environment.Only returned in GET requests if view=FULL is set." }, "createTime": { @@ -387497,6 +401868,9 @@ }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set." }, "errorHandlers": { @@ -387514,6 +401888,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest" }, "handlers": { @@ -387707,10 +402084,16 @@ }, "betaSettings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata settings that are supplied to this version to enable beta runtime features." }, "buildEnvVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the build environment.Only returned in GET requests if view=FULL is set." }, "defaultExpiration": { @@ -387738,6 +402121,9 @@ }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set." }, "errorHandlers": { @@ -387755,6 +402141,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest" }, "handlers": { @@ -388069,6 +402458,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest" }, "iap": { @@ -388138,6 +402530,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest" }, "iap": { @@ -388386,10 +402781,16 @@ }, "betaSettings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata settings that are supplied to this version to enable beta runtime features." }, "buildEnvVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the build environment.Only returned in GET requests if view=FULL is set." }, "createTime": { @@ -388429,6 +402830,9 @@ }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set." }, "errorHandlers": { @@ -388446,6 +402850,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest" }, "handlers": { @@ -388639,10 +403046,16 @@ }, "betaSettings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata settings that are supplied to this version to enable beta runtime features." }, "buildEnvVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the build environment.Only returned in GET requests if view=FULL is set." }, "defaultExpiration": { @@ -388670,6 +403083,9 @@ }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set." }, "errorHandlers": { @@ -388687,6 +403103,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest" }, "handlers": { @@ -388814,6 +403233,10 @@ "properties": { "cleanupPolicies": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyResponse" + }, "description": "Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length." }, "cleanupPolicyDryRun": { @@ -388843,6 +403266,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes." }, "location": { @@ -388919,6 +403345,10 @@ "inputProperties": { "cleanupPolicies": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicy" + }, "description": "Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length." }, "cleanupPolicyDryRun": { @@ -388944,6 +403374,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes." }, "location": { @@ -389285,6 +403718,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes." }, "location": { @@ -389347,6 +403783,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes." }, "location": { @@ -389669,6 +404108,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes." }, "location": { @@ -389737,6 +404179,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes." }, "location": { @@ -390103,6 +404548,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels applied to the workload." }, "location": { @@ -390219,6 +404667,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels applied to the workload." }, "location": { @@ -390345,6 +404796,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels applied to the workload." }, "location": { @@ -390485,6 +404939,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels applied to the workload." }, "location": { @@ -390548,6 +405005,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode." }, "location": { @@ -390641,6 +405101,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode." }, "location": { @@ -390914,6 +405377,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -390978,6 +405444,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -391260,6 +405729,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for the Job. Labels could be user provided or system generated. For example, \"labels\": { \"department\": \"finance\", \"environment\": \"test\" } You can assign up to 64 labels. [Google Compute Engine label restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) apply. Label names that start with \"goog-\" or \"google-\" are reserved." }, "location": { @@ -391345,6 +405817,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for the Job. Labels could be user provided or system generated. For example, \"labels\": { \"department\": \"finance\", \"environment\": \"test\" } You can assign up to 64 labels. [Google Compute Engine label restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) apply. Label names that start with \"goog-\" or \"google-\" are reserved." }, "location": { @@ -391423,6 +405898,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -391502,6 +405980,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -391769,6 +406250,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -391835,6 +406319,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -392119,6 +406606,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -392189,6 +406679,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -393579,6 +408072,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -393658,6 +408154,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -393925,6 +408424,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -393991,6 +408493,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -394275,6 +408780,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -394345,6 +408853,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -395586,6 +410097,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -395665,6 +410179,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -395932,6 +410449,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -395998,6 +410518,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "location": { @@ -397763,6 +412286,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See Creating and Updating Dataset Labels for more information." }, "lastModifiedTime": { @@ -397873,6 +412399,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See Creating and Updating Dataset Labels for more information." }, "location": { @@ -398256,6 +412785,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this table. You can use these to organize and group your tables. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key." }, "lastModifiedTime": { @@ -398343,6 +412875,9 @@ }, "resourceTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "[Optional] The tags associated with this table. Tag keys are globally unique. See additional information on [tags](https://cloud.google.com/iam/docs/tags-access-control#definitions). An object containing a list of \"key\": value pairs. The key is the namespaced friendly name of the tag key, e.g. \"12345/environment\" where 12345 is parent id. The value is the friendly short name of the tag value, e.g. \"production\"." }, "schema": { @@ -398476,6 +413011,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this table. You can use these to organize and group your tables. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key." }, "materializedView": { @@ -398507,6 +413045,9 @@ }, "resourceTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "[Optional] The tags associated with this table. Tag keys are globally unique. See additional information on [tags](https://cloud.google.com/iam/docs/tags-access-control#definitions). An object containing a list of \"key\": value pairs. The key is the namespaced friendly name of the tag key, e.g. \"12345/environment\" where 12345 is parent id. The value is the friendly short name of the tag value, e.g. \"production\"." }, "schema": { @@ -399430,6 +413971,9 @@ }, "params": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq" }, "project": { @@ -399539,6 +414083,9 @@ }, "params": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq" }, "project": { @@ -400349,6 +414896,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\\p{Ll}\\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes." }, "name": { @@ -400386,6 +414936,10 @@ "inputProperties": { "clusters": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:Cluster" + }, "description": "The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank." }, "displayName": { @@ -400398,6 +414952,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\\p{Ll}\\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes." }, "name": { @@ -401103,10 +415660,18 @@ }, "clusterStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:ClusterStateResponse" + }, "description": "Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL`" }, "columnFamilies": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:ColumnFamilyResponse" + }, "description": "The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`" }, "deletionProtection": { @@ -401161,6 +415726,10 @@ }, "columnFamilies": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:ColumnFamily" + }, "description": "The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`" }, "deletionProtection": { @@ -402404,6 +416973,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided key-value pairs." }, "location": { @@ -402467,6 +417039,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided key-value pairs." }, "location": { @@ -402512,6 +417087,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a Certificate." }, "location": { @@ -402585,6 +417163,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a Certificate." }, "location": { @@ -402645,6 +417226,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a CertificateIssuanceConfig." }, "lifetime": { @@ -402708,6 +417292,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a CertificateIssuanceConfig." }, "lifetime": { @@ -402765,6 +417352,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a Certificate Map." }, "location": { @@ -402808,6 +417398,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a Certificate Map." }, "location": { @@ -402860,6 +417453,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a Certificate Map Entry." }, "location": { @@ -402930,6 +417526,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a Certificate Map Entry." }, "location": { @@ -402981,6 +417580,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a DnsAuthorization." }, "location": { @@ -403029,6 +417631,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a DnsAuthorization." }, "location": { @@ -403066,6 +417671,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a TrustConfig." }, "location": { @@ -403122,6 +417730,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a TrustConfig." }, "location": { @@ -403300,6 +417911,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels applied on the resource. This value should not contain more than 10 entries. The key and value of each entry must be non-empty and fewer than 64 characters." }, "lastUpdateTime": { @@ -403354,6 +417968,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels applied on the resource. This value should not contain more than 10 entries. The key and value of each entry must be non-empty and fewer than 64 characters." }, "name": { @@ -403894,6 +418511,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions data for `Build` resource." }, "tags": { @@ -403909,6 +418529,10 @@ }, "timing": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:cloudbuild/v1:TimeSpanResponse" + }, "description": "Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included." }, "warnings": { @@ -404024,6 +418648,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions data for `Build` resource." }, "tags": { @@ -404396,6 +419023,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions for Build resource. The keys must match the following regular expression: `^_[A-Z0-9_]+$`." }, "tags": { @@ -404563,6 +419193,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions for Build resource. The keys must match the following regular expression: `^_[A-Z0-9_]+$`." }, "tags": { @@ -404592,6 +419225,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "createTime": { @@ -404664,6 +419300,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "displayName": { @@ -404876,6 +419515,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "createTime": { @@ -404954,6 +419596,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "displayName": { @@ -404993,6 +419638,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows clients to store small amounts of arbitrary data." }, "connectionId": { @@ -405073,6 +419721,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows clients to store small amounts of arbitrary data." }, "connectionId": { @@ -405347,6 +419998,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows clients to store small amounts of arbitrary data." }, "connectionId": { @@ -405408,6 +420062,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows clients to store small amounts of arbitrary data." }, "connectionId": { @@ -405912,6 +420569,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots(`.`), not longer than 253 characters in total, followed by a slash (`/`). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details." }, "automationId": { @@ -405937,6 +420597,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 63 characters." }, "location": { @@ -406007,6 +420670,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots(`.`), not longer than 253 characters in total, followed by a slash (`/`). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details." }, "automationId": { @@ -406028,6 +420694,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 63 characters." }, "location": { @@ -406077,6 +420746,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy." }, "condition": { @@ -406103,6 +420775,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "location": { @@ -406159,6 +420834,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy." }, "deliveryPipelineId": { @@ -406176,6 +420854,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "location": { @@ -406439,6 +421120,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "buildArtifacts": { @@ -406469,6 +421153,9 @@ }, "deployParameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The deploy parameters to use for all targets in this release." }, "description": { @@ -406481,6 +421168,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "location": { @@ -406530,10 +421220,18 @@ }, "targetArtifacts": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:clouddeploy/v1:TargetArtifactResponse" + }, "description": "Map from target ID to the target artifacts created during the render operation." }, "targetRenders": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:clouddeploy/v1:TargetRenderResponse" + }, "description": "Map from target ID to details of the render operation for that target." }, "targetSnapshots": { @@ -406580,6 +421278,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "buildArtifacts": { @@ -406596,6 +421297,9 @@ }, "deployParameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The deploy parameters to use for all targets in this release." }, "description": { @@ -406608,6 +421312,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "location": { @@ -406654,6 +421361,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "approvalState": { @@ -406710,6 +421420,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "location": { @@ -406811,6 +421524,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "deliveryPipelineId": { @@ -406827,6 +421543,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "location": { @@ -406875,6 +421594,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "anthosCluster": { @@ -406888,6 +421610,9 @@ }, "deployParameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The deploy parameters to use for this target." }, "description": { @@ -406913,6 +421638,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "location": { @@ -406983,6 +421711,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "anthosCluster": { @@ -406992,6 +421723,9 @@ }, "deployParameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The deploy parameters to use for this target." }, "description": { @@ -407017,6 +421751,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "location": { @@ -407290,6 +422027,9 @@ }, "buildEnvironmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Build environment variables that shall be available during build time." }, "buildId": { @@ -407322,6 +422062,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables that shall be available during function execution." }, "eventTrigger": { @@ -407344,6 +422087,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "location": { @@ -407482,6 +422228,9 @@ }, "buildEnvironmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Build environment variables that shall be available during build time." }, "buildWorkerPool": { @@ -407506,6 +422255,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables that shall be available during function execution." }, "eventTrigger": { @@ -407528,6 +422280,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "location": { @@ -407863,6 +422618,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "location": { @@ -407954,6 +422712,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "location": { @@ -408228,6 +422989,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "location": { @@ -408319,6 +423083,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "location": { @@ -408593,6 +423360,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "location": { @@ -408684,6 +423454,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "location": { @@ -409168,6 +423941,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value." }, "name": { @@ -409221,6 +423997,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value." }, "parent": { @@ -409706,6 +424485,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value." }, "name": { @@ -409770,6 +424552,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value." }, "parent": { @@ -410080,6 +424865,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key-value pairs assigned to the device. This metadata is not interpreted or indexed by Cloud IoT Core. It can be used to add contextual information for the device. Keys must conform to the regular expression a-zA-Z+ and be less than 128 bytes in length. Values are free-form strings. Each value must be less than or equal to 32 KB in size. The total size of all keys and values must be less than 256 KB, and the maximum number of key-value pairs is 500." }, "name": { @@ -410163,6 +424951,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key-value pairs assigned to the device. This metadata is not interpreted or indexed by Cloud IoT Core. It can be used to add contextual information for the device. Keys must conform to the regular expression a-zA-Z+ and be less than 128 bytes in length. Values are free-form strings. Each value must be less than or equal to 32 KB in size. The total size of all keys and values must be less than 256 KB, and the maximum number of key-value pairs is 500." }, "name": { @@ -410741,6 +425532,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. For more information, see [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys)." }, "location": { @@ -410824,6 +425618,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. For more information, see [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys)." }, "location": { @@ -412656,6 +427453,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: a-z{0,62}. Label values must be between 0 and 63 characters long and must conform to the regular expression [a-z0-9_-]{0,63}. A label value can be empty. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: \"environment\" : \"dev\" Read-write." }, "lifecycleState": { @@ -412697,6 +427497,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: a-z{0,62}. Label values must be between 0 and 63 characters long and must conform to the regular expression [a-z0-9_-]{0,63}. A label value can be empty. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: \"environment\" : \"dev\" Read-write." }, "lifecycleState": { @@ -413139,6 +427942,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: a-z{0,62}. Label values must be between 0 and 63 characters long and must conform to the regular expression [a-z0-9_-]{0,63}. A label value can be empty. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `\"environment\" : \"dev\"` Read-write." }, "lifecycleState": { @@ -413184,6 +427990,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: a-z{0,62}. Label values must be between 0 and 63 characters long and must conform to the regular expression [a-z0-9_-]{0,63}. A label value can be empty. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `\"environment\" : \"dev\"` Read-write." }, "lifecycleState": { @@ -414479,6 +429288,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels associated with this project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?. No more than 64 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `\"myBusinessDimension\" : \"businessValue\"`" }, "name": { @@ -414522,6 +429334,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels associated with this project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?. No more than 64 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `\"myBusinessDimension\" : \"businessValue\"`" }, "parent": { @@ -414768,6 +429583,9 @@ }, "purposeData": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Purpose data corresponds to the policy system that the tag is intended for. See documentation for `Purpose` for formatting of this field. Purpose data cannot be changed once set." }, "shortName": { @@ -414815,6 +429633,9 @@ }, "purposeData": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Purpose data corresponds to the policy system that the tag is intended for. See documentation for `Purpose` for formatting of this field. Purpose data cannot be changed once set." }, "shortName": { @@ -417592,6 +432413,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size." }, "location": { @@ -417650,6 +432474,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size." }, "location": { @@ -417689,6 +432516,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size." }, "location": { @@ -417747,6 +432577,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size." }, "location": { @@ -417814,6 +432647,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -417919,6 +432755,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -418004,6 +432843,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -418567,6 +433410,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -418818,6 +433664,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -419139,6 +433988,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -419185,6 +434038,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -419488,6 +434344,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -419883,6 +434742,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -419934,6 +434796,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -420634,6 +435499,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -420821,6 +435689,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -421106,6 +435977,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -421211,6 +436085,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -421316,6 +436193,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -421503,6 +436383,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -421589,6 +436472,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -421724,6 +436610,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -422480,6 +437369,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this image. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -422690,6 +437582,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this image. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -423094,6 +437989,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "lastStartTimestamp": { @@ -423144,6 +438042,10 @@ }, "partnerMetadata": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StructuredEntriesResponse" + }, "description": "Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map." }, "postKeyRevocationActionType": { @@ -423217,6 +438119,10 @@ }, "serviceIntegrationSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpecResponse" + }, "description": "Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported." }, "shieldedInstanceConfig": { @@ -423397,6 +438303,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "machineType": { @@ -423435,6 +438344,10 @@ }, "partnerMetadata": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StructuredEntries" + }, "description": "Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map." }, "postKeyRevocationActionType": { @@ -423491,6 +438404,10 @@ }, "serviceIntegrationSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpec" + }, "description": "Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported." }, "shieldedInstanceConfig": { @@ -424708,6 +439625,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -424793,6 +439713,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -425123,6 +440046,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "linkType": { @@ -425255,6 +440181,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "linkType": { @@ -425407,6 +440336,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "mtu": { @@ -425592,6 +440524,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "mtu": { @@ -427704,6 +442639,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -427839,6 +442777,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -428737,6 +443678,9 @@ }, "nodeAffinityLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to use for node affinity, which will be used in instance scheduling." }, "nodeType": { @@ -428831,6 +443775,9 @@ }, "nodeAffinityLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to use for node affinity, which will be used in instance scheduling." }, "nodeType": { @@ -429153,6 +444100,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -429272,6 +444222,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -429772,6 +444725,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -429985,6 +444942,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -430236,6 +445196,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -430797,6 +445760,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -430843,6 +445810,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -431146,6 +446116,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -432347,6 +447320,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -432432,6 +447408,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -432700,6 +447679,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -432835,6 +447817,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -433447,6 +448432,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -433567,6 +448555,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -433675,6 +448666,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "licenseCodes": { @@ -433863,6 +448857,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "locationHint": { @@ -435107,6 +450104,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "resourceStatus": { @@ -435204,6 +450204,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "shareSettings": { @@ -436301,6 +451304,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -436421,6 +451427,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -436977,6 +451986,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "licenseCodes": { @@ -437165,6 +452177,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "locationHint": { @@ -437746,6 +452761,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this storage pool. These can be later modified by the setLabels method." }, "name": { @@ -437840,6 +452858,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this storage pool. These can be later modified by the setLabels method." }, "name": { @@ -439531,6 +454552,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -439592,6 +454616,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -439818,6 +454845,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -439884,6 +454914,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -439952,6 +454985,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "localTrafficSelector": { @@ -440071,6 +455107,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "localTrafficSelector": { @@ -440297,6 +455336,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -440397,6 +455439,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -440482,6 +455527,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -441035,6 +456084,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -441276,6 +456328,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -441589,6 +456644,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -441635,6 +456694,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -441923,6 +456985,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -442314,6 +457379,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -442365,6 +457433,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -443047,6 +458118,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -443224,6 +458298,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -443509,6 +458586,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -443609,6 +458689,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -443710,6 +458793,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -443887,6 +458973,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -443973,6 +459062,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -444093,6 +459185,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -444779,6 +459874,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this image. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -444984,6 +460082,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this image. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -445388,6 +460489,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "lastStartTimestamp": { @@ -445657,6 +460761,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "machineType": { @@ -446910,6 +462017,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -446990,6 +462100,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -447320,6 +462433,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "linkType": { @@ -447447,6 +462563,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "linkType": { @@ -447599,6 +462718,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "mtu": { @@ -447779,6 +462901,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "mtu": { @@ -449188,6 +464313,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -449308,6 +464436,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -450184,6 +465315,9 @@ }, "nodeAffinityLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to use for node affinity, which will be used in instance scheduling." }, "nodeType": { @@ -450273,6 +465407,9 @@ }, "nodeAffinityLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to use for node affinity, which will be used in instance scheduling." }, "nodeType": { @@ -450591,6 +465728,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -450705,6 +465845,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -451172,6 +466315,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -451380,6 +466527,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -451621,6 +466771,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -452148,6 +467301,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -452194,6 +467351,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -452482,6 +467642,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -453622,6 +468785,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -453702,6 +468868,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -453970,6 +469139,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -454090,6 +469262,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -454681,6 +469856,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -454796,6 +469974,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -455751,6 +470932,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "resourceStatus": { @@ -455843,6 +471027,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "shareSettings": { @@ -456877,6 +472064,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -456992,6 +472182,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -457539,6 +472732,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "licenseCodes": { @@ -457712,6 +472908,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "locationHint": { @@ -459572,6 +474771,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -459633,6 +474835,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -459859,6 +475064,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -459925,6 +475133,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -459993,6 +475204,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "localTrafficSelector": { @@ -460112,6 +475326,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "localTrafficSelector": { @@ -460231,6 +475448,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -460331,6 +475551,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -460416,6 +475639,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -460965,6 +476192,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -461196,6 +476426,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -461505,6 +476738,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -461538,6 +476775,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -461776,6 +477016,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -462147,6 +477390,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -462198,6 +477444,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -462865,6 +478114,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -463037,6 +478289,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -463162,6 +478417,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -463262,6 +478520,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -463359,6 +478620,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -463531,6 +478795,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -463617,6 +478884,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -463724,6 +478994,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -464395,6 +479668,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this image. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -464576,6 +479852,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this image. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -464960,6 +480239,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "lastStartTimestamp": { @@ -465207,6 +480489,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "machineType": { @@ -466293,6 +481578,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "linkType": { @@ -466420,6 +481708,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "linkType": { @@ -466572,6 +481863,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "mtu": { @@ -466752,6 +482046,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "mtu": { @@ -468161,6 +483458,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -468268,6 +483568,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -469124,6 +484427,9 @@ }, "nodeAffinityLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to use for node affinity, which will be used in instance scheduling." }, "nodeType": { @@ -469213,6 +484519,9 @@ }, "nodeAffinityLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to use for node affinity, which will be used in instance scheduling." }, "nodeType": { @@ -469909,6 +485218,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -470113,6 +485426,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -470344,6 +485660,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -470867,6 +486186,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -470900,6 +486223,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -471138,6 +486464,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -472154,6 +487483,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -472261,6 +487593,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -472829,6 +488164,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -472915,6 +488253,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -473793,6 +489134,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "resourceStatus": { @@ -473868,6 +489212,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "shareSettings": { @@ -474885,6 +490232,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -474971,6 +490321,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -475499,6 +490852,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "licenseCodes": { @@ -475638,6 +490994,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "locationHint": { @@ -477419,6 +492778,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -477480,6 +492842,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -477691,6 +493056,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -477752,6 +493120,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -477820,6 +493191,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "localTrafficSelector": { @@ -477939,6 +493313,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "localTrafficSelector": { @@ -478098,6 +493475,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -478237,6 +493617,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -478529,6 +493912,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "logo": { @@ -478581,6 +493967,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "logo": { @@ -478633,6 +494022,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "name": { @@ -478697,6 +494089,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "project": { @@ -478742,6 +494137,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -478790,6 +494188,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -478953,6 +494354,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "managedZoneId": { @@ -479005,6 +494409,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "managedZoneId": { @@ -479267,6 +494674,9 @@ }, "fields": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field." }, "location": { @@ -479302,6 +494712,9 @@ }, "fields": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field." }, "location": { @@ -479358,6 +494771,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -479453,6 +494869,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -479590,6 +495009,10 @@ }, "dialogflowIntents": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1DialogflowIntentResponse" + }, "description": "All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent}" }, "duration": { @@ -479602,6 +495025,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map for the user to specify any custom fields. A maximum of 20 labels per conversation is allowed, with a maximum of 256 characters per entry." }, "languageCode": { @@ -479718,6 +495144,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map for the user to specify any custom fields. A maximum of 20 labels per conversation is allowed, with a maximum of 256 characters per entry." }, "languageCode": { @@ -480315,6 +495744,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the cluster to use to annotate any related Google Compute Engine resources." }, "resourceUsageExportConfig": { @@ -480687,6 +496119,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the cluster to use to annotate any related Google Compute Engine resources." }, "resourceUsageExportConfig": { @@ -481286,6 +496721,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the cluster to use to annotate any related Google Compute Engine resources." }, "resourceUsageExportConfig": { @@ -481714,6 +497152,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the cluster to use to annotate any related Google Compute Engine resources." }, "resourceUsageExportConfig": { @@ -485376,6 +500817,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Cloud labels attached to the entry. In Data Catalog, you can create and modify labels attached only to custom entries. Synced entries have unmodifiable labels that come from the source system." }, "linkedResource": { @@ -485547,6 +500991,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Cloud labels attached to the entry. In Data Catalog, you can create and modify labels attached only to custom entries. Synced entries have unmodifiable labels that come from the source system." }, "linkedResource": { @@ -485985,6 +501432,10 @@ }, "fields": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1TagTemplateFieldResponse" + }, "description": "Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore." }, "isPubliclyReadable": { @@ -486026,6 +501477,10 @@ }, "fields": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1TagTemplateField" + }, "description": "Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore." }, "isPubliclyReadable": { @@ -487292,6 +502747,10 @@ }, "fields": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse" + }, "description": "Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore." }, "location": { @@ -487328,6 +502787,10 @@ }, "fields": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TagTemplateField" + }, "description": "Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore." }, "location": { @@ -488093,6 +503556,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for this job. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size." }, "location": { @@ -488170,6 +503636,9 @@ }, "transformNameMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job." }, "type": { @@ -488253,6 +503722,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for this job. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size." }, "location": { @@ -488326,6 +503798,9 @@ }, "transformNameMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job." }, "type": { @@ -488398,6 +503873,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The runtime parameters to pass to the job." }, "project": { @@ -488841,6 +504319,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Repository user labels." }, "location": { @@ -488904,6 +504385,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Repository user labels." }, "location": { @@ -489692,6 +505176,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels." }, "location": { @@ -489709,6 +505196,9 @@ }, "options": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of additional options used to configure the behavior of Data Fusion instance." }, "p4ServiceAccount": { @@ -489863,6 +505353,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels." }, "location": { @@ -489876,6 +505369,9 @@ }, "options": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of additional options used to configure the behavior of Data Fusion instance." }, "patchRevision": { @@ -490217,6 +505713,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels." }, "location": { @@ -490234,6 +505733,9 @@ }, "options": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of additional options used to configure the behavior of Data Fusion instance." }, "p4ServiceAccount": { @@ -490388,6 +505890,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels." }, "location": { @@ -490401,6 +505906,9 @@ }, "options": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of additional options used to configure the behavior of Data Fusion instance." }, "patchRevision": { @@ -491456,6 +506964,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed." }, "displayName": { @@ -491496,6 +507007,9 @@ "inputProperties": { "attributes": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed." }, "displayName": { @@ -491530,6 +507044,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed." }, "displayName": { @@ -491584,6 +507101,9 @@ "inputProperties": { "attributes": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed." }, "displayName": { @@ -491662,6 +507182,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -491753,6 +507276,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -492048,6 +507574,9 @@ }, "globalSettings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A generic list of settings for the workspace. The settings are database pair dependant and can indicate default behavior for the mapping rules engine or turn on or off specific features. Such examples can be: convert_foreign_key_to_interleave=true, skip_triggers=false, ignore_non_table_synonyms=true" }, "hasUncommittedChanges": { @@ -492121,6 +507650,9 @@ }, "globalSettings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A generic list of settings for the workspace. The settings are database pair dependant and can indicate default behavior for the mapping rules engine or turn on or off specific features. Such examples can be: convert_foreign_key_to_interleave=true, skip_triggers=false, ignore_non_table_synonyms=true" }, "location": { @@ -492680,6 +508212,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -492817,6 +508352,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -493125,6 +508663,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for private connections to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -493187,6 +508728,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for private connections to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -493474,6 +509018,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -493543,6 +509090,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -493840,6 +509390,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -493949,6 +509502,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "location": { @@ -494263,6 +509819,9 @@ }, "pipelineSources": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Immutable. The sources of the pipeline (for example, Dataplex). The keys and values are set by the corresponding sources during pipeline creation." }, "project": { @@ -494323,6 +509882,9 @@ }, "pipelineSources": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Immutable. The sources of the pipeline (for example, Dataplex). The keys and values are set by the corresponding sources during pipeline creation." }, "project": { @@ -494612,6 +510174,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the asset." }, "lakeId": { @@ -494704,6 +510269,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the asset." }, "lakeId": { @@ -494773,6 +510341,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the DataAttribute." }, "location": { @@ -494853,6 +510424,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the DataAttribute." }, "location": { @@ -494895,6 +510469,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the content." }, "lakeId": { @@ -494963,6 +510540,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the content." }, "lakeId": { @@ -495015,6 +510595,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the content." }, "lakeId": { @@ -495083,6 +510666,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the content." }, "lakeId": { @@ -495151,6 +510737,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the DataAttributeBinding." }, "location": { @@ -495230,6 +510819,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the DataAttributeBinding." }, "location": { @@ -495536,6 +511128,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the scan." }, "location": { @@ -495625,6 +511220,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the scan." }, "location": { @@ -495897,6 +511495,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the DataTaxonomy." }, "location": { @@ -495956,6 +511557,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the DataTaxonomy." }, "location": { @@ -497092,6 +512696,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the environment." }, "lakeId": { @@ -497173,6 +512780,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the environment." }, "lakeId": { @@ -497443,6 +513053,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the lake." }, "lakeId": { @@ -497518,6 +513131,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the lake." }, "lakeId": { @@ -499281,6 +514897,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the task." }, "lakeId": { @@ -499368,6 +514987,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the task." }, "lakeId": { @@ -499437,6 +515059,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the zone." }, "lakeId": { @@ -499517,6 +515142,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the zone." }, "lakeId": { @@ -499562,6 +515190,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this autoscaling policy. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with an autoscaling policy." }, "location": { @@ -499608,6 +515239,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this autoscaling policy. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with an autoscaling policy." }, "location": { @@ -499857,6 +515491,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this batch. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a batch." }, "location": { @@ -499968,6 +515605,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this batch. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a batch." }, "location": { @@ -500031,6 +515671,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "metrics": { @@ -500098,6 +515741,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "project": { @@ -500164,6 +515810,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job." }, "pigJob": { @@ -500296,6 +515945,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job." }, "pigJob": { @@ -500375,6 +516027,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labelsn." }, "name": { @@ -500431,6 +516086,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labelsn." }, "name": { @@ -501509,6 +517167,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with the session. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session." }, "location": { @@ -501609,6 +517270,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with the session. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session." }, "location": { @@ -501677,6 +517341,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to associate with sessions created using this template. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session." }, "location": { @@ -501737,6 +517404,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to associate with sessions created using this template. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session." }, "location": { @@ -501784,6 +517454,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance.Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be associated with a template." }, "location": { @@ -501858,6 +517531,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance.Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be associated with a template." }, "location": { @@ -502383,6 +518059,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "metrics": { @@ -502440,6 +518119,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "project": { @@ -502492,6 +518174,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job." }, "pigJob": { @@ -502611,6 +518296,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job." }, "pigJob": { @@ -503707,6 +519395,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance.Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be associated with a template." }, "location": { @@ -503776,6 +519467,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance.Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be associated with a template." }, "location": { @@ -504117,6 +519811,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504215,6 +519912,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504282,6 +519982,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504344,6 +520047,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504395,6 +520101,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504456,6 +520165,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504531,6 +520243,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "lastRecoveryTime": { @@ -504621,6 +520336,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504685,6 +520403,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504773,6 +520494,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504836,6 +520560,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504894,6 +520621,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -504945,6 +520675,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -505006,6 +520739,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -505081,6 +520817,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -505166,6 +520905,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "location": { @@ -506675,6 +522417,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." }, "project": { @@ -506720,6 +522465,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." }, "project": { @@ -507220,6 +522968,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the document. The metadata supports arbitrary key-value pairs. Suggested use cases include storing a document's title, an external URL distinct from the document's content_uri, etc. The max size of a `key` or a `value` of the metadata is 1024 bytes." }, "mimeType": { @@ -507289,6 +523040,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the document. The metadata supports arbitrary key-value pairs. Suggested use cases include storing a document's title, an external URL distinct from the document's content_uri, etc. The max size of a `key` or a `value` of the metadata is 1024 bytes." }, "mimeType": { @@ -507939,6 +523693,9 @@ }, "documentsMetadataFilters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```" }, "location": { @@ -507984,6 +523741,9 @@ }, "documentsMetadataFilters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```" }, "location": { @@ -508191,6 +523951,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." }, "project": { @@ -508236,6 +523999,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." }, "project": { @@ -508560,6 +524326,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the document. The metadata supports arbitrary key-value pairs. Suggested use cases include storing a document's title, an external URL distinct from the document's content_uri, etc. The max size of a `key` or a `value` of the metadata is 1024 bytes." }, "mimeType": { @@ -508638,6 +524407,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the document. The metadata supports arbitrary key-value pairs. Suggested use cases include storing a document's title, an external URL distinct from the document's content_uri, etc. The max size of a `key` or a `value` of the metadata is 1024 bytes." }, "mimeType": { @@ -509214,6 +524986,9 @@ }, "documentsMetadataFilters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```" }, "location": { @@ -509254,6 +525029,9 @@ }, "documentsMetadataFilters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```" }, "location": { @@ -510280,6 +526058,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys.contextual\" means the intent is a contextual intent." }, "languageCode": { @@ -510352,6 +526133,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys.contextual\" means the intent is a contextual intent." }, "languageCode": { @@ -512061,6 +527845,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys-contextual\" means the intent is a contextual intent." }, "languageCode": { @@ -512133,6 +527920,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys-contextual\" means the intent is a contextual intent." }, "languageCode": { @@ -513246,6 +529036,9 @@ }, "derivedStructData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "This field is OUTPUT_ONLY. It contains derived data that are not in the original input document." }, "documentId": { @@ -513279,6 +529072,9 @@ }, "structData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown." } }, @@ -513351,6 +529147,9 @@ }, "structData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown." } }, @@ -513585,6 +529384,9 @@ }, "structSchema": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured representation of the schema." } }, @@ -513632,6 +529434,9 @@ }, "structSchema": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured representation of the schema." } }, @@ -513767,6 +529572,9 @@ }, "derivedStructData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "This field is OUTPUT_ONLY. It contains derived data that are not in the original input document." }, "documentId": { @@ -513800,6 +529608,9 @@ }, "structData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown." } }, @@ -513872,6 +529683,9 @@ }, "structData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown." } }, @@ -513916,6 +529730,9 @@ }, "structSchema": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured representation of the schema." } }, @@ -513962,6 +529779,9 @@ }, "structSchema": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured representation of the schema." } }, @@ -515138,6 +530958,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "name": { @@ -515240,6 +531063,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "name": { @@ -515842,6 +531668,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "name": { @@ -515944,6 +531773,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "name": { @@ -516433,6 +532265,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "networks": { @@ -516484,6 +532319,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "networks": { @@ -516816,6 +532654,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with the `Registration`." }, "location": { @@ -516911,6 +532752,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with the `Registration`." }, "location": { @@ -517198,6 +533042,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with the `Registration`." }, "location": { @@ -517293,6 +533140,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with the `Registration`." }, "location": { @@ -517580,6 +533430,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with the `Registration`." }, "location": { @@ -517675,6 +533528,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with the `Registration`." }, "location": { @@ -518807,6 +534663,10 @@ }, "conditions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:eventarc/v1:StateConditionResponse" + }, "description": "The reason(s) why a trigger is in FAILED state." }, "createTime": { @@ -518836,6 +534696,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User labels attached to the triggers that can be used to group resources." }, "location": { @@ -518916,6 +534779,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User labels attached to the triggers that can be used to group resources." }, "location": { @@ -519191,6 +535057,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User labels attached to the triggers that can be used to group resources." }, "location": { @@ -519255,6 +535124,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User labels attached to the triggers that can be used to group resources." }, "location": { @@ -519545,6 +535417,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -519624,6 +535499,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -519681,6 +535559,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -519779,6 +535660,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -519827,6 +535711,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -519875,6 +535762,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -519926,6 +535816,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -520005,6 +535898,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -520075,6 +535971,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -520205,6 +536104,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -520269,6 +536171,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -520340,6 +536245,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -520394,6 +536302,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -520442,6 +536353,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "location": { @@ -521024,6 +536938,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Text labels used for extra metadata and/or filtering." }, "name": { @@ -521087,6 +537004,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Text labels used for extra metadata and/or filtering." }, "name": { @@ -521120,6 +537040,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations you can add to leave both human- and machine-readable metadata about your `CustomDomain`." }, "cert": { @@ -521166,6 +537089,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels used for extra metadata and/or filtering." }, "name": { @@ -521227,6 +537153,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations you can add to leave both human- and machine-readable metadata about your `CustomDomain`." }, "certPreference": { @@ -521240,6 +537169,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels used for extra metadata and/or filtering." }, "project": { @@ -521440,6 +537372,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-specified labels for the Hosting site." }, "name": { @@ -521477,6 +537412,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-specified labels for the Hosting site." }, "project": { @@ -521534,6 +537472,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels used for extra metadata and/or filtering." }, "name": { @@ -521590,6 +537531,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels used for extra metadata and/or filtering." }, "name": { @@ -522918,6 +538862,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A set of custom labels supplied by user." }, "location": { @@ -523039,6 +538986,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A set of custom labels supplied by user." }, "location": { @@ -523098,6 +539048,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A set of custom labels supplied by user." }, "location": { @@ -523189,6 +539142,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A set of custom labels supplied by user." }, "location": { @@ -523935,6 +539891,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A set of custom labels supplied by user." }, "location": { @@ -524031,6 +539990,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A set of custom labels supplied by user." }, "location": { @@ -524082,6 +540044,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A set of custom labels supplied by user." }, "location": { @@ -524156,6 +540121,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A set of custom labels supplied by user." }, "location": { @@ -524893,6 +540861,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this MembershipBinding." }, "location": { @@ -524952,6 +540923,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this MembershipBinding." }, "location": { @@ -525007,6 +540981,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Feature." }, "location": { @@ -525015,10 +540992,18 @@ }, "membershipSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:MembershipFeatureSpecResponse" + }, "description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "membershipStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:MembershipFeatureStateResponse" + }, "description": "Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number." }, "name": { @@ -525040,10 +541025,18 @@ }, "scopeSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ScopeFeatureSpecResponse" + }, "description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "scopeStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ScopeFeatureStateResponse" + }, "description": "Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project." }, "spec": { @@ -525091,6 +541084,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Feature." }, "location": { @@ -525099,6 +541095,10 @@ }, "membershipSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:MembershipFeatureSpec" + }, "description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "project": { @@ -525111,6 +541111,10 @@ }, "scopeSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ScopeFeatureSpec" + }, "description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "spec": { @@ -525364,6 +541368,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Fleet." }, "location": { @@ -525418,6 +541425,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Fleet." }, "location": { @@ -525461,6 +541471,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "lastConnectionTime": { @@ -525543,6 +541556,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "location": { @@ -525807,6 +541823,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Namespace." }, "location": { @@ -525819,6 +541838,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -525871,6 +541893,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Namespace." }, "location": { @@ -525883,6 +541908,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -525926,6 +541954,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -525996,6 +542027,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -526048,6 +542082,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Scope." }, "location": { @@ -526060,6 +542097,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -526102,6 +542142,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Scope." }, "location": { @@ -526114,6 +542157,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -526387,6 +542433,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "lastConnectionTime": { @@ -526470,6 +542519,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "location": { @@ -526730,6 +542782,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this MembershipBinding." }, "location": { @@ -526789,6 +542844,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this MembershipBinding." }, "location": { @@ -526844,6 +542902,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Feature." }, "location": { @@ -526852,10 +542913,18 @@ }, "membershipSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipFeatureSpecResponse" + }, "description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "membershipStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipFeatureStateResponse" + }, "description": "Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number." }, "name": { @@ -526877,10 +542946,18 @@ }, "scopeSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ScopeFeatureSpecResponse" + }, "description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "scopeStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ScopeFeatureStateResponse" + }, "description": "Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project." }, "spec": { @@ -526928,6 +543005,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Feature." }, "location": { @@ -526936,6 +543016,10 @@ }, "membershipSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipFeatureSpec" + }, "description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "project": { @@ -526948,6 +543032,10 @@ }, "scopeSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ScopeFeatureSpec" + }, "description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "spec": { @@ -527201,6 +543289,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Fleet." }, "location": { @@ -527255,6 +543346,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Fleet." }, "location": { @@ -527298,6 +543392,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "lastConnectionTime": { @@ -527380,6 +543477,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "location": { @@ -527648,6 +543748,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -527718,6 +543821,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -527770,6 +543876,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Namespace." }, "location": { @@ -527782,6 +543891,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -527834,6 +543946,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Namespace." }, "location": { @@ -527846,6 +543961,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -527885,6 +544003,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Scope." }, "location": { @@ -527897,6 +544018,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -527939,6 +544063,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Scope." }, "location": { @@ -527951,6 +544078,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -528206,6 +544336,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -528276,6 +544409,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -528350,6 +544486,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. GCP labels for this membership." }, "lastConnectionTime": { @@ -528441,6 +544580,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. GCP labels for this membership." }, "location": { @@ -528705,6 +544847,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this MembershipBinding." }, "location": { @@ -528764,6 +544909,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this MembershipBinding." }, "location": { @@ -528819,6 +544967,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Feature." }, "location": { @@ -528827,10 +544978,18 @@ }, "membershipSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:MembershipFeatureSpecResponse" + }, "description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "membershipStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:MembershipFeatureStateResponse" + }, "description": "Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number." }, "name": { @@ -528852,10 +545011,18 @@ }, "scopeSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ScopeFeatureSpecResponse" + }, "description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "scopeStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ScopeFeatureStateResponse" + }, "description": "Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project." }, "spec": { @@ -528903,6 +545070,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Feature." }, "location": { @@ -528911,6 +545081,10 @@ }, "membershipSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:MembershipFeatureSpec" + }, "description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "project": { @@ -528923,6 +545097,10 @@ }, "scopeSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ScopeFeatureSpec" + }, "description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "spec": { @@ -529176,6 +545354,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Fleet." }, "location": { @@ -529230,6 +545411,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Fleet." }, "location": { @@ -529273,6 +545457,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "lastConnectionTime": { @@ -529355,6 +545542,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "location": { @@ -529623,6 +545813,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -529693,6 +545886,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -529745,6 +545941,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Namespace." }, "location": { @@ -529757,6 +545956,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -529809,6 +546011,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Namespace." }, "location": { @@ -529821,6 +546026,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -529860,6 +546068,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Scope." }, "location": { @@ -529872,6 +546083,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -529914,6 +546128,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Scope." }, "location": { @@ -529926,6 +546143,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant." }, "project": { @@ -530181,6 +546401,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -530251,6 +546474,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "location": { @@ -530295,6 +546521,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the bare metal admin cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "bareMetalAdminClusterId": { @@ -530477,6 +546706,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the bare metal admin cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "bareMetalAdminClusterId": { @@ -530787,6 +547019,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the bare metal user cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "bareMetalClusterId": { @@ -530981,6 +547216,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the bare metal user cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "bareMetalClusterId": { @@ -531501,6 +547739,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the bare metal node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "bareMetalClusterId": { @@ -531593,6 +547834,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the bare metal node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "bareMetalClusterId": { @@ -531853,6 +548097,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the VMware user cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "antiAffinityGroups": { @@ -532036,6 +548283,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the VMware user cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "antiAffinityGroups": { @@ -532551,6 +548801,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "config": { @@ -532648,6 +548901,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "config": { @@ -532853,6 +549109,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent." }, "name": { @@ -532932,6 +549191,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent." }, "name": { @@ -533005,6 +549267,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the Consent artifact. For example, the consent locale or user agent version." }, "name": { @@ -533077,6 +549342,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the Consent artifact. For example, the consent locale or user agent version." }, "name": { @@ -533130,6 +549398,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize consent stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}. Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}. No more than 64 labels can be associated with a given store. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources" }, "location": { @@ -533176,6 +549447,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize consent stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}. Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}. No more than 64 labels can be associated with a given store. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources" }, "location": { @@ -534413,6 +550687,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -534462,6 +550739,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -534527,6 +550807,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize FHIR stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -534622,6 +550905,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize FHIR stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -534681,6 +550967,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -534735,6 +551024,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -534792,6 +551084,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -534869,6 +551164,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -535034,6 +551332,9 @@ }, "customData": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional information for this annotation record, such as annotator and verifier information or study campaign." }, "datasetId": { @@ -535093,6 +551394,9 @@ }, "customData": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional information for this annotation record, such as annotator and verifier information or study campaign." }, "datasetId": { @@ -535145,6 +551449,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize Annotation stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -535179,6 +551486,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize Annotation stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -535353,6 +551663,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent." }, "name": { @@ -535432,6 +551745,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent." }, "name": { @@ -535505,6 +551821,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the Consent artifact. For example, the consent locale or user agent version." }, "name": { @@ -535577,6 +551896,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the Consent artifact. For example, the consent locale or user agent version." }, "name": { @@ -535630,6 +551952,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize consent stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}. Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}. No more than 64 labels can be associated with a given store. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources" }, "location": { @@ -535676,6 +552001,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize consent stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}. Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}. No more than 64 labels can be associated with a given store. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources" }, "location": { @@ -537145,6 +553473,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -537194,6 +553525,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -537264,6 +553598,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize FHIR stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -537371,6 +553708,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize FHIR stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -537435,6 +553775,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -537495,6 +553838,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -537557,6 +553903,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -537634,6 +553983,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "location": { @@ -537978,6 +554330,9 @@ }, "attributeMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": " Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { \"google.subject\":\"assertion.arn\", \"attribute.aws_role\": \"assertion.arn.contains('assumed-role')\" \" ? assertion.arn.extract('{account_arn}assumed-role/')\" \" + 'assumed-role/'\" \" + assertion.arn.extract('assumed-role/{role_name}/')\" \" : assertion.arn\", } ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```" }, "aws": { @@ -538062,6 +554417,9 @@ }, "attributeMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": " Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { \"google.subject\":\"assertion.arn\", \"attribute.aws_role\": \"assertion.arn.contains('assumed-role')\" \" ? assertion.arn.extract('{account_arn}assumed-role/')\" \" + 'assumed-role/'\" \" + assertion.arn.extract('assumed-role/{role_name}/')\" \" : assertion.arn\", } ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```" }, "aws": { @@ -538912,6 +555270,9 @@ }, "attributeMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Maps attributes from the authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. This is a required field and the mapped subject cannot exceed 127 bytes. * `google.groups`: Groups the authenticating user belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. * `google.display_name`: The name of the authenticated user. This is an optional field and the mapped display name cannot exceed 100 bytes. If not set, `google.subject` will be displayed instead. This attribute cannot be referenced in IAM bindings. * `google.profile_photo`: The URL that specifies the authenticated user's thumbnail photo. This is an optional field. When set, the image will be visible as the user's profile picture. If not set, a generic user icon will be displayed instead. This attribute cannot be referenced in IAM bindings. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where {custom_attribute} is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workforce pool to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/locations/global/workforcePools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 4KB. For OIDC providers, you must supply a custom mapping that includes the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```" }, "description": { @@ -538985,6 +555346,9 @@ }, "attributeMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Maps attributes from the authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. This is a required field and the mapped subject cannot exceed 127 bytes. * `google.groups`: Groups the authenticating user belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. * `google.display_name`: The name of the authenticated user. This is an optional field and the mapped display name cannot exceed 100 bytes. If not set, `google.subject` will be displayed instead. This attribute cannot be referenced in IAM bindings. * `google.profile_photo`: The URL that specifies the authenticated user's thumbnail photo. This is an optional field. When set, the image will be visible as the user's profile picture. If not set, a generic user icon will be displayed instead. This attribute cannot be referenced in IAM bindings. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where {custom_attribute} is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workforce pool to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/locations/global/workforcePools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 4KB. For OIDC providers, you must supply a custom mapping that includes the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```" }, "description": { @@ -540115,6 +556479,9 @@ }, "testPhoneNumbers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of pairs that can be used for MFA. The phone number should be in E.164 format (https://www.itu.int/rec/T-REC-E.164/) and a maximum of 10 pairs can be added (error will be thrown once exceeded)." } }, @@ -540210,6 +556577,9 @@ }, "testPhoneNumbers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of pairs that can be used for MFA. The phone number should be in E.164 format (https://www.itu.int/rec/T-REC-E.164/) and a maximum of 10 pairs can be added (error will be thrown once exceeded)." } } @@ -540453,6 +556823,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the endpoint." }, "location": { @@ -540529,6 +556902,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the endpoint." }, "location": { @@ -542219,6 +558595,10 @@ }, "customAttributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:jobs/v3:CustomAttributeResponse" + }, "description": "Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB." }, "degreeTypes": { @@ -542392,6 +558772,10 @@ }, "customAttributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:jobs/v3:CustomAttribute" + }, "description": "Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB." }, "degreeTypes": { @@ -542683,6 +559067,10 @@ }, "customAttributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:jobs/v4:CustomAttributeResponse" + }, "description": "A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB." }, "degreeTypes": { @@ -542861,6 +559249,10 @@ }, "customAttributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:jobs/v4:CustomAttribute" + }, "description": "A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB." }, "degreeTypes": { @@ -544514,6 +560906,9 @@ }, "labelExtractors": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project." }, "metricDescriptor": { @@ -544583,6 +560978,9 @@ }, "labelExtractors": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project." }, "metricDescriptor": { @@ -545994,6 +562392,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -546046,6 +562447,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "project": { @@ -546091,6 +562495,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels that can contain user-provided metadata." }, "locations": { @@ -546174,6 +562581,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels that can contain user-provided metadata." }, "locations": { @@ -546614,6 +563024,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata." }, "name": { @@ -546666,6 +563079,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata." }, "peeringId": { @@ -546898,6 +563314,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -546955,6 +563374,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "project": { @@ -546995,6 +563417,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata" }, "locations": { @@ -547076,6 +563501,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata" }, "locations": { @@ -547514,6 +563942,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -547566,6 +563997,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "peeringId": { @@ -547798,6 +564232,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -547855,6 +564292,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "project": { @@ -547900,6 +564340,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels that can contain user-provided metadata." }, "locations": { @@ -547983,6 +564426,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels that can contain user-provided metadata." }, "locations": { @@ -548418,6 +564864,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -548470,6 +564919,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "peeringId": { @@ -548714,6 +565166,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -548840,6 +565295,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -548932,6 +565390,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -549063,6 +565524,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "location": { @@ -549233,6 +565697,10 @@ "properties": { "backendMetastores": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1:BackendMetastoreResponse" + }, "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number." }, "createTime": { @@ -549250,6 +565718,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore federation." }, "location": { @@ -549308,6 +565779,10 @@ "inputProperties": { "backendMetastores": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1:BackendMetastore" + }, "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number." }, "federationId": { @@ -549317,6 +565792,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore federation." }, "location": { @@ -549706,6 +566184,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "location": { @@ -549837,6 +566318,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "location": { @@ -550472,6 +566956,10 @@ "properties": { "backendMetastores": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1alpha:BackendMetastoreResponse" + }, "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number." }, "createTime": { @@ -550489,6 +566977,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore federation." }, "location": { @@ -550547,6 +567038,10 @@ "inputProperties": { "backendMetastores": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1alpha:BackendMetastore" + }, "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number." }, "federationId": { @@ -550556,6 +567051,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore federation." }, "location": { @@ -550945,6 +567443,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "location": { @@ -551076,6 +567577,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "location": { @@ -552185,6 +568689,10 @@ "properties": { "backendMetastores": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1beta:BackendMetastoreResponse" + }, "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number." }, "createTime": { @@ -552202,6 +568710,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore federation." }, "location": { @@ -552260,6 +568771,10 @@ "inputProperties": { "backendMetastores": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1beta:BackendMetastore" + }, "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number." }, "federationId": { @@ -552269,6 +568784,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore federation." }, "location": { @@ -552658,6 +569176,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "location": { @@ -552789,6 +569310,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "location": { @@ -553808,6 +570332,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -553859,6 +570386,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -554014,6 +570544,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -554078,6 +570611,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -554557,6 +571093,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -554608,6 +571147,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -554773,6 +571315,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -554849,6 +571394,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -555327,6 +571875,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your jobs. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels." }, "predictionInput": { @@ -555390,6 +571941,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your jobs. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels." }, "predictionInput": { @@ -555652,6 +572206,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your models. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. Note that this field is not updatable for mls1* models." }, "name": { @@ -555701,6 +572258,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your models. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. Note that this field is not updatable for mls1* models." }, "name": { @@ -556192,6 +572752,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your model versions. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. Note that this field is not updatable for mls1* models." }, "lastMigrationModelId": { @@ -556335,6 +572898,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your model versions. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. Note that this field is not updatable for mls1* models." }, "machineType": { @@ -556429,6 +572995,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels applied to the dashboard" }, "mosaicLayout": { @@ -556492,6 +573061,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels applied to the dashboard" }, "mosaicLayout": { @@ -556581,6 +573153,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.Note that Prometheus {alert name} is a valid Prometheus label names (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels), whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means that they cannot be stored as-is in user labels, because they may contain characters that are not allowed in user-label values." }, "validity": { @@ -556668,6 +573243,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.Note that Prometheus {alert name} is a valid Prometheus label names (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels), whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means that they cannot be stored as-is in user labels, because they may contain characters that are not allowed in user-label values." }, "validity": { @@ -556893,6 +573471,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Configuration fields that define the channel and its behavior. The permissible and required labels are specified in the NotificationChannelDescriptor.labels of the NotificationChannelDescriptor corresponding to the type field." }, "mutationRecords": { @@ -556917,6 +573498,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field. This field is intended to be used for organizing and identifying the NotificationChannel objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter." }, "verificationStatus": { @@ -556958,6 +573542,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Configuration fields that define the channel and its behavior. The permissible and required labels are specified in the NotificationChannelDescriptor.labels of the NotificationChannelDescriptor corresponding to the type field." }, "mutationRecords": { @@ -556982,6 +573569,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field. This field is intended to be used for organizing and identifying the NotificationChannel objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter." }, "verificationStatus": { @@ -557067,6 +573657,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value." }, "v3Id": { @@ -557173,6 +573766,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value." }, "v3Id": { @@ -557227,6 +573823,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value." }, "v3Id": { @@ -557287,6 +573886,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value." }, "v3Id": { @@ -557449,6 +574051,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter." } }, @@ -557550,6 +574155,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter." } } @@ -557572,6 +574180,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)." }, "name": { @@ -557646,6 +574257,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)." }, "name": { @@ -558130,6 +574744,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -558227,6 +574844,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -558308,6 +574928,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -558402,6 +575025,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -558921,6 +575547,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -559005,6 +575634,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -559288,6 +575920,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -559363,6 +575998,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -559643,6 +576281,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -559703,6 +576344,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -559752,6 +576396,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)." }, "linkedInterconnectAttachments": { @@ -559856,6 +576503,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)." }, "linkedInterconnectAttachments": { @@ -560143,6 +576793,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -560205,6 +576858,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -560459,6 +577115,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -560556,6 +577215,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "location": { @@ -560849,6 +577511,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "linkedInterconnectAttachments": { @@ -560937,6 +577602,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "linkedInterconnectAttachments": { @@ -561231,6 +577899,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "name": { @@ -561306,6 +577977,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "name": { @@ -561580,6 +578254,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "name": { @@ -561655,6 +578332,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "name": { @@ -561936,6 +578616,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "location": { @@ -562005,6 +578688,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "location": { @@ -562278,6 +578964,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource." }, "location": { @@ -562334,6 +579023,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource." }, "location": { @@ -562607,6 +579299,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the resource." }, "location": { @@ -562669,6 +579364,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the resource." }, "location": { @@ -563030,6 +579728,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "location": { @@ -563099,6 +579800,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "location": { @@ -563282,6 +579986,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of label tags associated with the resource." }, "location": { @@ -563341,6 +580048,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of label tags associated with the resource." }, "location": { @@ -563843,6 +580553,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "location": { @@ -563912,6 +580625,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "location": { @@ -564185,6 +580901,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource." }, "location": { @@ -564241,6 +580960,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource." }, "location": { @@ -564514,6 +581236,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the resource." }, "location": { @@ -564576,6 +581301,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the resource." }, "location": { @@ -564858,6 +581586,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs" }, "location": { @@ -564920,6 +581651,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs" }, "location": { @@ -564957,6 +581691,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs" }, "location": { @@ -565021,6 +581758,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs" }, "location": { @@ -565157,6 +581897,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "location": { @@ -565226,6 +581969,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "location": { @@ -565409,6 +582155,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs." }, "location": { @@ -565463,6 +582212,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs." }, "location": { @@ -565514,6 +582266,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs." }, "location": { @@ -565562,6 +582317,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs." }, "location": { @@ -565608,6 +582366,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of label tags associated with the resource." }, "location": { @@ -565667,6 +582428,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of label tags associated with the resource." }, "location": { @@ -566837,6 +583601,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the EndpointPolicy resource." }, "location": { @@ -566911,6 +583678,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the EndpointPolicy resource." }, "location": { @@ -567203,6 +583973,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Gateway resource." }, "location": { @@ -567304,6 +584077,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Gateway resource." }, "location": { @@ -567605,6 +584381,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the GrpcRoute resource." }, "location": { @@ -567685,6 +584464,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the GrpcRoute resource." }, "location": { @@ -567753,6 +584535,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the HttpRoute resource." }, "location": { @@ -567833,6 +584618,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the HttpRoute resource." }, "location": { @@ -567886,6 +584674,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Mesh resource." }, "location": { @@ -567938,6 +584729,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Mesh resource." }, "location": { @@ -568197,6 +584991,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the ServiceBinding resource." }, "location": { @@ -568249,6 +585046,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the ServiceBinding resource." }, "location": { @@ -568520,6 +585320,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TcpRoute resource." }, "location": { @@ -568592,6 +585395,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TcpRoute resource." }, "location": { @@ -568652,6 +585458,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TlsRoute resource." }, "location": { @@ -568724,6 +585533,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TlsRoute resource." }, "location": { @@ -568795,6 +585607,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the EndpointPolicy resource." }, "location": { @@ -568869,6 +585684,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the EndpointPolicy resource." }, "location": { @@ -569161,6 +585979,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Gateway resource." }, "location": { @@ -569262,6 +586083,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Gateway resource." }, "location": { @@ -569563,6 +586387,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the GrpcRoute resource." }, "location": { @@ -569643,6 +586470,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the GrpcRoute resource." }, "location": { @@ -569711,6 +586541,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the HttpRoute resource." }, "location": { @@ -569791,6 +586624,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the HttpRoute resource." }, "location": { @@ -569855,6 +586691,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of labels associated with the `LbRouteExtension` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements)." }, "lbRouteExtensionId": { @@ -569923,6 +586762,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of labels associated with the `LbRouteExtension` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements)." }, "lbRouteExtensionId": { @@ -569986,6 +586828,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of labels associated with the `LbTrafficExtension` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements)." }, "lbTrafficExtensionId": { @@ -570054,6 +586899,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of labels associated with the `LbTrafficExtension` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements)." }, "lbTrafficExtensionId": { @@ -570106,6 +586954,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Mesh resource." }, "location": { @@ -570158,6 +587009,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Mesh resource." }, "location": { @@ -570417,6 +587271,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the ServiceBinding resource." }, "location": { @@ -570469,6 +587326,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the ServiceBinding resource." }, "location": { @@ -570743,6 +587603,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the ServiceLbPolicy resource." }, "loadBalancingAlgorithm": { @@ -570802,6 +587665,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the ServiceLbPolicy resource." }, "loadBalancingAlgorithm": { @@ -571072,6 +587938,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TcpRoute resource." }, "location": { @@ -571144,6 +588013,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TcpRoute resource." }, "location": { @@ -571204,6 +588076,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TlsRoute resource." }, "location": { @@ -571276,6 +588151,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TlsRoute resource." }, "location": { @@ -571602,6 +588480,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "location": { @@ -571614,6 +588495,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to this instance. For example, to specify a Cloud Storage bucket for automatic backup, you can use the `gcs-data-bucket` metadata tag. Format: `\"--metadata=gcs-data-bucket=``BUCKET''\"`." }, "migrated": { @@ -571815,6 +588699,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "location": { @@ -571827,6 +588714,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to this instance. For example, to specify a Cloud Storage bucket for automatic backup, you can use the `gcs-data-bucket` metadata tag. Format: `\"--metadata=gcs-data-bucket=``BUCKET''\"`." }, "network": { @@ -572127,6 +589017,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this Managed Notebook or Runtime. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "location": { @@ -572209,6 +589102,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this Managed Notebook or Runtime. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "location": { @@ -572582,6 +589478,9 @@ }, "healthInfo": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional information about instance health. Example: healthInfo\": { \"docker_proxy_agent_status\": \"1\", \"docker_status\": \"1\", \"jupyterlab_api_status\": \"-1\", \"jupyterlab_status\": \"-1\", \"updated\": \"2020-10-18 09:40:03.573409\" }" }, "healthState": { @@ -572602,6 +589501,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method." }, "location": { @@ -572684,6 +589586,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method." }, "location": { @@ -574771,6 +591676,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "location": { @@ -574823,6 +591731,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "location": { @@ -575355,6 +592266,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "lifetime": { @@ -575450,6 +592364,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "lifetime": { @@ -575535,6 +592452,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "lifetime": { @@ -575636,6 +592556,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "lifetime": { @@ -575696,6 +592619,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "location": { @@ -575765,6 +592691,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "location": { @@ -576961,6 +593890,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels)." }, "name": { @@ -576992,6 +593924,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels)." }, "project": { @@ -577249,6 +594184,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels)." }, "messageRetentionDuration": { @@ -577360,6 +594298,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels)." }, "messageRetentionDuration": { @@ -577603,6 +594544,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels)." }, "messageRetentionDuration": { @@ -577655,6 +594599,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels)." }, "messageRetentionDuration": { @@ -578687,6 +595634,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -578727,6 +595677,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -578798,6 +595751,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -578883,6 +595839,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "location": { @@ -579005,6 +595964,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/recaptcha-enterprise/docs/labels)." }, "name": { @@ -579061,6 +596023,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/recaptcha-enterprise/docs/labels)." }, "name": { @@ -579441,6 +596406,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata" }, "location": { @@ -579508,6 +596476,9 @@ }, "redisConfigs": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries" }, "redisVersion": { @@ -579647,6 +596618,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata" }, "location": { @@ -579685,6 +596659,9 @@ }, "redisConfigs": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries" }, "redisVersion": { @@ -579936,6 +596913,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata" }, "location": { @@ -580003,6 +596983,9 @@ }, "redisConfigs": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries" }, "redisVersion": { @@ -580142,6 +597125,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata" }, "location": { @@ -580180,6 +597166,9 @@ }, "redisConfigs": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries" }, "redisVersion": { @@ -580664,6 +597653,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2CustomAttributeResponse" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -580909,6 +597902,10 @@ "inputProperties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2CustomAttribute" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -581705,6 +598702,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttributeResponse" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -581950,6 +598951,10 @@ "inputProperties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttribute" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -582735,6 +599740,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttributeResponse" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -582980,6 +599989,10 @@ "inputProperties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttribute" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -584078,6 +601091,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected on new resources. All system annotations in v1 now have a corresponding field in v2 Job. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "binaryAuthorization": { @@ -584136,6 +601152,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Job." }, "lastModifier": { @@ -584227,6 +601246,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected on new resources. All system annotations in v1 now have a corresponding field in v2 Job. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "binaryAuthorization": { @@ -584249,6 +601271,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Job." }, "launchStage": { @@ -584505,6 +601530,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected in new resources. All system annotations in v1 now have a corresponding field in v2 Service. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "binaryAuthorization": { @@ -584569,6 +601597,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Service." }, "lastModifier": { @@ -584700,6 +601731,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected in new resources. All system annotations in v1 now have a corresponding field in v2 Service. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "binaryAuthorization": { @@ -584732,6 +601766,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Service." }, "launchStage": { @@ -585414,6 +602451,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Custom metadata about the secret. Annotations are distinct from various forms of labels. Annotations exist to allow client tools to store their own state information without requiring a database. Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and may have dashes (-), underscores (_), dots (.), and alphanumerics in between these symbols. The total size of annotation keys and values must be less than 16KiB." }, "createTime": { @@ -585430,6 +602470,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\\p{Ll}\\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource." }, "name": { @@ -585469,6 +602512,9 @@ }, "versionAliases": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping from version alias to version name. A version alias is a string with a maximum length of 63 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore ('_') characters. An alias string must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret. Version-Alias pairs will be viewable via GetSecret and modifiable via UpdateSecret. At launch Access by Allias will only be supported on GetSecretVersion and AccessSecretVersion." } }, @@ -585491,6 +602537,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Custom metadata about the secret. Annotations are distinct from various forms of labels. Annotations exist to allow client tools to store their own state information without requiring a database. Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and may have dashes (-), underscores (_), dots (.), and alphanumerics in between these symbols. The total size of annotation keys and values must be less than 16KiB." }, "etag": { @@ -585503,6 +602552,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\\p{Ll}\\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource." }, "project": { @@ -585538,6 +602590,9 @@ }, "versionAliases": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping from version alias to version name. A version alias is a string with a maximum length of 63 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore ('_') characters. An alias string must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret. Version-Alias pairs will be viewable via GetSecret and modifiable via UpdateSecret. At launch Access by Allias will only be supported on GetSecretVersion and AccessSecretVersion." } }, @@ -585768,6 +602823,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\\p{Ll}\\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource." }, "name": { @@ -585801,6 +602859,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\\p{Ll}\\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource." }, "project": { @@ -586534,6 +603595,9 @@ "properties": { "config": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module." }, "description": { @@ -586584,6 +603648,9 @@ "inputProperties": { "config": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module." }, "description": { @@ -587558,6 +604625,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Annotations for the endpoint. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 512 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/) Annotations that fails to meet these requirements are rejected. Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory." }, "endpointId": { @@ -587619,6 +604689,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Annotations for the endpoint. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 512 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/) Annotations that fails to meet these requirements are rejected. Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory." }, "endpointId": { @@ -587666,6 +604739,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels associated with this namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters." }, "location": { @@ -587702,6 +604778,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels associated with this namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters." }, "location": { @@ -588143,6 +605222,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Annotations for the service. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Annotations that fails to meet these requirements are rejected Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory." }, "endpoints": { @@ -588193,6 +605275,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Annotations for the service. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Annotations that fails to meet these requirements are rejected Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory." }, "location": { @@ -588244,6 +605329,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the endpoint. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 512 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory." }, "name": { @@ -588311,6 +605399,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the endpoint. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 512 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory." }, "name": { @@ -588353,6 +605444,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels associated with this namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters." }, "location": { @@ -588395,6 +605489,9 @@ "inputProperties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels associated with this namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters." }, "location": { @@ -589063,6 +606160,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the service. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory." }, "name": { @@ -589111,6 +606211,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the service. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory." }, "name": { @@ -590034,6 +607137,10 @@ }, "pubsubConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:sourcerepo/v1:PubsubConfigResponse" + }, "description": "How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names." }, "size": { @@ -590070,6 +607177,10 @@ }, "pubsubConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:sourcerepo/v1:PubsubConfig" + }, "description": "How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names." }, "size": { @@ -590602,6 +607713,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + \"_\" + value would prove problematic if we were to allow \"_\" in a future release." }, "name": { @@ -590683,6 +607797,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + \"_\" + value would prove problematic if we were to allow \"_\" in a future release." }, "name": { @@ -590935,6 +608052,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + \"_\" + value would prove problematic if we were to allow \"_\" in a future release." }, "leaderOptions": { @@ -591012,6 +608132,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + \"_\" + value would prove problematic if we were to allow \"_\" in a future release." }, "leaderOptions": { @@ -591465,6 +608588,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels." }, "name": { @@ -591502,6 +608628,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels." }, "project": { @@ -591519,6 +608648,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used." }, "customClassId": { @@ -591635,6 +608767,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used." }, "boost": { @@ -593530,6 +610665,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided labels, in key/value pairs." }, "lifecycle": { @@ -593745,6 +610883,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided labels, in key/value pairs." }, "lifecycle": { @@ -594282,6 +611423,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided metadata, in key/value pairs." }, "metageneration": { @@ -594496,6 +611640,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided metadata, in key/value pairs." }, "metageneration": { @@ -595095,6 +612242,9 @@ }, "customAttributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "An optional list of additional attributes to attach to each Cloud PubSub message published for this notification subscription." }, "etag": { @@ -595152,6 +612302,9 @@ }, "customAttributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "An optional list of additional attributes to attach to each Cloud PubSub message published for this notification subscription." }, "etag": { @@ -596486,6 +613639,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "location": { @@ -596594,6 +613750,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "location": { @@ -596669,6 +613828,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "location": { @@ -596781,6 +613943,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "location": { @@ -596868,6 +614033,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "location": { @@ -596876,6 +614044,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script" }, "multisliceNode": { @@ -597010,6 +614181,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "location": { @@ -597018,6 +614192,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script" }, "networkConfig": { @@ -597119,6 +614296,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "location": { @@ -597127,6 +614307,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script" }, "multisliceNode": { @@ -597276,6 +614459,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "location": { @@ -597284,6 +614470,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script" }, "networkConfig": { @@ -597489,6 +614678,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this job. You can use these to organize and group your jobs." }, "location": { @@ -597568,6 +614760,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this job. You can use these to organize and group your jobs." }, "location": { @@ -597619,6 +614814,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this job template. You can use these to organize and group your job templates." }, "location": { @@ -597656,6 +614854,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this job template. You can use these to organize and group your job templates." }, "location": { @@ -598992,6 +616193,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the migrating VM." }, "lastReplicationCycle": { @@ -599123,6 +616327,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the migrating VM." }, "location": { @@ -599189,6 +616396,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the source." }, "location": { @@ -599259,6 +616469,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the source." }, "location": { @@ -600079,6 +617292,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the migrating VM." }, "lastReplicationCycle": { @@ -600224,6 +617440,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the migrating VM." }, "location": { @@ -600301,6 +617520,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the source." }, "location": { @@ -600372,6 +617594,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the source." }, "location": { @@ -600637,6 +617862,10 @@ }, "nodeTypeConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:vmwareengine/v1:NodeTypeConfigResponse" + }, "description": "The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`)." }, "privateCloudId": { @@ -600696,6 +617925,10 @@ }, "nodeTypeConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:vmwareengine/v1:NodeTypeConfig" + }, "description": "The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`)." }, "privateCloudId": { @@ -603479,6 +620712,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this execution. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. By default, labels are inherited from the workflow but are overridden by any labels associated with the execution." }, "location": { @@ -603554,6 +620790,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this execution. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. By default, labels are inherited from the workflow but are overridden by any labels associated with the execution." }, "location": { @@ -603694,6 +620933,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. This is a workflow-wide field and is not tied to a specific revision." }, "location": { @@ -603739,6 +620981,9 @@ }, "userEnvVars": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 40KiB. Keys cannot be empty strings and cannot start with “GOOGLE” or “WORKFLOWS\"." }, "workflowId": { @@ -603782,6 +621027,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. This is a workflow-wide field and is not tied to a specific revision." }, "location": { @@ -603806,6 +621054,9 @@ }, "userEnvVars": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 40KiB. Keys cannot be empty strings and cannot start with “GOOGLE” or “WORKFLOWS\"." }, "workflowId": { @@ -603831,6 +621082,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores and dashes. Label keys must start with a letter. International characters are allowed." }, "location": { @@ -603898,6 +621152,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores and dashes. Label keys must start with a letter. International characters are allowed." }, "location": { @@ -603952,6 +621209,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -604036,6 +621296,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "location": { @@ -604080,6 +621343,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "createTime": { @@ -604096,6 +621362,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the workstation container's entrypoint." }, "etag": { @@ -604108,6 +621377,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -604181,6 +621453,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "displayName": { @@ -604189,6 +621464,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the workstation container's entrypoint." }, "etag": { @@ -604197,6 +621475,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -604236,6 +621517,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "conditions": { @@ -604272,6 +621556,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -604342,6 +621629,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "displayName": { @@ -604354,6 +621644,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -604870,6 +622163,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "conditions": { @@ -604921,6 +622217,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -605014,6 +622313,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "container": { @@ -605045,6 +622347,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -605106,6 +622411,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "createTime": { @@ -605122,6 +622430,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the workstation container's entrypoint." }, "etag": { @@ -605134,6 +622445,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -605207,6 +622521,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "displayName": { @@ -605215,6 +622532,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the workstation container's entrypoint." }, "etag": { @@ -605223,6 +622543,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -605262,6 +622585,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "conditions": { @@ -605303,6 +622629,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -605374,6 +622703,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "displayName": { @@ -605391,6 +622723,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -605907,6 +623242,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "conditions": { @@ -605974,6 +623312,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -606070,6 +623411,9 @@ "inputProperties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "container": { @@ -606117,6 +623461,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources." }, "location": { @@ -606680,10 +624027,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -606807,6 +624160,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "manualBatchTuningParameters": { @@ -606951,10 +624307,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -607048,6 +624410,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "name": { @@ -607068,6 +624433,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if job_spec.enable_web_access is `true`. The keys are names of each node in the training job; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -607117,6 +624485,9 @@ }, "annotationLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "createTime": { @@ -607171,6 +624542,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your DataLabelingJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each DataLabelingJob: * \"aiplatform.googleapis.com/schema\": output only, its value is the inputs_schema's title." }, "name": { @@ -607268,6 +624642,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Dataset: * \"aiplatform.googleapis.com/dataset_metadata_schema\": output only, its value is the metadata_schema's title." }, "metadata": { @@ -607479,6 +624856,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "modelDeploymentMonitoringJob": { @@ -607500,6 +624880,9 @@ }, "trafficSplit": { "type": "object", + "additionalProperties": { + "type": "integer" + }, "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment." }, "updateTime": { @@ -607566,6 +624949,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "monitoringConfig": { @@ -607643,10 +625029,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -607730,6 +625122,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title." }, "name": { @@ -607799,6 +625194,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -607866,6 +625264,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "monitoringStatsAnomalies": { @@ -607945,6 +625346,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -608020,6 +625424,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "monitoringStatsAnomalies": { @@ -608108,6 +625515,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -608174,6 +625584,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -608362,6 +625775,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize HyperparameterTuningJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "maxFailedTrialCount": { @@ -608494,6 +625910,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "metadata": { @@ -608589,6 +626008,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "name": { @@ -608820,6 +626242,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "latestMonitoringPipelineMetadata": { @@ -608966,6 +626391,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "name": { @@ -609072,6 +626500,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "machineSpec": { @@ -609222,6 +626653,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "name": { @@ -609234,6 +626668,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "reservedIpRanges": { @@ -609350,6 +626787,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -609672,6 +627112,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -609845,6 +627288,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize TrainingPipelines. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "modelId": { @@ -609988,6 +627434,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -610051,10 +627500,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -610178,6 +627633,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize BatchPredictionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "manualBatchTuningParameters": { @@ -610343,10 +627801,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -610440,6 +627904,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize CustomJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "name": { @@ -610460,6 +627927,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if job_spec.enable_web_access is `true`. The keys are names of each node in the training job; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -610509,6 +627979,9 @@ }, "annotationLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to assign to annotations generated by this DataLabelingJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "createTime": { @@ -610563,6 +628036,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your DataLabelingJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each DataLabelingJob: * \"aiplatform.googleapis.com/schema\": output only, its value is the inputs_schema's title." }, "name": { @@ -610660,6 +628136,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Datasets. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for each Dataset: * \"aiplatform.googleapis.com/dataset_metadata_schema\": output only, its value is the metadata_schema's title." }, "metadata": { @@ -610871,6 +628350,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "modelDeploymentMonitoringJob": { @@ -610892,6 +628374,9 @@ }, "trafficSplit": { "type": "object", + "additionalProperties": { + "type": "integer" + }, "description": "A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment." }, "updateTime": { @@ -611008,6 +628493,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your EntityTypes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one EntityType (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "monitoringConfig": { @@ -611085,10 +628573,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded)." }, "metadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB." }, "name": { @@ -611172,6 +628666,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardExperiment. Label keys and values cannot be longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Dataset (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `aiplatform.googleapis.com/` and are immutable. The following system labels exist for each Dataset: * `aiplatform.googleapis.com/dataset_metadata_schema`: output only. Its value is the metadata_schema's title." }, "name": { @@ -611241,6 +628738,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureGroup. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureGroup(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -611308,6 +628808,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "monitoringConfig": { @@ -611413,6 +628916,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureOnlineStore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -611496,6 +629002,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "monitoringConfig": { @@ -611600,6 +629109,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your FeatureViews. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureOnlineStore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -611672,6 +629184,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize your Featurestore. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Featurestore(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -611857,6 +629372,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize HyperparameterTuningJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "maxFailedTrialCount": { @@ -611989,6 +629507,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Indexes. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "metadata": { @@ -612084,6 +629605,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your IndexEndpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "name": { @@ -612315,6 +629839,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "latestMonitoringPipelineMetadata": { @@ -612511,6 +630038,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize NasJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "name": { @@ -612617,6 +630147,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize the NotebookRuntimeTemplates. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "machineSpec": { @@ -612758,6 +630291,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels with user-defined metadata to organize PersistentResource. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "name": { @@ -612876,6 +630412,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided." }, "name": { @@ -612888,6 +630427,9 @@ }, "pipelineSpec": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The spec of the pipeline." }, "reservedIpRanges": { @@ -613004,6 +630546,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your TensorboardRuns. This field will be used to filter and visualize Runs in the Tensorboard UI. For example, a Vertex AI training job can set a label aiplatform.googleapis.com/training_job_id=xxxxx to all the runs created within that job. An end user can set a label experiment_id=xxxxx for all the runs produced in a Jupyter notebook. These runs can be grouped by a label value and visualized together in the Tensorboard UI. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one TensorboardRun (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -613326,6 +630871,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize your Tensorboards. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Tensorboard (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable." }, "name": { @@ -613499,6 +631047,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels with user-defined metadata to organize TrainingPipelines. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels." }, "modelId": { @@ -613642,6 +631193,9 @@ }, "webAccessUris": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "URIs for accessing [interactive shells](https://cloud.google.com/vertex-ai/docs/training/monitor-debug-interactive-shell) (one URI for each training node). Only available if this trial is part of a HyperparameterTuningJob and the job's trial_job_spec.enable_web_access field is `true`. The keys are names of each node used for the trial; for example, `workerpool0-0` for the primary node, `workerpool1-0` for the first node in the second worker pool, and `workerpool1-1` for the second node in the second worker pool. The values are the URIs for each node's interactive shell." } }, @@ -613685,6 +631239,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "clusterName": { @@ -613740,6 +631297,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "name": { @@ -613824,6 +631384,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "automatedBackupPolicy": { @@ -613887,6 +631450,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "migrationSource": { @@ -614001,6 +631567,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "availabilityType": { @@ -614018,6 +631587,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value." }, "deleteTime": { @@ -614046,6 +631618,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "machineConfig": { @@ -614203,6 +631778,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "clusterName": { @@ -614258,6 +631836,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "name": { @@ -614347,6 +631928,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "automatedBackupPolicy": { @@ -614410,6 +631994,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "migrationSource": { @@ -614535,6 +632122,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "availabilityType": { @@ -614552,6 +632142,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value." }, "deleteTime": { @@ -614580,6 +632173,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "machineConfig": { @@ -614748,6 +632344,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "clusterName": { @@ -614803,6 +632402,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "name": { @@ -614887,6 +632489,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "automatedBackupPolicy": { @@ -614950,6 +632555,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "migrationSource": { @@ -615064,6 +632672,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations to allow client tools to store small amount of arbitrary data. This is distinct from labels. https://google.aip.dev/128" }, "availabilityType": { @@ -615081,6 +632692,9 @@ }, "databaseFlags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value." }, "deleteTime": { @@ -615109,6 +632723,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "machineConfig": { @@ -615908,6 +633525,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "managedService": { @@ -616112,6 +633732,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "managedServiceConfigs": { @@ -616203,6 +633826,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "name": { @@ -616322,6 +633948,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "managedService": { @@ -616531,6 +634160,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "managedServiceConfigs": { @@ -616623,6 +634255,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "name": { @@ -616784,6 +634419,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels applied to this API Proxy." }, "latestRevisionId": { @@ -617316,6 +634954,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize ArchiveDeployments. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -619480,7 +637121,10 @@ "extensions": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Application specific response metadata. Must be set in the first response for streaming APIs." } @@ -619970,6 +637614,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "availability": { @@ -619990,6 +637637,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores, and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "name": { @@ -620450,6 +638100,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "contents": { @@ -620466,6 +638119,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed." }, "mimeType": { @@ -620581,6 +638237,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "apiSpecRevision": { @@ -620613,6 +638272,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "name": { @@ -620683,6 +638345,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "contents": { @@ -620699,6 +638364,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed." }, "mimeType": { @@ -620971,6 +638639,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "contents": { @@ -620995,6 +638666,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "mimeType": { @@ -621073,6 +638747,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "createTime": { @@ -621089,6 +638766,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed." }, "name": { @@ -621154,6 +638834,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts." }, "contents": { @@ -621170,6 +638853,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"registry.googleapis.com/\" and cannot be changed." }, "mimeType": { @@ -621227,6 +638913,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects." }, "createTime": { @@ -621343,6 +639032,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest" }, "iap": { @@ -621599,10 +639291,16 @@ }, "betaSettings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata settings that are supplied to this version to enable beta runtime features." }, "buildEnvVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the build environment.Only returned in GET requests if view=FULL is set." }, "createTime": { @@ -621642,6 +639340,9 @@ }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set." }, "errorHandlers": { @@ -621659,6 +639360,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest" }, "handlers": { @@ -622004,6 +639708,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest" }, "iap": { @@ -622263,10 +639970,16 @@ }, "betaSettings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata settings that are supplied to this version to enable beta runtime features." }, "buildEnvVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the build environment.Only returned in GET requests if view=FULL is set." }, "createTime": { @@ -622306,6 +640019,9 @@ }, "envVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables available to the application.Only returned in GET requests if view=FULL is set." }, "errorHandlers": { @@ -622323,6 +640039,9 @@ }, "generatedCustomerMetadata": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest" }, "handlers": { @@ -622510,6 +640229,10 @@ "properties": { "cleanupPolicies": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:artifactregistry/v1:CleanupPolicyResponse" + }, "description": "Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length." }, "cleanupPolicyDryRun": { @@ -622539,6 +640262,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes." }, "mavenConfig": { @@ -622734,6 +640460,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes." }, "name": { @@ -622903,6 +640632,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes." }, "mavenConfig": { @@ -623114,6 +640846,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels applied to the workload." }, "name": { @@ -623285,6 +641020,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels applied to the workload." }, "name": { @@ -623456,6 +641194,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata. Labels currently defined: 1. migrate_from_go= If set to true, the MS is created in migration ready mode." }, "managementUri": { @@ -623611,6 +641352,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "name": { @@ -623862,6 +641606,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for the Job. Labels could be user provided or system generated. For example, \"labels\": { \"department\": \"finance\", \"environment\": \"test\" } You can assign up to 64 labels. [Google Compute Engine label restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) apply. Label names that start with \"goog-\" or \"google-\" are reserved." }, "logsPolicy": { @@ -623972,6 +641719,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -624102,6 +641852,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -624248,6 +642001,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -624693,6 +642449,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -624823,6 +642582,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -624969,6 +642731,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -625402,6 +643167,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -625532,6 +643300,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -626355,6 +644126,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See Creating and Updating Dataset Labels for more information." }, "lastModifiedTime": { @@ -626713,6 +644487,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this table. You can use these to organize and group your tables. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key." }, "lastModifiedTime": { @@ -626796,6 +644573,9 @@ }, "resourceTags": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "[Optional] The tags associated with this table. Tag keys are globally unique. See additional information on [tags](https://cloud.google.com/iam/docs/tags-access-control#definitions). An object containing a list of \"key\": value pairs. The key is the namespaced friendly name of the tag key, e.g. \"12345/environment\" where 12345 is parent id. The value is the friendly short name of the tag value, e.g. \"production\"." }, "schema": { @@ -627251,6 +645031,9 @@ }, "params": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq" }, "schedule": { @@ -627831,6 +645614,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\\p{Ll}\\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes." }, "name": { @@ -628062,10 +645848,18 @@ }, "clusterStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:ClusterStateResponse" + }, "description": "Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL`" }, "columnFamilies": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:bigtableadmin/v2:ColumnFamilyResponse" + }, "description": "The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`" }, "deletionProtection": { @@ -628609,6 +646403,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided key-value pairs." }, "name": { @@ -628678,6 +646475,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a Certificate." }, "managed": { @@ -628771,6 +646571,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a CertificateIssuanceConfig." }, "lifetime": { @@ -628844,6 +646647,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a Certificate Map." }, "name": { @@ -628913,6 +646719,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a Certificate Map Entry." }, "matcher": { @@ -628987,6 +646796,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a DnsAuthorization." }, "name": { @@ -629046,6 +646858,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with a TrustConfig." }, "name": { @@ -629194,6 +647009,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels applied on the resource. This value should not contain more than 10 entries. The key and value of each entry must be non-empty and fewer than 64 characters." }, "lastUpdateTime": { @@ -629551,6 +647369,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions data for `Build` resource." }, "tags": { @@ -629566,6 +647387,10 @@ }, "timing": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:cloudbuild/v1:TimeSpanResponse" + }, "description": "Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included." }, "warnings": { @@ -629890,6 +647715,9 @@ }, "substitutions": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Substitutions for Build resource. The keys must match the following regular expression: `^_[A-Z0-9_]+$`." }, "tags": { @@ -629965,6 +647793,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "createTime": { @@ -630188,6 +648019,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "createTime": { @@ -630273,6 +648107,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows clients to store small amounts of arbitrary data." }, "createTime": { @@ -630423,6 +648260,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows clients to store small amounts of arbitrary data." }, "createTime": { @@ -630851,6 +648691,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints: * Annotations are key/value pairs. * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). * The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. * The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots(`.`), not longer than 253 characters in total, followed by a slash (`/`). See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details." }, "createTime": { @@ -630867,6 +648710,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 63 characters." }, "name": { @@ -630944,6 +648790,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy." }, "condition": { @@ -630965,6 +648814,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "name": { @@ -631096,6 +648948,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "buildArtifacts": { @@ -631122,6 +648977,9 @@ }, "deployParameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The deploy parameters to use for all targets in this release." }, "description": { @@ -631134,6 +648992,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "name": { @@ -631166,10 +649027,18 @@ }, "targetArtifacts": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:clouddeploy/v1:TargetArtifactResponse" + }, "description": "Map from target ID to the target artifacts created during the render operation." }, "targetRenders": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:clouddeploy/v1:TargetRenderResponse" + }, "description": "Map from target ID to details of the render operation for that target." }, "targetSnapshots": { @@ -631243,6 +649112,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "approvalState": { @@ -631295,6 +649167,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "metadata": { @@ -631389,6 +649264,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations." }, "anthosCluster": { @@ -631402,6 +649280,9 @@ }, "deployParameters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The deploy parameters to use for this target." }, "description": { @@ -631427,6 +649308,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints: * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. * All characters must use UTF-8 encoding, and international characters are allowed. * Keys must start with a lowercase letter or international character. * Each resource is limited to a maximum of 64 labels. Both keys and values are additionally constrained to be \u003c= 128 bytes." }, "multiTarget": { @@ -631571,6 +649455,9 @@ }, "buildEnvironmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Build environment variables that shall be available during build time." }, "buildId": { @@ -631603,6 +649490,9 @@ }, "environmentVariables": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Environment variables that shall be available during function execution." }, "eventTrigger": { @@ -631625,6 +649515,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "maxInstances": { @@ -631853,6 +649746,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "name": { @@ -632012,6 +649908,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "name": { @@ -632171,6 +650070,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this Cloud Function." }, "name": { @@ -632512,6 +650414,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value." }, "name": { @@ -632960,6 +650865,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value." }, "name": { @@ -633267,6 +651175,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The metadata key-value pairs assigned to the device. This metadata is not interpreted or indexed by Cloud IoT Core. It can be used to add contextual information for the device. Keys must conform to the regular expression a-zA-Z+ and be less than 128 bytes in length. Values are free-form strings. Each value must be less than or equal to 32 KB in size. The total size of all keys and values must be less than 256 KB, and the maximum number of key-value pairs is 500." }, "name": { @@ -633520,6 +651431,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels with user-defined metadata. For more information, see [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys)." }, "name": { @@ -634287,6 +652201,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: a-z{0,62}. Label values must be between 0 and 63 characters long and must conform to the regular expression [a-z0-9_-]{0,63}. A label value can be empty. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: \"environment\" : \"dev\" Read-write." }, "lifecycleState": { @@ -634439,6 +652356,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: a-z{0,62}. Label values must be between 0 and 63 characters long and must conform to the regular expression [a-z0-9_-]{0,63}. A label value can be empty. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `\"environment\" : \"dev\"` Read-write." }, "lifecycleState": { @@ -634957,6 +652877,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels associated with this project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\\[a-z\\](\\[-a-z0-9\\]*\\[a-z0-9\\])?)?. No more than 64 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: `\"myBusinessDimension\" : \"businessValue\"`" }, "name": { @@ -635086,6 +653009,9 @@ }, "purposeData": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Purpose data corresponds to the policy system that the tag is intended for. See documentation for `Purpose` for formatting of this field. Purpose data cannot be changed once set." }, "shortName": { @@ -636630,6 +654556,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size." }, "name": { @@ -636705,6 +654634,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for this environment. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size." }, "name": { @@ -636803,6 +654735,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -636931,6 +654866,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -637277,6 +655216,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -637511,6 +655453,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -637557,6 +655503,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -637919,6 +655868,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -638354,6 +656306,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -638652,6 +656607,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -638811,6 +656769,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -638964,6 +656925,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -639582,6 +657546,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this image. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -639906,6 +657873,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "lastStartTimestamp": { @@ -639956,6 +657926,10 @@ }, "partnerMetadata": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:StructuredEntriesResponse" + }, "description": "Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map." }, "postKeyRevocationActionType": { @@ -640021,6 +657995,10 @@ }, "serviceIntegrationSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ServiceIntegrationSpecResponse" + }, "description": "Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported." }, "shieldedInstanceConfig": { @@ -640808,6 +658786,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -641029,6 +659010,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "linkType": { @@ -641254,6 +659238,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "mtu": { @@ -642296,6 +660283,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -642832,6 +660822,9 @@ }, "nodeAffinityLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to use for node affinity, which will be used in instance scheduling." }, "nodeType": { @@ -643023,6 +661016,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -643461,6 +661457,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -643659,6 +661659,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -644051,6 +662054,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/alpha:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -644097,6 +662104,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -645002,6 +663012,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -645161,6 +663174,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -645602,6 +663618,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -645760,6 +663779,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "licenseCodes": { @@ -646679,6 +664701,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "resourceStatus": { @@ -647340,6 +665365,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -647709,6 +665737,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "licenseCodes": { @@ -648183,6 +666214,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this storage pool. These can be later modified by the setLabels method." }, "name": { @@ -649255,6 +667289,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -649461,6 +667498,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -649557,6 +667597,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "localTrafficSelector": { @@ -649800,6 +667843,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -649923,6 +667969,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -650259,6 +668309,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -650479,6 +668532,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -650525,6 +668582,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -650876,6 +668936,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -651297,6 +669360,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -651589,6 +669655,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -651739,6 +669808,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -651886,6 +669958,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -652446,6 +670521,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this image. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -652762,6 +670840,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "lastStartTimestamp": { @@ -653597,6 +671678,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -653817,6 +671901,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "linkType": { @@ -654037,6 +672124,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "mtu": { @@ -654863,6 +672953,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -655374,6 +673467,9 @@ }, "nodeAffinityLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to use for node affinity, which will be used in instance scheduling." }, "nodeType": { @@ -655556,6 +673652,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -655968,6 +674067,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -656161,6 +674264,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -656520,6 +674626,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/beta:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -656566,6 +674676,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -657415,6 +675528,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty." }, "name": { @@ -657573,6 +675689,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -657990,6 +676109,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -658730,6 +676852,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "resourceStatus": { @@ -659336,6 +677461,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -659699,6 +677827,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "licenseCodes": { @@ -660967,6 +679098,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -661173,6 +679307,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -661269,6 +679406,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "localTrafficSelector": { @@ -661426,6 +679566,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -661549,6 +679692,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -661881,6 +680028,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -662095,6 +680245,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -662128,6 +680282,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -662442,6 +680599,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -662853,6 +681013,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -663031,6 +681194,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -663177,6 +681343,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "loadBalancingScheme": { @@ -663323,6 +681492,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -663866,6 +682038,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this image. These can be later modified by the setLabels method." }, "licenseCodes": { @@ -664158,6 +682333,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "lastStartTimestamp": { @@ -664881,6 +683059,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "linkType": { @@ -665101,6 +683282,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "mtu": { @@ -665927,6 +684111,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -666420,6 +684607,9 @@ }, "nodeAffinityLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to use for node affinity, which will be used in instance scheduling." }, "nodeType": { @@ -666876,6 +685066,10 @@ }, "scalingScheduleStatus": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:ScalingScheduleStatusResponse" + }, "description": "Status information of existing scaling schedules." }, "selfLink": { @@ -667065,6 +685259,9 @@ }, "metadatas": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH" }, "name": { @@ -667418,6 +685615,10 @@ }, "asyncSecondaryDisks": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:compute/v1:DiskAsyncReplicationListResponse" + }, "description": "A list of disks this disk is asynchronously replicated to." }, "creationTimestamp": { @@ -667451,6 +685652,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this disk. These can be later modified by the setLabels method." }, "lastAttachTimestamp": { @@ -668195,6 +686399,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Metadata defined as annotations on the network endpoint group." }, "appEngine": { @@ -668587,6 +686794,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -669262,6 +687472,9 @@ }, "resourcePolicies": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation." }, "resourceStatus": { @@ -669848,6 +688061,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -670180,6 +688396,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this snapshot. These can be later modified by the setLabels method. Label values may be empty." }, "licenseCodes": { @@ -671384,6 +689603,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -671580,6 +689802,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "name": { @@ -671675,6 +689900,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty." }, "localTrafficSelector": { @@ -671875,6 +690103,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "lockConfig": { @@ -672054,6 +690285,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "logo": { @@ -672124,6 +690358,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "name": { @@ -672193,6 +690430,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "name": { @@ -672332,6 +690572,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "name": { @@ -672455,6 +690698,9 @@ "properties": { "fields": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field." }, "name": { @@ -672523,6 +690769,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "name": { @@ -672675,6 +690924,10 @@ }, "dialogflowIntents": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:contactcenterinsights/v1:GoogleCloudContactcenterinsightsV1DialogflowIntentResponse" + }, "description": "All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent}" }, "duration": { @@ -672687,6 +690940,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map for the user to specify any custom fields. A maximum of 20 labels per conversation is allowed, with a maximum of 256 characters per entry." }, "languageCode": { @@ -673307,6 +691563,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the cluster to use to annotate any related Google Compute Engine resources." }, "resourceUsageExportConfig": { @@ -674025,6 +692284,9 @@ }, "resourceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for the cluster to use to annotate any related Google Compute Engine resources." }, "resourceUsageExportConfig": { @@ -674410,6 +692672,10 @@ }, "windowsVersionMaps": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:container/v1beta1:WindowsVersionsResponse" + }, "description": "Maps of Kubernetes version and supported Windows server versions." } }, @@ -676033,6 +694299,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Cloud labels attached to the entry. In Data Catalog, you can create and modify labels attached only to custom entries. Synced entries have unmodifiable labels that come from the source system." }, "linkedResource": { @@ -676322,6 +694591,10 @@ }, "fields": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1:GoogleCloudDatacatalogV1TagTemplateFieldResponse" + }, "description": "Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore." }, "isPubliclyReadable": { @@ -676850,6 +695123,10 @@ }, "fields": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:datacatalog/v1beta1:GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse" + }, "description": "Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore." }, "name": { @@ -677141,6 +695418,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for this job. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size." }, "location": { @@ -677218,6 +695498,9 @@ }, "transformNameMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job." }, "type": { @@ -677542,6 +695825,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Repository user labels." }, "name": { @@ -677957,6 +696243,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels." }, "name": { @@ -677970,6 +696259,9 @@ }, "options": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of additional options used to configure the behavior of Data Fusion instance." }, "p4ServiceAccount": { @@ -678229,6 +696521,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for instance to use to annotate any related underlying resources such as Compute Engine VMs. The character '=' is not allowed to be used within the labels." }, "name": { @@ -678242,6 +696537,9 @@ }, "options": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Map of additional options used to configure the behavior of Data Fusion instance." }, "p4ServiceAccount": { @@ -678894,6 +697192,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed." }, "displayName": { @@ -678947,6 +697248,9 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed." }, "displayName": { @@ -679028,6 +697332,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "mysql": { @@ -679176,6 +697483,9 @@ }, "globalSettings": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A generic list of settings for the workspace. The settings are database pair dependant and can indicate default behavior for the mapping rules engine or turn on or off specific features. Such examples can be: convert_foreign_key_to_interleave=true, skip_triggers=false, ignore_non_table_synonyms=true" }, "hasUncommittedChanges": { @@ -679493,6 +697803,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "name": { @@ -679670,6 +697983,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for private connections to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "name": { @@ -679804,6 +698120,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for connection profile to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "mysql": { @@ -679960,6 +698279,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`." }, "name": { @@ -680134,6 +698456,9 @@ }, "pipelineSources": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Immutable. The sources of the pipeline (for example, Dataplex). The keys and values are set by the corresponding sources during pipeline creation." }, "scheduleInfo": { @@ -680288,6 +698613,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the asset." }, "name": { @@ -680393,6 +698721,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the DataAttribute." }, "name": { @@ -680477,6 +698808,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the content." }, "name": { @@ -680564,6 +698898,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the content." }, "name": { @@ -680655,6 +698992,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the DataAttributeBinding." }, "name": { @@ -680831,6 +699171,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the scan." }, "name": { @@ -680982,6 +699325,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the DataTaxonomy." }, "name": { @@ -681430,6 +699776,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the environment." }, "name": { @@ -681576,6 +699925,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the lake." }, "metastore": { @@ -682180,6 +700532,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined labels for the task." }, "name": { @@ -682282,6 +700637,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User defined labels for the zone." }, "name": { @@ -682355,6 +700713,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this autoscaling policy. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with an autoscaling policy." }, "name": { @@ -682466,6 +700827,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this batch. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a batch." }, "name": { @@ -682590,6 +700954,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "metrics": { @@ -682694,6 +701061,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job." }, "pigJob": { @@ -682823,6 +701193,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Node group labels. Label keys must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty. If specified, they must consist of from 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). The node group must have no more than 32 labelsn." }, "name": { @@ -683128,6 +701501,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with the session. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session." }, "name": { @@ -683243,6 +701619,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to associate with sessions created using this template. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values can be empty, but, if present, must contain 1 to 63 characters and conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session." }, "name": { @@ -683326,6 +701705,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance.Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be associated with a template." }, "name": { @@ -683553,6 +701935,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this cluster. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "metrics": { @@ -683641,6 +702026,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this job. Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a job." }, "pigJob": { @@ -684032,6 +702420,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this template. These labels will be propagated to all jobs and clusters created by the workflow instance.Label keys must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).Label values may be empty, but, if present, must contain 1 to 63 characters, and must conform to RFC 1035 (https://www.ietf.org/rfc/rfc1035.txt).No more than 32 labels can be associated with a template." }, "name": { @@ -684229,6 +702620,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "mysqlProfile": { @@ -684320,6 +702714,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "name": { @@ -684397,6 +702794,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "name": { @@ -684479,6 +702879,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "lastRecoveryTime": { @@ -684563,6 +702966,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "mysqlProfile": { @@ -684653,6 +703059,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "name": { @@ -684730,6 +703139,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "name": { @@ -684812,6 +703224,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels." }, "name": { @@ -685655,6 +704070,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." } }, @@ -686032,6 +704450,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the document. The metadata supports arbitrary key-value pairs. Suggested use cases include storing a document's title, an external URL distinct from the document's content_uri, etc. The max size of a `key` or a `value` of the metadata is 1024 bytes." }, "mimeType": { @@ -686494,6 +704915,9 @@ "properties": { "documentsMetadataFilters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```" }, "name": { @@ -686679,6 +705103,9 @@ }, "parameters": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value." } }, @@ -686921,6 +705348,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the document. The metadata supports arbitrary key-value pairs. Suggested use cases include storing a document's title, an external URL distinct from the document's content_uri, etc. The max size of a `key` or a `value` of the metadata is 1024 bytes." }, "mimeType": { @@ -687326,6 +705756,9 @@ "properties": { "documentsMetadataFilters": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have 'US' or 'CA' in their market metadata values and 'agent' in their user metadata values will be ``` documents_metadata_filters { key: \"market\" value: \"US,CA\" } documents_metadata_filters { key: \"user\" value: \"agent\" } ```" }, "name": { @@ -688001,6 +706434,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys.contextual\" means the intent is a contextual intent." }, "name": { @@ -689096,6 +707532,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix \"sys-\" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. \"sys-head\" means the intent is a head intent. \"sys-contextual\" means the intent is a contextual intent." }, "name": { @@ -689833,6 +708272,9 @@ }, "derivedStructData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "This field is OUTPUT_ONLY. It contains derived data that are not in the original input document." }, "jsonData": { @@ -689853,6 +708295,9 @@ }, "structData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown." } }, @@ -690028,6 +708473,9 @@ }, "structSchema": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured representation of the schema." } }, @@ -690151,6 +708599,9 @@ }, "derivedStructData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "This field is OUTPUT_ONLY. It contains derived data that are not in the original input document." }, "jsonData": { @@ -690171,6 +708622,9 @@ }, "structData": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown." } }, @@ -690226,6 +708680,9 @@ }, "structSchema": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "The structured representation of the schema." } }, @@ -691115,6 +709572,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "name": { @@ -691410,6 +709870,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "networks": { @@ -691612,6 +710075,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "name": { @@ -691907,6 +710373,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User labels." }, "networks": { @@ -692196,6 +710665,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with the `Registration`." }, "managementSettings": { @@ -692364,6 +710836,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with the `Registration`." }, "managementSettings": { @@ -692532,6 +711007,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of labels associated with the `Registration`." }, "managementSettings": { @@ -693097,6 +711575,10 @@ }, "conditions": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:eventarc/v1:StateConditionResponse" + }, "description": "The reason(s) why a trigger is in FAILED state." }, "createTime": { @@ -693126,6 +711608,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User labels attached to the triggers that can be used to group resources." }, "name": { @@ -693264,6 +711749,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User labels attached to the triggers that can be used to group resources." }, "matchingCriteria": { @@ -693409,6 +711897,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "name": { @@ -693511,6 +712002,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "name": { @@ -693612,6 +712106,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "name": { @@ -693678,6 +712175,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "name": { @@ -693793,6 +712293,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "maxCapacityGb": { @@ -693921,6 +712424,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "mountName": { @@ -693998,6 +712504,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata." }, "name": { @@ -694481,6 +712990,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Text labels used for extra metadata and/or filtering." }, "name": { @@ -694547,6 +713059,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations you can add to leave both human- and machine-readable metadata about your `CustomDomain`." }, "cert": { @@ -694588,6 +713103,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels used for extra metadata and/or filtering." }, "name": { @@ -694789,6 +713307,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-specified labels for the Hosting site." }, "name": { @@ -694870,6 +713391,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels used for extra metadata and/or filtering." }, "name": { @@ -695683,6 +714207,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A set of custom labels supplied by user." }, "manual": { @@ -695830,6 +714357,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A set of custom labels supplied by user." }, "name": { @@ -696123,6 +714653,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A set of custom labels supplied by user." }, "name": { @@ -696233,6 +714766,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A set of custom labels supplied by user." }, "name": { @@ -696503,6 +715039,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this MembershipBinding." }, "name": { @@ -696577,14 +715116,25 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Feature." }, "membershipSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:MembershipFeatureSpecResponse" + }, "description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "membershipStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:MembershipFeatureStateResponse" + }, "description": "Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number." }, "name": { @@ -696598,10 +715148,18 @@ }, "scopeSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ScopeFeatureSpecResponse" + }, "description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "scopeStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1:ScopeFeatureStateResponse" + }, "description": "Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project." }, "spec": { @@ -696737,6 +715295,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Fleet." }, "name": { @@ -696821,6 +715382,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "lastConnectionTime": { @@ -696963,6 +715527,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Namespace." }, "name": { @@ -696971,6 +715538,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant." }, "scope": { @@ -697045,6 +715615,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "name": { @@ -697121,6 +715694,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Scope." }, "name": { @@ -697129,6 +715705,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant." }, "state": { @@ -697271,6 +715850,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "lastConnectionTime": { @@ -697414,6 +715996,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this MembershipBinding." }, "name": { @@ -697488,14 +716073,25 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Feature." }, "membershipSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipFeatureSpecResponse" + }, "description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "membershipStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:MembershipFeatureStateResponse" + }, "description": "Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number." }, "name": { @@ -697509,10 +716105,18 @@ }, "scopeSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ScopeFeatureSpecResponse" + }, "description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "scopeStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1alpha:ScopeFeatureStateResponse" + }, "description": "Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project." }, "spec": { @@ -697648,6 +716252,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Fleet." }, "name": { @@ -697732,6 +716339,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "lastConnectionTime": { @@ -697878,6 +716488,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "name": { @@ -697958,6 +716571,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Namespace." }, "name": { @@ -697966,6 +716582,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant." }, "scope": { @@ -698032,6 +716651,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Scope." }, "name": { @@ -698040,6 +716662,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant." }, "state": { @@ -698168,6 +716793,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "name": { @@ -698266,6 +716894,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. GCP labels for this membership." }, "lastConnectionTime": { @@ -698409,6 +717040,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this MembershipBinding." }, "name": { @@ -698483,14 +717117,25 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels for this Feature." }, "membershipSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:MembershipFeatureSpecResponse" + }, "description": "Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "membershipStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:MembershipFeatureStateResponse" + }, "description": "Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number." }, "name": { @@ -698504,10 +717149,18 @@ }, "scopeSpecs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ScopeFeatureSpecResponse" + }, "description": "Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature." }, "scopeStates": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:gkehub/v1beta:ScopeFeatureStateResponse" + }, "description": "Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project." }, "spec": { @@ -698643,6 +717296,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Fleet." }, "name": { @@ -698727,6 +717383,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this membership." }, "lastConnectionTime": { @@ -698873,6 +717532,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "name": { @@ -698953,6 +717615,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Namespace." }, "name": { @@ -698961,6 +717626,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Namespace-level cluster namespace labels. These labels are applied to the related namespace of the member clusters bound to the parent Scope. Scope-level labels (`namespace_labels` in the Fleet Scope resource) take precedence over Namespace-level labels if they share a key. Keys and values must be Kubernetes-conformant." }, "scope": { @@ -699027,6 +717695,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this Scope." }, "name": { @@ -699035,6 +717706,9 @@ }, "namespaceLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Scope-level cluster namespace labels. For the member clusters bound to the Scope, these labels are applied to each namespace under the Scope. Scope-level labels take precedence over Namespace-level labels (`namespace_labels` in the Fleet Namespace resource) if they share a key. Keys and values must be Kubernetes-conformant." }, "state": { @@ -699163,6 +717837,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels for this RBACRolebinding." }, "name": { @@ -699234,6 +717911,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the bare metal admin cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "bareMetalVersion": { @@ -699484,6 +718164,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the bare metal user cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "bareMetalVersion": { @@ -699792,6 +718475,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the bare metal node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "createTime": { @@ -699949,6 +718635,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the VMware user cluster. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "antiAffinityGroups": { @@ -700248,6 +718937,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Annotations on the node pool. This field has the same restrictions as Kubernetes annotations. The total size of all keys and values combined is limited to 256k. Key can have 2 segments: prefix (optional) and name (required), separated by a slash (/). Prefix must be a DNS subdomain. Name must be 63 characters or less, begin and end with alphanumerics, with dashes (-), underscores (_), dots (.), and alphanumerics between." }, "config": { @@ -700437,6 +719129,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent." }, "name": { @@ -700536,6 +719231,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the Consent artifact. For example, the consent locale or user agent version." }, "name": { @@ -700606,6 +719304,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize consent stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}. Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}. No more than 64 labels can be associated with a given store. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources" }, "name": { @@ -700999,6 +719700,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -701073,7 +719777,10 @@ "extensions": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Application specific response metadata. Must be set in the first response for streaming APIs." } @@ -701134,6 +719841,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize FHIR stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -701217,6 +719927,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -701294,6 +720007,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "messageType": { @@ -701453,6 +720169,9 @@ }, "customData": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional information for this annotation record, such as annotator and verifier information or study campaign." }, "imageAnnotation": { @@ -701514,6 +720233,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize Annotation stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -701640,6 +720362,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent." }, "name": { @@ -701739,6 +720464,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata associated with the Consent artifact. For example, the consent locale or user agent version." }, "name": { @@ -701809,6 +720537,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-supplied key-value pairs used to organize consent stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62}. Label values must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}. No more than 64 labels can be associated with a given store. For more information: https://cloud.google.com/healthcare/docs/how-tos/labeling-resources" }, "name": { @@ -702265,6 +720996,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -702339,7 +721073,10 @@ "extensions": { "type": "array", "items": { - "type": "object" + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } }, "description": "Application specific response metadata. Must be set in the first response for streaming APIs." } @@ -702405,6 +721142,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize FHIR stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -702495,6 +721235,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "name": { @@ -702578,6 +721321,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \\p{Ll}\\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} No more than 64 labels can be associated with a given store." }, "messageType": { @@ -702876,6 +721622,9 @@ }, "attributeMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": " Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { \"google.subject\":\"assertion.arn\", \"attribute.aws_role\": \"assertion.arn.contains('assumed-role')\" \" ? assertion.arn.extract('{account_arn}assumed-role/')\" \" + 'assumed-role/'\" \" + assertion.arn.extract('assumed-role/{role_name}/')\" \" : assertion.arn\", } ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```" }, "aws": { @@ -703333,6 +722082,9 @@ }, "attributeMapping": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Maps attributes from the authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. This is a required field and the mapped subject cannot exceed 127 bytes. * `google.groups`: Groups the authenticating user belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. * `google.display_name`: The name of the authenticated user. This is an optional field and the mapped display name cannot exceed 100 bytes. If not set, `google.subject` will be displayed instead. This attribute cannot be referenced in IAM bindings. * `google.profile_photo`: The URL that specifies the authenticated user's thumbnail photo. This is an optional field. When set, the image will be visible as the user's profile picture. If not set, a generic user icon will be displayed instead. This attribute cannot be referenced in IAM bindings. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where {custom_attribute} is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workforce pool to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/locations/global/workforcePools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 4KB. For OIDC providers, you must supply a custom mapping that includes the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```" }, "description": { @@ -703987,6 +722739,9 @@ }, "testPhoneNumbers": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "A map of pairs that can be used for MFA. The phone number should be in E.164 format (https://www.itu.int/rec/T-REC-E.164/) and a maximum of 10 pairs can be added (error will be thrown once exceeded)." } }, @@ -704104,6 +722859,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the endpoint." }, "name": { @@ -705125,6 +723883,10 @@ }, "customAttributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:jobs/v3:CustomAttributeResponse" + }, "description": "Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB." }, "degreeTypes": { @@ -705418,6 +724180,10 @@ }, "customAttributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:jobs/v4:CustomAttributeResponse" + }, "description": "A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB." }, "degreeTypes": { @@ -706613,6 +725379,9 @@ }, "labelExtractors": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project." }, "metricDescriptor": { @@ -707401,6 +726170,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -707479,6 +726251,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels that can contain user-provided metadata." }, "locations": { @@ -707663,6 +726438,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user-provided metadata." }, "name": { @@ -707773,6 +726551,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -707848,6 +726629,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata" }, "locations": { @@ -708036,6 +726820,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -708146,6 +726933,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -708225,6 +727015,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels that can contain user-provided metadata." }, "locations": { @@ -708409,6 +727202,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels to represent user provided metadata." }, "name": { @@ -708535,6 +727331,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "maintenancePolicy": { @@ -708676,6 +727475,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata. Refer to cloud documentation on labels for more details. https://cloud.google.com/compute/docs/labeling-resources" }, "maintenancePolicy": { @@ -708869,6 +727671,10 @@ "properties": { "backendMetastores": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1:BackendMetastoreResponse" + }, "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number." }, "createTime": { @@ -708881,6 +727687,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore federation." }, "name": { @@ -709100,6 +727909,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "maintenanceWindow": { @@ -709413,6 +728225,10 @@ "properties": { "backendMetastores": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1alpha:BackendMetastoreResponse" + }, "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number." }, "createTime": { @@ -709425,6 +728241,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore federation." }, "name": { @@ -709644,6 +728463,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "maintenanceWindow": { @@ -710087,6 +728909,10 @@ "properties": { "backendMetastores": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:metastore/v1beta:BackendMetastoreResponse" + }, "description": "A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number." }, "createTime": { @@ -710099,6 +728925,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore federation." }, "name": { @@ -710318,6 +729147,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels for the metastore service." }, "maintenanceWindow": { @@ -710702,6 +729534,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "name": { @@ -710835,6 +729670,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "name": { @@ -711186,6 +730024,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "name": { @@ -711329,6 +730170,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "name": { @@ -711690,6 +730534,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your jobs. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels." }, "predictionInput": { @@ -711827,6 +730674,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your models. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. Note that this field is not updatable for mls1* models." }, "name": { @@ -712134,6 +730984,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. One or more labels that you can add, to organize your model versions. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels. Note that this field is not updatable for mls1* models." }, "lastMigrationModelId": { @@ -712276,6 +731129,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels applied to the dashboard" }, "mosaicLayout": { @@ -712382,6 +731238,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key/value data to be used for organizing and identifying the AlertPolicy objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.Note that Prometheus {alert name} is a valid Prometheus label names (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels), whereas Prometheus {rule group} is an unrestricted UTF-8 string. This means that they cannot be stored as-is in user labels, because they may contain characters that are not allowed in user-label values." }, "validity": { @@ -712581,6 +731440,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Configuration fields that define the channel and its behavior. The permissible and required labels are specified in the NotificationChannelDescriptor.labels of the NotificationChannelDescriptor corresponding to the type field." }, "mutationRecords": { @@ -712601,6 +731463,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key/value data that does not need to conform to the corresponding NotificationChannelDescriptor's schema, unlike the labels field. This field is intended to be used for organizing and identifying the NotificationChannel objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter." }, "verificationStatus": { @@ -712716,6 +731581,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels which have been used to annotate the service. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value." } }, @@ -712796,6 +731664,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels which have been used to annotate the service-level objective. Label keys must start with a letter. Label keys and values may contain lowercase letters, numbers, underscores, and dashes. Label keys and values have a maximum length of 63 characters, and must be less than 128 bytes in size. Up to 64 label entries may be stored. For labels which do not have a semantic value, the empty string may be supplied for the label value." } }, @@ -712949,6 +731820,9 @@ }, "userLabels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter." } }, @@ -713000,6 +731874,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)." }, "name": { @@ -713204,6 +732081,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -713312,6 +732192,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -713546,6 +732429,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -713694,6 +732580,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -713841,6 +732730,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -713914,6 +732806,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional labels in key-value pair format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)." }, "linkedInterconnectAttachments": { @@ -714072,6 +732967,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -714203,6 +733101,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "name": { @@ -714364,6 +733265,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-defined labels." }, "linkedInterconnectAttachments": { @@ -714517,6 +733421,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "name": { @@ -714663,6 +733570,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "name": { @@ -714815,6 +733725,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "name": { @@ -714943,6 +733856,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource." }, "name": { @@ -715070,6 +733986,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the resource." }, "name": { @@ -715262,6 +734181,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "name": { @@ -715413,6 +734335,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of label tags associated with the resource." }, "mtlsPolicy": { @@ -715686,6 +734611,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "name": { @@ -715814,6 +734742,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource." }, "name": { @@ -715941,6 +734872,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the resource." }, "name": { @@ -716080,6 +735014,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs" }, "name": { @@ -716145,6 +735082,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs" }, "name": { @@ -716283,6 +735223,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the AddressGroup resource." }, "name": { @@ -716435,6 +735378,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs." }, "name": { @@ -716505,6 +735451,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels as key value pairs." }, "name": { @@ -716568,6 +735517,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Set of label tags associated with the resource." }, "mtlsPolicy": { @@ -717020,6 +735972,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the EndpointPolicy resource." }, "name": { @@ -717169,6 +736124,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Gateway resource." }, "name": { @@ -717336,6 +736294,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the GrpcRoute resource." }, "meshes": { @@ -717427,6 +736388,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the HttpRoute resource." }, "meshes": { @@ -717508,6 +736472,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Mesh resource." }, "name": { @@ -717626,6 +736593,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the ServiceBinding resource." }, "name": { @@ -717755,6 +736725,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TcpRoute resource." }, "meshes": { @@ -717838,6 +736811,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TlsRoute resource." }, "meshes": { @@ -717927,6 +736903,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the EndpointPolicy resource." }, "name": { @@ -718076,6 +737055,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Gateway resource." }, "name": { @@ -718243,6 +737225,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the GrpcRoute resource." }, "meshes": { @@ -718334,6 +737319,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the HttpRoute resource." }, "meshes": { @@ -718426,6 +737414,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of labels associated with the `LbRouteExtension` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements)." }, "loadBalancingScheme": { @@ -718501,6 +737492,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of labels associated with the `LbTrafficExtension` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements)." }, "loadBalancingScheme": { @@ -718565,6 +737559,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the Mesh resource." }, "name": { @@ -718683,6 +737680,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the ServiceBinding resource." }, "name": { @@ -718815,6 +737815,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the ServiceLbPolicy resource." }, "loadBalancingAlgorithm": { @@ -718941,6 +737944,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TcpRoute resource." }, "meshes": { @@ -719024,6 +738030,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Set of label tags associated with the TlsRoute resource." }, "meshes": { @@ -719305,6 +738314,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels to apply to this instance. These can be later modified by the setLabels method." }, "machineType": { @@ -719313,6 +738325,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to this instance. For example, to specify a Cloud Storage bucket for automatic backup, you can use the `gcs-data-bucket` metadata tag. Format: `\"--metadata=gcs-data-bucket=``BUCKET''\"`." }, "migrated": { @@ -719535,6 +738550,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. The labels to associate with this Managed Notebook or Runtime. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster." }, "metrics": { @@ -719764,6 +738782,9 @@ }, "healthInfo": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Additional information about instance health. Example: healthInfo\": { \"docker_proxy_agent_status\": \"1\", \"docker_status\": \"1\", \"jupyterlab_api_status\": \"-1\", \"jupyterlab_status\": \"-1\", \"updated\": \"2020-10-18 09:40:03.573409\" }" }, "healthState": { @@ -719779,6 +738800,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels to apply to this instance. These can be later modified by the UpdateInstance method." }, "name": { @@ -721321,6 +740345,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "name": { @@ -721523,6 +740550,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "lifetime": { @@ -721648,6 +740678,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "lifetime": { @@ -721746,6 +740779,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Labels with user-defined metadata." }, "maximumLifetime": { @@ -722147,6 +741183,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels)." }, "name": { @@ -722273,6 +741312,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels)." }, "messageRetentionDuration": { @@ -722403,6 +741445,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels)." }, "messageRetentionDuration": { @@ -722887,6 +741932,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "name": { @@ -722973,6 +742021,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs." }, "name": { @@ -723108,6 +742159,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. See [Creating and managing labels] (https://cloud.google.com/recaptcha-enterprise/docs/labels)." }, "name": { @@ -723399,6 +742453,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata" }, "location": { @@ -723462,6 +742519,9 @@ }, "redisConfigs": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries" }, "redisVersion": { @@ -723735,6 +742795,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user provided metadata" }, "location": { @@ -723798,6 +742861,9 @@ }, "redisConfigs": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries" }, "redisVersion": { @@ -724224,6 +743290,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2:GoogleCloudRetailV2CustomAttributeResponse" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -724829,6 +743899,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2alpha:GoogleCloudRetailV2alphaCustomAttributeResponse" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -725428,6 +744502,10 @@ "properties": { "attributes": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:retail/v2beta:GoogleCloudRetailV2betaCustomAttributeResponse" + }, "description": "Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ \"vendor\": {\"text\": [\"vendor123\", \"vendor456\"]}, \"lengths_cm\": {\"numbers\":[2.3, 15.4]}, \"heights_cm\": {\"numbers\":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed." }, "audience": { @@ -726112,6 +745190,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected on new resources. All system annotations in v1 now have a corresponding field in v2 Job. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "binaryAuthorization": { @@ -726165,6 +745246,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Job." }, "lastModifier": { @@ -726327,6 +745411,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected in new resources. All system annotations in v1 now have a corresponding field in v2 Service. This field follows Kubernetes annotations' namespacing, limits, and rules." }, "binaryAuthorization": { @@ -726391,6 +745478,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with `run.googleapis.com`, `cloud.googleapis.com`, `serving.knative.dev`, or `autoscaling.knative.dev` namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Service." }, "lastModifier": { @@ -726783,6 +745873,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Custom metadata about the secret. Annotations are distinct from various forms of labels. Annotations exist to allow client tools to store their own state information without requiring a database. Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and may have dashes (-), underscores (_), dots (.), and alphanumerics in between these symbols. The total size of annotation keys and values must be less than 16KiB." }, "createTime": { @@ -726799,6 +745892,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\\p{Ll}\\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource." }, "name": { @@ -726829,6 +745925,9 @@ }, "versionAliases": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Mapping from version alias to version name. A version alias is a string with a maximum length of 63 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore ('_') characters. An alias string must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret. Version-Alias pairs will be viewable via GetSecret and modifiable via UpdateSecret. At launch Access by Allias will only be supported on GetSecretVersion and AccessSecretVersion." } }, @@ -726927,6 +746026,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\\p{Ll}\\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource." }, "name": { @@ -727375,6 +746477,9 @@ "properties": { "config": { "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, "description": "Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module." }, "description": { @@ -727942,6 +747047,9 @@ }, "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Annotations for the endpoint. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 512 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/) Annotations that fails to meet these requirements are rejected. Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory." }, "name": { @@ -727996,6 +747104,9 @@ "properties": { "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels associated with this namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters." }, "name": { @@ -728141,6 +747252,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Annotations for the service. This data can be consumed by service clients. Restrictions: * The entire annotations dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Annotations that go beyond this limit are rejected * Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Annotations that fails to meet these requirements are rejected Note: This field is equivalent to the `metadata` field in the v1beta1 API. They have the same syntax and read/write to the same location in Service Directory." }, "endpoints": { @@ -728209,6 +747323,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the endpoint. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 512 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory." }, "name": { @@ -728273,6 +747390,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Resource labels associated with this namespace. No more than 64 user labels can be associated with a given resource. Label keys and values can be no longer than 63 characters." }, "name": { @@ -728487,6 +747607,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Metadata for the service. This data can be consumed by service clients. Restrictions: * The entire metadata dictionary may contain up to 2000 characters, spread accoss all key-value pairs. Metadata that goes beyond this limit are rejected * Valid metadata keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/). Metadata that fails to meet these requirements are rejected Note: This field is equivalent to the `annotations` field in the v1 API. They have the same syntax and read/write to the same location in Service Directory." }, "name": { @@ -728947,6 +748070,10 @@ }, "pubsubConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:sourcerepo/v1:PubsubConfigResponse" + }, "description": "How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names." }, "size": { @@ -729269,6 +748396,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + \"_\" + value would prove problematic if we were to allow \"_\" in a future release." }, "name": { @@ -729397,6 +748527,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + \"_\" + value would prove problematic if we were to allow \"_\" in a future release." }, "leaderOptions": { @@ -729582,6 +748715,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels." }, "name": { @@ -729623,6 +748759,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used." }, "customClassId": { @@ -729720,6 +748859,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Allows users to store small amounts of arbitrary data. Both the key and the value must be 63 characters or less each. At most 100 annotations. This field is not used." }, "boost": { @@ -731082,6 +750224,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided labels, in key/value pairs." }, "lifecycle": { @@ -731466,6 +750611,9 @@ }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "User-provided metadata, in key/value pairs." }, "metageneration": { @@ -731877,6 +751025,9 @@ "properties": { "customAttributes": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "An optional list of additional attributes to attach to each Cloud PubSub message published for this notification subscription." }, "etag": { @@ -732763,6 +751914,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "name": { @@ -732897,6 +752051,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "name": { @@ -733039,10 +752196,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script" }, "multisliceNode": { @@ -733211,10 +752374,16 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Resource labels to represent user-provided metadata." }, "metadata": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script" }, "multisliceNode": { @@ -733440,6 +752609,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this job. You can use these to organize and group your jobs." }, "mode": { @@ -733524,6 +752696,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels associated with this job template. You can use these to organize and group your job templates." }, "name": { @@ -734537,6 +753712,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the migrating VM." }, "lastReplicationCycle": { @@ -734671,6 +753849,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the source." }, "name": { @@ -735314,6 +754495,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the migrating VM." }, "lastReplicationCycle": { @@ -735461,6 +754645,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "The labels of the source." }, "name": { @@ -735680,6 +754867,10 @@ }, "nodeTypeConfigs": { "type": "object", + "additionalProperties": { + "type": "object", + "$ref": "#/types/google-native:vmwareengine/v1:NodeTypeConfigResponse" + }, "description": "The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`)." }, "state": { @@ -737259,6 +756450,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this execution. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. By default, labels are inherited from the workflow but are overridden by any labels associated with the execution." }, "name": { @@ -737440,6 +756634,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, and dashes. Label keys must start with a letter. International characters are allowed. This is a workflow-wide field and is not tied to a specific revision." }, "name": { @@ -737477,6 +756674,9 @@ }, "userEnvVars": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. User-defined environment variables associated with this workflow revision. This map has a maximum length of 20. Each string can take up to 40KiB. Keys cannot be empty strings and cannot start with “GOOGLE” or “WORKFLOWS\"." } }, @@ -737531,6 +756731,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels associated with this workflow. Labels can contain at most 64 entries. Keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores and dashes. Label keys must start with a letter. International characters are allowed." }, "name": { @@ -737613,6 +756816,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Labels as key value pairs" }, "name": { @@ -737700,6 +756906,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "createTime": { @@ -737716,6 +756925,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the workstation container's entrypoint." }, "etag": { @@ -737728,6 +756940,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources." }, "name": { @@ -737798,6 +757013,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "conditions": { @@ -737834,6 +757052,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources." }, "name": { @@ -738045,6 +757266,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "conditions": { @@ -738096,6 +757320,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources." }, "name": { @@ -738199,6 +757426,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "createTime": { @@ -738215,6 +757445,9 @@ }, "env": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Environment variables passed to the workstation container's entrypoint." }, "etag": { @@ -738227,6 +757460,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources." }, "name": { @@ -738297,6 +757533,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "conditions": { @@ -738338,6 +757577,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources." }, "name": { @@ -738550,6 +757792,9 @@ "properties": { "annotations": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. Client-specified annotations." }, "conditions": { @@ -738617,6 +757862,9 @@ }, "labels": { "type": "object", + "additionalProperties": { + "type": "string" + }, "description": "Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources." }, "name": { diff --git a/provider/pkg/gen/overrides.go b/provider/pkg/gen/overrides.go index d6483904a9..982fcd98a2 100644 --- a/provider/pkg/gen/overrides.go +++ b/provider/pkg/gen/overrides.go @@ -188,6 +188,29 @@ var resourceNamePropertyOverrides = map[string]string{ "run/v1:Service.servicesId": "metadata.name", } +// unsupportedPropertiesOverrides is a map of properties in types that +// are not supported and should be included in the Pulumi schema spec. +var unsupportedPropertiesOverrides = map[string][]string{ + // API ref: https://cloud.google.com/service-infrastructure/docs/service-management/reference/rest/v1/services.configs#backendrule + "BackendRule": { + // The `overridesByRequestProtocol` property in `BackendRule`, + // while absent in the API reference docs, is present in the + // discover doc that we fetch. + // + // But it doesn't make sense to include + // `overridesByRequestProtocol` in the recursion. + // For now don't include this property which means + // we avoid the recursion. + // + // Discovery doc: https://servicemanagement.googleapis.com/$discovery/rest?version=v1 + "overridesByRequestProtocol", + }, + "BackendRuleResponse": { + // Similar to the property in `BackendRule`. See notes above. + "overridesByRequestProtocol", + }, +} + // autonameOverrides is a map of exceptions to the property used for auto-naming. // The key is the resource token, and the value is the property to use for auto-naming. var autonameOverrides = map[string]string{ diff --git a/provider/pkg/gen/schema.go b/provider/pkg/gen/schema.go index 116f5c9cb6..7dd9a8a762 100644 --- a/provider/pkg/gen/schema.go +++ b/provider/pkg/gen/schema.go @@ -18,6 +18,7 @@ import ( "encoding/json" "fmt" "io/ioutil" + "log" "net/url" "os" "path" @@ -1249,6 +1250,15 @@ func (g *packageGenerator) genProperties(typeName string, typeSchema *discovery. properties: map[string]resources.CloudAPIProperty{}, } for _, name := range codegen.SortedKeys(typeSchema.Properties) { + // Consult the unsupported properties map to see if we should + // skip this property altogether. + if overrides, ok := unsupportedPropertiesOverrides[typeName]; ok { + if contains(overrides, name) { + log.Printf("Skipping unsupported property %s in type %s", name, typeName) + continue + } + } + value := typeSchema.Properties[name] sdkName := apiPropNameToSdkName(typeName, name) @@ -1391,6 +1401,54 @@ func (g *packageGenerator) genTypeSpec(typeName, propName string, prop *discover Type: "object", Ref: referencedTypeName, }, nil + case prop.Type == "object" && prop.AdditionalProperties != nil: + // The prop is a map with a string key and a simple value + // if it doesn't have a ref. + if prop.AdditionalProperties.Ref == "" { + switch prop.AdditionalProperties.Type { + case "any": + return &schema.TypeSpec{ + Type: "object", + AdditionalProperties: &schema.TypeSpec{Ref: "pulumi.json#/Any"}, + }, nil + case "array": + typeSpec, err := g.genTypeSpec(propName, propName, prop.AdditionalProperties.Items, isOutput) + if err != nil { + return nil, err + } + + return &schema.TypeSpec{ + Type: "object", + AdditionalProperties: &schema.TypeSpec{ + Type: "array", + Items: typeSpec, + }, + }, nil + case "nil": + return nil, errors.New(fmt.Sprintf("nil is not a valid array element type: %v", prop)) + case "object": + return nil, errors.New(fmt.Sprintf("object is not a valid array element type: %v", prop)) + default: + return &schema.TypeSpec{ + Type: "object", + AdditionalProperties: &schema.TypeSpec{ + Type: prop.AdditionalProperties.Type, + }, + }, nil + } + } + + // Otherwise, the value in-turn is a complex type. + typePropName := fmt.Sprintf(`%s%s`, typeName, ToUpperCamel(propName)) + refTypeSpec, err := g.genTypeSpec(typePropName, propName, prop.AdditionalProperties, isOutput) + if err != nil { + return nil, errors.New(fmt.Sprintf("error generating type spec for $ref in additional properties %v", err)) + } + + return &schema.TypeSpec{ + Type: "object", + AdditionalProperties: refTypeSpec, + }, nil case len(prop.Enum) > 0 && !isOutput: return g.genEnumType(typeName, propName, prop) case prop.Type != "": @@ -1524,7 +1582,7 @@ func isDeprecated(description string) bool { // isRequired returns true if the property or a parameter indicates that it is required. func isRequired(parameter discovery.JsonSchema) bool { - if parameter.Required == true { + if parameter.Required { return true } return strings.HasPrefix(parameter.Description, "Required.") diff --git a/provider/pkg/gen/schema_test.go b/provider/pkg/gen/schema_test.go index d9b669e766..a37a8f1f87 100644 --- a/provider/pkg/gen/schema_test.go +++ b/provider/pkg/gen/schema_test.go @@ -32,6 +32,7 @@ import ( "github.com/pulumi/pulumi-google-native/provider/pkg/resources" "github.com/stretchr/testify/require" + "google.golang.org/api/discovery/v1" ) var root = filepath.Join("..", "..", "..") @@ -213,3 +214,41 @@ func loadSchema() (*schema.PackageSpec, error) { } return &pkg, nil } + +type TypeSpecTestCase struct { + name string + schema *discovery.JsonSchema + expected *schema.TypeSpec +} + +func Test_genTypeSpec(t *testing.T) { + cases := []TypeSpecTestCase{ + { + name: "map[string, string]", + schema: &discovery.JsonSchema{ + Type: "object", + AdditionalProperties: &discovery.JsonSchema{ + Type: "string", + }, + }, + expected: &schema.TypeSpec{ + Type: "object", + AdditionalProperties: &schema.TypeSpec{Type: "string"}, + }, + }, + } + g := packageGenerator{ + pkg: nil, + metadata: nil, + rest: nil, + mod: "foo", + visitedTypes: codegen.NewStringSet(), + docName: "foo", + } + + for _, tt := range cases { + out, err := g.genTypeSpec("foo", "bar", tt.schema, true) + assert.NoError(t, err) + assert.Equal(t, tt.expected, out) + } +} diff --git a/provider/pkg/gen/utilities.go b/provider/pkg/gen/utilities.go index eab28243c5..b276a670da 100644 --- a/provider/pkg/gen/utilities.go +++ b/provider/pkg/gen/utilities.go @@ -214,6 +214,16 @@ func toCamelInitCase(s string, initCase bool) string { return n } +func contains(slice []string, item string) bool { + for _, s := range slice { + if s == item { + return true + } + } + + return false +} + var uppercaseAcronyms = []string{ "IP", } diff --git a/sdk/dotnet/Aiplatform/V1/Artifact.cs b/sdk/dotnet/Aiplatform/V1/Artifact.cs index eb50285d3a..b4a5013a39 100644 --- a/sdk/dotnet/Aiplatform/V1/Artifact.cs +++ b/sdk/dotnet/Aiplatform/V1/Artifact.cs @@ -59,7 +59,7 @@ public partial class Artifact : global::Pulumi.CustomResource /// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// [Output("metadata")] - public Output> Metadata { get; private set; } = null!; + public Output> Metadata { get; private set; } = null!; [Output("metadataStoreId")] public Output MetadataStoreId { get; private set; } = null!; @@ -194,14 +194,14 @@ public InputMap Labels public Input? Location { get; set; } [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Aiplatform/V1/Context.cs b/sdk/dotnet/Aiplatform/V1/Context.cs index 7ac7d8cb56..c34c9d8d08 100644 --- a/sdk/dotnet/Aiplatform/V1/Context.cs +++ b/sdk/dotnet/Aiplatform/V1/Context.cs @@ -58,7 +58,7 @@ public partial class Context : global::Pulumi.CustomResource /// Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// [Output("metadata")] - public Output> Metadata { get; private set; } = null!; + public Output> Metadata { get; private set; } = null!; [Output("metadataStoreId")] public Output MetadataStoreId { get; private set; } = null!; @@ -187,14 +187,14 @@ public InputMap Labels public Input? Location { get; set; } [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Aiplatform/V1/Endpoint.cs b/sdk/dotnet/Aiplatform/V1/Endpoint.cs index 818dcf4c8c..5dbcf6c58e 100644 --- a/sdk/dotnet/Aiplatform/V1/Endpoint.cs +++ b/sdk/dotnet/Aiplatform/V1/Endpoint.cs @@ -104,7 +104,7 @@ public partial class Endpoint : global::Pulumi.CustomResource /// A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. /// [Output("trafficSplit")] - public Output> TrafficSplit { get; private set; } = null!; + public Output> TrafficSplit { get; private set; } = null!; /// /// Timestamp when this Endpoint was last updated. @@ -229,14 +229,14 @@ public InputMap Labels public Input? Project { get; set; } [Input("trafficSplit")] - private InputMap? _trafficSplit; + private InputMap? _trafficSplit; /// /// A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. /// - public InputMap TrafficSplit + public InputMap TrafficSplit { - get => _trafficSplit ?? (_trafficSplit = new InputMap()); + get => _trafficSplit ?? (_trafficSplit = new InputMap()); set => _trafficSplit = value; } diff --git a/sdk/dotnet/Aiplatform/V1/Enums.cs b/sdk/dotnet/Aiplatform/V1/Enums.cs index 731508c0d0..3b6a098c4a 100644 --- a/sdk/dotnet/Aiplatform/V1/Enums.cs +++ b/sdk/dotnet/Aiplatform/V1/Enums.cs @@ -280,6 +280,255 @@ private GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat(string value) public override string ToString() => _value; } + /// + /// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default value. This is the same as IDENTITY. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding EncodingUnspecified { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("ENCODING_UNSPECIFIED"); + /// + /// The tensor represents one feature. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding Identity { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("IDENTITY"); + /// + /// The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = ["age", "height", "weight"] ``` + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding BagOfFeatures { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("BAG_OF_FEATURES"); + /// + /// The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding BagOfFeaturesSparse { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("BAG_OF_FEATURES_SPARSE"); + /// + /// The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding Indicator { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("INDICATOR"); + /// + /// The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ``` + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding CombinedEmbedding { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("COMBINED_EMBEDDING"); + /// + /// Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ``` + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding ConcatEmbedding { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("CONCAT_EMBEDDING"); + + public static bool operator ==(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Should not be used. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap ColorMapUnspecified { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("COLOR_MAP_UNSPECIFIED"); + /// + /// Positive: green. Negative: pink. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap PinkGreen { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("PINK_GREEN"); + /// + /// Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap Viridis { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("VIRIDIS"); + /// + /// Positive: red. Negative: red. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap Red { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("RED"); + /// + /// Positive: green. Negative: green. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap Green { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("GREEN"); + /// + /// Positive: green. Negative: red. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap RedGreen { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("RED_GREEN"); + /// + /// PiYG palette. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap PinkWhiteGreen { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("PINK_WHITE_GREEN"); + + public static bool operator ==(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default value. This is the same as NONE. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType OverlayTypeUnspecified { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("OVERLAY_TYPE_UNSPECIFIED"); + /// + /// No overlay. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType None { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("NONE"); + /// + /// The attributions are shown on top of the original image. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType Original { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("ORIGINAL"); + /// + /// The attributions are shown on top of grayscaled version of the original image. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType Grayscale { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("GRAYSCALE"); + /// + /// The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType MaskBlack { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("MASK_BLACK"); + + public static bool operator ==(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default value. This is the same as POSITIVE. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity PolarityUnspecified { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("POLARITY_UNSPECIFIED"); + /// + /// Highlights the pixels/outlines that were most influential to the model's prediction. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity Positive { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("POSITIVE"); + /// + /// Setting polarity to negative highlights areas that does not lead to the models's current prediction. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity Negative { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("NEGATIVE"); + /// + /// Shows both positive and negative attributions. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity Both { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("BOTH"); + + public static bool operator ==(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Should not be used. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType TypeUnspecified { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType("TYPE_UNSPECIFIED"); + /// + /// Shows which pixel contributed to the image prediction. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType Pixels { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType("PIXELS"); + /// + /// Shows which region contributed to the image prediction by outlining the region. + /// + public static GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType Outlines { get; } = new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType("OUTLINES"); + + public static bool operator ==(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType left, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The baseline used to do anomaly detection for the statistics generated by import features analysis. /// diff --git a/sdk/dotnet/Aiplatform/V1/Execution.cs b/sdk/dotnet/Aiplatform/V1/Execution.cs index bd5f6f4918..89868175a2 100644 --- a/sdk/dotnet/Aiplatform/V1/Execution.cs +++ b/sdk/dotnet/Aiplatform/V1/Execution.cs @@ -59,7 +59,7 @@ public partial class Execution : global::Pulumi.CustomResource /// Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// [Output("metadata")] - public Output> Metadata { get; private set; } = null!; + public Output> Metadata { get; private set; } = null!; [Output("metadataStoreId")] public Output MetadataStoreId { get; private set; } = null!; @@ -188,14 +188,14 @@ public InputMap Labels public Input? Location { get; set; } [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Aiplatform/V1/GetArtifact.cs b/sdk/dotnet/Aiplatform/V1/GetArtifact.cs index f18fede4ce..6eaf205fc6 100644 --- a/sdk/dotnet/Aiplatform/V1/GetArtifact.cs +++ b/sdk/dotnet/Aiplatform/V1/GetArtifact.cs @@ -92,7 +92,7 @@ public sealed class GetArtifactResult /// /// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// The resource name of the Artifact. /// @@ -130,7 +130,7 @@ private GetArtifactResult( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1/GetContext.cs b/sdk/dotnet/Aiplatform/V1/GetContext.cs index 10ee78813f..9aeec692b3 100644 --- a/sdk/dotnet/Aiplatform/V1/GetContext.cs +++ b/sdk/dotnet/Aiplatform/V1/GetContext.cs @@ -92,7 +92,7 @@ public sealed class GetContextResult /// /// Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// Immutable. The resource name of the Context. /// @@ -126,7 +126,7 @@ private GetContextResult( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1/GetEndpoint.cs b/sdk/dotnet/Aiplatform/V1/GetEndpoint.cs index 65c5ccb428..98d92d9e95 100644 --- a/sdk/dotnet/Aiplatform/V1/GetEndpoint.cs +++ b/sdk/dotnet/Aiplatform/V1/GetEndpoint.cs @@ -114,7 +114,7 @@ public sealed class GetEndpointResult /// /// A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. /// - public readonly ImmutableDictionary TrafficSplit; + public readonly ImmutableDictionary TrafficSplit; /// /// Timestamp when this Endpoint was last updated. /// @@ -146,7 +146,7 @@ private GetEndpointResult( Outputs.GoogleCloudAiplatformV1PredictRequestResponseLoggingConfigResponse predictRequestResponseLoggingConfig, - ImmutableDictionary trafficSplit, + ImmutableDictionary trafficSplit, string updateTime) { diff --git a/sdk/dotnet/Aiplatform/V1/GetExecution.cs b/sdk/dotnet/Aiplatform/V1/GetExecution.cs index 71f03b87cb..d2e91a6126 100644 --- a/sdk/dotnet/Aiplatform/V1/GetExecution.cs +++ b/sdk/dotnet/Aiplatform/V1/GetExecution.cs @@ -92,7 +92,7 @@ public sealed class GetExecutionResult /// /// Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// The resource name of the Execution. /// @@ -126,7 +126,7 @@ private GetExecutionResult( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1/GetPipelineJob.cs b/sdk/dotnet/Aiplatform/V1/GetPipelineJob.cs index 9bef5feace..bc6945f552 100644 --- a/sdk/dotnet/Aiplatform/V1/GetPipelineJob.cs +++ b/sdk/dotnet/Aiplatform/V1/GetPipelineJob.cs @@ -102,7 +102,7 @@ public sealed class GetPipelineJobResult /// /// The spec of the pipeline. /// - public readonly ImmutableDictionary PipelineSpec; + public readonly ImmutableDictionary PipelineSpec; /// /// A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. /// @@ -160,7 +160,7 @@ private GetPipelineJobResult( string network, - ImmutableDictionary pipelineSpec, + ImmutableDictionary pipelineSpec, ImmutableArray reservedIpRanges, diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataArgs.cs index b067b452ff..d1b4aed2d8 100644 --- a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataArgs.cs +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudAiplatformV1ExplanationMetadataArgs : global::Pul public Input? FeatureAttributionsSchemaUri { get; set; } [Input("inputs", required: true)] - private InputMap? _inputs; + private InputMap? _inputs; /// /// Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. /// - public InputMap Inputs + public InputMap Inputs { - get => _inputs ?? (_inputs = new InputMap()); + get => _inputs ?? (_inputs = new InputMap()); set => _inputs = value; } @@ -40,14 +40,14 @@ public InputMap Inputs public Input? LatentSpaceSource { get; set; } [Input("outputs", required: true)] - private InputMap? _outputs; + private InputMap? _outputs; /// /// Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. /// - public InputMap Outputs + public InputMap Outputs { - get => _outputs ?? (_outputs = new InputMap()); + get => _outputs ?? (_outputs = new InputMap()); set => _outputs = value; } diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs.cs new file mode 100644 index 0000000000..237df61912 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs.cs @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Inputs +{ + + /// + /// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + /// + public sealed class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + /// + [Input("denseShapeTensorName")] + public Input? DenseShapeTensorName { get; set; } + + [Input("encodedBaselines")] + private InputList? _encodedBaselines; + + /// + /// A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + /// + public InputList EncodedBaselines + { + get => _encodedBaselines ?? (_encodedBaselines = new InputList()); + set => _encodedBaselines = value; + } + + /// + /// Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + /// + [Input("encodedTensorName")] + public Input? EncodedTensorName { get; set; } + + /// + /// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + /// + [Input("featureValueDomain")] + public Input? FeatureValueDomain { get; set; } + + /// + /// Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + /// + [Input("groupName")] + public Input? GroupName { get; set; } + + [Input("indexFeatureMapping")] + private InputList? _indexFeatureMapping; + + /// + /// A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + /// + public InputList IndexFeatureMapping + { + get => _indexFeatureMapping ?? (_indexFeatureMapping = new InputList()); + set => _indexFeatureMapping = value; + } + + /// + /// Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + /// + [Input("indicesTensorName")] + public Input? IndicesTensorName { get; set; } + + [Input("inputBaselines")] + private InputList? _inputBaselines; + + /// + /// Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + /// + public InputList InputBaselines + { + get => _inputBaselines ?? (_inputBaselines = new InputList()); + set => _inputBaselines = value; + } + + /// + /// Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + /// + [Input("inputTensorName")] + public Input? InputTensorName { get; set; } + + /// + /// Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + /// + [Input("modality")] + public Input? Modality { get; set; } + + /// + /// Visualization configurations for image explanation. + /// + [Input("visualization")] + public Input? Visualization { get; set; } + + public GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs() + { + } + public static new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs Empty => new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs.cs new file mode 100644 index 0000000000..4b2dab4a01 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Inputs +{ + + /// + /// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + /// + public sealed class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum permissible value for this feature. + /// + [Input("maxValue")] + public Input? MaxValue { get; set; } + + /// + /// The minimum permissible value for this feature. + /// + [Input("minValue")] + public Input? MinValue { get; set; } + + /// + /// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + /// + [Input("originalMean")] + public Input? OriginalMean { get; set; } + + /// + /// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + /// + [Input("originalStddev")] + public Input? OriginalStddev { get; set; } + + public GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs() + { + } + public static new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs Empty => new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs.cs new file mode 100644 index 0000000000..6bb4285700 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Inputs +{ + + /// + /// Visualization configurations for image explanation. + /// + public sealed class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs : global::Pulumi.ResourceArgs + { + /// + /// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + /// + [Input("clipPercentLowerbound")] + public Input? ClipPercentLowerbound { get; set; } + + /// + /// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + /// + [Input("clipPercentUpperbound")] + public Input? ClipPercentUpperbound { get; set; } + + /// + /// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + /// + [Input("colorMap")] + public Input? ColorMap { get; set; } + + /// + /// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + /// + [Input("overlayType")] + public Input? OverlayType { get; set; } + + /// + /// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + /// + [Input("polarity")] + public Input? Polarity { get; set; } + + /// + /// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + /// + [Input("type")] + public Input? Type { get; set; } + + public GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs() + { + } + public static new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs Empty => new GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs.cs new file mode 100644 index 0000000000..e5e7be5ca0 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Inputs +{ + + /// + /// Metadata of the prediction output to be explained. + /// + public sealed class GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs : global::Pulumi.ResourceArgs + { + /// + /// Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + /// + [Input("displayNameMappingKey")] + public Input? DisplayNameMappingKey { get; set; } + + /// + /// Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + /// + [Input("indexDisplayNameMapping")] + public Input? IndexDisplayNameMapping { get; set; } + + /// + /// Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + /// + [Input("outputTensorName")] + public Input? OutputTensorName { get; set; } + + public GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs() + { + } + public static new GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs Empty => new GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs.cs index 14c18d112b..5c1a33839d 100644 --- a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs.cs +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Aiplatform.V1.Inputs public sealed class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs : global::Pulumi.ResourceArgs { [Input("attributionScoreDriftThresholds")] - private InputMap? _attributionScoreDriftThresholds; + private InputMap? _attributionScoreDriftThresholds; /// /// Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. /// - public InputMap AttributionScoreDriftThresholds + public InputMap AttributionScoreDriftThresholds { - get => _attributionScoreDriftThresholds ?? (_attributionScoreDriftThresholds = new InputMap()); + get => _attributionScoreDriftThresholds ?? (_attributionScoreDriftThresholds = new InputMap()); set => _attributionScoreDriftThresholds = value; } @@ -34,14 +34,14 @@ public InputMap AttributionScoreDriftThresholds public Input? DefaultDriftThreshold { get; set; } [Input("driftThresholds")] - private InputMap? _driftThresholds; + private InputMap? _driftThresholds; /// /// Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. /// - public InputMap DriftThresholds + public InputMap DriftThresholds { - get => _driftThresholds ?? (_driftThresholds = new InputMap()); + get => _driftThresholds ?? (_driftThresholds = new InputMap()); set => _driftThresholds = value; } diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs.cs index 2d12b873fb..8dd1750155 100644 --- a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs.cs +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Aiplatform.V1.Inputs public sealed class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs : global::Pulumi.ResourceArgs { [Input("attributionScoreSkewThresholds")] - private InputMap? _attributionScoreSkewThresholds; + private InputMap? _attributionScoreSkewThresholds; /// /// Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. /// - public InputMap AttributionScoreSkewThresholds + public InputMap AttributionScoreSkewThresholds { - get => _attributionScoreSkewThresholds ?? (_attributionScoreSkewThresholds = new InputMap()); + get => _attributionScoreSkewThresholds ?? (_attributionScoreSkewThresholds = new InputMap()); set => _attributionScoreSkewThresholds = value; } @@ -34,14 +34,14 @@ public InputMap AttributionScoreSkewThresholds public Input? DefaultSkewThreshold { get; set; } [Input("skewThresholds")] - private InputMap? _skewThresholds; + private InputMap? _skewThresholds; /// /// Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. /// - public InputMap SkewThresholds + public InputMap SkewThresholds { - get => _skewThresholds ?? (_skewThresholds = new InputMap()); + get => _skewThresholds ?? (_skewThresholds = new InputMap()); set => _skewThresholds = value; } diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobArgs.cs index 559def8317..94055a1389 100644 --- a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobArgs.cs +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobArgs.cs @@ -46,14 +46,14 @@ public InputMap Labels public Input? Network { get; set; } [Input("pipelineSpec")] - private InputMap? _pipelineSpec; + private InputMap? _pipelineSpec; /// /// The spec of the pipeline. /// - public InputMap PipelineSpec + public InputMap PipelineSpec { - get => _pipelineSpec ?? (_pipelineSpec = new InputMap()); + get => _pipelineSpec ?? (_pipelineSpec = new InputMap()); set => _pipelineSpec = value; } diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs.cs index 669c5ea3ba..218f48f4d6 100644 --- a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs.cs +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs.cs @@ -28,39 +28,39 @@ public sealed class GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs : global public Input GcsOutputDirectory { get; set; } = null!; [Input("inputArtifacts")] - private InputMap? _inputArtifacts; + private InputMap? _inputArtifacts; /// /// The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. /// - public InputMap InputArtifacts + public InputMap InputArtifacts { - get => _inputArtifacts ?? (_inputArtifacts = new InputMap()); + get => _inputArtifacts ?? (_inputArtifacts = new InputMap()); set => _inputArtifacts = value; } [Input("parameterValues")] - private InputMap? _parameterValues; + private InputMap? _parameterValues; /// /// The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. /// - public InputMap ParameterValues + public InputMap ParameterValues { - get => _parameterValues ?? (_parameterValues = new InputMap()); + get => _parameterValues ?? (_parameterValues = new InputMap()); set => _parameterValues = value; } [Input("parameters")] - private InputMap? _parameters; + private InputMap? _parameters; /// /// Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. /// [Obsolete(@"Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.")] - public InputMap Parameters + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs.cs new file mode 100644 index 0000000000..2a1e942117 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Inputs +{ + + /// + /// The type of an input artifact. + /// + public sealed class GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs : global::Pulumi.ResourceArgs + { + /// + /// Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + /// + [Input("artifactId")] + public Input? ArtifactId { get; set; } + + public GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs() + { + } + public static new GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs Empty => new GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ValueArgs.cs b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ValueArgs.cs new file mode 100644 index 0000000000..fb585f6cc9 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Inputs/GoogleCloudAiplatformV1ValueArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Inputs +{ + + /// + /// Value is the value of the field. + /// + public sealed class GoogleCloudAiplatformV1ValueArgs : global::Pulumi.ResourceArgs + { + /// + /// A double value. + /// + [Input("doubleValue")] + public Input? DoubleValue { get; set; } + + /// + /// An integer value. + /// + [Input("intValue")] + public Input? IntValue { get; set; } + + /// + /// A string value. + /// + [Input("stringValue")] + public Input? StringValue { get; set; } + + public GoogleCloudAiplatformV1ValueArgs() + { + } + public static new GoogleCloudAiplatformV1ValueArgs Empty => new GoogleCloudAiplatformV1ValueArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ArtifactResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ArtifactResponse.cs new file mode 100644 index 0000000000..eca9190dac --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ArtifactResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Outputs +{ + + /// + /// Instance of a general artifact. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1ArtifactResponse + { + /// + /// Timestamp when this Artifact was created. + /// + public readonly string CreateTime; + /// + /// Description of the Artifact + /// + public readonly string Description; + /// + /// User provided display name of the Artifact. May be up to 128 Unicode characters. + /// + public readonly string DisplayName; + /// + /// An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + /// + public readonly string Etag; + /// + /// The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + /// + public readonly ImmutableDictionary Labels; + /// + /// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + /// + public readonly ImmutableDictionary Metadata; + /// + /// The resource name of the Artifact. + /// + public readonly string Name; + /// + /// The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + /// + public readonly string SchemaTitle; + /// + /// The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + /// + public readonly string SchemaVersion; + /// + /// The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + /// + public readonly string State; + /// + /// Timestamp when this Artifact was last updated. + /// + public readonly string UpdateTime; + /// + /// The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + /// + public readonly string Uri; + + [OutputConstructor] + private GoogleCloudAiplatformV1ArtifactResponse( + string createTime, + + string description, + + string displayName, + + string etag, + + ImmutableDictionary labels, + + ImmutableDictionary metadata, + + string name, + + string schemaTitle, + + string schemaVersion, + + string state, + + string updateTime, + + string uri) + { + CreateTime = createTime; + Description = description; + DisplayName = displayName; + Etag = etag; + Labels = labels; + Metadata = metadata; + Name = name; + SchemaTitle = schemaTitle; + SchemaVersion = schemaVersion; + State = state; + UpdateTime = updateTime; + Uri = uri; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ContextResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ContextResponse.cs index 3b1ea3767d..7422f4b3b6 100644 --- a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ContextResponse.cs +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ContextResponse.cs @@ -39,7 +39,7 @@ public sealed class GoogleCloudAiplatformV1ContextResponse /// /// Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// Immutable. The resource name of the Context. /// @@ -73,7 +73,7 @@ private GoogleCloudAiplatformV1ContextResponse( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExecutionResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExecutionResponse.cs index 5c16ae822c..b0d629d867 100644 --- a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExecutionResponse.cs +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExecutionResponse.cs @@ -39,7 +39,7 @@ public sealed class GoogleCloudAiplatformV1ExecutionResponse /// /// Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// The resource name of the Execution. /// @@ -73,7 +73,7 @@ private GoogleCloudAiplatformV1ExecutionResponse( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse.cs new file mode 100644 index 0000000000..a95de11c9b --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Outputs +{ + + /// + /// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse + { + /// + /// The maximum permissible value for this feature. + /// + public readonly double MaxValue; + /// + /// The minimum permissible value for this feature. + /// + public readonly double MinValue; + /// + /// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + /// + public readonly double OriginalMean; + /// + /// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + /// + public readonly double OriginalStddev; + + [OutputConstructor] + private GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse( + double maxValue, + + double minValue, + + double originalMean, + + double originalStddev) + { + MaxValue = maxValue; + MinValue = minValue; + OriginalMean = originalMean; + OriginalStddev = originalStddev; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse.cs new file mode 100644 index 0000000000..c2ec6102dd --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Outputs +{ + + /// + /// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse + { + /// + /// Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + /// + public readonly string DenseShapeTensorName; + /// + /// A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + /// + public readonly ImmutableArray EncodedBaselines; + /// + /// Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + /// + public readonly string EncodedTensorName; + /// + /// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + /// + public readonly string Encoding; + /// + /// The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + /// + public readonly Outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse FeatureValueDomain; + /// + /// Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + /// + public readonly string GroupName; + /// + /// A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + /// + public readonly ImmutableArray IndexFeatureMapping; + /// + /// Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + /// + public readonly string IndicesTensorName; + /// + /// Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + /// + public readonly ImmutableArray InputBaselines; + /// + /// Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + /// + public readonly string InputTensorName; + /// + /// Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + /// + public readonly string Modality; + /// + /// Visualization configurations for image explanation. + /// + public readonly Outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse Visualization; + + [OutputConstructor] + private GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse( + string denseShapeTensorName, + + ImmutableArray encodedBaselines, + + string encodedTensorName, + + string encoding, + + Outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse featureValueDomain, + + string groupName, + + ImmutableArray indexFeatureMapping, + + string indicesTensorName, + + ImmutableArray inputBaselines, + + string inputTensorName, + + string modality, + + Outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse visualization) + { + DenseShapeTensorName = denseShapeTensorName; + EncodedBaselines = encodedBaselines; + EncodedTensorName = encodedTensorName; + Encoding = encoding; + FeatureValueDomain = featureValueDomain; + GroupName = groupName; + IndexFeatureMapping = indexFeatureMapping; + IndicesTensorName = indicesTensorName; + InputBaselines = inputBaselines; + InputTensorName = inputTensorName; + Modality = modality; + Visualization = visualization; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse.cs new file mode 100644 index 0000000000..a0164e6009 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Outputs +{ + + /// + /// Visualization configurations for image explanation. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse + { + /// + /// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + /// + public readonly double ClipPercentLowerbound; + /// + /// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + /// + public readonly double ClipPercentUpperbound; + /// + /// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + /// + public readonly string ColorMap; + /// + /// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + /// + public readonly string OverlayType; + /// + /// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + /// + public readonly string Polarity; + /// + /// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + /// + public readonly string Type; + + [OutputConstructor] + private GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse( + double clipPercentLowerbound, + + double clipPercentUpperbound, + + string colorMap, + + string overlayType, + + string polarity, + + string type) + { + ClipPercentLowerbound = clipPercentLowerbound; + ClipPercentUpperbound = clipPercentUpperbound; + ColorMap = colorMap; + OverlayType = overlayType; + Polarity = polarity; + Type = type; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse.cs new file mode 100644 index 0000000000..9924c72a6f --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Outputs +{ + + /// + /// Metadata of the prediction output to be explained. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse + { + /// + /// Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + /// + public readonly string DisplayNameMappingKey; + /// + /// Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + /// + public readonly object IndexDisplayNameMapping; + /// + /// Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + /// + public readonly string OutputTensorName; + + [OutputConstructor] + private GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse( + string displayNameMappingKey, + + object indexDisplayNameMapping, + + string outputTensorName) + { + DisplayNameMappingKey = displayNameMappingKey; + IndexDisplayNameMapping = indexDisplayNameMapping; + OutputTensorName = outputTensorName; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataResponse.cs index 5627f01b7d..72b476d411 100644 --- a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataResponse.cs +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ExplanationMetadataResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleCloudAiplatformV1ExplanationMetadataResponse /// /// Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. /// - public readonly ImmutableDictionary Inputs; + public readonly ImmutableDictionary Inputs; /// /// Name of the source to generate embeddings for example based explanations. /// @@ -31,17 +31,17 @@ public sealed class GoogleCloudAiplatformV1ExplanationMetadataResponse /// /// Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. /// - public readonly ImmutableDictionary Outputs; + public readonly ImmutableDictionary Outputs; [OutputConstructor] private GoogleCloudAiplatformV1ExplanationMetadataResponse( string featureAttributionsSchemaUri, - ImmutableDictionary inputs, + ImmutableDictionary inputs, string latentSpaceSource, - ImmutableDictionary outputs) + ImmutableDictionary outputs) { FeatureAttributionsSchemaUri = featureAttributionsSchemaUri; Inputs = inputs; diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse.cs index 610658ae51..ae9e3765b5 100644 --- a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse.cs +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredict /// /// Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. /// - public readonly ImmutableDictionary AttributionScoreDriftThresholds; + public readonly ImmutableDictionary AttributionScoreDriftThresholds; /// /// Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. /// @@ -27,15 +27,15 @@ public sealed class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredict /// /// Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. /// - public readonly ImmutableDictionary DriftThresholds; + public readonly ImmutableDictionary DriftThresholds; [OutputConstructor] private GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse( - ImmutableDictionary attributionScoreDriftThresholds, + ImmutableDictionary attributionScoreDriftThresholds, Outputs.GoogleCloudAiplatformV1ThresholdConfigResponse defaultDriftThreshold, - ImmutableDictionary driftThresholds) + ImmutableDictionary driftThresholds) { AttributionScoreDriftThresholds = attributionScoreDriftThresholds; DefaultDriftThreshold = defaultDriftThreshold; diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse.cs index f46eb514a8..a6221280fd 100644 --- a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse.cs +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainin /// /// Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. /// - public readonly ImmutableDictionary AttributionScoreSkewThresholds; + public readonly ImmutableDictionary AttributionScoreSkewThresholds; /// /// Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. /// @@ -27,15 +27,15 @@ public sealed class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainin /// /// Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. /// - public readonly ImmutableDictionary SkewThresholds; + public readonly ImmutableDictionary SkewThresholds; [OutputConstructor] private GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse( - ImmutableDictionary attributionScoreSkewThresholds, + ImmutableDictionary attributionScoreSkewThresholds, Outputs.GoogleCloudAiplatformV1ThresholdConfigResponse defaultSkewThreshold, - ImmutableDictionary skewThresholds) + ImmutableDictionary skewThresholds) { AttributionScoreSkewThresholds = attributionScoreSkewThresholds; DefaultSkewThreshold = defaultSkewThreshold; diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobResponse.cs index ed7d099ce3..816546cca7 100644 --- a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobResponse.cs +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobResponse.cs @@ -55,7 +55,7 @@ public sealed class GoogleCloudAiplatformV1PipelineJobResponse /// /// The spec of the pipeline. /// - public readonly ImmutableDictionary PipelineSpec; + public readonly ImmutableDictionary PipelineSpec; /// /// A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. /// @@ -113,7 +113,7 @@ private GoogleCloudAiplatformV1PipelineJobResponse( string network, - ImmutableDictionary pipelineSpec, + ImmutableDictionary pipelineSpec, ImmutableArray reservedIpRanges, diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse.cs new file mode 100644 index 0000000000..bf5cb60a2d --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Outputs +{ + + /// + /// The type of an input artifact. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse + { + /// + /// Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + /// + public readonly string ArtifactId; + + [OutputConstructor] + private GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse(string artifactId) + { + ArtifactId = artifactId; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse.cs index 424f95779a..00fe88aea6 100644 --- a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse.cs +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse.cs @@ -27,15 +27,15 @@ public sealed class GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse /// /// The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. /// - public readonly ImmutableDictionary InputArtifacts; + public readonly ImmutableDictionary InputArtifacts; /// /// The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. /// - public readonly ImmutableDictionary ParameterValues; + public readonly ImmutableDictionary ParameterValues; /// /// Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. /// - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Parameters; [OutputConstructor] private GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse( @@ -43,11 +43,11 @@ private GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse( string gcsOutputDirectory, - ImmutableDictionary inputArtifacts, + ImmutableDictionary inputArtifacts, - ImmutableDictionary parameterValues, + ImmutableDictionary parameterValues, - ImmutableDictionary parameters) + ImmutableDictionary parameters) { FailurePolicy = failurePolicy; GcsOutputDirectory = gcsOutputDirectory; diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse.cs new file mode 100644 index 0000000000..cb5874e321 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Outputs +{ + + /// + /// A list of artifact metadata. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse + { + /// + /// A list of artifact metadata. + /// + public readonly ImmutableArray Artifacts; + + [OutputConstructor] + private GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse(ImmutableArray artifacts) + { + Artifacts = artifacts; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineTaskDetailResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineTaskDetailResponse.cs index 15fd7432aa..378e45a680 100644 --- a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineTaskDetailResponse.cs +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1PipelineTaskDetailResponse.cs @@ -39,11 +39,11 @@ public sealed class GoogleCloudAiplatformV1PipelineTaskDetailResponse /// /// The runtime input artifacts of the task. /// - public readonly ImmutableDictionary Inputs; + public readonly ImmutableDictionary Inputs; /// /// The runtime output artifacts of the task. /// - public readonly ImmutableDictionary Outputs; + public readonly ImmutableDictionary Outputs; /// /// The id of the parent task if the task is within a component scope. Empty if the task is at the root level. /// @@ -81,9 +81,9 @@ private GoogleCloudAiplatformV1PipelineTaskDetailResponse( Outputs.GoogleCloudAiplatformV1PipelineTaskExecutorDetailResponse executorDetail, - ImmutableDictionary inputs, + ImmutableDictionary inputs, - ImmutableDictionary outputs, + ImmutableDictionary outputs, string parentTaskId, diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ValueResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ValueResponse.cs new file mode 100644 index 0000000000..d5c8bac7d2 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleCloudAiplatformV1ValueResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1.Outputs +{ + + /// + /// Value is the value of the field. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1ValueResponse + { + /// + /// A double value. + /// + public readonly double DoubleValue; + /// + /// An integer value. + /// + public readonly string IntValue; + /// + /// A string value. + /// + public readonly string StringValue; + + [OutputConstructor] + private GoogleCloudAiplatformV1ValueResponse( + double doubleValue, + + string intValue, + + string stringValue) + { + DoubleValue = doubleValue; + IntValue = intValue; + StringValue = stringValue; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleRpcStatusResponse.cs index 14c6c2174f..08eb83c589 100644 --- a/sdk/dotnet/Aiplatform/V1/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/Aiplatform/V1/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Aiplatform/V1/PipelineJob.cs b/sdk/dotnet/Aiplatform/V1/PipelineJob.cs index a4cfdd92ce..b0aa1bb6e4 100644 --- a/sdk/dotnet/Aiplatform/V1/PipelineJob.cs +++ b/sdk/dotnet/Aiplatform/V1/PipelineJob.cs @@ -83,7 +83,7 @@ public partial class PipelineJob : global::Pulumi.CustomResource /// The spec of the pipeline. /// [Output("pipelineSpec")] - public Output> PipelineSpec { get; private set; } = null!; + public Output> PipelineSpec { get; private set; } = null!; [Output("project")] public Output Project { get; private set; } = null!; @@ -232,14 +232,14 @@ public InputMap Labels public Input? PipelineJobId { get; set; } [Input("pipelineSpec")] - private InputMap? _pipelineSpec; + private InputMap? _pipelineSpec; /// /// The spec of the pipeline. /// - public InputMap PipelineSpec + public InputMap PipelineSpec { - get => _pipelineSpec ?? (_pipelineSpec = new InputMap()); + get => _pipelineSpec ?? (_pipelineSpec = new InputMap()); set => _pipelineSpec = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Artifact.cs b/sdk/dotnet/Aiplatform/V1Beta1/Artifact.cs index fb5d763f66..c0574626fd 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Artifact.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Artifact.cs @@ -59,7 +59,7 @@ public partial class Artifact : global::Pulumi.CustomResource /// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// [Output("metadata")] - public Output> Metadata { get; private set; } = null!; + public Output> Metadata { get; private set; } = null!; [Output("metadataStoreId")] public Output MetadataStoreId { get; private set; } = null!; @@ -194,14 +194,14 @@ public InputMap Labels public Input? Location { get; set; } [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Context.cs b/sdk/dotnet/Aiplatform/V1Beta1/Context.cs index 88657a57fd..29419a9622 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Context.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Context.cs @@ -58,7 +58,7 @@ public partial class Context : global::Pulumi.CustomResource /// Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// [Output("metadata")] - public Output> Metadata { get; private set; } = null!; + public Output> Metadata { get; private set; } = null!; [Output("metadataStoreId")] public Output MetadataStoreId { get; private set; } = null!; @@ -187,14 +187,14 @@ public InputMap Labels public Input? Location { get; set; } [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Endpoint.cs b/sdk/dotnet/Aiplatform/V1Beta1/Endpoint.cs index 3db76acc45..dd97d43182 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Endpoint.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Endpoint.cs @@ -104,7 +104,7 @@ public partial class Endpoint : global::Pulumi.CustomResource /// A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. /// [Output("trafficSplit")] - public Output> TrafficSplit { get; private set; } = null!; + public Output> TrafficSplit { get; private set; } = null!; /// /// Timestamp when this Endpoint was last updated. @@ -229,14 +229,14 @@ public InputMap Labels public Input? Project { get; set; } [Input("trafficSplit")] - private InputMap? _trafficSplit; + private InputMap? _trafficSplit; /// /// A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. /// - public InputMap TrafficSplit + public InputMap TrafficSplit { - get => _trafficSplit ?? (_trafficSplit = new InputMap()); + get => _trafficSplit ?? (_trafficSplit = new InputMap()); set => _trafficSplit = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Enums.cs b/sdk/dotnet/Aiplatform/V1Beta1/Enums.cs index e35824a360..d39f8b6dd4 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Enums.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Enums.cs @@ -280,6 +280,255 @@ private GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat(string va public override string ToString() => _value; } + /// + /// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default value. This is the same as IDENTITY. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding EncodingUnspecified { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("ENCODING_UNSPECIFIED"); + /// + /// The tensor represents one feature. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding Identity { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("IDENTITY"); + /// + /// The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = ["age", "height", "weight"] ``` + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding BagOfFeatures { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("BAG_OF_FEATURES"); + /// + /// The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding BagOfFeaturesSparse { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("BAG_OF_FEATURES_SPARSE"); + /// + /// The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding Indicator { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("INDICATOR"); + /// + /// The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ``` + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding CombinedEmbedding { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("COMBINED_EMBEDDING"); + /// + /// Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ``` + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding ConcatEmbedding { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("CONCAT_EMBEDDING"); + + public static bool operator ==(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Should not be used. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap ColorMapUnspecified { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("COLOR_MAP_UNSPECIFIED"); + /// + /// Positive: green. Negative: pink. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap PinkGreen { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("PINK_GREEN"); + /// + /// Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap Viridis { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("VIRIDIS"); + /// + /// Positive: red. Negative: red. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap Red { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("RED"); + /// + /// Positive: green. Negative: green. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap Green { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("GREEN"); + /// + /// Positive: green. Negative: red. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap RedGreen { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("RED_GREEN"); + /// + /// PiYG palette. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap PinkWhiteGreen { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("PINK_WHITE_GREEN"); + + public static bool operator ==(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default value. This is the same as NONE. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType OverlayTypeUnspecified { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("OVERLAY_TYPE_UNSPECIFIED"); + /// + /// No overlay. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType None { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("NONE"); + /// + /// The attributions are shown on top of the original image. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType Original { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("ORIGINAL"); + /// + /// The attributions are shown on top of grayscaled version of the original image. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType Grayscale { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("GRAYSCALE"); + /// + /// The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType MaskBlack { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("MASK_BLACK"); + + public static bool operator ==(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default value. This is the same as POSITIVE. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity PolarityUnspecified { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("POLARITY_UNSPECIFIED"); + /// + /// Highlights the pixels/outlines that were most influential to the model's prediction. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity Positive { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("POSITIVE"); + /// + /// Setting polarity to negative highlights areas that does not lead to the models's current prediction. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity Negative { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("NEGATIVE"); + /// + /// Shows both positive and negative attributions. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity Both { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("BOTH"); + + public static bool operator ==(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + /// + [EnumType] + public readonly struct GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType : IEquatable + { + private readonly string _value; + + private GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Should not be used. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType TypeUnspecified { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType("TYPE_UNSPECIFIED"); + /// + /// Shows which pixel contributed to the image prediction. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType Pixels { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType("PIXELS"); + /// + /// Shows which region contributed to the image prediction by outlining the region. + /// + public static GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType Outlines { get; } = new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType("OUTLINES"); + + public static bool operator ==(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType right) => left.Equals(right); + public static bool operator !=(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType left, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType other && Equals(other); + public bool Equals(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Optional. The distance measure used in nearest neighbor search. /// diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Execution.cs b/sdk/dotnet/Aiplatform/V1Beta1/Execution.cs index ac96996baf..9886fbbe23 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Execution.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Execution.cs @@ -59,7 +59,7 @@ public partial class Execution : global::Pulumi.CustomResource /// Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// [Output("metadata")] - public Output> Metadata { get; private set; } = null!; + public Output> Metadata { get; private set; } = null!; [Output("metadataStoreId")] public Output MetadataStoreId { get; private set; } = null!; @@ -188,14 +188,14 @@ public InputMap Labels public Input? Location { get; set; } [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/GetArtifact.cs b/sdk/dotnet/Aiplatform/V1Beta1/GetArtifact.cs index b5d1824c6a..bd66a01f78 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/GetArtifact.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/GetArtifact.cs @@ -92,7 +92,7 @@ public sealed class GetArtifactResult /// /// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// The resource name of the Artifact. /// @@ -130,7 +130,7 @@ private GetArtifactResult( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1Beta1/GetContext.cs b/sdk/dotnet/Aiplatform/V1Beta1/GetContext.cs index 55fe1c2b38..cfabdef153 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/GetContext.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/GetContext.cs @@ -92,7 +92,7 @@ public sealed class GetContextResult /// /// Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// Immutable. The resource name of the Context. /// @@ -126,7 +126,7 @@ private GetContextResult( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1Beta1/GetEndpoint.cs b/sdk/dotnet/Aiplatform/V1Beta1/GetEndpoint.cs index 77b46a81d5..6ac8a5597d 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/GetEndpoint.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/GetEndpoint.cs @@ -114,7 +114,7 @@ public sealed class GetEndpointResult /// /// A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. /// - public readonly ImmutableDictionary TrafficSplit; + public readonly ImmutableDictionary TrafficSplit; /// /// Timestamp when this Endpoint was last updated. /// @@ -146,7 +146,7 @@ private GetEndpointResult( Outputs.GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfigResponse predictRequestResponseLoggingConfig, - ImmutableDictionary trafficSplit, + ImmutableDictionary trafficSplit, string updateTime) { diff --git a/sdk/dotnet/Aiplatform/V1Beta1/GetExecution.cs b/sdk/dotnet/Aiplatform/V1Beta1/GetExecution.cs index cdfa2b8978..75f89eb0f7 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/GetExecution.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/GetExecution.cs @@ -92,7 +92,7 @@ public sealed class GetExecutionResult /// /// Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// The resource name of the Execution. /// @@ -126,7 +126,7 @@ private GetExecutionResult( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1Beta1/GetPipelineJob.cs b/sdk/dotnet/Aiplatform/V1Beta1/GetPipelineJob.cs index d7fb49cc11..f7c8484e0e 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/GetPipelineJob.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/GetPipelineJob.cs @@ -102,7 +102,7 @@ public sealed class GetPipelineJobResult /// /// The spec of the pipeline. /// - public readonly ImmutableDictionary PipelineSpec; + public readonly ImmutableDictionary PipelineSpec; /// /// A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. /// @@ -160,7 +160,7 @@ private GetPipelineJobResult( string network, - ImmutableDictionary pipelineSpec, + ImmutableDictionary pipelineSpec, ImmutableArray reservedIpRanges, diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataArgs.cs index 6b224e56cf..e1bf2ba9e1 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataArgs.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataArgs : global public Input? FeatureAttributionsSchemaUri { get; set; } [Input("inputs", required: true)] - private InputMap? _inputs; + private InputMap? _inputs; /// /// Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. /// - public InputMap Inputs + public InputMap Inputs { - get => _inputs ?? (_inputs = new InputMap()); + get => _inputs ?? (_inputs = new InputMap()); set => _inputs = value; } @@ -40,14 +40,14 @@ public InputMap Inputs public Input? LatentSpaceSource { get; set; } [Input("outputs", required: true)] - private InputMap? _outputs; + private InputMap? _outputs; /// /// Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. /// - public InputMap Outputs + public InputMap Outputs { - get => _outputs ?? (_outputs = new InputMap()); + get => _outputs ?? (_outputs = new InputMap()); set => _outputs = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs.cs new file mode 100644 index 0000000000..d735337cc1 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs.cs @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Inputs +{ + + /// + /// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + /// + public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + /// + [Input("denseShapeTensorName")] + public Input? DenseShapeTensorName { get; set; } + + [Input("encodedBaselines")] + private InputList? _encodedBaselines; + + /// + /// A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + /// + public InputList EncodedBaselines + { + get => _encodedBaselines ?? (_encodedBaselines = new InputList()); + set => _encodedBaselines = value; + } + + /// + /// Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + /// + [Input("encodedTensorName")] + public Input? EncodedTensorName { get; set; } + + /// + /// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + /// + [Input("encoding")] + public Input? Encoding { get; set; } + + /// + /// The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + /// + [Input("featureValueDomain")] + public Input? FeatureValueDomain { get; set; } + + /// + /// Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + /// + [Input("groupName")] + public Input? GroupName { get; set; } + + [Input("indexFeatureMapping")] + private InputList? _indexFeatureMapping; + + /// + /// A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + /// + public InputList IndexFeatureMapping + { + get => _indexFeatureMapping ?? (_indexFeatureMapping = new InputList()); + set => _indexFeatureMapping = value; + } + + /// + /// Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + /// + [Input("indicesTensorName")] + public Input? IndicesTensorName { get; set; } + + [Input("inputBaselines")] + private InputList? _inputBaselines; + + /// + /// Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + /// + public InputList InputBaselines + { + get => _inputBaselines ?? (_inputBaselines = new InputList()); + set => _inputBaselines = value; + } + + /// + /// Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + /// + [Input("inputTensorName")] + public Input? InputTensorName { get; set; } + + /// + /// Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + /// + [Input("modality")] + public Input? Modality { get; set; } + + /// + /// Visualization configurations for image explanation. + /// + [Input("visualization")] + public Input? Visualization { get; set; } + + public GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs() + { + } + public static new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs Empty => new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs.cs new file mode 100644 index 0000000000..b3027edf34 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Inputs +{ + + /// + /// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + /// + public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum permissible value for this feature. + /// + [Input("maxValue")] + public Input? MaxValue { get; set; } + + /// + /// The minimum permissible value for this feature. + /// + [Input("minValue")] + public Input? MinValue { get; set; } + + /// + /// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + /// + [Input("originalMean")] + public Input? OriginalMean { get; set; } + + /// + /// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + /// + [Input("originalStddev")] + public Input? OriginalStddev { get; set; } + + public GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs() + { + } + public static new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs Empty => new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs.cs new file mode 100644 index 0000000000..3ad55d532f --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Inputs +{ + + /// + /// Visualization configurations for image explanation. + /// + public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs : global::Pulumi.ResourceArgs + { + /// + /// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + /// + [Input("clipPercentLowerbound")] + public Input? ClipPercentLowerbound { get; set; } + + /// + /// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + /// + [Input("clipPercentUpperbound")] + public Input? ClipPercentUpperbound { get; set; } + + /// + /// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + /// + [Input("colorMap")] + public Input? ColorMap { get; set; } + + /// + /// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + /// + [Input("overlayType")] + public Input? OverlayType { get; set; } + + /// + /// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + /// + [Input("polarity")] + public Input? Polarity { get; set; } + + /// + /// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + /// + [Input("type")] + public Input? Type { get; set; } + + public GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs() + { + } + public static new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs Empty => new GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs.cs new file mode 100644 index 0000000000..48ce4767dc --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Inputs +{ + + /// + /// Metadata of the prediction output to be explained. + /// + public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs : global::Pulumi.ResourceArgs + { + /// + /// Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + /// + [Input("displayNameMappingKey")] + public Input? DisplayNameMappingKey { get; set; } + + /// + /// Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + /// + [Input("indexDisplayNameMapping")] + public Input? IndexDisplayNameMapping { get; set; } + + /// + /// Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + /// + [Input("outputTensorName")] + public Input? OutputTensorName { get; set; } + + public GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs() + { + } + public static new GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs Empty => new GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs.cs index b02b7d8316..dd2d256bb5 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Aiplatform.V1Beta1.Inputs public sealed class GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs : global::Pulumi.ResourceArgs { [Input("attributionScoreDriftThresholds")] - private InputMap? _attributionScoreDriftThresholds; + private InputMap? _attributionScoreDriftThresholds; /// /// Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. /// - public InputMap AttributionScoreDriftThresholds + public InputMap AttributionScoreDriftThresholds { - get => _attributionScoreDriftThresholds ?? (_attributionScoreDriftThresholds = new InputMap()); + get => _attributionScoreDriftThresholds ?? (_attributionScoreDriftThresholds = new InputMap()); set => _attributionScoreDriftThresholds = value; } @@ -34,14 +34,14 @@ public InputMap AttributionScoreDriftThresholds public Input? DefaultDriftThreshold { get; set; } [Input("driftThresholds")] - private InputMap? _driftThresholds; + private InputMap? _driftThresholds; /// /// Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. /// - public InputMap DriftThresholds + public InputMap DriftThresholds { - get => _driftThresholds ?? (_driftThresholds = new InputMap()); + get => _driftThresholds ?? (_driftThresholds = new InputMap()); set => _driftThresholds = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs.cs index 5f316b5e76..8b2fa140d1 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Aiplatform.V1Beta1.Inputs public sealed class GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs : global::Pulumi.ResourceArgs { [Input("attributionScoreSkewThresholds")] - private InputMap? _attributionScoreSkewThresholds; + private InputMap? _attributionScoreSkewThresholds; /// /// Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. /// - public InputMap AttributionScoreSkewThresholds + public InputMap AttributionScoreSkewThresholds { - get => _attributionScoreSkewThresholds ?? (_attributionScoreSkewThresholds = new InputMap()); + get => _attributionScoreSkewThresholds ?? (_attributionScoreSkewThresholds = new InputMap()); set => _attributionScoreSkewThresholds = value; } @@ -34,14 +34,14 @@ public InputMap AttributionScoreSkewThresholds public Input? DefaultSkewThreshold { get; set; } [Input("skewThresholds")] - private InputMap? _skewThresholds; + private InputMap? _skewThresholds; /// /// Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. /// - public InputMap SkewThresholds + public InputMap SkewThresholds { - get => _skewThresholds ?? (_skewThresholds = new InputMap()); + get => _skewThresholds ?? (_skewThresholds = new InputMap()); set => _skewThresholds = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobArgs.cs index 1ebecdfa09..25e270becc 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobArgs.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobArgs.cs @@ -46,14 +46,14 @@ public InputMap Labels public Input? Network { get; set; } [Input("pipelineSpec")] - private InputMap? _pipelineSpec; + private InputMap? _pipelineSpec; /// /// The spec of the pipeline. /// - public InputMap PipelineSpec + public InputMap PipelineSpec { - get => _pipelineSpec ?? (_pipelineSpec = new InputMap()); + get => _pipelineSpec ?? (_pipelineSpec = new InputMap()); set => _pipelineSpec = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs.cs index cdac2f4c4b..ad3094c33a 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs.cs @@ -28,39 +28,39 @@ public sealed class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs : g public Input GcsOutputDirectory { get; set; } = null!; [Input("inputArtifacts")] - private InputMap? _inputArtifacts; + private InputMap? _inputArtifacts; /// /// The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. /// - public InputMap InputArtifacts + public InputMap InputArtifacts { - get => _inputArtifacts ?? (_inputArtifacts = new InputMap()); + get => _inputArtifacts ?? (_inputArtifacts = new InputMap()); set => _inputArtifacts = value; } [Input("parameterValues")] - private InputMap? _parameterValues; + private InputMap? _parameterValues; /// /// The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. /// - public InputMap ParameterValues + public InputMap ParameterValues { - get => _parameterValues ?? (_parameterValues = new InputMap()); + get => _parameterValues ?? (_parameterValues = new InputMap()); set => _parameterValues = value; } [Input("parameters")] - private InputMap? _parameters; + private InputMap? _parameters; /// /// Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. /// [Obsolete(@"Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.")] - public InputMap Parameters + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs.cs new file mode 100644 index 0000000000..274b96265f --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Inputs +{ + + /// + /// The type of an input artifact. + /// + public sealed class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs : global::Pulumi.ResourceArgs + { + /// + /// Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + /// + [Input("artifactId")] + public Input? ArtifactId { get; set; } + + public GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs() + { + } + public static new GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs Empty => new GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ValueArgs.cs b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ValueArgs.cs new file mode 100644 index 0000000000..c63e0f21b7 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Inputs/GoogleCloudAiplatformV1beta1ValueArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Inputs +{ + + /// + /// Value is the value of the field. + /// + public sealed class GoogleCloudAiplatformV1beta1ValueArgs : global::Pulumi.ResourceArgs + { + /// + /// A double value. + /// + [Input("doubleValue")] + public Input? DoubleValue { get; set; } + + /// + /// An integer value. + /// + [Input("intValue")] + public Input? IntValue { get; set; } + + /// + /// A string value. + /// + [Input("stringValue")] + public Input? StringValue { get; set; } + + public GoogleCloudAiplatformV1beta1ValueArgs() + { + } + public static new GoogleCloudAiplatformV1beta1ValueArgs Empty => new GoogleCloudAiplatformV1beta1ValueArgs(); + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ArtifactResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ArtifactResponse.cs new file mode 100644 index 0000000000..63ea9e4fdf --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ArtifactResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Outputs +{ + + /// + /// Instance of a general artifact. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1beta1ArtifactResponse + { + /// + /// Timestamp when this Artifact was created. + /// + public readonly string CreateTime; + /// + /// Description of the Artifact + /// + public readonly string Description; + /// + /// User provided display name of the Artifact. May be up to 128 Unicode characters. + /// + public readonly string DisplayName; + /// + /// An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + /// + public readonly string Etag; + /// + /// The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + /// + public readonly ImmutableDictionary Labels; + /// + /// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + /// + public readonly ImmutableDictionary Metadata; + /// + /// The resource name of the Artifact. + /// + public readonly string Name; + /// + /// The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + /// + public readonly string SchemaTitle; + /// + /// The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + /// + public readonly string SchemaVersion; + /// + /// The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + /// + public readonly string State; + /// + /// Timestamp when this Artifact was last updated. + /// + public readonly string UpdateTime; + /// + /// The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + /// + public readonly string Uri; + + [OutputConstructor] + private GoogleCloudAiplatformV1beta1ArtifactResponse( + string createTime, + + string description, + + string displayName, + + string etag, + + ImmutableDictionary labels, + + ImmutableDictionary metadata, + + string name, + + string schemaTitle, + + string schemaVersion, + + string state, + + string updateTime, + + string uri) + { + CreateTime = createTime; + Description = description; + DisplayName = displayName; + Etag = etag; + Labels = labels; + Metadata = metadata; + Name = name; + SchemaTitle = schemaTitle; + SchemaVersion = schemaVersion; + State = state; + UpdateTime = updateTime; + Uri = uri; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ContextResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ContextResponse.cs index 5343076d27..71fc5c6989 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ContextResponse.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ContextResponse.cs @@ -39,7 +39,7 @@ public sealed class GoogleCloudAiplatformV1beta1ContextResponse /// /// Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// Immutable. The resource name of the Context. /// @@ -73,7 +73,7 @@ private GoogleCloudAiplatformV1beta1ContextResponse( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExecutionResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExecutionResponse.cs index c1ac4da1ae..a06b6dc0da 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExecutionResponse.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExecutionResponse.cs @@ -39,7 +39,7 @@ public sealed class GoogleCloudAiplatformV1beta1ExecutionResponse /// /// Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// The resource name of the Execution. /// @@ -73,7 +73,7 @@ private GoogleCloudAiplatformV1beta1ExecutionResponse( ImmutableDictionary labels, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse.cs new file mode 100644 index 0000000000..f56b81c3b7 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Outputs +{ + + /// + /// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse + { + /// + /// The maximum permissible value for this feature. + /// + public readonly double MaxValue; + /// + /// The minimum permissible value for this feature. + /// + public readonly double MinValue; + /// + /// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + /// + public readonly double OriginalMean; + /// + /// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + /// + public readonly double OriginalStddev; + + [OutputConstructor] + private GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse( + double maxValue, + + double minValue, + + double originalMean, + + double originalStddev) + { + MaxValue = maxValue; + MinValue = minValue; + OriginalMean = originalMean; + OriginalStddev = originalStddev; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse.cs new file mode 100644 index 0000000000..cdb6f35a47 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse.cs @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Outputs +{ + + /// + /// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse + { + /// + /// Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + /// + public readonly string DenseShapeTensorName; + /// + /// A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + /// + public readonly ImmutableArray EncodedBaselines; + /// + /// Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + /// + public readonly string EncodedTensorName; + /// + /// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + /// + public readonly string Encoding; + /// + /// The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + /// + public readonly Outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse FeatureValueDomain; + /// + /// Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + /// + public readonly string GroupName; + /// + /// A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + /// + public readonly ImmutableArray IndexFeatureMapping; + /// + /// Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + /// + public readonly string IndicesTensorName; + /// + /// Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + /// + public readonly ImmutableArray InputBaselines; + /// + /// Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + /// + public readonly string InputTensorName; + /// + /// Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + /// + public readonly string Modality; + /// + /// Visualization configurations for image explanation. + /// + public readonly Outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse Visualization; + + [OutputConstructor] + private GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse( + string denseShapeTensorName, + + ImmutableArray encodedBaselines, + + string encodedTensorName, + + string encoding, + + Outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse featureValueDomain, + + string groupName, + + ImmutableArray indexFeatureMapping, + + string indicesTensorName, + + ImmutableArray inputBaselines, + + string inputTensorName, + + string modality, + + Outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse visualization) + { + DenseShapeTensorName = denseShapeTensorName; + EncodedBaselines = encodedBaselines; + EncodedTensorName = encodedTensorName; + Encoding = encoding; + FeatureValueDomain = featureValueDomain; + GroupName = groupName; + IndexFeatureMapping = indexFeatureMapping; + IndicesTensorName = indicesTensorName; + InputBaselines = inputBaselines; + InputTensorName = inputTensorName; + Modality = modality; + Visualization = visualization; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse.cs new file mode 100644 index 0000000000..edc547bae2 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Outputs +{ + + /// + /// Visualization configurations for image explanation. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse + { + /// + /// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + /// + public readonly double ClipPercentLowerbound; + /// + /// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + /// + public readonly double ClipPercentUpperbound; + /// + /// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + /// + public readonly string ColorMap; + /// + /// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + /// + public readonly string OverlayType; + /// + /// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + /// + public readonly string Polarity; + /// + /// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + /// + public readonly string Type; + + [OutputConstructor] + private GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse( + double clipPercentLowerbound, + + double clipPercentUpperbound, + + string colorMap, + + string overlayType, + + string polarity, + + string type) + { + ClipPercentLowerbound = clipPercentLowerbound; + ClipPercentUpperbound = clipPercentUpperbound; + ColorMap = colorMap; + OverlayType = overlayType; + Polarity = polarity; + Type = type; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse.cs new file mode 100644 index 0000000000..65896cd513 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Outputs +{ + + /// + /// Metadata of the prediction output to be explained. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse + { + /// + /// Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + /// + public readonly string DisplayNameMappingKey; + /// + /// Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + /// + public readonly object IndexDisplayNameMapping; + /// + /// Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + /// + public readonly string OutputTensorName; + + [OutputConstructor] + private GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse( + string displayNameMappingKey, + + object indexDisplayNameMapping, + + string outputTensorName) + { + DisplayNameMappingKey = displayNameMappingKey; + IndexDisplayNameMapping = indexDisplayNameMapping; + OutputTensorName = outputTensorName; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataResponse.cs index 5f811898ad..da5f5fef4b 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataResponse.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ExplanationMetadataResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataResponse /// /// Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. /// - public readonly ImmutableDictionary Inputs; + public readonly ImmutableDictionary Inputs; /// /// Name of the source to generate embeddings for example based explanations. /// @@ -31,17 +31,17 @@ public sealed class GoogleCloudAiplatformV1beta1ExplanationMetadataResponse /// /// Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. /// - public readonly ImmutableDictionary Outputs; + public readonly ImmutableDictionary Outputs; [OutputConstructor] private GoogleCloudAiplatformV1beta1ExplanationMetadataResponse( string featureAttributionsSchemaUri, - ImmutableDictionary inputs, + ImmutableDictionary inputs, string latentSpaceSource, - ImmutableDictionary outputs) + ImmutableDictionary outputs) { FeatureAttributionsSchemaUri = featureAttributionsSchemaUri; Inputs = inputs; diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse.cs index 7c2948d4bb..01cb31b134 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPr /// /// Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. /// - public readonly ImmutableDictionary AttributionScoreDriftThresholds; + public readonly ImmutableDictionary AttributionScoreDriftThresholds; /// /// Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. /// @@ -27,15 +27,15 @@ public sealed class GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPr /// /// Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. /// - public readonly ImmutableDictionary DriftThresholds; + public readonly ImmutableDictionary DriftThresholds; [OutputConstructor] private GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse( - ImmutableDictionary attributionScoreDriftThresholds, + ImmutableDictionary attributionScoreDriftThresholds, Outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse defaultDriftThreshold, - ImmutableDictionary driftThresholds) + ImmutableDictionary driftThresholds) { AttributionScoreDriftThresholds = attributionScoreDriftThresholds; DefaultDriftThreshold = defaultDriftThreshold; diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse.cs index 3d84c1ef48..634345ba05 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTr /// /// Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. /// - public readonly ImmutableDictionary AttributionScoreSkewThresholds; + public readonly ImmutableDictionary AttributionScoreSkewThresholds; /// /// Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. /// @@ -27,15 +27,15 @@ public sealed class GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTr /// /// Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. /// - public readonly ImmutableDictionary SkewThresholds; + public readonly ImmutableDictionary SkewThresholds; [OutputConstructor] private GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse( - ImmutableDictionary attributionScoreSkewThresholds, + ImmutableDictionary attributionScoreSkewThresholds, Outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse defaultSkewThreshold, - ImmutableDictionary skewThresholds) + ImmutableDictionary skewThresholds) { AttributionScoreSkewThresholds = attributionScoreSkewThresholds; DefaultSkewThreshold = defaultSkewThreshold; diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobResponse.cs index c42a836c0b..39f3fac644 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobResponse.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobResponse.cs @@ -55,7 +55,7 @@ public sealed class GoogleCloudAiplatformV1beta1PipelineJobResponse /// /// The spec of the pipeline. /// - public readonly ImmutableDictionary PipelineSpec; + public readonly ImmutableDictionary PipelineSpec; /// /// A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. /// @@ -113,7 +113,7 @@ private GoogleCloudAiplatformV1beta1PipelineJobResponse( string network, - ImmutableDictionary pipelineSpec, + ImmutableDictionary pipelineSpec, ImmutableArray reservedIpRanges, diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse.cs new file mode 100644 index 0000000000..149ba8c399 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Outputs +{ + + /// + /// The type of an input artifact. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse + { + /// + /// Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + /// + public readonly string ArtifactId; + + [OutputConstructor] + private GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse(string artifactId) + { + ArtifactId = artifactId; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse.cs index 36ea12ed6e..3f8dd0b1df 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse.cs @@ -27,15 +27,15 @@ public sealed class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse /// /// The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. /// - public readonly ImmutableDictionary InputArtifacts; + public readonly ImmutableDictionary InputArtifacts; /// /// The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. /// - public readonly ImmutableDictionary ParameterValues; + public readonly ImmutableDictionary ParameterValues; /// /// Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. /// - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Parameters; [OutputConstructor] private GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse( @@ -43,11 +43,11 @@ private GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse( string gcsOutputDirectory, - ImmutableDictionary inputArtifacts, + ImmutableDictionary inputArtifacts, - ImmutableDictionary parameterValues, + ImmutableDictionary parameterValues, - ImmutableDictionary parameters) + ImmutableDictionary parameters) { FailurePolicy = failurePolicy; GcsOutputDirectory = gcsOutputDirectory; diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse.cs new file mode 100644 index 0000000000..58eec192a1 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Outputs +{ + + /// + /// A list of artifact metadata. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse + { + /// + /// A list of artifact metadata. + /// + public readonly ImmutableArray Artifacts; + + [OutputConstructor] + private GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse(ImmutableArray artifacts) + { + Artifacts = artifacts; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse.cs index f39c8a4b81..83b882b6e9 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse.cs @@ -39,11 +39,11 @@ public sealed class GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse /// /// The runtime input artifacts of the task. /// - public readonly ImmutableDictionary Inputs; + public readonly ImmutableDictionary Inputs; /// /// The runtime output artifacts of the task. /// - public readonly ImmutableDictionary Outputs; + public readonly ImmutableDictionary Outputs; /// /// The id of the parent task if the task is within a component scope. Empty if the task is at the root level. /// @@ -81,9 +81,9 @@ private GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse( Outputs.GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailResponse executorDetail, - ImmutableDictionary inputs, + ImmutableDictionary inputs, - ImmutableDictionary outputs, + ImmutableDictionary outputs, string parentTaskId, diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ValueResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ValueResponse.cs new file mode 100644 index 0000000000..c8c8eb65b9 --- /dev/null +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleCloudAiplatformV1beta1ValueResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Aiplatform.V1Beta1.Outputs +{ + + /// + /// Value is the value of the field. + /// + [OutputType] + public sealed class GoogleCloudAiplatformV1beta1ValueResponse + { + /// + /// A double value. + /// + public readonly double DoubleValue; + /// + /// An integer value. + /// + public readonly string IntValue; + /// + /// A string value. + /// + public readonly string StringValue; + + [OutputConstructor] + private GoogleCloudAiplatformV1beta1ValueResponse( + double doubleValue, + + string intValue, + + string stringValue) + { + DoubleValue = doubleValue; + IntValue = intValue; + StringValue = stringValue; + } + } +} diff --git a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleRpcStatusResponse.cs index 9ac0b027d2..9e5a1eb91e 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Aiplatform/V1Beta1/PipelineJob.cs b/sdk/dotnet/Aiplatform/V1Beta1/PipelineJob.cs index 6580584c44..d50eeb89f1 100644 --- a/sdk/dotnet/Aiplatform/V1Beta1/PipelineJob.cs +++ b/sdk/dotnet/Aiplatform/V1Beta1/PipelineJob.cs @@ -83,7 +83,7 @@ public partial class PipelineJob : global::Pulumi.CustomResource /// The spec of the pipeline. /// [Output("pipelineSpec")] - public Output> PipelineSpec { get; private set; } = null!; + public Output> PipelineSpec { get; private set; } = null!; [Output("project")] public Output Project { get; private set; } = null!; @@ -232,14 +232,14 @@ public InputMap Labels public Input? PipelineJobId { get; set; } [Input("pipelineSpec")] - private InputMap? _pipelineSpec; + private InputMap? _pipelineSpec; /// /// The spec of the pipeline. /// - public InputMap PipelineSpec + public InputMap PipelineSpec { - get => _pipelineSpec ?? (_pipelineSpec = new InputMap()); + get => _pipelineSpec ?? (_pipelineSpec = new InputMap()); set => _pipelineSpec = value; } diff --git a/sdk/dotnet/Apigee/V1/Alias.cs b/sdk/dotnet/Apigee/V1/Alias.cs index 7700964079..20c585c167 100644 --- a/sdk/dotnet/Apigee/V1/Alias.cs +++ b/sdk/dotnet/Apigee/V1/Alias.cs @@ -141,14 +141,14 @@ public sealed class AliasArgs : global::Pulumi.ResourceArgs public Input EnvironmentId { get; set; } = null!; [Input("extensions")] - private InputList>? _extensions; + private InputList>? _extensions; /// /// Application specific response metadata. Must be set in the first response for streaming APIs. /// - public InputList> Extensions + public InputList> Extensions { - get => _extensions ?? (_extensions = new InputList>()); + get => _extensions ?? (_extensions = new InputList>()); set => _extensions = value; } diff --git a/sdk/dotnet/Apigee/V1/Api.cs b/sdk/dotnet/Apigee/V1/Api.cs index 334d1a2167..a169e2553d 100644 --- a/sdk/dotnet/Apigee/V1/Api.cs +++ b/sdk/dotnet/Apigee/V1/Api.cs @@ -140,14 +140,14 @@ public sealed class ApiArgs : global::Pulumi.ResourceArgs public Input? Data { get; set; } [Input("extensions")] - private InputList>? _extensions; + private InputList>? _extensions; /// /// Application specific response metadata. Must be set in the first response for streaming APIs. /// - public InputList> Extensions + public InputList> Extensions { - get => _extensions ?? (_extensions = new InputList>()); + get => _extensions ?? (_extensions = new InputList>()); set => _extensions = value; } diff --git a/sdk/dotnet/Apigee/V1/GetResourcefile.cs b/sdk/dotnet/Apigee/V1/GetResourcefile.cs index eb78d460f4..e5835af011 100644 --- a/sdk/dotnet/Apigee/V1/GetResourcefile.cs +++ b/sdk/dotnet/Apigee/V1/GetResourcefile.cs @@ -80,7 +80,7 @@ public sealed class GetResourcefileResult /// /// Application specific response metadata. Must be set in the first response for streaming APIs. /// - public readonly ImmutableArray> Extensions; + public readonly ImmutableArray> Extensions; [OutputConstructor] private GetResourcefileResult( @@ -88,7 +88,7 @@ private GetResourcefileResult( string data, - ImmutableArray> extensions) + ImmutableArray> extensions) { ContentType = contentType; Data = data; diff --git a/sdk/dotnet/Apigee/V1/Resourcefile.cs b/sdk/dotnet/Apigee/V1/Resourcefile.cs index dc430535a2..3658f519a9 100644 --- a/sdk/dotnet/Apigee/V1/Resourcefile.cs +++ b/sdk/dotnet/Apigee/V1/Resourcefile.cs @@ -35,7 +35,7 @@ public partial class Resourcefile : global::Pulumi.CustomResource /// Application specific response metadata. Must be set in the first response for streaming APIs. /// [Output("extensions")] - public Output>> Extensions { get; private set; } = null!; + public Output>> Extensions { get; private set; } = null!; /// /// Required. Name of the resource file. Must match the regular expression: [a-zA-Z0-9:/\\!@#$%^&{}\[\]()+\-=,.~'` ]{1,255} @@ -120,14 +120,14 @@ public sealed class ResourcefileArgs : global::Pulumi.ResourceArgs public Input EnvironmentId { get; set; } = null!; [Input("extensions")] - private InputList>? _extensions; + private InputList>? _extensions; /// /// Application specific response metadata. Must be set in the first response for streaming APIs. /// - public InputList> Extensions + public InputList> Extensions { - get => _extensions ?? (_extensions = new InputList>()); + get => _extensions ?? (_extensions = new InputList>()); set => _extensions = value; } diff --git a/sdk/dotnet/Apigee/V1/Sharedflow.cs b/sdk/dotnet/Apigee/V1/Sharedflow.cs index 28026fb083..804337a45b 100644 --- a/sdk/dotnet/Apigee/V1/Sharedflow.cs +++ b/sdk/dotnet/Apigee/V1/Sharedflow.cs @@ -118,14 +118,14 @@ public sealed class SharedflowArgs : global::Pulumi.ResourceArgs public Input? Data { get; set; } [Input("extensions")] - private InputList>? _extensions; + private InputList>? _extensions; /// /// Application specific response metadata. Must be set in the first response for streaming APIs. /// - public InputList> Extensions + public InputList> Extensions { - get => _extensions ?? (_extensions = new InputList>()); + get => _extensions ?? (_extensions = new InputList>()); set => _extensions = value; } diff --git a/sdk/dotnet/AppEngine/V1/App.cs b/sdk/dotnet/AppEngine/V1/App.cs index b8704d9c53..b418788958 100644 --- a/sdk/dotnet/AppEngine/V1/App.cs +++ b/sdk/dotnet/AppEngine/V1/App.cs @@ -76,7 +76,7 @@ public partial class App : global::Pulumi.CustomResource /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest /// [Output("generatedCustomerMetadata")] - public Output> GeneratedCustomerMetadata { get; private set; } = null!; + public Output> GeneratedCustomerMetadata { get; private set; } = null!; [Output("iap")] public Output Iap { get; private set; } = null!; @@ -187,14 +187,14 @@ public InputList DispatchRules public Input? FeatureSettings { get; set; } [Input("generatedCustomerMetadata")] - private InputMap? _generatedCustomerMetadata; + private InputMap? _generatedCustomerMetadata; /// /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest /// - public InputMap GeneratedCustomerMetadata + public InputMap GeneratedCustomerMetadata { - get => _generatedCustomerMetadata ?? (_generatedCustomerMetadata = new InputMap()); + get => _generatedCustomerMetadata ?? (_generatedCustomerMetadata = new InputMap()); set => _generatedCustomerMetadata = value; } diff --git a/sdk/dotnet/AppEngine/V1/GetApp.cs b/sdk/dotnet/AppEngine/V1/GetApp.cs index ede905edf9..fc7c23f986 100644 --- a/sdk/dotnet/AppEngine/V1/GetApp.cs +++ b/sdk/dotnet/AppEngine/V1/GetApp.cs @@ -96,7 +96,7 @@ public sealed class GetAppResult /// /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest /// - public readonly ImmutableDictionary GeneratedCustomerMetadata; + public readonly ImmutableDictionary GeneratedCustomerMetadata; public readonly Outputs.IdentityAwareProxyResponse Iap; /// /// Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). @@ -135,7 +135,7 @@ private GetAppResult( string gcrDomain, - ImmutableDictionary generatedCustomerMetadata, + ImmutableDictionary generatedCustomerMetadata, Outputs.IdentityAwareProxyResponse iap, diff --git a/sdk/dotnet/AppEngine/V1/GetVersion.cs b/sdk/dotnet/AppEngine/V1/GetVersion.cs index 4ef5aad82d..06d0561a3f 100644 --- a/sdk/dotnet/AppEngine/V1/GetVersion.cs +++ b/sdk/dotnet/AppEngine/V1/GetVersion.cs @@ -140,7 +140,7 @@ public sealed class GetVersionResult /// /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest /// - public readonly ImmutableDictionary GeneratedCustomerMetadata; + public readonly ImmutableDictionary GeneratedCustomerMetadata; /// /// An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. /// @@ -270,7 +270,7 @@ private GetVersionResult( Outputs.FlexibleRuntimeSettingsResponse flexibleRuntimeSettings, - ImmutableDictionary generatedCustomerMetadata, + ImmutableDictionary generatedCustomerMetadata, ImmutableArray handlers, diff --git a/sdk/dotnet/AppEngine/V1/Inputs/DeploymentArgs.cs b/sdk/dotnet/AppEngine/V1/Inputs/DeploymentArgs.cs index d6270eedb8..2639cb3eaa 100644 --- a/sdk/dotnet/AppEngine/V1/Inputs/DeploymentArgs.cs +++ b/sdk/dotnet/AppEngine/V1/Inputs/DeploymentArgs.cs @@ -28,14 +28,14 @@ public sealed class DeploymentArgs : global::Pulumi.ResourceArgs public Input? Container { get; set; } [Input("files")] - private InputMap? _files; + private InputMap? _files; /// /// Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. /// - public InputMap Files + public InputMap Files { - get => _files ?? (_files = new InputMap()); + get => _files ?? (_files = new InputMap()); set => _files = value; } diff --git a/sdk/dotnet/AppEngine/V1/Inputs/FileInfoArgs.cs b/sdk/dotnet/AppEngine/V1/Inputs/FileInfoArgs.cs new file mode 100644 index 0000000000..7b3645c251 --- /dev/null +++ b/sdk/dotnet/AppEngine/V1/Inputs/FileInfoArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.AppEngine.V1.Inputs +{ + + /// + /// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + /// + public sealed class FileInfoArgs : global::Pulumi.ResourceArgs + { + /// + /// The MIME type of the file.Defaults to the value from Google Cloud Storage. + /// + [Input("mimeType")] + public Input? MimeType { get; set; } + + /// + /// The SHA1 hash of the file, in hex. + /// + [Input("sha1Sum")] + public Input? Sha1Sum { get; set; } + + /// + /// URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + /// + [Input("sourceUrl")] + public Input? SourceUrl { get; set; } + + public FileInfoArgs() + { + } + public static new FileInfoArgs Empty => new FileInfoArgs(); + } +} diff --git a/sdk/dotnet/AppEngine/V1/Outputs/DeploymentResponse.cs b/sdk/dotnet/AppEngine/V1/Outputs/DeploymentResponse.cs index 53a2574bbc..5daa563f8d 100644 --- a/sdk/dotnet/AppEngine/V1/Outputs/DeploymentResponse.cs +++ b/sdk/dotnet/AppEngine/V1/Outputs/DeploymentResponse.cs @@ -27,7 +27,7 @@ public sealed class DeploymentResponse /// /// Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. /// - public readonly ImmutableDictionary Files; + public readonly ImmutableDictionary Files; /// /// The zip file for this deployment, if this is a zip deployment. /// @@ -39,7 +39,7 @@ private DeploymentResponse( Outputs.ContainerInfoResponse container, - ImmutableDictionary files, + ImmutableDictionary files, Outputs.ZipInfoResponse zip) { diff --git a/sdk/dotnet/AppEngine/V1/Outputs/FileInfoResponse.cs b/sdk/dotnet/AppEngine/V1/Outputs/FileInfoResponse.cs new file mode 100644 index 0000000000..a2cd415c2b --- /dev/null +++ b/sdk/dotnet/AppEngine/V1/Outputs/FileInfoResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.AppEngine.V1.Outputs +{ + + /// + /// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + /// + [OutputType] + public sealed class FileInfoResponse + { + /// + /// The MIME type of the file.Defaults to the value from Google Cloud Storage. + /// + public readonly string MimeType; + /// + /// The SHA1 hash of the file, in hex. + /// + public readonly string Sha1Sum; + /// + /// URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + /// + public readonly string SourceUrl; + + [OutputConstructor] + private FileInfoResponse( + string mimeType, + + string sha1Sum, + + string sourceUrl) + { + MimeType = mimeType; + Sha1Sum = sha1Sum; + SourceUrl = sourceUrl; + } + } +} diff --git a/sdk/dotnet/AppEngine/V1/Version.cs b/sdk/dotnet/AppEngine/V1/Version.cs index fd43494db3..44d1a12d50 100644 --- a/sdk/dotnet/AppEngine/V1/Version.cs +++ b/sdk/dotnet/AppEngine/V1/Version.cs @@ -125,7 +125,7 @@ public partial class Version : global::Pulumi.CustomResource /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest /// [Output("generatedCustomerMetadata")] - public Output> GeneratedCustomerMetadata { get; private set; } = null!; + public Output> GeneratedCustomerMetadata { get; private set; } = null!; /// /// An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. @@ -430,14 +430,14 @@ public InputList ErrorHandlers public Input? FlexibleRuntimeSettings { get; set; } [Input("generatedCustomerMetadata")] - private InputMap? _generatedCustomerMetadata; + private InputMap? _generatedCustomerMetadata; /// /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest /// - public InputMap GeneratedCustomerMetadata + public InputMap GeneratedCustomerMetadata { - get => _generatedCustomerMetadata ?? (_generatedCustomerMetadata = new InputMap()); + get => _generatedCustomerMetadata ?? (_generatedCustomerMetadata = new InputMap()); set => _generatedCustomerMetadata = value; } diff --git a/sdk/dotnet/AppEngine/V1Beta/App.cs b/sdk/dotnet/AppEngine/V1Beta/App.cs index bb154ab15f..6e8f2a88a8 100644 --- a/sdk/dotnet/AppEngine/V1Beta/App.cs +++ b/sdk/dotnet/AppEngine/V1Beta/App.cs @@ -76,7 +76,7 @@ public partial class App : global::Pulumi.CustomResource /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest /// [Output("generatedCustomerMetadata")] - public Output> GeneratedCustomerMetadata { get; private set; } = null!; + public Output> GeneratedCustomerMetadata { get; private set; } = null!; [Output("iap")] public Output Iap { get; private set; } = null!; @@ -187,14 +187,14 @@ public InputList DispatchRules public Input? FeatureSettings { get; set; } [Input("generatedCustomerMetadata")] - private InputMap? _generatedCustomerMetadata; + private InputMap? _generatedCustomerMetadata; /// /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest /// - public InputMap GeneratedCustomerMetadata + public InputMap GeneratedCustomerMetadata { - get => _generatedCustomerMetadata ?? (_generatedCustomerMetadata = new InputMap()); + get => _generatedCustomerMetadata ?? (_generatedCustomerMetadata = new InputMap()); set => _generatedCustomerMetadata = value; } diff --git a/sdk/dotnet/AppEngine/V1Beta/GetApp.cs b/sdk/dotnet/AppEngine/V1Beta/GetApp.cs index d214e46359..32cf9684fd 100644 --- a/sdk/dotnet/AppEngine/V1Beta/GetApp.cs +++ b/sdk/dotnet/AppEngine/V1Beta/GetApp.cs @@ -96,7 +96,7 @@ public sealed class GetAppResult /// /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest /// - public readonly ImmutableDictionary GeneratedCustomerMetadata; + public readonly ImmutableDictionary GeneratedCustomerMetadata; public readonly Outputs.IdentityAwareProxyResponse Iap; /// /// Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). @@ -135,7 +135,7 @@ private GetAppResult( string gcrDomain, - ImmutableDictionary generatedCustomerMetadata, + ImmutableDictionary generatedCustomerMetadata, Outputs.IdentityAwareProxyResponse iap, diff --git a/sdk/dotnet/AppEngine/V1Beta/GetVersion.cs b/sdk/dotnet/AppEngine/V1Beta/GetVersion.cs index 52aa37ced0..218e753d33 100644 --- a/sdk/dotnet/AppEngine/V1Beta/GetVersion.cs +++ b/sdk/dotnet/AppEngine/V1Beta/GetVersion.cs @@ -146,7 +146,7 @@ public sealed class GetVersionResult /// /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest /// - public readonly ImmutableDictionary GeneratedCustomerMetadata; + public readonly ImmutableDictionary GeneratedCustomerMetadata; /// /// An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. /// @@ -276,7 +276,7 @@ private GetVersionResult( Outputs.FlexibleRuntimeSettingsResponse flexibleRuntimeSettings, - ImmutableDictionary generatedCustomerMetadata, + ImmutableDictionary generatedCustomerMetadata, ImmutableArray handlers, diff --git a/sdk/dotnet/AppEngine/V1Beta/Inputs/DeploymentArgs.cs b/sdk/dotnet/AppEngine/V1Beta/Inputs/DeploymentArgs.cs index 9b407fb1ba..57393a908c 100644 --- a/sdk/dotnet/AppEngine/V1Beta/Inputs/DeploymentArgs.cs +++ b/sdk/dotnet/AppEngine/V1Beta/Inputs/DeploymentArgs.cs @@ -34,14 +34,14 @@ public sealed class DeploymentArgs : global::Pulumi.ResourceArgs public Input? Container { get; set; } [Input("files")] - private InputMap? _files; + private InputMap? _files; /// /// Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. /// - public InputMap Files + public InputMap Files { - get => _files ?? (_files = new InputMap()); + get => _files ?? (_files = new InputMap()); set => _files = value; } diff --git a/sdk/dotnet/AppEngine/V1Beta/Inputs/FileInfoArgs.cs b/sdk/dotnet/AppEngine/V1Beta/Inputs/FileInfoArgs.cs new file mode 100644 index 0000000000..aa78e3c541 --- /dev/null +++ b/sdk/dotnet/AppEngine/V1Beta/Inputs/FileInfoArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.AppEngine.V1Beta.Inputs +{ + + /// + /// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + /// + public sealed class FileInfoArgs : global::Pulumi.ResourceArgs + { + /// + /// The MIME type of the file.Defaults to the value from Google Cloud Storage. + /// + [Input("mimeType")] + public Input? MimeType { get; set; } + + /// + /// The SHA1 hash of the file, in hex. + /// + [Input("sha1Sum")] + public Input? Sha1Sum { get; set; } + + /// + /// URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + /// + [Input("sourceUrl")] + public Input? SourceUrl { get; set; } + + public FileInfoArgs() + { + } + public static new FileInfoArgs Empty => new FileInfoArgs(); + } +} diff --git a/sdk/dotnet/AppEngine/V1Beta/Outputs/DeploymentResponse.cs b/sdk/dotnet/AppEngine/V1Beta/Outputs/DeploymentResponse.cs index cc5e200cc0..71b777a757 100644 --- a/sdk/dotnet/AppEngine/V1Beta/Outputs/DeploymentResponse.cs +++ b/sdk/dotnet/AppEngine/V1Beta/Outputs/DeploymentResponse.cs @@ -31,7 +31,7 @@ public sealed class DeploymentResponse /// /// Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. /// - public readonly ImmutableDictionary Files; + public readonly ImmutableDictionary Files; /// /// The zip file for this deployment, if this is a zip deployment. /// @@ -45,7 +45,7 @@ private DeploymentResponse( Outputs.ContainerInfoResponse container, - ImmutableDictionary files, + ImmutableDictionary files, Outputs.ZipInfoResponse zip) { diff --git a/sdk/dotnet/AppEngine/V1Beta/Outputs/FileInfoResponse.cs b/sdk/dotnet/AppEngine/V1Beta/Outputs/FileInfoResponse.cs new file mode 100644 index 0000000000..84e3b1bb7b --- /dev/null +++ b/sdk/dotnet/AppEngine/V1Beta/Outputs/FileInfoResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.AppEngine.V1Beta.Outputs +{ + + /// + /// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + /// + [OutputType] + public sealed class FileInfoResponse + { + /// + /// The MIME type of the file.Defaults to the value from Google Cloud Storage. + /// + public readonly string MimeType; + /// + /// The SHA1 hash of the file, in hex. + /// + public readonly string Sha1Sum; + /// + /// URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + /// + public readonly string SourceUrl; + + [OutputConstructor] + private FileInfoResponse( + string mimeType, + + string sha1Sum, + + string sourceUrl) + { + MimeType = mimeType; + Sha1Sum = sha1Sum; + SourceUrl = sourceUrl; + } + } +} diff --git a/sdk/dotnet/AppEngine/V1Beta/Version.cs b/sdk/dotnet/AppEngine/V1Beta/Version.cs index d366c45544..8aa8418894 100644 --- a/sdk/dotnet/AppEngine/V1Beta/Version.cs +++ b/sdk/dotnet/AppEngine/V1Beta/Version.cs @@ -125,7 +125,7 @@ public partial class Version : global::Pulumi.CustomResource /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest /// [Output("generatedCustomerMetadata")] - public Output> GeneratedCustomerMetadata { get; private set; } = null!; + public Output> GeneratedCustomerMetadata { get; private set; } = null!; /// /// An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. @@ -430,14 +430,14 @@ public InputList ErrorHandlers public Input? FlexibleRuntimeSettings { get; set; } [Input("generatedCustomerMetadata")] - private InputMap? _generatedCustomerMetadata; + private InputMap? _generatedCustomerMetadata; /// /// Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest /// - public InputMap GeneratedCustomerMetadata + public InputMap GeneratedCustomerMetadata { - get => _generatedCustomerMetadata ?? (_generatedCustomerMetadata = new InputMap()); + get => _generatedCustomerMetadata ?? (_generatedCustomerMetadata = new InputMap()); set => _generatedCustomerMetadata = value; } diff --git a/sdk/dotnet/ArtifactRegistry/V1/Enums.cs b/sdk/dotnet/ArtifactRegistry/V1/Enums.cs index cc879965fe..4be8a5d312 100644 --- a/sdk/dotnet/ArtifactRegistry/V1/Enums.cs +++ b/sdk/dotnet/ArtifactRegistry/V1/Enums.cs @@ -7,6 +7,92 @@ namespace Pulumi.GoogleNative.ArtifactRegistry.V1 { + /// + /// Policy action. + /// + [EnumType] + public readonly struct CleanupPolicyAction : IEquatable + { + private readonly string _value; + + private CleanupPolicyAction(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Action not specified. + /// + public static CleanupPolicyAction ActionUnspecified { get; } = new CleanupPolicyAction("ACTION_UNSPECIFIED"); + /// + /// Delete action. + /// + public static CleanupPolicyAction Delete { get; } = new CleanupPolicyAction("DELETE"); + /// + /// Keep action. + /// + public static CleanupPolicyAction Keep { get; } = new CleanupPolicyAction("KEEP"); + + public static bool operator ==(CleanupPolicyAction left, CleanupPolicyAction right) => left.Equals(right); + public static bool operator !=(CleanupPolicyAction left, CleanupPolicyAction right) => !left.Equals(right); + + public static explicit operator string(CleanupPolicyAction value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CleanupPolicyAction other && Equals(other); + public bool Equals(CleanupPolicyAction other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Match versions by tag status. + /// + [EnumType] + public readonly struct CleanupPolicyConditionTagState : IEquatable + { + private readonly string _value; + + private CleanupPolicyConditionTagState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Tag status not specified. + /// + public static CleanupPolicyConditionTagState TagStateUnspecified { get; } = new CleanupPolicyConditionTagState("TAG_STATE_UNSPECIFIED"); + /// + /// Applies to tagged versions only. + /// + public static CleanupPolicyConditionTagState Tagged { get; } = new CleanupPolicyConditionTagState("TAGGED"); + /// + /// Applies to untagged versions only. + /// + public static CleanupPolicyConditionTagState Untagged { get; } = new CleanupPolicyConditionTagState("UNTAGGED"); + /// + /// Applies to all versions. + /// + public static CleanupPolicyConditionTagState Any { get; } = new CleanupPolicyConditionTagState("ANY"); + + public static bool operator ==(CleanupPolicyConditionTagState left, CleanupPolicyConditionTagState right) => left.Equals(right); + public static bool operator !=(CleanupPolicyConditionTagState left, CleanupPolicyConditionTagState right) => !left.Equals(right); + + public static explicit operator string(CleanupPolicyConditionTagState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CleanupPolicyConditionTagState other && Equals(other); + public bool Equals(CleanupPolicyConditionTagState other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// One of the publicly available Docker repositories supported by Artifact Registry. /// diff --git a/sdk/dotnet/ArtifactRegistry/V1/GetRepository.cs b/sdk/dotnet/ArtifactRegistry/V1/GetRepository.cs index 3f9e457c44..166c83b54f 100644 --- a/sdk/dotnet/ArtifactRegistry/V1/GetRepository.cs +++ b/sdk/dotnet/ArtifactRegistry/V1/GetRepository.cs @@ -66,7 +66,7 @@ public sealed class GetRepositoryResult /// /// Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. /// - public readonly ImmutableDictionary CleanupPolicies; + public readonly ImmutableDictionary CleanupPolicies; /// /// Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. /// @@ -130,7 +130,7 @@ public sealed class GetRepositoryResult [OutputConstructor] private GetRepositoryResult( - ImmutableDictionary cleanupPolicies, + ImmutableDictionary cleanupPolicies, bool cleanupPolicyDryRun, diff --git a/sdk/dotnet/ArtifactRegistry/V1/Inputs/CleanupPolicyArgs.cs b/sdk/dotnet/ArtifactRegistry/V1/Inputs/CleanupPolicyArgs.cs new file mode 100644 index 0000000000..b071ce5953 --- /dev/null +++ b/sdk/dotnet/ArtifactRegistry/V1/Inputs/CleanupPolicyArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ArtifactRegistry.V1.Inputs +{ + + /// + /// Artifact policy configuration for repository cleanup policies. + /// + public sealed class CleanupPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Policy action. + /// + [Input("action")] + public Input? Action { get; set; } + + /// + /// Policy condition for matching versions. + /// + [Input("condition")] + public Input? Condition { get; set; } + + /// + /// The user-provided ID of the cleanup policy. + /// + [Input("id")] + public Input? Id { get; set; } + + /// + /// Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + /// + [Input("mostRecentVersions")] + public Input? MostRecentVersions { get; set; } + + public CleanupPolicyArgs() + { + } + public static new CleanupPolicyArgs Empty => new CleanupPolicyArgs(); + } +} diff --git a/sdk/dotnet/ArtifactRegistry/V1/Inputs/CleanupPolicyConditionArgs.cs b/sdk/dotnet/ArtifactRegistry/V1/Inputs/CleanupPolicyConditionArgs.cs new file mode 100644 index 0000000000..2ab0c4c680 --- /dev/null +++ b/sdk/dotnet/ArtifactRegistry/V1/Inputs/CleanupPolicyConditionArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ArtifactRegistry.V1.Inputs +{ + + /// + /// CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. + /// + public sealed class CleanupPolicyConditionArgs : global::Pulumi.ResourceArgs + { + /// + /// Match versions newer than a duration. + /// + [Input("newerThan")] + public Input? NewerThan { get; set; } + + /// + /// Match versions older than a duration. + /// + [Input("olderThan")] + public Input? OlderThan { get; set; } + + [Input("packageNamePrefixes")] + private InputList? _packageNamePrefixes; + + /// + /// Match versions by package prefix. Applied on any prefix match. + /// + public InputList PackageNamePrefixes + { + get => _packageNamePrefixes ?? (_packageNamePrefixes = new InputList()); + set => _packageNamePrefixes = value; + } + + [Input("tagPrefixes")] + private InputList? _tagPrefixes; + + /// + /// Match versions by tag prefix. Applied on any prefix match. + /// + public InputList TagPrefixes + { + get => _tagPrefixes ?? (_tagPrefixes = new InputList()); + set => _tagPrefixes = value; + } + + /// + /// Match versions by tag status. + /// + [Input("tagState")] + public Input? TagState { get; set; } + + /// + /// DEPRECATED: Use older_than. + /// + [Input("versionAge")] + public Input? VersionAge { get; set; } + + [Input("versionNamePrefixes")] + private InputList? _versionNamePrefixes; + + /// + /// Match versions by version name prefix. Applied on any prefix match. + /// + public InputList VersionNamePrefixes + { + get => _versionNamePrefixes ?? (_versionNamePrefixes = new InputList()); + set => _versionNamePrefixes = value; + } + + public CleanupPolicyConditionArgs() + { + } + public static new CleanupPolicyConditionArgs Empty => new CleanupPolicyConditionArgs(); + } +} diff --git a/sdk/dotnet/ArtifactRegistry/V1/Inputs/CleanupPolicyMostRecentVersionsArgs.cs b/sdk/dotnet/ArtifactRegistry/V1/Inputs/CleanupPolicyMostRecentVersionsArgs.cs new file mode 100644 index 0000000000..77dc0aa524 --- /dev/null +++ b/sdk/dotnet/ArtifactRegistry/V1/Inputs/CleanupPolicyMostRecentVersionsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ArtifactRegistry.V1.Inputs +{ + + /// + /// CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. + /// + public sealed class CleanupPolicyMostRecentVersionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Minimum number of versions to keep. + /// + [Input("keepCount")] + public Input? KeepCount { get; set; } + + [Input("packageNamePrefixes")] + private InputList? _packageNamePrefixes; + + /// + /// List of package name prefixes that will apply this rule. + /// + public InputList PackageNamePrefixes + { + get => _packageNamePrefixes ?? (_packageNamePrefixes = new InputList()); + set => _packageNamePrefixes = value; + } + + public CleanupPolicyMostRecentVersionsArgs() + { + } + public static new CleanupPolicyMostRecentVersionsArgs Empty => new CleanupPolicyMostRecentVersionsArgs(); + } +} diff --git a/sdk/dotnet/ArtifactRegistry/V1/Outputs/CleanupPolicyConditionResponse.cs b/sdk/dotnet/ArtifactRegistry/V1/Outputs/CleanupPolicyConditionResponse.cs new file mode 100644 index 0000000000..0580af2633 --- /dev/null +++ b/sdk/dotnet/ArtifactRegistry/V1/Outputs/CleanupPolicyConditionResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ArtifactRegistry.V1.Outputs +{ + + /// + /// CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. + /// + [OutputType] + public sealed class CleanupPolicyConditionResponse + { + /// + /// Match versions newer than a duration. + /// + public readonly string NewerThan; + /// + /// Match versions older than a duration. + /// + public readonly string OlderThan; + /// + /// Match versions by package prefix. Applied on any prefix match. + /// + public readonly ImmutableArray PackageNamePrefixes; + /// + /// Match versions by tag prefix. Applied on any prefix match. + /// + public readonly ImmutableArray TagPrefixes; + /// + /// Match versions by tag status. + /// + public readonly string TagState; + /// + /// DEPRECATED: Use older_than. + /// + public readonly string VersionAge; + /// + /// Match versions by version name prefix. Applied on any prefix match. + /// + public readonly ImmutableArray VersionNamePrefixes; + + [OutputConstructor] + private CleanupPolicyConditionResponse( + string newerThan, + + string olderThan, + + ImmutableArray packageNamePrefixes, + + ImmutableArray tagPrefixes, + + string tagState, + + string versionAge, + + ImmutableArray versionNamePrefixes) + { + NewerThan = newerThan; + OlderThan = olderThan; + PackageNamePrefixes = packageNamePrefixes; + TagPrefixes = tagPrefixes; + TagState = tagState; + VersionAge = versionAge; + VersionNamePrefixes = versionNamePrefixes; + } + } +} diff --git a/sdk/dotnet/ArtifactRegistry/V1/Outputs/CleanupPolicyMostRecentVersionsResponse.cs b/sdk/dotnet/ArtifactRegistry/V1/Outputs/CleanupPolicyMostRecentVersionsResponse.cs new file mode 100644 index 0000000000..b47eb1764e --- /dev/null +++ b/sdk/dotnet/ArtifactRegistry/V1/Outputs/CleanupPolicyMostRecentVersionsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ArtifactRegistry.V1.Outputs +{ + + /// + /// CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. + /// + [OutputType] + public sealed class CleanupPolicyMostRecentVersionsResponse + { + /// + /// Minimum number of versions to keep. + /// + public readonly int KeepCount; + /// + /// List of package name prefixes that will apply this rule. + /// + public readonly ImmutableArray PackageNamePrefixes; + + [OutputConstructor] + private CleanupPolicyMostRecentVersionsResponse( + int keepCount, + + ImmutableArray packageNamePrefixes) + { + KeepCount = keepCount; + PackageNamePrefixes = packageNamePrefixes; + } + } +} diff --git a/sdk/dotnet/ArtifactRegistry/V1/Outputs/CleanupPolicyResponse.cs b/sdk/dotnet/ArtifactRegistry/V1/Outputs/CleanupPolicyResponse.cs new file mode 100644 index 0000000000..7a3da64a02 --- /dev/null +++ b/sdk/dotnet/ArtifactRegistry/V1/Outputs/CleanupPolicyResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ArtifactRegistry.V1.Outputs +{ + + /// + /// Artifact policy configuration for repository cleanup policies. + /// + [OutputType] + public sealed class CleanupPolicyResponse + { + /// + /// Policy action. + /// + public readonly string Action; + /// + /// Policy condition for matching versions. + /// + public readonly Outputs.CleanupPolicyConditionResponse Condition; + /// + /// Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + /// + public readonly Outputs.CleanupPolicyMostRecentVersionsResponse MostRecentVersions; + + [OutputConstructor] + private CleanupPolicyResponse( + string action, + + Outputs.CleanupPolicyConditionResponse condition, + + Outputs.CleanupPolicyMostRecentVersionsResponse mostRecentVersions) + { + Action = action; + Condition = condition; + MostRecentVersions = mostRecentVersions; + } + } +} diff --git a/sdk/dotnet/ArtifactRegistry/V1/Repository.cs b/sdk/dotnet/ArtifactRegistry/V1/Repository.cs index 6955502dab..7af0819cc7 100644 --- a/sdk/dotnet/ArtifactRegistry/V1/Repository.cs +++ b/sdk/dotnet/ArtifactRegistry/V1/Repository.cs @@ -19,7 +19,7 @@ public partial class Repository : global::Pulumi.CustomResource /// Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. /// [Output("cleanupPolicies")] - public Output> CleanupPolicies { get; private set; } = null!; + public Output> CleanupPolicies { get; private set; } = null!; /// /// Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. @@ -175,14 +175,14 @@ public static Repository Get(string name, Input id, CustomResourceOption public sealed class RepositoryArgs : global::Pulumi.ResourceArgs { [Input("cleanupPolicies")] - private InputMap? _cleanupPolicies; + private InputMap? _cleanupPolicies; /// /// Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. /// - public InputMap CleanupPolicies + public InputMap CleanupPolicies { - get => _cleanupPolicies ?? (_cleanupPolicies = new InputMap()); + get => _cleanupPolicies ?? (_cleanupPolicies = new InputMap()); set => _cleanupPolicies = value; } diff --git a/sdk/dotnet/Batch/V1/Outputs/InstanceStatusResponse.cs b/sdk/dotnet/Batch/V1/Outputs/InstanceStatusResponse.cs new file mode 100644 index 0000000000..58ca5dbdd8 --- /dev/null +++ b/sdk/dotnet/Batch/V1/Outputs/InstanceStatusResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Batch.V1.Outputs +{ + + /// + /// VM instance status. + /// + [OutputType] + public sealed class InstanceStatusResponse + { + /// + /// The VM boot disk. + /// + public readonly Outputs.DiskResponse BootDisk; + /// + /// The Compute Engine machine type. + /// + public readonly string MachineType; + /// + /// The VM instance provisioning model. + /// + public readonly string ProvisioningModel; + /// + /// The max number of tasks can be assigned to this instance type. + /// + public readonly string TaskPack; + + [OutputConstructor] + private InstanceStatusResponse( + Outputs.DiskResponse bootDisk, + + string machineType, + + string provisioningModel, + + string taskPack) + { + BootDisk = bootDisk; + MachineType = machineType; + ProvisioningModel = provisioningModel; + TaskPack = taskPack; + } + } +} diff --git a/sdk/dotnet/Batch/V1/Outputs/JobStatusResponse.cs b/sdk/dotnet/Batch/V1/Outputs/JobStatusResponse.cs index 153bbfcc82..27e4b6b4a6 100644 --- a/sdk/dotnet/Batch/V1/Outputs/JobStatusResponse.cs +++ b/sdk/dotnet/Batch/V1/Outputs/JobStatusResponse.cs @@ -31,7 +31,7 @@ public sealed class JobStatusResponse /// /// Aggregated task status for each TaskGroup in the Job. The map key is TaskGroup ID. /// - public readonly ImmutableDictionary TaskGroups; + public readonly ImmutableDictionary TaskGroups; [OutputConstructor] private JobStatusResponse( @@ -41,7 +41,7 @@ private JobStatusResponse( ImmutableArray statusEvents, - ImmutableDictionary taskGroups) + ImmutableDictionary taskGroups) { RunDuration = runDuration; State = state; diff --git a/sdk/dotnet/Batch/V1/Outputs/TaskGroupStatusResponse.cs b/sdk/dotnet/Batch/V1/Outputs/TaskGroupStatusResponse.cs new file mode 100644 index 0000000000..871a598c4e --- /dev/null +++ b/sdk/dotnet/Batch/V1/Outputs/TaskGroupStatusResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Batch.V1.Outputs +{ + + /// + /// Aggregated task status for a TaskGroup. + /// + [OutputType] + public sealed class TaskGroupStatusResponse + { + /// + /// Count of task in each state in the TaskGroup. The map key is task state name. + /// + public readonly ImmutableDictionary Counts; + /// + /// Status of instances allocated for the TaskGroup. + /// + public readonly ImmutableArray Instances; + + [OutputConstructor] + private TaskGroupStatusResponse( + ImmutableDictionary counts, + + ImmutableArray instances) + { + Counts = counts; + Instances = instances; + } + } +} diff --git a/sdk/dotnet/BeyondCorp/V1/Inputs/GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArgs.cs b/sdk/dotnet/BeyondCorp/V1/Inputs/GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArgs.cs index aded707695..99a711b4e8 100644 --- a/sdk/dotnet/BeyondCorp/V1/Inputs/GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArgs.cs +++ b/sdk/dotnet/BeyondCorp/V1/Inputs/GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArgs : globa public Input Id { get; set; } = null!; [Input("resource")] - private InputMap? _resource; + private InputMap? _resource; /// /// Specific details for the resource. This is for internal use only. /// - public InputMap Resource + public InputMap Resource { - get => _resource ?? (_resource = new InputMap()); + get => _resource ?? (_resource = new InputMap()); set => _resource = value; } diff --git a/sdk/dotnet/BeyondCorp/V1/Outputs/GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse.cs b/sdk/dotnet/BeyondCorp/V1/Outputs/GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse.cs index e8543ad8ab..cd84e3bb18 100644 --- a/sdk/dotnet/BeyondCorp/V1/Outputs/GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse.cs +++ b/sdk/dotnet/BeyondCorp/V1/Outputs/GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse /// /// Specific details for the resource. This is for internal use only. /// - public readonly ImmutableDictionary Resource; + public readonly ImmutableDictionary Resource; /// /// Overall health status. Overall status is derived based on the status of each sub level resources. /// @@ -35,7 +35,7 @@ public sealed class GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse [OutputConstructor] private GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse( - ImmutableDictionary resource, + ImmutableDictionary resource, string status, diff --git a/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArgs.cs b/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArgs.cs index a204d9fd74..6f14095f57 100644 --- a/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArgs.cs +++ b/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArgs : public Input Id { get; set; } = null!; [Input("resource")] - private InputMap? _resource; + private InputMap? _resource; /// /// Specific details for the resource. This is for internal use only. /// - public InputMap Resource + public InputMap Resource { - get => _resource ?? (_resource = new InputMap()); + get => _resource ?? (_resource = new InputMap()); set => _resource = value; } diff --git a/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingArgs.cs b/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingArgs.cs index 2e750c86d2..9ac1e469c7 100644 --- a/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingArgs.cs +++ b/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingArgs : public Input Type { get; set; } = null!; [Input("value", required: true)] - private InputMap? _value; + private InputMap? _value; /// /// The value of the Setting. /// - public InputMap Value + public InputMap Value { - get => _value ?? (_value = new InputMap()); + get => _value ?? (_value = new InputMap()); set => _value = value; } diff --git a/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/ResourceInfoArgs.cs b/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/ResourceInfoArgs.cs index f6d9990589..e6e0d1c6d0 100644 --- a/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/ResourceInfoArgs.cs +++ b/sdk/dotnet/BeyondCorp/V1Alpha/Inputs/ResourceInfoArgs.cs @@ -22,14 +22,14 @@ public sealed class ResourceInfoArgs : global::Pulumi.ResourceArgs public Input Id { get; set; } = null!; [Input("resource")] - private InputMap? _resource; + private InputMap? _resource; /// /// Specific details for the resource. /// - public InputMap Resource + public InputMap Resource { - get => _resource ?? (_resource = new InputMap()); + get => _resource ?? (_resource = new InputMap()); set => _resource = value; } diff --git a/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse.cs b/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse.cs index b6817d18b3..ad57901aa7 100644 --- a/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse.cs +++ b/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoRespons /// /// Specific details for the resource. This is for internal use only. /// - public readonly ImmutableDictionary Resource; + public readonly ImmutableDictionary Resource; /// /// Overall health status. Overall status is derived based on the status of each sub level resources. /// @@ -35,7 +35,7 @@ public sealed class GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoRespons [OutputConstructor] private GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse( - ImmutableDictionary resource, + ImmutableDictionary resource, string status, diff --git a/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponse.cs b/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponse.cs index 2543f4f952..148faf4143 100644 --- a/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponse.cs +++ b/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponse.cs @@ -23,13 +23,13 @@ public sealed class GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingRespon /// /// The value of the Setting. /// - public readonly ImmutableDictionary Value; + public readonly ImmutableDictionary Value; [OutputConstructor] private GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponse( string type, - ImmutableDictionary value) + ImmutableDictionary value) { Type = type; Value = value; diff --git a/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/ResourceInfoResponse.cs b/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/ResourceInfoResponse.cs index 55864b1d70..bb85b47869 100644 --- a/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/ResourceInfoResponse.cs +++ b/sdk/dotnet/BeyondCorp/V1Alpha/Outputs/ResourceInfoResponse.cs @@ -19,7 +19,7 @@ public sealed class ResourceInfoResponse /// /// Specific details for the resource. /// - public readonly ImmutableDictionary Resource; + public readonly ImmutableDictionary Resource; /// /// Overall health status. Overall status is derived based on the status of each sub level resources. /// @@ -35,7 +35,7 @@ public sealed class ResourceInfoResponse [OutputConstructor] private ResourceInfoResponse( - ImmutableDictionary resource, + ImmutableDictionary resource, string status, diff --git a/sdk/dotnet/BigQuery/V2/Inputs/JobConfigurationQueryArgs.cs b/sdk/dotnet/BigQuery/V2/Inputs/JobConfigurationQueryArgs.cs index 4933a5760e..2baa46dc0c 100644 --- a/sdk/dotnet/BigQuery/V2/Inputs/JobConfigurationQueryArgs.cs +++ b/sdk/dotnet/BigQuery/V2/Inputs/JobConfigurationQueryArgs.cs @@ -145,14 +145,14 @@ public InputList SchemaUpdateOptions } [Input("tableDefinitions")] - private InputMap? _tableDefinitions; + private InputMap? _tableDefinitions; /// /// [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. /// - public InputMap TableDefinitions + public InputMap TableDefinitions { - get => _tableDefinitions ?? (_tableDefinitions = new InputMap()); + get => _tableDefinitions ?? (_tableDefinitions = new InputMap()); set => _tableDefinitions = value; } diff --git a/sdk/dotnet/BigQuery/V2/Inputs/QueryParameterValueArgs.cs b/sdk/dotnet/BigQuery/V2/Inputs/QueryParameterValueArgs.cs index 9ce4ee6187..065a762023 100644 --- a/sdk/dotnet/BigQuery/V2/Inputs/QueryParameterValueArgs.cs +++ b/sdk/dotnet/BigQuery/V2/Inputs/QueryParameterValueArgs.cs @@ -25,14 +25,14 @@ public InputList ArrayValues } [Input("structValues")] - private InputMap? _structValues; + private InputMap? _structValues; /// /// [Optional] The struct field values, in order of the struct type's declaration. /// - public InputMap StructValues + public InputMap StructValues { - get => _structValues ?? (_structValues = new InputMap()); + get => _structValues ?? (_structValues = new InputMap()); set => _structValues = value; } diff --git a/sdk/dotnet/BigQuery/V2/Outputs/JobConfigurationQueryResponse.cs b/sdk/dotnet/BigQuery/V2/Outputs/JobConfigurationQueryResponse.cs index 832382487a..891a1c9149 100644 --- a/sdk/dotnet/BigQuery/V2/Outputs/JobConfigurationQueryResponse.cs +++ b/sdk/dotnet/BigQuery/V2/Outputs/JobConfigurationQueryResponse.cs @@ -92,7 +92,7 @@ public sealed class JobConfigurationQueryResponse /// /// [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. /// - public readonly ImmutableDictionary TableDefinitions; + public readonly ImmutableDictionary TableDefinitions; /// /// Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. /// @@ -154,7 +154,7 @@ private JobConfigurationQueryResponse( ImmutableArray schemaUpdateOptions, - ImmutableDictionary tableDefinitions, + ImmutableDictionary tableDefinitions, Outputs.TimePartitioningResponse timePartitioning, diff --git a/sdk/dotnet/BigQuery/V2/Outputs/QueryParameterValueResponse.cs b/sdk/dotnet/BigQuery/V2/Outputs/QueryParameterValueResponse.cs index 9f8297d2e3..391cd99265 100644 --- a/sdk/dotnet/BigQuery/V2/Outputs/QueryParameterValueResponse.cs +++ b/sdk/dotnet/BigQuery/V2/Outputs/QueryParameterValueResponse.cs @@ -20,7 +20,7 @@ public sealed class QueryParameterValueResponse /// /// [Optional] The struct field values, in order of the struct type's declaration. /// - public readonly ImmutableDictionary StructValues; + public readonly ImmutableDictionary StructValues; /// /// [Optional] The value of this value, if a simple scalar type. /// @@ -30,7 +30,7 @@ public sealed class QueryParameterValueResponse private QueryParameterValueResponse( ImmutableArray arrayValues, - ImmutableDictionary structValues, + ImmutableDictionary structValues, string value) { diff --git a/sdk/dotnet/BigQueryDataTransfer/V1/GetTransferConfig.cs b/sdk/dotnet/BigQueryDataTransfer/V1/GetTransferConfig.cs index 68974e79b7..096141ecfd 100644 --- a/sdk/dotnet/BigQueryDataTransfer/V1/GetTransferConfig.cs +++ b/sdk/dotnet/BigQueryDataTransfer/V1/GetTransferConfig.cs @@ -114,7 +114,7 @@ public sealed class GetTransferConfigResult /// /// Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq /// - public readonly ImmutableDictionary Params; + public readonly ImmutableDictionary Params; /// /// Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. /// @@ -162,7 +162,7 @@ private GetTransferConfigResult( Outputs.UserInfoResponse ownerInfo, - ImmutableDictionary @params, + ImmutableDictionary @params, string schedule, diff --git a/sdk/dotnet/BigQueryDataTransfer/V1/TransferConfig.cs b/sdk/dotnet/BigQueryDataTransfer/V1/TransferConfig.cs index 6a1868b500..0fa6fba652 100644 --- a/sdk/dotnet/BigQueryDataTransfer/V1/TransferConfig.cs +++ b/sdk/dotnet/BigQueryDataTransfer/V1/TransferConfig.cs @@ -101,7 +101,7 @@ public partial class TransferConfig : global::Pulumi.CustomResource /// Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq /// [Output("params")] - public Output> Params { get; private set; } = null!; + public Output> Params { get; private set; } = null!; [Output("project")] public Output Project { get; private set; } = null!; @@ -262,14 +262,14 @@ public sealed class TransferConfigArgs : global::Pulumi.ResourceArgs public Input? NotificationPubsubTopic { get; set; } [Input("params")] - private InputMap? _params; + private InputMap? _params; /// /// Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq /// - public InputMap Params + public InputMap Params { - get => _params ?? (_params = new InputMap()); + get => _params ?? (_params = new InputMap()); set => _params = value; } diff --git a/sdk/dotnet/BigQueryReservation/V1/Outputs/StatusResponse.cs b/sdk/dotnet/BigQueryReservation/V1/Outputs/StatusResponse.cs index ece44bb2db..956ad11eab 100644 --- a/sdk/dotnet/BigQueryReservation/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/BigQueryReservation/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/BigQueryReservation/V1Beta1/Outputs/StatusResponse.cs b/sdk/dotnet/BigQueryReservation/V1Beta1/Outputs/StatusResponse.cs index e67251f3f1..db9b674ff8 100644 --- a/sdk/dotnet/BigQueryReservation/V1Beta1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/BigQueryReservation/V1Beta1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/BigtableAdmin/V2/GetTable.cs b/sdk/dotnet/BigtableAdmin/V2/GetTable.cs index d3c4f7c692..1bc5101b9a 100644 --- a/sdk/dotnet/BigtableAdmin/V2/GetTable.cs +++ b/sdk/dotnet/BigtableAdmin/V2/GetTable.cs @@ -76,11 +76,11 @@ public sealed class GetTableResult /// /// Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` /// - public readonly ImmutableDictionary ClusterStates; + public readonly ImmutableDictionary ClusterStates; /// /// The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` /// - public readonly ImmutableDictionary ColumnFamilies; + public readonly ImmutableDictionary ColumnFamilies; /// /// Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. /// @@ -106,9 +106,9 @@ public sealed class GetTableResult private GetTableResult( Outputs.ChangeStreamConfigResponse changeStreamConfig, - ImmutableDictionary clusterStates, + ImmutableDictionary clusterStates, - ImmutableDictionary columnFamilies, + ImmutableDictionary columnFamilies, bool deletionProtection, diff --git a/sdk/dotnet/BigtableAdmin/V2/Inputs/ClusterArgs.cs b/sdk/dotnet/BigtableAdmin/V2/Inputs/ClusterArgs.cs new file mode 100644 index 0000000000..5b21011a64 --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Inputs/ClusterArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Inputs +{ + + /// + /// A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance. + /// + public sealed class ClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration for this cluster. + /// + [Input("clusterConfig")] + public Input? ClusterConfig { get; set; } + + /// + /// Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. + /// + [Input("defaultStorageType")] + public Input? DefaultStorageType { get; set; } + + /// + /// Immutable. The encryption configuration for CMEK-protected clusters. + /// + [Input("encryptionConfig")] + public Input? EncryptionConfig { get; set; } + + /// + /// Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. + /// + [Input("serveNodes")] + public Input? ServeNodes { get; set; } + + public ClusterArgs() + { + } + public static new ClusterArgs Empty => new ClusterArgs(); + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Inputs/ColumnFamilyArgs.cs b/sdk/dotnet/BigtableAdmin/V2/Inputs/ColumnFamilyArgs.cs new file mode 100644 index 0000000000..0644109ae2 --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Inputs/ColumnFamilyArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Inputs +{ + + /// + /// A set of columns within a table which share a common configuration. + /// + public sealed class ColumnFamilyArgs : global::Pulumi.ResourceArgs + { + /// + /// Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + /// + [Input("gcRule")] + public Input? GcRule { get; set; } + + public ColumnFamilyArgs() + { + } + public static new ColumnFamilyArgs Empty => new ColumnFamilyArgs(); + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Inputs/GcRuleArgs.cs b/sdk/dotnet/BigtableAdmin/V2/Inputs/GcRuleArgs.cs new file mode 100644 index 0000000000..a39554154a --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Inputs/GcRuleArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Inputs +{ + + /// + /// Rule for determining which cells to delete during garbage collection. + /// + public sealed class GcRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// Delete cells that would be deleted by every nested rule. + /// + [Input("intersection")] + public Input? Intersection { get; set; } + + /// + /// Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + /// + [Input("maxAge")] + public Input? MaxAge { get; set; } + + /// + /// Delete all cells in a column except the most recent N. + /// + [Input("maxNumVersions")] + public Input? MaxNumVersions { get; set; } + + /// + /// Delete cells that would be deleted by any nested rule. + /// + [Input("union")] + public Input? Union { get; set; } + + public GcRuleArgs() + { + } + public static new GcRuleArgs Empty => new GcRuleArgs(); + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Inputs/IntersectionArgs.cs b/sdk/dotnet/BigtableAdmin/V2/Inputs/IntersectionArgs.cs new file mode 100644 index 0000000000..5e49f192af --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Inputs/IntersectionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Inputs +{ + + /// + /// A GcRule which deletes cells matching all of the given rules. + /// + public sealed class IntersectionArgs : global::Pulumi.ResourceArgs + { + [Input("rules")] + private InputList? _rules; + + /// + /// Only delete cells which would be deleted by every element of `rules`. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public IntersectionArgs() + { + } + public static new IntersectionArgs Empty => new IntersectionArgs(); + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Inputs/UnionArgs.cs b/sdk/dotnet/BigtableAdmin/V2/Inputs/UnionArgs.cs new file mode 100644 index 0000000000..168a66611b --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Inputs/UnionArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Inputs +{ + + /// + /// A GcRule which deletes cells matching any of the given rules. + /// + public sealed class UnionArgs : global::Pulumi.ResourceArgs + { + [Input("rules")] + private InputList? _rules; + + /// + /// Delete cells which would be deleted by any element of `rules`. + /// + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public UnionArgs() + { + } + public static new UnionArgs Empty => new UnionArgs(); + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Instance.cs b/sdk/dotnet/BigtableAdmin/V2/Instance.cs index 866bdd0e14..110fde9a26 100644 --- a/sdk/dotnet/BigtableAdmin/V2/Instance.cs +++ b/sdk/dotnet/BigtableAdmin/V2/Instance.cs @@ -110,14 +110,14 @@ public static Instance Get(string name, Input id, CustomResourceOptions? public sealed class InstanceArgs : global::Pulumi.ResourceArgs { [Input("clusters", required: true)] - private InputMap? _clusters; + private InputMap? _clusters; /// /// The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. /// - public InputMap Clusters + public InputMap Clusters { - get => _clusters ?? (_clusters = new InputMap()); + get => _clusters ?? (_clusters = new InputMap()); set => _clusters = value; } diff --git a/sdk/dotnet/BigtableAdmin/V2/Outputs/ClusterStateResponse.cs b/sdk/dotnet/BigtableAdmin/V2/Outputs/ClusterStateResponse.cs new file mode 100644 index 0000000000..fb37fa1db4 --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Outputs/ClusterStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Outputs +{ + + /// + /// The state of a table's data in a particular cluster. + /// + [OutputType] + public sealed class ClusterStateResponse + { + /// + /// The encryption information for the table in this cluster. If the encryption key protecting this resource is customer managed, then its version can be rotated in Cloud Key Management Service (Cloud KMS). The primary version of the key and its status will be reflected here when changes propagate from Cloud KMS. + /// + public readonly ImmutableArray EncryptionInfo; + /// + /// The state of replication for the table in this cluster. + /// + public readonly string ReplicationState; + + [OutputConstructor] + private ClusterStateResponse( + ImmutableArray encryptionInfo, + + string replicationState) + { + EncryptionInfo = encryptionInfo; + ReplicationState = replicationState; + } + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Outputs/ColumnFamilyResponse.cs b/sdk/dotnet/BigtableAdmin/V2/Outputs/ColumnFamilyResponse.cs new file mode 100644 index 0000000000..41b4a314c9 --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Outputs/ColumnFamilyResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Outputs +{ + + /// + /// A set of columns within a table which share a common configuration. + /// + [OutputType] + public sealed class ColumnFamilyResponse + { + /// + /// Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + /// + public readonly Outputs.GcRuleResponse GcRule; + /// + /// Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above. + /// + public readonly Outputs.ColumnFamilyStatsResponse Stats; + + [OutputConstructor] + private ColumnFamilyResponse( + Outputs.GcRuleResponse gcRule, + + Outputs.ColumnFamilyStatsResponse stats) + { + GcRule = gcRule; + Stats = stats; + } + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Outputs/ColumnFamilyStatsResponse.cs b/sdk/dotnet/BigtableAdmin/V2/Outputs/ColumnFamilyStatsResponse.cs new file mode 100644 index 0000000000..3d25df2af3 --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Outputs/ColumnFamilyStatsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Outputs +{ + + /// + /// Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified. + /// + [OutputType] + public sealed class ColumnFamilyStatsResponse + { + /// + /// How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family "family" in a table with 3 rows: * A row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1 column in "family") * A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in "family") * A row with 3 cells in "other:col" (0 columns in "family", "family" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field. + /// + public readonly double AverageCellsPerColumn; + /// + /// How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family "family" in a table with 3 rows: * A row with cells in "family:col" and "other:col" (1 column in "family") * A row with cells in "family:col", "family:other_col", and "other:data" (2 columns in "family") * A row with cells in "other:col" (0 columns in "family", "family" not present) would report (1 + 2 + 0)/3 = 1.5 in this field. + /// + public readonly double AverageColumnsPerRow; + /// + /// How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out). + /// + public readonly string LogicalDataBytes; + + [OutputConstructor] + private ColumnFamilyStatsResponse( + double averageCellsPerColumn, + + double averageColumnsPerRow, + + string logicalDataBytes) + { + AverageCellsPerColumn = averageCellsPerColumn; + AverageColumnsPerRow = averageColumnsPerRow; + LogicalDataBytes = logicalDataBytes; + } + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Outputs/GcRuleResponse.cs b/sdk/dotnet/BigtableAdmin/V2/Outputs/GcRuleResponse.cs new file mode 100644 index 0000000000..64adb1bbe0 --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Outputs/GcRuleResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Outputs +{ + + /// + /// Rule for determining which cells to delete during garbage collection. + /// + [OutputType] + public sealed class GcRuleResponse + { + /// + /// Delete cells that would be deleted by every nested rule. + /// + public readonly Outputs.IntersectionResponse Intersection; + /// + /// Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + /// + public readonly string MaxAge; + /// + /// Delete all cells in a column except the most recent N. + /// + public readonly int MaxNumVersions; + /// + /// Delete cells that would be deleted by any nested rule. + /// + public readonly Outputs.UnionResponse Union; + + [OutputConstructor] + private GcRuleResponse( + Outputs.IntersectionResponse intersection, + + string maxAge, + + int maxNumVersions, + + Outputs.UnionResponse union) + { + Intersection = intersection; + MaxAge = maxAge; + MaxNumVersions = maxNumVersions; + Union = union; + } + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Outputs/IntersectionResponse.cs b/sdk/dotnet/BigtableAdmin/V2/Outputs/IntersectionResponse.cs new file mode 100644 index 0000000000..4ab67cf7c1 --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Outputs/IntersectionResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Outputs +{ + + /// + /// A GcRule which deletes cells matching all of the given rules. + /// + [OutputType] + public sealed class IntersectionResponse + { + /// + /// Only delete cells which would be deleted by every element of `rules`. + /// + public readonly ImmutableArray Rules; + + [OutputConstructor] + private IntersectionResponse(ImmutableArray rules) + { + Rules = rules; + } + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Outputs/StatusResponse.cs b/sdk/dotnet/BigtableAdmin/V2/Outputs/StatusResponse.cs index e6e9639ba3..afecd2e531 100644 --- a/sdk/dotnet/BigtableAdmin/V2/Outputs/StatusResponse.cs +++ b/sdk/dotnet/BigtableAdmin/V2/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/BigtableAdmin/V2/Outputs/UnionResponse.cs b/sdk/dotnet/BigtableAdmin/V2/Outputs/UnionResponse.cs new file mode 100644 index 0000000000..40940e1e6d --- /dev/null +++ b/sdk/dotnet/BigtableAdmin/V2/Outputs/UnionResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.BigtableAdmin.V2.Outputs +{ + + /// + /// A GcRule which deletes cells matching any of the given rules. + /// + [OutputType] + public sealed class UnionResponse + { + /// + /// Delete cells which would be deleted by any element of `rules`. + /// + public readonly ImmutableArray Rules; + + [OutputConstructor] + private UnionResponse(ImmutableArray rules) + { + Rules = rules; + } + } +} diff --git a/sdk/dotnet/BigtableAdmin/V2/Table.cs b/sdk/dotnet/BigtableAdmin/V2/Table.cs index 63c2a4f2b3..52f8c72c76 100644 --- a/sdk/dotnet/BigtableAdmin/V2/Table.cs +++ b/sdk/dotnet/BigtableAdmin/V2/Table.cs @@ -25,13 +25,13 @@ public partial class Table : global::Pulumi.CustomResource /// Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` /// [Output("clusterStates")] - public Output> ClusterStates { get; private set; } = null!; + public Output> ClusterStates { get; private set; } = null!; /// /// The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` /// [Output("columnFamilies")] - public Output> ColumnFamilies { get; private set; } = null!; + public Output> ColumnFamilies { get; private set; } = null!; /// /// Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. @@ -126,14 +126,14 @@ public sealed class TableArgs : global::Pulumi.ResourceArgs public Input? ChangeStreamConfig { get; set; } [Input("columnFamilies")] - private InputMap? _columnFamilies; + private InputMap? _columnFamilies; /// /// The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` /// - public InputMap ColumnFamilies + public InputMap ColumnFamilies { - get => _columnFamilies ?? (_columnFamilies = new InputMap()); + get => _columnFamilies ?? (_columnFamilies = new InputMap()); set => _columnFamilies = value; } diff --git a/sdk/dotnet/Billingbudgets/V1/Inputs/GoogleCloudBillingBudgetsV1FilterArgs.cs b/sdk/dotnet/Billingbudgets/V1/Inputs/GoogleCloudBillingBudgetsV1FilterArgs.cs index 7984fa856e..9f1450af0b 100644 --- a/sdk/dotnet/Billingbudgets/V1/Inputs/GoogleCloudBillingBudgetsV1FilterArgs.cs +++ b/sdk/dotnet/Billingbudgets/V1/Inputs/GoogleCloudBillingBudgetsV1FilterArgs.cs @@ -46,14 +46,14 @@ public InputList CreditTypes public Input? CustomPeriod { get; set; } [Input("labels")] - private InputMap? _labels; + private InputMap>? _labels; /// /// Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ /// - public InputMap Labels + public InputMap> Labels { - get => _labels ?? (_labels = new InputMap()); + get => _labels ?? (_labels = new InputMap>()); set => _labels = value; } diff --git a/sdk/dotnet/Billingbudgets/V1/Outputs/GoogleCloudBillingBudgetsV1FilterResponse.cs b/sdk/dotnet/Billingbudgets/V1/Outputs/GoogleCloudBillingBudgetsV1FilterResponse.cs index 2173750453..1eb0e8d38d 100644 --- a/sdk/dotnet/Billingbudgets/V1/Outputs/GoogleCloudBillingBudgetsV1FilterResponse.cs +++ b/sdk/dotnet/Billingbudgets/V1/Outputs/GoogleCloudBillingBudgetsV1FilterResponse.cs @@ -35,7 +35,7 @@ public sealed class GoogleCloudBillingBudgetsV1FilterResponse /// /// Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ /// - public readonly ImmutableDictionary Labels; + public readonly ImmutableDictionary> Labels; /// /// Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. /// @@ -63,7 +63,7 @@ private GoogleCloudBillingBudgetsV1FilterResponse( Outputs.GoogleCloudBillingBudgetsV1CustomPeriodResponse customPeriod, - ImmutableDictionary labels, + ImmutableDictionary> labels, ImmutableArray projects, diff --git a/sdk/dotnet/Billingbudgets/V1Beta1/Inputs/GoogleCloudBillingBudgetsV1beta1FilterArgs.cs b/sdk/dotnet/Billingbudgets/V1Beta1/Inputs/GoogleCloudBillingBudgetsV1beta1FilterArgs.cs index f86c7be822..aaad87e5a0 100644 --- a/sdk/dotnet/Billingbudgets/V1Beta1/Inputs/GoogleCloudBillingBudgetsV1beta1FilterArgs.cs +++ b/sdk/dotnet/Billingbudgets/V1Beta1/Inputs/GoogleCloudBillingBudgetsV1beta1FilterArgs.cs @@ -46,14 +46,14 @@ public InputList CreditTypes public Input? CustomPeriod { get; set; } [Input("labels")] - private InputMap? _labels; + private InputMap>? _labels; /// /// Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ /// - public InputMap Labels + public InputMap> Labels { - get => _labels ?? (_labels = new InputMap()); + get => _labels ?? (_labels = new InputMap>()); set => _labels = value; } diff --git a/sdk/dotnet/Billingbudgets/V1Beta1/Outputs/GoogleCloudBillingBudgetsV1beta1FilterResponse.cs b/sdk/dotnet/Billingbudgets/V1Beta1/Outputs/GoogleCloudBillingBudgetsV1beta1FilterResponse.cs index 578434a533..7beca57f2a 100644 --- a/sdk/dotnet/Billingbudgets/V1Beta1/Outputs/GoogleCloudBillingBudgetsV1beta1FilterResponse.cs +++ b/sdk/dotnet/Billingbudgets/V1Beta1/Outputs/GoogleCloudBillingBudgetsV1beta1FilterResponse.cs @@ -35,7 +35,7 @@ public sealed class GoogleCloudBillingBudgetsV1beta1FilterResponse /// /// Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ /// - public readonly ImmutableDictionary Labels; + public readonly ImmutableDictionary> Labels; /// /// Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. /// @@ -63,7 +63,7 @@ private GoogleCloudBillingBudgetsV1beta1FilterResponse( Outputs.GoogleCloudBillingBudgetsV1beta1CustomPeriodResponse customPeriod, - ImmutableDictionary labels, + ImmutableDictionary> labels, ImmutableArray projects, diff --git a/sdk/dotnet/CloudBuild/V1/Build.cs b/sdk/dotnet/CloudBuild/V1/Build.cs index 6edd9d1e96..283eb4372e 100644 --- a/sdk/dotnet/CloudBuild/V1/Build.cs +++ b/sdk/dotnet/CloudBuild/V1/Build.cs @@ -184,7 +184,7 @@ public partial class Build : global::Pulumi.CustomResource /// Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. /// [Output("timing")] - public Output> Timing { get; private set; } = null!; + public Output> Timing { get; private set; } = null!; /// /// Non-fatal problems encountered during the execution of the build. diff --git a/sdk/dotnet/CloudBuild/V1/GetBuild.cs b/sdk/dotnet/CloudBuild/V1/GetBuild.cs index 29c7da30c2..354b304ece 100644 --- a/sdk/dotnet/CloudBuild/V1/GetBuild.cs +++ b/sdk/dotnet/CloudBuild/V1/GetBuild.cs @@ -182,7 +182,7 @@ public sealed class GetBuildResult /// /// Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. /// - public readonly ImmutableDictionary Timing; + public readonly ImmutableDictionary Timing; /// /// Non-fatal problems encountered during the execution of the build. /// @@ -242,7 +242,7 @@ private GetBuildResult( string timeout, - ImmutableDictionary timing, + ImmutableDictionary timing, ImmutableArray warnings) { diff --git a/sdk/dotnet/CloudBuild/V1/Outputs/BuildResponse.cs b/sdk/dotnet/CloudBuild/V1/Outputs/BuildResponse.cs index 49aab92eb6..24e2ea7a4a 100644 --- a/sdk/dotnet/CloudBuild/V1/Outputs/BuildResponse.cs +++ b/sdk/dotnet/CloudBuild/V1/Outputs/BuildResponse.cs @@ -123,7 +123,7 @@ public sealed class BuildResponse /// /// Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. /// - public readonly ImmutableDictionary Timing; + public readonly ImmutableDictionary Timing; /// /// Non-fatal problems encountered during the execution of the build. /// @@ -183,7 +183,7 @@ private BuildResponse( string timeout, - ImmutableDictionary timing, + ImmutableDictionary timing, ImmutableArray warnings) { diff --git a/sdk/dotnet/CloudBuild/V1/Outputs/SourceProvenanceResponse.cs b/sdk/dotnet/CloudBuild/V1/Outputs/SourceProvenanceResponse.cs index 7f407c1b79..6ee047c606 100644 --- a/sdk/dotnet/CloudBuild/V1/Outputs/SourceProvenanceResponse.cs +++ b/sdk/dotnet/CloudBuild/V1/Outputs/SourceProvenanceResponse.cs @@ -19,7 +19,7 @@ public sealed class SourceProvenanceResponse /// /// Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file. /// - public readonly ImmutableDictionary FileHashes; + public readonly ImmutableDictionary FileHashes; /// /// A copy of the build's `source.connected_repository`, if exists, with any revisions resolved. /// @@ -43,7 +43,7 @@ public sealed class SourceProvenanceResponse [OutputConstructor] private SourceProvenanceResponse( - ImmutableDictionary fileHashes, + ImmutableDictionary fileHashes, Outputs.ConnectedRepositoryResponse resolvedConnectedRepository, diff --git a/sdk/dotnet/CloudChannel/V1/Inputs/GoogleCloudChannelV1ValueArgs.cs b/sdk/dotnet/CloudChannel/V1/Inputs/GoogleCloudChannelV1ValueArgs.cs index 302029d367..8e7b2a6017 100644 --- a/sdk/dotnet/CloudChannel/V1/Inputs/GoogleCloudChannelV1ValueArgs.cs +++ b/sdk/dotnet/CloudChannel/V1/Inputs/GoogleCloudChannelV1ValueArgs.cs @@ -34,14 +34,14 @@ public sealed class GoogleCloudChannelV1ValueArgs : global::Pulumi.ResourceArgs public Input? Int64Value { get; set; } [Input("protoValue")] - private InputMap? _protoValue; + private InputMap? _protoValue; /// /// Represents an 'Any' proto value. /// - public InputMap ProtoValue + public InputMap ProtoValue { - get => _protoValue ?? (_protoValue = new InputMap()); + get => _protoValue ?? (_protoValue = new InputMap()); set => _protoValue = value; } diff --git a/sdk/dotnet/CloudChannel/V1/Outputs/GoogleCloudChannelV1ValueResponse.cs b/sdk/dotnet/CloudChannel/V1/Outputs/GoogleCloudChannelV1ValueResponse.cs index 0027cbb43b..c6d809545f 100644 --- a/sdk/dotnet/CloudChannel/V1/Outputs/GoogleCloudChannelV1ValueResponse.cs +++ b/sdk/dotnet/CloudChannel/V1/Outputs/GoogleCloudChannelV1ValueResponse.cs @@ -31,7 +31,7 @@ public sealed class GoogleCloudChannelV1ValueResponse /// /// Represents an 'Any' proto value. /// - public readonly ImmutableDictionary ProtoValue; + public readonly ImmutableDictionary ProtoValue; /// /// Represents a string value. /// @@ -45,7 +45,7 @@ private GoogleCloudChannelV1ValueResponse( string int64Value, - ImmutableDictionary protoValue, + ImmutableDictionary protoValue, string stringValue) { diff --git a/sdk/dotnet/CloudDeploy/V1/GetRelease.cs b/sdk/dotnet/CloudDeploy/V1/GetRelease.cs index 658c309a08..440a7a4389 100644 --- a/sdk/dotnet/CloudDeploy/V1/GetRelease.cs +++ b/sdk/dotnet/CloudDeploy/V1/GetRelease.cs @@ -140,11 +140,11 @@ public sealed class GetReleaseResult /// /// Map from target ID to the target artifacts created during the render operation. /// - public readonly ImmutableDictionary TargetArtifacts; + public readonly ImmutableDictionary TargetArtifacts; /// /// Map from target ID to details of the render operation for that target. /// - public readonly ImmutableDictionary TargetRenders; + public readonly ImmutableDictionary TargetRenders; /// /// Snapshot of the targets taken at release creation time. /// @@ -190,9 +190,9 @@ private GetReleaseResult( string skaffoldVersion, - ImmutableDictionary targetArtifacts, + ImmutableDictionary targetArtifacts, - ImmutableDictionary targetRenders, + ImmutableDictionary targetRenders, ImmutableArray targetSnapshots, diff --git a/sdk/dotnet/CloudDeploy/V1/Outputs/CloudRunRenderMetadataResponse.cs b/sdk/dotnet/CloudDeploy/V1/Outputs/CloudRunRenderMetadataResponse.cs new file mode 100644 index 0000000000..88ff74c8a8 --- /dev/null +++ b/sdk/dotnet/CloudDeploy/V1/Outputs/CloudRunRenderMetadataResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.CloudDeploy.V1.Outputs +{ + + /// + /// CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render. + /// + [OutputType] + public sealed class CloudRunRenderMetadataResponse + { + /// + /// The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`. + /// + public readonly string Service; + + [OutputConstructor] + private CloudRunRenderMetadataResponse(string service) + { + Service = service; + } + } +} diff --git a/sdk/dotnet/CloudDeploy/V1/Outputs/PhaseArtifactResponse.cs b/sdk/dotnet/CloudDeploy/V1/Outputs/PhaseArtifactResponse.cs new file mode 100644 index 0000000000..5d94f205f3 --- /dev/null +++ b/sdk/dotnet/CloudDeploy/V1/Outputs/PhaseArtifactResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.CloudDeploy.V1.Outputs +{ + + /// + /// Contains the paths to the artifacts, relative to the URI, for a phase. + /// + [OutputType] + public sealed class PhaseArtifactResponse + { + /// + /// File path of the directory of rendered job manifests relative to the URI. This is only set if it is applicable. + /// + public readonly string JobManifestsPath; + /// + /// File path of the rendered manifest relative to the URI. + /// + public readonly string ManifestPath; + /// + /// File path of the resolved Skaffold configuration relative to the URI. + /// + public readonly string SkaffoldConfigPath; + + [OutputConstructor] + private PhaseArtifactResponse( + string jobManifestsPath, + + string manifestPath, + + string skaffoldConfigPath) + { + JobManifestsPath = jobManifestsPath; + ManifestPath = manifestPath; + SkaffoldConfigPath = skaffoldConfigPath; + } + } +} diff --git a/sdk/dotnet/CloudDeploy/V1/Outputs/RenderMetadataResponse.cs b/sdk/dotnet/CloudDeploy/V1/Outputs/RenderMetadataResponse.cs new file mode 100644 index 0000000000..fa21d88482 --- /dev/null +++ b/sdk/dotnet/CloudDeploy/V1/Outputs/RenderMetadataResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.CloudDeploy.V1.Outputs +{ + + /// + /// RenderMetadata includes information associated with a `Release` render. + /// + [OutputType] + public sealed class RenderMetadataResponse + { + /// + /// Metadata associated with rendering for Cloud Run. + /// + public readonly Outputs.CloudRunRenderMetadataResponse CloudRun; + + [OutputConstructor] + private RenderMetadataResponse(Outputs.CloudRunRenderMetadataResponse cloudRun) + { + CloudRun = cloudRun; + } + } +} diff --git a/sdk/dotnet/CloudDeploy/V1/Outputs/TargetArtifactResponse.cs b/sdk/dotnet/CloudDeploy/V1/Outputs/TargetArtifactResponse.cs new file mode 100644 index 0000000000..a46bfa1650 --- /dev/null +++ b/sdk/dotnet/CloudDeploy/V1/Outputs/TargetArtifactResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.CloudDeploy.V1.Outputs +{ + + /// + /// The artifacts produced by a target render operation. + /// + [OutputType] + public sealed class TargetArtifactResponse + { + /// + /// URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location. + /// + public readonly string ArtifactUri; + /// + /// File path of the rendered manifest relative to the URI. + /// + public readonly string ManifestPath; + /// + /// Map from the phase ID to the phase artifacts for the `Target`. + /// + public readonly ImmutableDictionary PhaseArtifacts; + /// + /// File path of the resolved Skaffold configuration relative to the URI. + /// + public readonly string SkaffoldConfigPath; + + [OutputConstructor] + private TargetArtifactResponse( + string artifactUri, + + string manifestPath, + + ImmutableDictionary phaseArtifacts, + + string skaffoldConfigPath) + { + ArtifactUri = artifactUri; + ManifestPath = manifestPath; + PhaseArtifacts = phaseArtifacts; + SkaffoldConfigPath = skaffoldConfigPath; + } + } +} diff --git a/sdk/dotnet/CloudDeploy/V1/Outputs/TargetRenderResponse.cs b/sdk/dotnet/CloudDeploy/V1/Outputs/TargetRenderResponse.cs new file mode 100644 index 0000000000..df9f893100 --- /dev/null +++ b/sdk/dotnet/CloudDeploy/V1/Outputs/TargetRenderResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.CloudDeploy.V1.Outputs +{ + + /// + /// Details of rendering for a single target. + /// + [OutputType] + public sealed class TargetRenderResponse + { + /// + /// Reason this render failed. This will always be unspecified while the render in progress. + /// + public readonly string FailureCause; + /// + /// Additional information about the render failure, if available. + /// + public readonly string FailureMessage; + /// + /// Metadata related to the `Release` render for this Target. + /// + public readonly Outputs.RenderMetadataResponse Metadata; + /// + /// The resource name of the Cloud Build `Build` object that is used to render the manifest for this target. Format is `projects/{project}/locations/{location}/builds/{build}`. + /// + public readonly string RenderingBuild; + /// + /// Current state of the render operation for this Target. + /// + public readonly string RenderingState; + + [OutputConstructor] + private TargetRenderResponse( + string failureCause, + + string failureMessage, + + Outputs.RenderMetadataResponse metadata, + + string renderingBuild, + + string renderingState) + { + FailureCause = failureCause; + FailureMessage = failureMessage; + Metadata = metadata; + RenderingBuild = renderingBuild; + RenderingState = renderingState; + } + } +} diff --git a/sdk/dotnet/CloudDeploy/V1/Release.cs b/sdk/dotnet/CloudDeploy/V1/Release.cs index 01b77c27b4..48be414849 100644 --- a/sdk/dotnet/CloudDeploy/V1/Release.cs +++ b/sdk/dotnet/CloudDeploy/V1/Release.cs @@ -144,13 +144,13 @@ public partial class Release : global::Pulumi.CustomResource /// Map from target ID to the target artifacts created during the render operation. /// [Output("targetArtifacts")] - public Output> TargetArtifacts { get; private set; } = null!; + public Output> TargetArtifacts { get; private set; } = null!; /// /// Map from target ID to details of the render operation for that target. /// [Output("targetRenders")] - public Output> TargetRenders { get; private set; } = null!; + public Output> TargetRenders { get; private set; } = null!; /// /// Snapshot of the targets taken at release creation time. diff --git a/sdk/dotnet/CloudIoT/V1/Outputs/StatusResponse.cs b/sdk/dotnet/CloudIoT/V1/Outputs/StatusResponse.cs index 1f0cd24324..1dc590d115 100644 --- a/sdk/dotnet/CloudIoT/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/CloudIoT/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/CloudScheduler/V1/Outputs/StatusResponse.cs b/sdk/dotnet/CloudScheduler/V1/Outputs/StatusResponse.cs index c75b09cfe2..2b36cda673 100644 --- a/sdk/dotnet/CloudScheduler/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/CloudScheduler/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/CloudScheduler/V1Beta1/Outputs/StatusResponse.cs b/sdk/dotnet/CloudScheduler/V1Beta1/Outputs/StatusResponse.cs index 44f735ab24..d5073f437c 100644 --- a/sdk/dotnet/CloudScheduler/V1Beta1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/CloudScheduler/V1Beta1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/CloudTasks/V2/Outputs/StatusResponse.cs b/sdk/dotnet/CloudTasks/V2/Outputs/StatusResponse.cs index 9bde60f74c..6c0b64f59a 100644 --- a/sdk/dotnet/CloudTasks/V2/Outputs/StatusResponse.cs +++ b/sdk/dotnet/CloudTasks/V2/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/CloudTasks/V2Beta2/Outputs/StatusResponse.cs b/sdk/dotnet/CloudTasks/V2Beta2/Outputs/StatusResponse.cs index c8daea6518..f0543aaeaf 100644 --- a/sdk/dotnet/CloudTasks/V2Beta2/Outputs/StatusResponse.cs +++ b/sdk/dotnet/CloudTasks/V2Beta2/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/CloudTasks/V2Beta3/Outputs/StatusResponse.cs b/sdk/dotnet/CloudTasks/V2Beta3/Outputs/StatusResponse.cs index 26b67e7a9d..62d8f9a58e 100644 --- a/sdk/dotnet/CloudTasks/V2Beta3/Outputs/StatusResponse.cs +++ b/sdk/dotnet/CloudTasks/V2Beta3/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Compute/Alpha/Autoscaler.cs b/sdk/dotnet/Compute/Alpha/Autoscaler.cs index 82dfee9e8e..53f65b2ac3 100644 --- a/sdk/dotnet/Compute/Alpha/Autoscaler.cs +++ b/sdk/dotnet/Compute/Alpha/Autoscaler.cs @@ -70,7 +70,7 @@ public partial class Autoscaler : global::Pulumi.CustomResource /// Status information of existing scaling schedules. /// [Output("scalingScheduleStatus")] - public Output> ScalingScheduleStatus { get; private set; } = null!; + public Output> ScalingScheduleStatus { get; private set; } = null!; /// /// Server-defined URL for the resource. diff --git a/sdk/dotnet/Compute/Alpha/Disk.cs b/sdk/dotnet/Compute/Alpha/Disk.cs index cbafc4e60c..18a3506e23 100644 --- a/sdk/dotnet/Compute/Alpha/Disk.cs +++ b/sdk/dotnet/Compute/Alpha/Disk.cs @@ -37,7 +37,7 @@ public partial class Disk : global::Pulumi.CustomResource /// A list of disks this disk is asynchronously replicated to. /// [Output("asyncSecondaryDisks")] - public Output> AsyncSecondaryDisks { get; private set; } = null!; + public Output> AsyncSecondaryDisks { get; private set; } = null!; /// /// Creation timestamp in RFC3339 text format. diff --git a/sdk/dotnet/Compute/Alpha/Enums.cs b/sdk/dotnet/Compute/Alpha/Enums.cs index c9298da5b6..bc1fc8fc32 100644 --- a/sdk/dotnet/Compute/Alpha/Enums.cs +++ b/sdk/dotnet/Compute/Alpha/Enums.cs @@ -5038,6 +5038,47 @@ private InterconnectRequestedFeaturesItem(string value) public override string ToString() => _value; } + /// + /// Preference for a given location. Set to either ALLOW or DENY. + /// + [EnumType] + public readonly struct LocationPolicyLocationPreference : IEquatable + { + private readonly string _value; + + private LocationPolicyLocationPreference(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Location is allowed for use. + /// + public static LocationPolicyLocationPreference Allow { get; } = new LocationPolicyLocationPreference("ALLOW"); + /// + /// Location is prohibited. + /// + public static LocationPolicyLocationPreference Deny { get; } = new LocationPolicyLocationPreference("DENY"); + /// + /// Default value, unused. + /// + public static LocationPolicyLocationPreference PreferenceUnspecified { get; } = new LocationPolicyLocationPreference("PREFERENCE_UNSPECIFIED"); + + public static bool operator ==(LocationPolicyLocationPreference left, LocationPolicyLocationPreference right) => left.Equals(right); + public static bool operator !=(LocationPolicyLocationPreference left, LocationPolicyLocationPreference right) => !left.Equals(right); + + public static explicit operator string(LocationPolicyLocationPreference value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is LocationPolicyLocationPreference other && Equals(other); + public bool Equals(LocationPolicyLocationPreference other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Strategy for distributing VMs across zones in a region. /// @@ -9483,6 +9524,68 @@ private SslPolicyProfile(string value) public override string ToString() => _value; } + /// + /// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + /// + [EnumType] + public readonly struct StatefulPolicyPreservedStateDiskDeviceAutoDelete : IEquatable + { + private readonly string _value; + + private StatefulPolicyPreservedStateDiskDeviceAutoDelete(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StatefulPolicyPreservedStateDiskDeviceAutoDelete Never { get; } = new StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER"); + public static StatefulPolicyPreservedStateDiskDeviceAutoDelete OnPermanentInstanceDeletion { get; } = new StatefulPolicyPreservedStateDiskDeviceAutoDelete("ON_PERMANENT_INSTANCE_DELETION"); + + public static bool operator ==(StatefulPolicyPreservedStateDiskDeviceAutoDelete left, StatefulPolicyPreservedStateDiskDeviceAutoDelete right) => left.Equals(right); + public static bool operator !=(StatefulPolicyPreservedStateDiskDeviceAutoDelete left, StatefulPolicyPreservedStateDiskDeviceAutoDelete right) => !left.Equals(right); + + public static explicit operator string(StatefulPolicyPreservedStateDiskDeviceAutoDelete value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StatefulPolicyPreservedStateDiskDeviceAutoDelete other && Equals(other); + public bool Equals(StatefulPolicyPreservedStateDiskDeviceAutoDelete other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + /// + [EnumType] + public readonly struct StatefulPolicyPreservedStateNetworkIpAutoDelete : IEquatable + { + private readonly string _value; + + private StatefulPolicyPreservedStateNetworkIpAutoDelete(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StatefulPolicyPreservedStateNetworkIpAutoDelete Never { get; } = new StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER"); + public static StatefulPolicyPreservedStateNetworkIpAutoDelete OnPermanentInstanceDeletion { get; } = new StatefulPolicyPreservedStateNetworkIpAutoDelete("ON_PERMANENT_INSTANCE_DELETION"); + + public static bool operator ==(StatefulPolicyPreservedStateNetworkIpAutoDelete left, StatefulPolicyPreservedStateNetworkIpAutoDelete right) => left.Equals(right); + public static bool operator !=(StatefulPolicyPreservedStateNetworkIpAutoDelete left, StatefulPolicyPreservedStateNetworkIpAutoDelete right) => !left.Equals(right); + + public static explicit operator string(StatefulPolicyPreservedStateNetworkIpAutoDelete value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StatefulPolicyPreservedStateNetworkIpAutoDelete other && Equals(other); + public bool Equals(StatefulPolicyPreservedStateNetworkIpAutoDelete other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Provisioning type of the byte capacity of the pool. /// diff --git a/sdk/dotnet/Compute/Alpha/GetAutoscaler.cs b/sdk/dotnet/Compute/Alpha/GetAutoscaler.cs index 6e8012699e..9197668bfe 100644 --- a/sdk/dotnet/Compute/Alpha/GetAutoscaler.cs +++ b/sdk/dotnet/Compute/Alpha/GetAutoscaler.cs @@ -94,7 +94,7 @@ public sealed class GetAutoscalerResult /// /// Status information of existing scaling schedules. /// - public readonly ImmutableDictionary ScalingScheduleStatus; + public readonly ImmutableDictionary ScalingScheduleStatus; /// /// Server-defined URL for the resource. /// @@ -136,7 +136,7 @@ private GetAutoscalerResult( string region, - ImmutableDictionary scalingScheduleStatus, + ImmutableDictionary scalingScheduleStatus, string selfLink, diff --git a/sdk/dotnet/Compute/Alpha/GetDisk.cs b/sdk/dotnet/Compute/Alpha/GetDisk.cs index cdb6d86d01..6b83335fdc 100644 --- a/sdk/dotnet/Compute/Alpha/GetDisk.cs +++ b/sdk/dotnet/Compute/Alpha/GetDisk.cs @@ -78,7 +78,7 @@ public sealed class GetDiskResult /// /// A list of disks this disk is asynchronously replicated to. /// - public readonly ImmutableDictionary AsyncSecondaryDisks; + public readonly ImmutableDictionary AsyncSecondaryDisks; /// /// Creation timestamp in RFC3339 text format. /// @@ -292,7 +292,7 @@ private GetDiskResult( Outputs.DiskAsyncReplicationResponse asyncPrimaryDisk, - ImmutableDictionary asyncSecondaryDisks, + ImmutableDictionary asyncSecondaryDisks, string creationTimestamp, diff --git a/sdk/dotnet/Compute/Alpha/GetInstance.cs b/sdk/dotnet/Compute/Alpha/GetInstance.cs index 06eca050e6..f6372a108a 100644 --- a/sdk/dotnet/Compute/Alpha/GetInstance.cs +++ b/sdk/dotnet/Compute/Alpha/GetInstance.cs @@ -178,7 +178,7 @@ public sealed class GetInstanceResult /// /// Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. /// - public readonly ImmutableDictionary PartnerMetadata; + public readonly ImmutableDictionary PartnerMetadata; /// /// PostKeyRevocationActionType of the instance. /// @@ -230,7 +230,7 @@ public sealed class GetInstanceResult /// /// Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. /// - public readonly ImmutableDictionary ServiceIntegrationSpecs; + public readonly ImmutableDictionary ServiceIntegrationSpecs; public readonly Outputs.ShieldedInstanceConfigResponse ShieldedInstanceConfig; public readonly Outputs.ShieldedInstanceIntegrityPolicyResponse ShieldedInstanceIntegrityPolicy; /// @@ -332,7 +332,7 @@ private GetInstanceResult( Outputs.InstanceParamsResponse @params, - ImmutableDictionary partnerMetadata, + ImmutableDictionary partnerMetadata, string postKeyRevocationActionType, @@ -358,7 +358,7 @@ private GetInstanceResult( ImmutableArray serviceAccounts, - ImmutableDictionary serviceIntegrationSpecs, + ImmutableDictionary serviceIntegrationSpecs, Outputs.ShieldedInstanceConfigResponse shieldedInstanceConfig, diff --git a/sdk/dotnet/Compute/Alpha/GetRegionAutoscaler.cs b/sdk/dotnet/Compute/Alpha/GetRegionAutoscaler.cs index 867bd87cba..6287dc2dfd 100644 --- a/sdk/dotnet/Compute/Alpha/GetRegionAutoscaler.cs +++ b/sdk/dotnet/Compute/Alpha/GetRegionAutoscaler.cs @@ -94,7 +94,7 @@ public sealed class GetRegionAutoscalerResult /// /// Status information of existing scaling schedules. /// - public readonly ImmutableDictionary ScalingScheduleStatus; + public readonly ImmutableDictionary ScalingScheduleStatus; /// /// Server-defined URL for the resource. /// @@ -136,7 +136,7 @@ private GetRegionAutoscalerResult( string region, - ImmutableDictionary scalingScheduleStatus, + ImmutableDictionary scalingScheduleStatus, string selfLink, diff --git a/sdk/dotnet/Compute/Alpha/GetRegionDisk.cs b/sdk/dotnet/Compute/Alpha/GetRegionDisk.cs index 3ea6ea31f6..19f276e973 100644 --- a/sdk/dotnet/Compute/Alpha/GetRegionDisk.cs +++ b/sdk/dotnet/Compute/Alpha/GetRegionDisk.cs @@ -78,7 +78,7 @@ public sealed class GetRegionDiskResult /// /// A list of disks this disk is asynchronously replicated to. /// - public readonly ImmutableDictionary AsyncSecondaryDisks; + public readonly ImmutableDictionary AsyncSecondaryDisks; /// /// Creation timestamp in RFC3339 text format. /// @@ -292,7 +292,7 @@ private GetRegionDiskResult( Outputs.DiskAsyncReplicationResponse asyncPrimaryDisk, - ImmutableDictionary asyncSecondaryDisks, + ImmutableDictionary asyncSecondaryDisks, string creationTimestamp, diff --git a/sdk/dotnet/Compute/Alpha/Inputs/AutoscalingPolicyArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/AutoscalingPolicyArgs.cs index a381cf19d6..680d19fcf2 100644 --- a/sdk/dotnet/Compute/Alpha/Inputs/AutoscalingPolicyArgs.cs +++ b/sdk/dotnet/Compute/Alpha/Inputs/AutoscalingPolicyArgs.cs @@ -70,14 +70,14 @@ public InputList CustomMetr public Input? ScaleInControl { get; set; } [Input("scalingSchedules")] - private InputMap? _scalingSchedules; + private InputMap? _scalingSchedules; /// /// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. /// - public InputMap ScalingSchedules + public InputMap ScalingSchedules { - get => _scalingSchedules ?? (_scalingSchedules = new InputMap()); + get => _scalingSchedules ?? (_scalingSchedules = new InputMap()); set => _scalingSchedules = value; } diff --git a/sdk/dotnet/Compute/Alpha/Inputs/AutoscalingPolicyScalingScheduleArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/AutoscalingPolicyScalingScheduleArgs.cs new file mode 100644 index 0000000000..75a3c359c9 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/AutoscalingPolicyScalingScheduleArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + /// + /// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + /// + public sealed class AutoscalingPolicyScalingScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of a scaling schedule. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + /// + [Input("durationSec")] + public Input? DurationSec { get; set; } + + /// + /// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + /// + [Input("minRequiredReplicas")] + public Input? MinRequiredReplicas { get; set; } + + /// + /// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + /// + [Input("schedule")] + public Input? Schedule { get; set; } + + /// + /// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + /// + [Input("timeZone")] + public Input? TimeZone { get; set; } + + public AutoscalingPolicyScalingScheduleArgs() + { + } + public static new AutoscalingPolicyScalingScheduleArgs Empty => new AutoscalingPolicyScalingScheduleArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/BulkInsertInstanceResourceArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/BulkInsertInstanceResourceArgs.cs index 0ab858e7f2..926d8fe6b9 100644 --- a/sdk/dotnet/Compute/Alpha/Inputs/BulkInsertInstanceResourceArgs.cs +++ b/sdk/dotnet/Compute/Alpha/Inputs/BulkInsertInstanceResourceArgs.cs @@ -46,14 +46,14 @@ public sealed class BulkInsertInstanceResourceArgs : global::Pulumi.ResourceArgs public Input? NamePattern { get; set; } [Input("perInstanceProperties")] - private InputMap? _perInstanceProperties; + private InputMap? _perInstanceProperties; /// /// Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. /// - public InputMap PerInstanceProperties + public InputMap PerInstanceProperties { - get => _perInstanceProperties ?? (_perInstanceProperties = new InputMap()); + get => _perInstanceProperties ?? (_perInstanceProperties = new InputMap()); set => _perInstanceProperties = value; } diff --git a/sdk/dotnet/Compute/Alpha/Inputs/BulkInsertInstanceResourcePerInstancePropertiesArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/BulkInsertInstanceResourcePerInstancePropertiesArgs.cs new file mode 100644 index 0000000000..f1afecd74d --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/BulkInsertInstanceResourcePerInstancePropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + /// + /// Per-instance properties to be set on individual instances. To be extended in the future. + /// + public sealed class BulkInsertInstanceResourcePerInstancePropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + /// + [Input("hostname")] + public Input? Hostname { get; set; } + + /// + /// This field is only temporary. It will be removed. Do not use it. + /// + [Input("name")] + public Input? Name { get; set; } + + public BulkInsertInstanceResourcePerInstancePropertiesArgs() + { + } + public static new BulkInsertInstanceResourcePerInstancePropertiesArgs Empty => new BulkInsertInstanceResourcePerInstancePropertiesArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyArgs.cs index 79f886cd91..728675d6cf 100644 --- a/sdk/dotnet/Compute/Alpha/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyArgs.cs +++ b/sdk/dotnet/Compute/Alpha/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyArgs.cs @@ -13,26 +13,26 @@ namespace Pulumi.GoogleNative.Compute.Alpha.Inputs public sealed class InstanceGroupManagerInstanceFlexibilityPolicyArgs : global::Pulumi.ResourceArgs { [Input("instanceSelectionLists")] - private InputMap? _instanceSelectionLists; + private InputMap? _instanceSelectionLists; /// /// Named instance selections configuring properties that the group will use when creating new VMs. /// - public InputMap InstanceSelectionLists + public InputMap InstanceSelectionLists { - get => _instanceSelectionLists ?? (_instanceSelectionLists = new InputMap()); + get => _instanceSelectionLists ?? (_instanceSelectionLists = new InputMap()); set => _instanceSelectionLists = value; } [Input("instanceSelections")] - private InputMap? _instanceSelections; + private InputMap? _instanceSelections; /// /// Named instance selections configuring properties that the group will use when creating new VMs. /// - public InputMap InstanceSelections + public InputMap InstanceSelections { - get => _instanceSelections ?? (_instanceSelections = new InputMap()); + get => _instanceSelections ?? (_instanceSelections = new InputMap()); set => _instanceSelections = value; } diff --git a/sdk/dotnet/Compute/Alpha/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs.cs new file mode 100644 index 0000000000..f38311f30a --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + public sealed class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs : global::Pulumi.ResourceArgs + { + [Input("machineTypes")] + private InputList? _machineTypes; + + /// + /// Full machine-type names, e.g. "n1-standard-16". + /// + public InputList MachineTypes + { + get => _machineTypes ?? (_machineTypes = new InputList()); + set => _machineTypes = value; + } + + /// + /// Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + /// + [Input("rank")] + public Input? Rank { get; set; } + + public InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs() + { + } + public static new InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs Empty => new InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/InstancePropertiesArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/InstancePropertiesArgs.cs index 2f6391c131..e8ef38ec21 100644 --- a/sdk/dotnet/Compute/Alpha/Inputs/InstancePropertiesArgs.cs +++ b/sdk/dotnet/Compute/Alpha/Inputs/InstancePropertiesArgs.cs @@ -121,14 +121,14 @@ public InputList NetworkInterfaces public Input? NetworkPerformanceConfig { get; set; } [Input("partnerMetadata")] - private InputMap? _partnerMetadata; + private InputMap? _partnerMetadata; /// /// Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. /// - public InputMap PartnerMetadata + public InputMap PartnerMetadata { - get => _partnerMetadata ?? (_partnerMetadata = new InputMap()); + get => _partnerMetadata ?? (_partnerMetadata = new InputMap()); set => _partnerMetadata = value; } @@ -205,14 +205,14 @@ public InputList ServiceAccounts } [Input("serviceIntegrationSpecs")] - private InputMap? _serviceIntegrationSpecs; + private InputMap? _serviceIntegrationSpecs; /// /// Mapping of user defined keys to ServiceIntegrationSpec. /// - public InputMap ServiceIntegrationSpecs + public InputMap ServiceIntegrationSpecs { - get => _serviceIntegrationSpecs ?? (_serviceIntegrationSpecs = new InputMap()); + get => _serviceIntegrationSpecs ?? (_serviceIntegrationSpecs = new InputMap()); set => _serviceIntegrationSpecs = value; } diff --git a/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyArgs.cs index d10fe0b719..33391999d9 100644 --- a/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyArgs.cs +++ b/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Compute.Alpha.Inputs public sealed class LocationPolicyArgs : global::Pulumi.ResourceArgs { [Input("locations")] - private InputMap? _locations; + private InputMap? _locations; /// /// Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. /// - public InputMap Locations + public InputMap Locations { - get => _locations ?? (_locations = new InputMap()); + get => _locations ?? (_locations = new InputMap()); set => _locations = value; } diff --git a/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyLocationArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyLocationArgs.cs new file mode 100644 index 0000000000..5ba68a9795 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyLocationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + public sealed class LocationPolicyLocationArgs : global::Pulumi.ResourceArgs + { + /// + /// Constraints that the caller requires on the result distribution in this zone. + /// + [Input("constraints")] + public Input? Constraints { get; set; } + + [Input("names")] + private InputList? _names; + + /// + /// Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + /// + public InputList Names + { + get => _names ?? (_names = new InputList()); + set => _names = value; + } + + /// + /// Preference for a given location. Set to either ALLOW or DENY. + /// + [Input("preference")] + public Input? Preference { get; set; } + + public LocationPolicyLocationArgs() + { + } + public static new LocationPolicyLocationArgs Empty => new LocationPolicyLocationArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyLocationConstraintsArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyLocationConstraintsArgs.cs new file mode 100644 index 0000000000..215d091db3 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/LocationPolicyLocationConstraintsArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + /// + /// Per-zone constraints on location policy for this zone. + /// + public sealed class LocationPolicyLocationConstraintsArgs : global::Pulumi.ResourceArgs + { + /// + /// Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + /// + [Input("maxCount")] + public Input? MaxCount { get; set; } + + public LocationPolicyLocationConstraintsArgs() + { + } + public static new LocationPolicyLocationConstraintsArgs Empty => new LocationPolicyLocationConstraintsArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/ServiceIntegrationSpecArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/ServiceIntegrationSpecArgs.cs new file mode 100644 index 0000000000..3108294a10 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/ServiceIntegrationSpecArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + /// + /// Specifies the parameters to configure an integration with instances. + /// + public sealed class ServiceIntegrationSpecArgs : global::Pulumi.ResourceArgs + { + [Input("backupDr")] + public Input? BackupDr { get; set; } + + public ServiceIntegrationSpecArgs() + { + } + public static new ServiceIntegrationSpecArgs Empty => new ServiceIntegrationSpecArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/ServiceIntegrationSpecBackupDRSpecArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/ServiceIntegrationSpecBackupDRSpecArgs.cs new file mode 100644 index 0000000000..60a7028315 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/ServiceIntegrationSpecBackupDRSpecArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + /// + /// Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. + /// + public sealed class ServiceIntegrationSpecBackupDRSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + /// + [Input("plan")] + public Input? Plan { get; set; } + + public ServiceIntegrationSpecBackupDRSpecArgs() + { + } + public static new ServiceIntegrationSpecBackupDRSpecArgs Empty => new ServiceIntegrationSpecBackupDRSpecArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsArgs.cs index 632bb0e1fe..e4f6b4616d 100644 --- a/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsArgs.cs +++ b/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsArgs.cs @@ -16,26 +16,26 @@ namespace Pulumi.GoogleNative.Compute.Alpha.Inputs public sealed class ShareSettingsArgs : global::Pulumi.ResourceArgs { [Input("folderMap")] - private InputMap? _folderMap; + private InputMap? _folderMap; /// /// A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. /// - public InputMap FolderMap + public InputMap FolderMap { - get => _folderMap ?? (_folderMap = new InputMap()); + get => _folderMap ?? (_folderMap = new InputMap()); set => _folderMap = value; } [Input("projectMap")] - private InputMap? _projectMap; + private InputMap? _projectMap; /// /// A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. /// - public InputMap ProjectMap + public InputMap ProjectMap { - get => _projectMap ?? (_projectMap = new InputMap()); + get => _projectMap ?? (_projectMap = new InputMap()); set => _projectMap = value; } diff --git a/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsFolderConfigArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsFolderConfigArgs.cs new file mode 100644 index 0000000000..5657d10e17 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsFolderConfigArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + /// + /// Config for each folder in the share settings. + /// + public sealed class ShareSettingsFolderConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + /// + [Input("folderId")] + public Input? FolderId { get; set; } + + public ShareSettingsFolderConfigArgs() + { + } + public static new ShareSettingsFolderConfigArgs Empty => new ShareSettingsFolderConfigArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsProjectConfigArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsProjectConfigArgs.cs new file mode 100644 index 0000000000..f1c94f5b0b --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/ShareSettingsProjectConfigArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + /// + /// Config for each project in the share settings. + /// + public sealed class ShareSettingsProjectConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The project ID, should be same as the key of this project config in the parent map. + /// + [Input("project")] + public Input? Project { get; set; } + + public ShareSettingsProjectConfigArgs() + { + } + public static new ShareSettingsProjectConfigArgs Empty => new ShareSettingsProjectConfigArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateArgs.cs index 5ffeb596c7..1cab2d9026 100644 --- a/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateArgs.cs +++ b/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateArgs.cs @@ -16,38 +16,38 @@ namespace Pulumi.GoogleNative.Compute.Alpha.Inputs public sealed class StatefulPolicyPreservedStateArgs : global::Pulumi.ResourceArgs { [Input("disks")] - private InputMap? _disks; + private InputMap? _disks; /// /// Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. /// - public InputMap Disks + public InputMap Disks { - get => _disks ?? (_disks = new InputMap()); + get => _disks ?? (_disks = new InputMap()); set => _disks = value; } [Input("externalIPs")] - private InputMap? _externalIPs; + private InputMap? _externalIPs; /// /// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public InputMap ExternalIPs + public InputMap ExternalIPs { - get => _externalIPs ?? (_externalIPs = new InputMap()); + get => _externalIPs ?? (_externalIPs = new InputMap()); set => _externalIPs = value; } [Input("internalIPs")] - private InputMap? _internalIPs; + private InputMap? _internalIPs; /// /// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public InputMap InternalIPs + public InputMap InternalIPs { - get => _internalIPs ?? (_internalIPs = new InputMap()); + get => _internalIPs ?? (_internalIPs = new InputMap()); set => _internalIPs = value; } diff --git a/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateDiskDeviceArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateDiskDeviceArgs.cs new file mode 100644 index 0000000000..545d9f5699 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateDiskDeviceArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + public sealed class StatefulPolicyPreservedStateDiskDeviceArgs : global::Pulumi.ResourceArgs + { + /// + /// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + /// + [Input("autoDelete")] + public Input? AutoDelete { get; set; } + + public StatefulPolicyPreservedStateDiskDeviceArgs() + { + } + public static new StatefulPolicyPreservedStateDiskDeviceArgs Empty => new StatefulPolicyPreservedStateDiskDeviceArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateNetworkIpArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateNetworkIpArgs.cs new file mode 100644 index 0000000000..030bc8c2da --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/StatefulPolicyPreservedStateNetworkIpArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + public sealed class StatefulPolicyPreservedStateNetworkIpArgs : global::Pulumi.ResourceArgs + { + /// + /// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + /// + [Input("autoDelete")] + public Input? AutoDelete { get; set; } + + public StatefulPolicyPreservedStateNetworkIpArgs() + { + } + public static new StatefulPolicyPreservedStateNetworkIpArgs Empty => new StatefulPolicyPreservedStateNetworkIpArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Inputs/StructuredEntriesArgs.cs b/sdk/dotnet/Compute/Alpha/Inputs/StructuredEntriesArgs.cs new file mode 100644 index 0000000000..cc13e1b73c --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Inputs/StructuredEntriesArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Inputs +{ + + public sealed class StructuredEntriesArgs : global::Pulumi.ResourceArgs + { + [Input("entries")] + private InputMap? _entries; + + /// + /// Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + /// + public InputMap Entries + { + get => _entries ?? (_entries = new InputMap()); + set => _entries = value; + } + + public StructuredEntriesArgs() + { + } + public static new StructuredEntriesArgs Empty => new StructuredEntriesArgs(); + } +} diff --git a/sdk/dotnet/Compute/Alpha/Instance.cs b/sdk/dotnet/Compute/Alpha/Instance.cs index 0ff50d4b0b..0ec62f67ce 100644 --- a/sdk/dotnet/Compute/Alpha/Instance.cs +++ b/sdk/dotnet/Compute/Alpha/Instance.cs @@ -181,7 +181,7 @@ public partial class Instance : global::Pulumi.CustomResource /// Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. /// [Output("partnerMetadata")] - public Output> PartnerMetadata { get; private set; } = null!; + public Output> PartnerMetadata { get; private set; } = null!; /// /// PostKeyRevocationActionType of the instance. @@ -268,7 +268,7 @@ public partial class Instance : global::Pulumi.CustomResource /// Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. /// [Output("serviceIntegrationSpecs")] - public Output> ServiceIntegrationSpecs { get; private set; } = null!; + public Output> ServiceIntegrationSpecs { get; private set; } = null!; [Output("shieldedInstanceConfig")] public Output ShieldedInstanceConfig { get; private set; } = null!; @@ -528,14 +528,14 @@ public InputList NetworkInterfaces public Input? Params { get; set; } [Input("partnerMetadata")] - private InputMap? _partnerMetadata; + private InputMap? _partnerMetadata; /// /// Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. /// - public InputMap PartnerMetadata + public InputMap PartnerMetadata { - get => _partnerMetadata ?? (_partnerMetadata = new InputMap()); + get => _partnerMetadata ?? (_partnerMetadata = new InputMap()); set => _partnerMetadata = value; } @@ -615,14 +615,14 @@ public InputList ServiceAccounts } [Input("serviceIntegrationSpecs")] - private InputMap? _serviceIntegrationSpecs; + private InputMap? _serviceIntegrationSpecs; /// /// Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. /// - public InputMap ServiceIntegrationSpecs + public InputMap ServiceIntegrationSpecs { - get => _serviceIntegrationSpecs ?? (_serviceIntegrationSpecs = new InputMap()); + get => _serviceIntegrationSpecs ?? (_serviceIntegrationSpecs = new InputMap()); set => _serviceIntegrationSpecs = value; } diff --git a/sdk/dotnet/Compute/Alpha/Outputs/AutoscalingPolicyResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/AutoscalingPolicyResponse.cs index c035cebaf7..d9cec7a92e 100644 --- a/sdk/dotnet/Compute/Alpha/Outputs/AutoscalingPolicyResponse.cs +++ b/sdk/dotnet/Compute/Alpha/Outputs/AutoscalingPolicyResponse.cs @@ -49,7 +49,7 @@ public sealed class AutoscalingPolicyResponse /// /// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. /// - public readonly ImmutableDictionary ScalingSchedules; + public readonly ImmutableDictionary ScalingSchedules; [OutputConstructor] private AutoscalingPolicyResponse( @@ -71,7 +71,7 @@ private AutoscalingPolicyResponse( Outputs.AutoscalingPolicyScaleInControlResponse scaleInControl, - ImmutableDictionary scalingSchedules) + ImmutableDictionary scalingSchedules) { CoolDownPeriodSec = coolDownPeriodSec; CpuUtilization = cpuUtilization; diff --git a/sdk/dotnet/Compute/Alpha/Outputs/AutoscalingPolicyScalingScheduleResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/AutoscalingPolicyScalingScheduleResponse.cs new file mode 100644 index 0000000000..0febaf7eae --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/AutoscalingPolicyScalingScheduleResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + /// + /// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + /// + [OutputType] + public sealed class AutoscalingPolicyScalingScheduleResponse + { + /// + /// A description of a scaling schedule. + /// + public readonly string Description; + /// + /// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + /// + public readonly bool Disabled; + /// + /// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + /// + public readonly int DurationSec; + /// + /// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + /// + public readonly int MinRequiredReplicas; + /// + /// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + /// + public readonly string Schedule; + /// + /// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + /// + public readonly string TimeZone; + + [OutputConstructor] + private AutoscalingPolicyScalingScheduleResponse( + string description, + + bool disabled, + + int durationSec, + + int minRequiredReplicas, + + string schedule, + + string timeZone) + { + Description = description; + Disabled = disabled; + DurationSec = durationSec; + MinRequiredReplicas = minRequiredReplicas; + Schedule = schedule; + TimeZone = timeZone; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/BulkInsertInstanceResourcePerInstancePropertiesResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/BulkInsertInstanceResourcePerInstancePropertiesResponse.cs new file mode 100644 index 0000000000..c998abdddd --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/BulkInsertInstanceResourcePerInstancePropertiesResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + /// + /// Per-instance properties to be set on individual instances. To be extended in the future. + /// + [OutputType] + public sealed class BulkInsertInstanceResourcePerInstancePropertiesResponse + { + /// + /// Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + /// + public readonly string Hostname; + /// + /// This field is only temporary. It will be removed. Do not use it. + /// + public readonly string Name; + + [OutputConstructor] + private BulkInsertInstanceResourcePerInstancePropertiesResponse( + string hostname, + + string name) + { + Hostname = hostname; + Name = name; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/BulkInsertInstanceResourceResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/BulkInsertInstanceResourceResponse.cs index de85e7077d..07ebf23a05 100644 --- a/sdk/dotnet/Compute/Alpha/Outputs/BulkInsertInstanceResourceResponse.cs +++ b/sdk/dotnet/Compute/Alpha/Outputs/BulkInsertInstanceResourceResponse.cs @@ -39,7 +39,7 @@ public sealed class BulkInsertInstanceResourceResponse /// /// Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. /// - public readonly ImmutableDictionary PerInstanceProperties; + public readonly ImmutableDictionary PerInstanceProperties; /// /// Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. /// @@ -57,7 +57,7 @@ private BulkInsertInstanceResourceResponse( string namePattern, - ImmutableDictionary perInstanceProperties, + ImmutableDictionary perInstanceProperties, string sourceInstanceTemplate) { diff --git a/sdk/dotnet/Compute/Alpha/Outputs/DiskAsyncReplicationListResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/DiskAsyncReplicationListResponse.cs new file mode 100644 index 0000000000..319a2754d2 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/DiskAsyncReplicationListResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + [OutputType] + public sealed class DiskAsyncReplicationListResponse + { + public readonly Outputs.DiskAsyncReplicationResponse AsyncReplicationDisk; + + [OutputConstructor] + private DiskAsyncReplicationListResponse(Outputs.DiskAsyncReplicationResponse asyncReplicationDisk) + { + AsyncReplicationDisk = asyncReplicationDisk; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/DiskResourceStatusResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/DiskResourceStatusResponse.cs index 26b1c2bd36..ad279a7dd0 100644 --- a/sdk/dotnet/Compute/Alpha/Outputs/DiskResourceStatusResponse.cs +++ b/sdk/dotnet/Compute/Alpha/Outputs/DiskResourceStatusResponse.cs @@ -17,7 +17,7 @@ public sealed class DiskResourceStatusResponse /// /// Key: disk, value: AsyncReplicationStatus message /// - public readonly ImmutableDictionary AsyncSecondaryDisks; + public readonly ImmutableDictionary AsyncSecondaryDisks; /// /// Space used by data stored in the disk (in bytes). Note that this field is set only when the disk is in a storage pool. /// @@ -27,7 +27,7 @@ public sealed class DiskResourceStatusResponse private DiskResourceStatusResponse( Outputs.DiskResourceStatusAsyncReplicationStatusResponse asyncPrimaryDisk, - ImmutableDictionary asyncSecondaryDisks, + ImmutableDictionary asyncSecondaryDisks, string usedBytes) { diff --git a/sdk/dotnet/Compute/Alpha/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.cs new file mode 100644 index 0000000000..6ff09875f7 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + [OutputType] + public sealed class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse + { + /// + /// Full machine-type names, e.g. "n1-standard-16". + /// + public readonly ImmutableArray MachineTypes; + /// + /// Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + /// + public readonly int Rank; + + [OutputConstructor] + private InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse( + ImmutableArray machineTypes, + + int rank) + { + MachineTypes = machineTypes; + Rank = rank; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyResponse.cs index f924a95e14..d864157b2a 100644 --- a/sdk/dotnet/Compute/Alpha/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyResponse.cs +++ b/sdk/dotnet/Compute/Alpha/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyResponse.cs @@ -16,17 +16,17 @@ public sealed class InstanceGroupManagerInstanceFlexibilityPolicyResponse /// /// Named instance selections configuring properties that the group will use when creating new VMs. /// - public readonly ImmutableDictionary InstanceSelectionLists; + public readonly ImmutableDictionary InstanceSelectionLists; /// /// Named instance selections configuring properties that the group will use when creating new VMs. /// - public readonly ImmutableDictionary InstanceSelections; + public readonly ImmutableDictionary InstanceSelections; [OutputConstructor] private InstanceGroupManagerInstanceFlexibilityPolicyResponse( - ImmutableDictionary instanceSelectionLists, + ImmutableDictionary instanceSelectionLists, - ImmutableDictionary instanceSelections) + ImmutableDictionary instanceSelections) { InstanceSelectionLists = instanceSelectionLists; InstanceSelections = instanceSelections; diff --git a/sdk/dotnet/Compute/Alpha/Outputs/InstancePropertiesResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/InstancePropertiesResponse.cs index c06cdb76fd..f587b40c77 100644 --- a/sdk/dotnet/Compute/Alpha/Outputs/InstancePropertiesResponse.cs +++ b/sdk/dotnet/Compute/Alpha/Outputs/InstancePropertiesResponse.cs @@ -72,7 +72,7 @@ public sealed class InstancePropertiesResponse /// /// Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. /// - public readonly ImmutableDictionary PartnerMetadata; + public readonly ImmutableDictionary PartnerMetadata; /// /// PostKeyRevocationActionType of the instance. /// @@ -108,7 +108,7 @@ public sealed class InstancePropertiesResponse /// /// Mapping of user defined keys to ServiceIntegrationSpec. /// - public readonly ImmutableDictionary ServiceIntegrationSpecs; + public readonly ImmutableDictionary ServiceIntegrationSpecs; /// /// Note that for MachineImage, this is not supported yet. /// @@ -152,7 +152,7 @@ private InstancePropertiesResponse( Outputs.NetworkPerformanceConfigResponse networkPerformanceConfig, - ImmutableDictionary partnerMetadata, + ImmutableDictionary partnerMetadata, string postKeyRevocationActionType, @@ -170,7 +170,7 @@ private InstancePropertiesResponse( ImmutableArray serviceAccounts, - ImmutableDictionary serviceIntegrationSpecs, + ImmutableDictionary serviceIntegrationSpecs, Outputs.ShieldedInstanceConfigResponse shieldedInstanceConfig, diff --git a/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyLocationConstraintsResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyLocationConstraintsResponse.cs new file mode 100644 index 0000000000..4c8afacc93 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyLocationConstraintsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + /// + /// Per-zone constraints on location policy for this zone. + /// + [OutputType] + public sealed class LocationPolicyLocationConstraintsResponse + { + /// + /// Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + /// + public readonly int MaxCount; + + [OutputConstructor] + private LocationPolicyLocationConstraintsResponse(int maxCount) + { + MaxCount = maxCount; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyLocationResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyLocationResponse.cs new file mode 100644 index 0000000000..a47fc1f286 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyLocationResponse.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + [OutputType] + public sealed class LocationPolicyLocationResponse + { + /// + /// Constraints that the caller requires on the result distribution in this zone. + /// + public readonly Outputs.LocationPolicyLocationConstraintsResponse Constraints; + /// + /// Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + /// + public readonly ImmutableArray Names; + /// + /// Preference for a given location. Set to either ALLOW or DENY. + /// + public readonly string Preference; + + [OutputConstructor] + private LocationPolicyLocationResponse( + Outputs.LocationPolicyLocationConstraintsResponse constraints, + + ImmutableArray names, + + string preference) + { + Constraints = constraints; + Names = names; + Preference = preference; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyResponse.cs index 0fcd9f0ff2..9052ec8c76 100644 --- a/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyResponse.cs +++ b/sdk/dotnet/Compute/Alpha/Outputs/LocationPolicyResponse.cs @@ -19,7 +19,7 @@ public sealed class LocationPolicyResponse /// /// Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. /// - public readonly ImmutableDictionary Locations; + public readonly ImmutableDictionary Locations; /// /// Strategy for distributing VMs across zones in a region. /// @@ -27,7 +27,7 @@ public sealed class LocationPolicyResponse [OutputConstructor] private LocationPolicyResponse( - ImmutableDictionary locations, + ImmutableDictionary locations, string targetShape) { diff --git a/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusResponse.cs index ed865806fe..f576b41670 100644 --- a/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusResponse.cs +++ b/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusResponse.cs @@ -28,7 +28,7 @@ public sealed class ResourceStatusResponse /// /// Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs. /// - public readonly ImmutableDictionary ServiceIntegrationStatuses; + public readonly ImmutableDictionary ServiceIntegrationStatuses; /// /// Details about stopping state of instance /// @@ -43,7 +43,7 @@ private ResourceStatusResponse( Outputs.ResourceStatusSchedulingResponse scheduling, - ImmutableDictionary serviceIntegrationStatuses, + ImmutableDictionary serviceIntegrationStatuses, Outputs.ResourceStatusShutdownDetailsResponse shutdownDetails, diff --git a/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusServiceIntegrationStatusBackupDRStatusResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusServiceIntegrationStatusBackupDRStatusResponse.cs new file mode 100644 index 0000000000..696aa72e37 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusServiceIntegrationStatusBackupDRStatusResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + /// + /// Message defining compute perspective of the result of integration with Backup and DR. FAILED status indicates that the operation specified did not complete correctly and should be retried with the same value. + /// + [OutputType] + public sealed class ResourceStatusServiceIntegrationStatusBackupDRStatusResponse + { + /// + /// The PlanReference object created by Backup and DR to maintain the actual status of backups. May still be present if removing the backup plan fails. + /// + public readonly string IntegrationDetails; + /// + /// Enum representing the registration state of a Backup and DR backup plan for the instance. + /// + public readonly string State; + + [OutputConstructor] + private ResourceStatusServiceIntegrationStatusBackupDRStatusResponse( + string integrationDetails, + + string state) + { + IntegrationDetails = integrationDetails; + State = state; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusServiceIntegrationStatusResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusServiceIntegrationStatusResponse.cs new file mode 100644 index 0000000000..ffd505d98c --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/ResourceStatusServiceIntegrationStatusResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + /// + /// Represents the status of integration between instance and another service. See go/gce-backupdr-design for more details. + /// + [OutputType] + public sealed class ResourceStatusServiceIntegrationStatusResponse + { + public readonly Outputs.ResourceStatusServiceIntegrationStatusBackupDRStatusResponse BackupDr; + + [OutputConstructor] + private ResourceStatusServiceIntegrationStatusResponse(Outputs.ResourceStatusServiceIntegrationStatusBackupDRStatusResponse backupDr) + { + BackupDr = backupDr; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/ScalingScheduleStatusResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/ScalingScheduleStatusResponse.cs new file mode 100644 index 0000000000..4ab0fbd4e9 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/ScalingScheduleStatusResponse.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + [OutputType] + public sealed class ScalingScheduleStatusResponse + { + /// + /// The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + /// + public readonly string LastStartTime; + /// + /// The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + /// + public readonly string NextStartTime; + /// + /// The current state of a scaling schedule. + /// + public readonly string State; + + [OutputConstructor] + private ScalingScheduleStatusResponse( + string lastStartTime, + + string nextStartTime, + + string state) + { + LastStartTime = lastStartTime; + NextStartTime = nextStartTime; + State = state; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/ServiceIntegrationSpecBackupDRSpecResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/ServiceIntegrationSpecBackupDRSpecResponse.cs new file mode 100644 index 0000000000..efef9deda1 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/ServiceIntegrationSpecBackupDRSpecResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + /// + /// Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. + /// + [OutputType] + public sealed class ServiceIntegrationSpecBackupDRSpecResponse + { + /// + /// The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + /// + public readonly string Plan; + + [OutputConstructor] + private ServiceIntegrationSpecBackupDRSpecResponse(string plan) + { + Plan = plan; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/ServiceIntegrationSpecResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/ServiceIntegrationSpecResponse.cs new file mode 100644 index 0000000000..461ef1e631 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/ServiceIntegrationSpecResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + /// + /// Specifies the parameters to configure an integration with instances. + /// + [OutputType] + public sealed class ServiceIntegrationSpecResponse + { + public readonly Outputs.ServiceIntegrationSpecBackupDRSpecResponse BackupDr; + + [OutputConstructor] + private ServiceIntegrationSpecResponse(Outputs.ServiceIntegrationSpecBackupDRSpecResponse backupDr) + { + BackupDr = backupDr; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsFolderConfigResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsFolderConfigResponse.cs new file mode 100644 index 0000000000..74d81ccb52 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsFolderConfigResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + /// + /// Config for each folder in the share settings. + /// + [OutputType] + public sealed class ShareSettingsFolderConfigResponse + { + /// + /// The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + /// + public readonly string FolderId; + + [OutputConstructor] + private ShareSettingsFolderConfigResponse(string folderId) + { + FolderId = folderId; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsProjectConfigResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsProjectConfigResponse.cs new file mode 100644 index 0000000000..3a008e5d2a --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsProjectConfigResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + /// + /// Config for each project in the share settings. + /// + [OutputType] + public sealed class ShareSettingsProjectConfigResponse + { + /// + /// The project ID, should be same as the key of this project config in the parent map. + /// + public readonly string Project; + + [OutputConstructor] + private ShareSettingsProjectConfigResponse(string project) + { + Project = project; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsResponse.cs index 78c9a703d8..b185a4fff8 100644 --- a/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsResponse.cs +++ b/sdk/dotnet/Compute/Alpha/Outputs/ShareSettingsResponse.cs @@ -19,11 +19,11 @@ public sealed class ShareSettingsResponse /// /// A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. /// - public readonly ImmutableDictionary FolderMap; + public readonly ImmutableDictionary FolderMap; /// /// A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. /// - public readonly ImmutableDictionary ProjectMap; + public readonly ImmutableDictionary ProjectMap; /// /// A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. /// @@ -35,9 +35,9 @@ public sealed class ShareSettingsResponse [OutputConstructor] private ShareSettingsResponse( - ImmutableDictionary folderMap, + ImmutableDictionary folderMap, - ImmutableDictionary projectMap, + ImmutableDictionary projectMap, ImmutableArray projects, diff --git a/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateDiskDeviceResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateDiskDeviceResponse.cs new file mode 100644 index 0000000000..cef67fedd3 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateDiskDeviceResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + [OutputType] + public sealed class StatefulPolicyPreservedStateDiskDeviceResponse + { + /// + /// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + /// + public readonly string AutoDelete; + + [OutputConstructor] + private StatefulPolicyPreservedStateDiskDeviceResponse(string autoDelete) + { + AutoDelete = autoDelete; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateNetworkIpResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateNetworkIpResponse.cs new file mode 100644 index 0000000000..f549ba740c --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateNetworkIpResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + [OutputType] + public sealed class StatefulPolicyPreservedStateNetworkIpResponse + { + /// + /// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + /// + public readonly string AutoDelete; + + [OutputConstructor] + private StatefulPolicyPreservedStateNetworkIpResponse(string autoDelete) + { + AutoDelete = autoDelete; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateResponse.cs index b07e627ab4..19ccb27a05 100644 --- a/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateResponse.cs +++ b/sdk/dotnet/Compute/Alpha/Outputs/StatefulPolicyPreservedStateResponse.cs @@ -19,23 +19,23 @@ public sealed class StatefulPolicyPreservedStateResponse /// /// Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. /// - public readonly ImmutableDictionary Disks; + public readonly ImmutableDictionary Disks; /// /// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public readonly ImmutableDictionary ExternalIPs; + public readonly ImmutableDictionary ExternalIPs; /// /// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public readonly ImmutableDictionary InternalIPs; + public readonly ImmutableDictionary InternalIPs; [OutputConstructor] private StatefulPolicyPreservedStateResponse( - ImmutableDictionary disks, + ImmutableDictionary disks, - ImmutableDictionary externalIPs, + ImmutableDictionary externalIPs, - ImmutableDictionary internalIPs) + ImmutableDictionary internalIPs) { Disks = disks; ExternalIPs = externalIPs; diff --git a/sdk/dotnet/Compute/Alpha/Outputs/StructuredEntriesResponse.cs b/sdk/dotnet/Compute/Alpha/Outputs/StructuredEntriesResponse.cs new file mode 100644 index 0000000000..7082f6e162 --- /dev/null +++ b/sdk/dotnet/Compute/Alpha/Outputs/StructuredEntriesResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Alpha.Outputs +{ + + [OutputType] + public sealed class StructuredEntriesResponse + { + /// + /// Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + /// + public readonly ImmutableDictionary Entries; + + [OutputConstructor] + private StructuredEntriesResponse(ImmutableDictionary entries) + { + Entries = entries; + } + } +} diff --git a/sdk/dotnet/Compute/Alpha/RegionAutoscaler.cs b/sdk/dotnet/Compute/Alpha/RegionAutoscaler.cs index 9a2c9d95ad..051f420bf2 100644 --- a/sdk/dotnet/Compute/Alpha/RegionAutoscaler.cs +++ b/sdk/dotnet/Compute/Alpha/RegionAutoscaler.cs @@ -67,7 +67,7 @@ public partial class RegionAutoscaler : global::Pulumi.CustomResource /// Status information of existing scaling schedules. /// [Output("scalingScheduleStatus")] - public Output> ScalingScheduleStatus { get; private set; } = null!; + public Output> ScalingScheduleStatus { get; private set; } = null!; /// /// Server-defined URL for the resource. diff --git a/sdk/dotnet/Compute/Alpha/RegionDisk.cs b/sdk/dotnet/Compute/Alpha/RegionDisk.cs index f0f1453b65..324f5a443a 100644 --- a/sdk/dotnet/Compute/Alpha/RegionDisk.cs +++ b/sdk/dotnet/Compute/Alpha/RegionDisk.cs @@ -37,7 +37,7 @@ public partial class RegionDisk : global::Pulumi.CustomResource /// A list of disks this disk is asynchronously replicated to. /// [Output("asyncSecondaryDisks")] - public Output> AsyncSecondaryDisks { get; private set; } = null!; + public Output> AsyncSecondaryDisks { get; private set; } = null!; /// /// Creation timestamp in RFC3339 text format. diff --git a/sdk/dotnet/Compute/Beta/Autoscaler.cs b/sdk/dotnet/Compute/Beta/Autoscaler.cs index 09f1222af8..7bc717dfec 100644 --- a/sdk/dotnet/Compute/Beta/Autoscaler.cs +++ b/sdk/dotnet/Compute/Beta/Autoscaler.cs @@ -70,7 +70,7 @@ public partial class Autoscaler : global::Pulumi.CustomResource /// Status information of existing scaling schedules. /// [Output("scalingScheduleStatus")] - public Output> ScalingScheduleStatus { get; private set; } = null!; + public Output> ScalingScheduleStatus { get; private set; } = null!; /// /// Server-defined URL for the resource. diff --git a/sdk/dotnet/Compute/Beta/Disk.cs b/sdk/dotnet/Compute/Beta/Disk.cs index 78eda1b8aa..8353333f77 100644 --- a/sdk/dotnet/Compute/Beta/Disk.cs +++ b/sdk/dotnet/Compute/Beta/Disk.cs @@ -31,7 +31,7 @@ public partial class Disk : global::Pulumi.CustomResource /// A list of disks this disk is asynchronously replicated to. /// [Output("asyncSecondaryDisks")] - public Output> AsyncSecondaryDisks { get; private set; } = null!; + public Output> AsyncSecondaryDisks { get; private set; } = null!; /// /// Creation timestamp in RFC3339 text format. diff --git a/sdk/dotnet/Compute/Beta/Enums.cs b/sdk/dotnet/Compute/Beta/Enums.cs index 2c94fea309..b76faabb15 100644 --- a/sdk/dotnet/Compute/Beta/Enums.cs +++ b/sdk/dotnet/Compute/Beta/Enums.cs @@ -7791,6 +7791,68 @@ private SslPolicyProfile(string value) public override string ToString() => _value; } + /// + /// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + /// + [EnumType] + public readonly struct StatefulPolicyPreservedStateDiskDeviceAutoDelete : IEquatable + { + private readonly string _value; + + private StatefulPolicyPreservedStateDiskDeviceAutoDelete(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StatefulPolicyPreservedStateDiskDeviceAutoDelete Never { get; } = new StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER"); + public static StatefulPolicyPreservedStateDiskDeviceAutoDelete OnPermanentInstanceDeletion { get; } = new StatefulPolicyPreservedStateDiskDeviceAutoDelete("ON_PERMANENT_INSTANCE_DELETION"); + + public static bool operator ==(StatefulPolicyPreservedStateDiskDeviceAutoDelete left, StatefulPolicyPreservedStateDiskDeviceAutoDelete right) => left.Equals(right); + public static bool operator !=(StatefulPolicyPreservedStateDiskDeviceAutoDelete left, StatefulPolicyPreservedStateDiskDeviceAutoDelete right) => !left.Equals(right); + + public static explicit operator string(StatefulPolicyPreservedStateDiskDeviceAutoDelete value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StatefulPolicyPreservedStateDiskDeviceAutoDelete other && Equals(other); + public bool Equals(StatefulPolicyPreservedStateDiskDeviceAutoDelete other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + /// + [EnumType] + public readonly struct StatefulPolicyPreservedStateNetworkIpAutoDelete : IEquatable + { + private readonly string _value; + + private StatefulPolicyPreservedStateNetworkIpAutoDelete(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StatefulPolicyPreservedStateNetworkIpAutoDelete Never { get; } = new StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER"); + public static StatefulPolicyPreservedStateNetworkIpAutoDelete OnPermanentInstanceDeletion { get; } = new StatefulPolicyPreservedStateNetworkIpAutoDelete("ON_PERMANENT_INSTANCE_DELETION"); + + public static bool operator ==(StatefulPolicyPreservedStateNetworkIpAutoDelete left, StatefulPolicyPreservedStateNetworkIpAutoDelete right) => left.Equals(right); + public static bool operator !=(StatefulPolicyPreservedStateNetworkIpAutoDelete left, StatefulPolicyPreservedStateNetworkIpAutoDelete right) => !left.Equals(right); + + public static explicit operator string(StatefulPolicyPreservedStateNetworkIpAutoDelete value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StatefulPolicyPreservedStateNetworkIpAutoDelete other && Equals(other); + public bool Equals(StatefulPolicyPreservedStateNetworkIpAutoDelete other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. /// diff --git a/sdk/dotnet/Compute/Beta/GetAutoscaler.cs b/sdk/dotnet/Compute/Beta/GetAutoscaler.cs index cd5e672f22..2f5a9bd9cb 100644 --- a/sdk/dotnet/Compute/Beta/GetAutoscaler.cs +++ b/sdk/dotnet/Compute/Beta/GetAutoscaler.cs @@ -94,7 +94,7 @@ public sealed class GetAutoscalerResult /// /// Status information of existing scaling schedules. /// - public readonly ImmutableDictionary ScalingScheduleStatus; + public readonly ImmutableDictionary ScalingScheduleStatus; /// /// Server-defined URL for the resource. /// @@ -132,7 +132,7 @@ private GetAutoscalerResult( string region, - ImmutableDictionary scalingScheduleStatus, + ImmutableDictionary scalingScheduleStatus, string selfLink, diff --git a/sdk/dotnet/Compute/Beta/GetDisk.cs b/sdk/dotnet/Compute/Beta/GetDisk.cs index ebe5c1d405..8029f0b1f4 100644 --- a/sdk/dotnet/Compute/Beta/GetDisk.cs +++ b/sdk/dotnet/Compute/Beta/GetDisk.cs @@ -74,7 +74,7 @@ public sealed class GetDiskResult /// /// A list of disks this disk is asynchronously replicated to. /// - public readonly ImmutableDictionary AsyncSecondaryDisks; + public readonly ImmutableDictionary AsyncSecondaryDisks; /// /// Creation timestamp in RFC3339 text format. /// @@ -278,7 +278,7 @@ private GetDiskResult( Outputs.DiskAsyncReplicationResponse asyncPrimaryDisk, - ImmutableDictionary asyncSecondaryDisks, + ImmutableDictionary asyncSecondaryDisks, string creationTimestamp, diff --git a/sdk/dotnet/Compute/Beta/GetRegionAutoscaler.cs b/sdk/dotnet/Compute/Beta/GetRegionAutoscaler.cs index 38b640d787..b559c41b35 100644 --- a/sdk/dotnet/Compute/Beta/GetRegionAutoscaler.cs +++ b/sdk/dotnet/Compute/Beta/GetRegionAutoscaler.cs @@ -94,7 +94,7 @@ public sealed class GetRegionAutoscalerResult /// /// Status information of existing scaling schedules. /// - public readonly ImmutableDictionary ScalingScheduleStatus; + public readonly ImmutableDictionary ScalingScheduleStatus; /// /// Server-defined URL for the resource. /// @@ -132,7 +132,7 @@ private GetRegionAutoscalerResult( string region, - ImmutableDictionary scalingScheduleStatus, + ImmutableDictionary scalingScheduleStatus, string selfLink, diff --git a/sdk/dotnet/Compute/Beta/GetRegionDisk.cs b/sdk/dotnet/Compute/Beta/GetRegionDisk.cs index 4ebbe7e5ae..98d33aa20a 100644 --- a/sdk/dotnet/Compute/Beta/GetRegionDisk.cs +++ b/sdk/dotnet/Compute/Beta/GetRegionDisk.cs @@ -74,7 +74,7 @@ public sealed class GetRegionDiskResult /// /// A list of disks this disk is asynchronously replicated to. /// - public readonly ImmutableDictionary AsyncSecondaryDisks; + public readonly ImmutableDictionary AsyncSecondaryDisks; /// /// Creation timestamp in RFC3339 text format. /// @@ -278,7 +278,7 @@ private GetRegionDiskResult( Outputs.DiskAsyncReplicationResponse asyncPrimaryDisk, - ImmutableDictionary asyncSecondaryDisks, + ImmutableDictionary asyncSecondaryDisks, string creationTimestamp, diff --git a/sdk/dotnet/Compute/Beta/Inputs/AutoscalingPolicyArgs.cs b/sdk/dotnet/Compute/Beta/Inputs/AutoscalingPolicyArgs.cs index 000c4d6068..92ef9aa3f5 100644 --- a/sdk/dotnet/Compute/Beta/Inputs/AutoscalingPolicyArgs.cs +++ b/sdk/dotnet/Compute/Beta/Inputs/AutoscalingPolicyArgs.cs @@ -70,14 +70,14 @@ public InputList CustomMetr public Input? ScaleInControl { get; set; } [Input("scalingSchedules")] - private InputMap? _scalingSchedules; + private InputMap? _scalingSchedules; /// /// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. /// - public InputMap ScalingSchedules + public InputMap ScalingSchedules { - get => _scalingSchedules ?? (_scalingSchedules = new InputMap()); + get => _scalingSchedules ?? (_scalingSchedules = new InputMap()); set => _scalingSchedules = value; } diff --git a/sdk/dotnet/Compute/Beta/Inputs/AutoscalingPolicyScalingScheduleArgs.cs b/sdk/dotnet/Compute/Beta/Inputs/AutoscalingPolicyScalingScheduleArgs.cs new file mode 100644 index 0000000000..010866c2fc --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Inputs/AutoscalingPolicyScalingScheduleArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Inputs +{ + + /// + /// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + /// + public sealed class AutoscalingPolicyScalingScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of a scaling schedule. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + /// + [Input("durationSec")] + public Input? DurationSec { get; set; } + + /// + /// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + /// + [Input("minRequiredReplicas")] + public Input? MinRequiredReplicas { get; set; } + + /// + /// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + /// + [Input("schedule")] + public Input? Schedule { get; set; } + + /// + /// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + /// + [Input("timeZone")] + public Input? TimeZone { get; set; } + + public AutoscalingPolicyScalingScheduleArgs() + { + } + public static new AutoscalingPolicyScalingScheduleArgs Empty => new AutoscalingPolicyScalingScheduleArgs(); + } +} diff --git a/sdk/dotnet/Compute/Beta/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyArgs.cs b/sdk/dotnet/Compute/Beta/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyArgs.cs index b28a434c0e..aeb4c939f3 100644 --- a/sdk/dotnet/Compute/Beta/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyArgs.cs +++ b/sdk/dotnet/Compute/Beta/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyArgs.cs @@ -13,14 +13,14 @@ namespace Pulumi.GoogleNative.Compute.Beta.Inputs public sealed class InstanceGroupManagerInstanceFlexibilityPolicyArgs : global::Pulumi.ResourceArgs { [Input("instanceSelectionLists")] - private InputMap? _instanceSelectionLists; + private InputMap? _instanceSelectionLists; /// /// Named instance selections configuring properties that the group will use when creating new VMs. /// - public InputMap InstanceSelectionLists + public InputMap InstanceSelectionLists { - get => _instanceSelectionLists ?? (_instanceSelectionLists = new InputMap()); + get => _instanceSelectionLists ?? (_instanceSelectionLists = new InputMap()); set => _instanceSelectionLists = value; } diff --git a/sdk/dotnet/Compute/Beta/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs.cs b/sdk/dotnet/Compute/Beta/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs.cs new file mode 100644 index 0000000000..8a39b1057c --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Inputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Inputs +{ + + public sealed class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs : global::Pulumi.ResourceArgs + { + [Input("machineTypes")] + private InputList? _machineTypes; + + /// + /// Full machine-type names, e.g. "n1-standard-16". + /// + public InputList MachineTypes + { + get => _machineTypes ?? (_machineTypes = new InputList()); + set => _machineTypes = value; + } + + /// + /// Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + /// + [Input("rank")] + public Input? Rank { get; set; } + + public InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs() + { + } + public static new InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs Empty => new InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs(); + } +} diff --git a/sdk/dotnet/Compute/Beta/Inputs/ShareSettingsArgs.cs b/sdk/dotnet/Compute/Beta/Inputs/ShareSettingsArgs.cs index b52452ae18..c3fc3f6bdf 100644 --- a/sdk/dotnet/Compute/Beta/Inputs/ShareSettingsArgs.cs +++ b/sdk/dotnet/Compute/Beta/Inputs/ShareSettingsArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Compute.Beta.Inputs public sealed class ShareSettingsArgs : global::Pulumi.ResourceArgs { [Input("projectMap")] - private InputMap? _projectMap; + private InputMap? _projectMap; /// /// A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. /// - public InputMap ProjectMap + public InputMap ProjectMap { - get => _projectMap ?? (_projectMap = new InputMap()); + get => _projectMap ?? (_projectMap = new InputMap()); set => _projectMap = value; } diff --git a/sdk/dotnet/Compute/Beta/Inputs/ShareSettingsProjectConfigArgs.cs b/sdk/dotnet/Compute/Beta/Inputs/ShareSettingsProjectConfigArgs.cs new file mode 100644 index 0000000000..1a68ec6539 --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Inputs/ShareSettingsProjectConfigArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Inputs +{ + + /// + /// Config for each project in the share settings. + /// + public sealed class ShareSettingsProjectConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The project ID, should be same as the key of this project config in the parent map. + /// + [Input("project")] + public Input? Project { get; set; } + + public ShareSettingsProjectConfigArgs() + { + } + public static new ShareSettingsProjectConfigArgs Empty => new ShareSettingsProjectConfigArgs(); + } +} diff --git a/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateArgs.cs b/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateArgs.cs index 6f6fdc8b0a..04aae8a6cf 100644 --- a/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateArgs.cs +++ b/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateArgs.cs @@ -16,38 +16,38 @@ namespace Pulumi.GoogleNative.Compute.Beta.Inputs public sealed class StatefulPolicyPreservedStateArgs : global::Pulumi.ResourceArgs { [Input("disks")] - private InputMap? _disks; + private InputMap? _disks; /// /// Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. /// - public InputMap Disks + public InputMap Disks { - get => _disks ?? (_disks = new InputMap()); + get => _disks ?? (_disks = new InputMap()); set => _disks = value; } [Input("externalIPs")] - private InputMap? _externalIPs; + private InputMap? _externalIPs; /// /// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public InputMap ExternalIPs + public InputMap ExternalIPs { - get => _externalIPs ?? (_externalIPs = new InputMap()); + get => _externalIPs ?? (_externalIPs = new InputMap()); set => _externalIPs = value; } [Input("internalIPs")] - private InputMap? _internalIPs; + private InputMap? _internalIPs; /// /// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public InputMap InternalIPs + public InputMap InternalIPs { - get => _internalIPs ?? (_internalIPs = new InputMap()); + get => _internalIPs ?? (_internalIPs = new InputMap()); set => _internalIPs = value; } diff --git a/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateDiskDeviceArgs.cs b/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateDiskDeviceArgs.cs new file mode 100644 index 0000000000..29d2d8a852 --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateDiskDeviceArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Inputs +{ + + public sealed class StatefulPolicyPreservedStateDiskDeviceArgs : global::Pulumi.ResourceArgs + { + /// + /// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + /// + [Input("autoDelete")] + public Input? AutoDelete { get; set; } + + public StatefulPolicyPreservedStateDiskDeviceArgs() + { + } + public static new StatefulPolicyPreservedStateDiskDeviceArgs Empty => new StatefulPolicyPreservedStateDiskDeviceArgs(); + } +} diff --git a/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateNetworkIpArgs.cs b/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateNetworkIpArgs.cs new file mode 100644 index 0000000000..1a45ce78e1 --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Inputs/StatefulPolicyPreservedStateNetworkIpArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Inputs +{ + + public sealed class StatefulPolicyPreservedStateNetworkIpArgs : global::Pulumi.ResourceArgs + { + /// + /// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + /// + [Input("autoDelete")] + public Input? AutoDelete { get; set; } + + public StatefulPolicyPreservedStateNetworkIpArgs() + { + } + public static new StatefulPolicyPreservedStateNetworkIpArgs Empty => new StatefulPolicyPreservedStateNetworkIpArgs(); + } +} diff --git a/sdk/dotnet/Compute/Beta/Outputs/AutoscalingPolicyResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/AutoscalingPolicyResponse.cs index 00acb26c00..8dc1a1d383 100644 --- a/sdk/dotnet/Compute/Beta/Outputs/AutoscalingPolicyResponse.cs +++ b/sdk/dotnet/Compute/Beta/Outputs/AutoscalingPolicyResponse.cs @@ -49,7 +49,7 @@ public sealed class AutoscalingPolicyResponse /// /// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. /// - public readonly ImmutableDictionary ScalingSchedules; + public readonly ImmutableDictionary ScalingSchedules; [OutputConstructor] private AutoscalingPolicyResponse( @@ -71,7 +71,7 @@ private AutoscalingPolicyResponse( Outputs.AutoscalingPolicyScaleInControlResponse scaleInControl, - ImmutableDictionary scalingSchedules) + ImmutableDictionary scalingSchedules) { CoolDownPeriodSec = coolDownPeriodSec; CpuUtilization = cpuUtilization; diff --git a/sdk/dotnet/Compute/Beta/Outputs/AutoscalingPolicyScalingScheduleResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/AutoscalingPolicyScalingScheduleResponse.cs new file mode 100644 index 0000000000..ce029bdf2f --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Outputs/AutoscalingPolicyScalingScheduleResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Outputs +{ + + /// + /// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + /// + [OutputType] + public sealed class AutoscalingPolicyScalingScheduleResponse + { + /// + /// A description of a scaling schedule. + /// + public readonly string Description; + /// + /// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + /// + public readonly bool Disabled; + /// + /// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + /// + public readonly int DurationSec; + /// + /// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + /// + public readonly int MinRequiredReplicas; + /// + /// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + /// + public readonly string Schedule; + /// + /// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + /// + public readonly string TimeZone; + + [OutputConstructor] + private AutoscalingPolicyScalingScheduleResponse( + string description, + + bool disabled, + + int durationSec, + + int minRequiredReplicas, + + string schedule, + + string timeZone) + { + Description = description; + Disabled = disabled; + DurationSec = durationSec; + MinRequiredReplicas = minRequiredReplicas; + Schedule = schedule; + TimeZone = timeZone; + } + } +} diff --git a/sdk/dotnet/Compute/Beta/Outputs/DiskAsyncReplicationListResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/DiskAsyncReplicationListResponse.cs new file mode 100644 index 0000000000..20c6ae694f --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Outputs/DiskAsyncReplicationListResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Outputs +{ + + [OutputType] + public sealed class DiskAsyncReplicationListResponse + { + public readonly Outputs.DiskAsyncReplicationResponse AsyncReplicationDisk; + + [OutputConstructor] + private DiskAsyncReplicationListResponse(Outputs.DiskAsyncReplicationResponse asyncReplicationDisk) + { + AsyncReplicationDisk = asyncReplicationDisk; + } + } +} diff --git a/sdk/dotnet/Compute/Beta/Outputs/DiskResourceStatusResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/DiskResourceStatusResponse.cs index ad555593a8..964a96aab8 100644 --- a/sdk/dotnet/Compute/Beta/Outputs/DiskResourceStatusResponse.cs +++ b/sdk/dotnet/Compute/Beta/Outputs/DiskResourceStatusResponse.cs @@ -17,13 +17,13 @@ public sealed class DiskResourceStatusResponse /// /// Key: disk, value: AsyncReplicationStatus message /// - public readonly ImmutableDictionary AsyncSecondaryDisks; + public readonly ImmutableDictionary AsyncSecondaryDisks; [OutputConstructor] private DiskResourceStatusResponse( Outputs.DiskResourceStatusAsyncReplicationStatusResponse asyncPrimaryDisk, - ImmutableDictionary asyncSecondaryDisks) + ImmutableDictionary asyncSecondaryDisks) { AsyncPrimaryDisk = asyncPrimaryDisk; AsyncSecondaryDisks = asyncSecondaryDisks; diff --git a/sdk/dotnet/Compute/Beta/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.cs new file mode 100644 index 0000000000..1c1ea4b603 --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Outputs +{ + + [OutputType] + public sealed class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse + { + /// + /// Full machine-type names, e.g. "n1-standard-16". + /// + public readonly ImmutableArray MachineTypes; + /// + /// Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + /// + public readonly int Rank; + + [OutputConstructor] + private InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse( + ImmutableArray machineTypes, + + int rank) + { + MachineTypes = machineTypes; + Rank = rank; + } + } +} diff --git a/sdk/dotnet/Compute/Beta/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyResponse.cs index 8900b6b6e3..15dfb21f34 100644 --- a/sdk/dotnet/Compute/Beta/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyResponse.cs +++ b/sdk/dotnet/Compute/Beta/Outputs/InstanceGroupManagerInstanceFlexibilityPolicyResponse.cs @@ -16,10 +16,10 @@ public sealed class InstanceGroupManagerInstanceFlexibilityPolicyResponse /// /// Named instance selections configuring properties that the group will use when creating new VMs. /// - public readonly ImmutableDictionary InstanceSelectionLists; + public readonly ImmutableDictionary InstanceSelectionLists; [OutputConstructor] - private InstanceGroupManagerInstanceFlexibilityPolicyResponse(ImmutableDictionary instanceSelectionLists) + private InstanceGroupManagerInstanceFlexibilityPolicyResponse(ImmutableDictionary instanceSelectionLists) { InstanceSelectionLists = instanceSelectionLists; } diff --git a/sdk/dotnet/Compute/Beta/Outputs/ScalingScheduleStatusResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/ScalingScheduleStatusResponse.cs new file mode 100644 index 0000000000..cc4a768f2c --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Outputs/ScalingScheduleStatusResponse.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Outputs +{ + + [OutputType] + public sealed class ScalingScheduleStatusResponse + { + /// + /// The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + /// + public readonly string LastStartTime; + /// + /// The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + /// + public readonly string NextStartTime; + /// + /// The current state of a scaling schedule. + /// + public readonly string State; + + [OutputConstructor] + private ScalingScheduleStatusResponse( + string lastStartTime, + + string nextStartTime, + + string state) + { + LastStartTime = lastStartTime; + NextStartTime = nextStartTime; + State = state; + } + } +} diff --git a/sdk/dotnet/Compute/Beta/Outputs/ShareSettingsProjectConfigResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/ShareSettingsProjectConfigResponse.cs new file mode 100644 index 0000000000..9e3098294c --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Outputs/ShareSettingsProjectConfigResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Outputs +{ + + /// + /// Config for each project in the share settings. + /// + [OutputType] + public sealed class ShareSettingsProjectConfigResponse + { + /// + /// The project ID, should be same as the key of this project config in the parent map. + /// + public readonly string Project; + + [OutputConstructor] + private ShareSettingsProjectConfigResponse(string project) + { + Project = project; + } + } +} diff --git a/sdk/dotnet/Compute/Beta/Outputs/ShareSettingsResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/ShareSettingsResponse.cs index 996b8a9b22..163f2363c3 100644 --- a/sdk/dotnet/Compute/Beta/Outputs/ShareSettingsResponse.cs +++ b/sdk/dotnet/Compute/Beta/Outputs/ShareSettingsResponse.cs @@ -19,7 +19,7 @@ public sealed class ShareSettingsResponse /// /// A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. /// - public readonly ImmutableDictionary ProjectMap; + public readonly ImmutableDictionary ProjectMap; /// /// A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. /// @@ -31,7 +31,7 @@ public sealed class ShareSettingsResponse [OutputConstructor] private ShareSettingsResponse( - ImmutableDictionary projectMap, + ImmutableDictionary projectMap, ImmutableArray projects, diff --git a/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateDiskDeviceResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateDiskDeviceResponse.cs new file mode 100644 index 0000000000..803260c4fc --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateDiskDeviceResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Outputs +{ + + [OutputType] + public sealed class StatefulPolicyPreservedStateDiskDeviceResponse + { + /// + /// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + /// + public readonly string AutoDelete; + + [OutputConstructor] + private StatefulPolicyPreservedStateDiskDeviceResponse(string autoDelete) + { + AutoDelete = autoDelete; + } + } +} diff --git a/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateNetworkIpResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateNetworkIpResponse.cs new file mode 100644 index 0000000000..99112ff1d5 --- /dev/null +++ b/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateNetworkIpResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.Beta.Outputs +{ + + [OutputType] + public sealed class StatefulPolicyPreservedStateNetworkIpResponse + { + /// + /// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + /// + public readonly string AutoDelete; + + [OutputConstructor] + private StatefulPolicyPreservedStateNetworkIpResponse(string autoDelete) + { + AutoDelete = autoDelete; + } + } +} diff --git a/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateResponse.cs b/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateResponse.cs index 8ef5545f92..884c1b5ff9 100644 --- a/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateResponse.cs +++ b/sdk/dotnet/Compute/Beta/Outputs/StatefulPolicyPreservedStateResponse.cs @@ -19,23 +19,23 @@ public sealed class StatefulPolicyPreservedStateResponse /// /// Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. /// - public readonly ImmutableDictionary Disks; + public readonly ImmutableDictionary Disks; /// /// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public readonly ImmutableDictionary ExternalIPs; + public readonly ImmutableDictionary ExternalIPs; /// /// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public readonly ImmutableDictionary InternalIPs; + public readonly ImmutableDictionary InternalIPs; [OutputConstructor] private StatefulPolicyPreservedStateResponse( - ImmutableDictionary disks, + ImmutableDictionary disks, - ImmutableDictionary externalIPs, + ImmutableDictionary externalIPs, - ImmutableDictionary internalIPs) + ImmutableDictionary internalIPs) { Disks = disks; ExternalIPs = externalIPs; diff --git a/sdk/dotnet/Compute/Beta/RegionAutoscaler.cs b/sdk/dotnet/Compute/Beta/RegionAutoscaler.cs index 5538dad8e1..c4bbf41f25 100644 --- a/sdk/dotnet/Compute/Beta/RegionAutoscaler.cs +++ b/sdk/dotnet/Compute/Beta/RegionAutoscaler.cs @@ -67,7 +67,7 @@ public partial class RegionAutoscaler : global::Pulumi.CustomResource /// Status information of existing scaling schedules. /// [Output("scalingScheduleStatus")] - public Output> ScalingScheduleStatus { get; private set; } = null!; + public Output> ScalingScheduleStatus { get; private set; } = null!; /// /// Server-defined URL for the resource. diff --git a/sdk/dotnet/Compute/Beta/RegionDisk.cs b/sdk/dotnet/Compute/Beta/RegionDisk.cs index a22ed804a2..9b64e6192a 100644 --- a/sdk/dotnet/Compute/Beta/RegionDisk.cs +++ b/sdk/dotnet/Compute/Beta/RegionDisk.cs @@ -31,7 +31,7 @@ public partial class RegionDisk : global::Pulumi.CustomResource /// A list of disks this disk is asynchronously replicated to. /// [Output("asyncSecondaryDisks")] - public Output> AsyncSecondaryDisks { get; private set; } = null!; + public Output> AsyncSecondaryDisks { get; private set; } = null!; /// /// Creation timestamp in RFC3339 text format. diff --git a/sdk/dotnet/Compute/V1/Autoscaler.cs b/sdk/dotnet/Compute/V1/Autoscaler.cs index fa32c08b1b..60241a0c99 100644 --- a/sdk/dotnet/Compute/V1/Autoscaler.cs +++ b/sdk/dotnet/Compute/V1/Autoscaler.cs @@ -70,7 +70,7 @@ public partial class Autoscaler : global::Pulumi.CustomResource /// Status information of existing scaling schedules. /// [Output("scalingScheduleStatus")] - public Output> ScalingScheduleStatus { get; private set; } = null!; + public Output> ScalingScheduleStatus { get; private set; } = null!; /// /// Server-defined URL for the resource. diff --git a/sdk/dotnet/Compute/V1/Disk.cs b/sdk/dotnet/Compute/V1/Disk.cs index 6c4308bbe2..180def4fa8 100644 --- a/sdk/dotnet/Compute/V1/Disk.cs +++ b/sdk/dotnet/Compute/V1/Disk.cs @@ -31,7 +31,7 @@ public partial class Disk : global::Pulumi.CustomResource /// A list of disks this disk is asynchronously replicated to. /// [Output("asyncSecondaryDisks")] - public Output> AsyncSecondaryDisks { get; private set; } = null!; + public Output> AsyncSecondaryDisks { get; private set; } = null!; /// /// Creation timestamp in RFC3339 text format. diff --git a/sdk/dotnet/Compute/V1/Enums.cs b/sdk/dotnet/Compute/V1/Enums.cs index b2ddf66028..2192e7757f 100644 --- a/sdk/dotnet/Compute/V1/Enums.cs +++ b/sdk/dotnet/Compute/V1/Enums.cs @@ -6821,6 +6821,68 @@ private SslPolicyProfile(string value) public override string ToString() => _value; } + /// + /// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + /// + [EnumType] + public readonly struct StatefulPolicyPreservedStateDiskDeviceAutoDelete : IEquatable + { + private readonly string _value; + + private StatefulPolicyPreservedStateDiskDeviceAutoDelete(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StatefulPolicyPreservedStateDiskDeviceAutoDelete Never { get; } = new StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER"); + public static StatefulPolicyPreservedStateDiskDeviceAutoDelete OnPermanentInstanceDeletion { get; } = new StatefulPolicyPreservedStateDiskDeviceAutoDelete("ON_PERMANENT_INSTANCE_DELETION"); + + public static bool operator ==(StatefulPolicyPreservedStateDiskDeviceAutoDelete left, StatefulPolicyPreservedStateDiskDeviceAutoDelete right) => left.Equals(right); + public static bool operator !=(StatefulPolicyPreservedStateDiskDeviceAutoDelete left, StatefulPolicyPreservedStateDiskDeviceAutoDelete right) => !left.Equals(right); + + public static explicit operator string(StatefulPolicyPreservedStateDiskDeviceAutoDelete value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StatefulPolicyPreservedStateDiskDeviceAutoDelete other && Equals(other); + public bool Equals(StatefulPolicyPreservedStateDiskDeviceAutoDelete other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + /// + [EnumType] + public readonly struct StatefulPolicyPreservedStateNetworkIpAutoDelete : IEquatable + { + private readonly string _value; + + private StatefulPolicyPreservedStateNetworkIpAutoDelete(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StatefulPolicyPreservedStateNetworkIpAutoDelete Never { get; } = new StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER"); + public static StatefulPolicyPreservedStateNetworkIpAutoDelete OnPermanentInstanceDeletion { get; } = new StatefulPolicyPreservedStateNetworkIpAutoDelete("ON_PERMANENT_INSTANCE_DELETION"); + + public static bool operator ==(StatefulPolicyPreservedStateNetworkIpAutoDelete left, StatefulPolicyPreservedStateNetworkIpAutoDelete right) => left.Equals(right); + public static bool operator !=(StatefulPolicyPreservedStateNetworkIpAutoDelete left, StatefulPolicyPreservedStateNetworkIpAutoDelete right) => !left.Equals(right); + + public static explicit operator string(StatefulPolicyPreservedStateNetworkIpAutoDelete value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StatefulPolicyPreservedStateNetworkIpAutoDelete other && Equals(other); + public bool Equals(StatefulPolicyPreservedStateNetworkIpAutoDelete other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. /// diff --git a/sdk/dotnet/Compute/V1/GetAutoscaler.cs b/sdk/dotnet/Compute/V1/GetAutoscaler.cs index d9d4bfab05..0d8471082a 100644 --- a/sdk/dotnet/Compute/V1/GetAutoscaler.cs +++ b/sdk/dotnet/Compute/V1/GetAutoscaler.cs @@ -94,7 +94,7 @@ public sealed class GetAutoscalerResult /// /// Status information of existing scaling schedules. /// - public readonly ImmutableDictionary ScalingScheduleStatus; + public readonly ImmutableDictionary ScalingScheduleStatus; /// /// Server-defined URL for the resource. /// @@ -132,7 +132,7 @@ private GetAutoscalerResult( string region, - ImmutableDictionary scalingScheduleStatus, + ImmutableDictionary scalingScheduleStatus, string selfLink, diff --git a/sdk/dotnet/Compute/V1/GetDisk.cs b/sdk/dotnet/Compute/V1/GetDisk.cs index 4bcc9172fb..e8276badd4 100644 --- a/sdk/dotnet/Compute/V1/GetDisk.cs +++ b/sdk/dotnet/Compute/V1/GetDisk.cs @@ -74,7 +74,7 @@ public sealed class GetDiskResult /// /// A list of disks this disk is asynchronously replicated to. /// - public readonly ImmutableDictionary AsyncSecondaryDisks; + public readonly ImmutableDictionary AsyncSecondaryDisks; /// /// Creation timestamp in RFC3339 text format. /// @@ -242,7 +242,7 @@ private GetDiskResult( Outputs.DiskAsyncReplicationResponse asyncPrimaryDisk, - ImmutableDictionary asyncSecondaryDisks, + ImmutableDictionary asyncSecondaryDisks, string creationTimestamp, diff --git a/sdk/dotnet/Compute/V1/GetRegionAutoscaler.cs b/sdk/dotnet/Compute/V1/GetRegionAutoscaler.cs index 60c23c8ff0..f2fe56100e 100644 --- a/sdk/dotnet/Compute/V1/GetRegionAutoscaler.cs +++ b/sdk/dotnet/Compute/V1/GetRegionAutoscaler.cs @@ -94,7 +94,7 @@ public sealed class GetRegionAutoscalerResult /// /// Status information of existing scaling schedules. /// - public readonly ImmutableDictionary ScalingScheduleStatus; + public readonly ImmutableDictionary ScalingScheduleStatus; /// /// Server-defined URL for the resource. /// @@ -132,7 +132,7 @@ private GetRegionAutoscalerResult( string region, - ImmutableDictionary scalingScheduleStatus, + ImmutableDictionary scalingScheduleStatus, string selfLink, diff --git a/sdk/dotnet/Compute/V1/GetRegionDisk.cs b/sdk/dotnet/Compute/V1/GetRegionDisk.cs index 8319e0d23c..a1c4de5f1a 100644 --- a/sdk/dotnet/Compute/V1/GetRegionDisk.cs +++ b/sdk/dotnet/Compute/V1/GetRegionDisk.cs @@ -74,7 +74,7 @@ public sealed class GetRegionDiskResult /// /// A list of disks this disk is asynchronously replicated to. /// - public readonly ImmutableDictionary AsyncSecondaryDisks; + public readonly ImmutableDictionary AsyncSecondaryDisks; /// /// Creation timestamp in RFC3339 text format. /// @@ -242,7 +242,7 @@ private GetRegionDiskResult( Outputs.DiskAsyncReplicationResponse asyncPrimaryDisk, - ImmutableDictionary asyncSecondaryDisks, + ImmutableDictionary asyncSecondaryDisks, string creationTimestamp, diff --git a/sdk/dotnet/Compute/V1/Inputs/AutoscalingPolicyArgs.cs b/sdk/dotnet/Compute/V1/Inputs/AutoscalingPolicyArgs.cs index ea4dcf9af4..4102c12a82 100644 --- a/sdk/dotnet/Compute/V1/Inputs/AutoscalingPolicyArgs.cs +++ b/sdk/dotnet/Compute/V1/Inputs/AutoscalingPolicyArgs.cs @@ -67,14 +67,14 @@ public InputList CustomMetr public Input? ScaleInControl { get; set; } [Input("scalingSchedules")] - private InputMap? _scalingSchedules; + private InputMap? _scalingSchedules; /// /// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. /// - public InputMap ScalingSchedules + public InputMap ScalingSchedules { - get => _scalingSchedules ?? (_scalingSchedules = new InputMap()); + get => _scalingSchedules ?? (_scalingSchedules = new InputMap()); set => _scalingSchedules = value; } diff --git a/sdk/dotnet/Compute/V1/Inputs/AutoscalingPolicyScalingScheduleArgs.cs b/sdk/dotnet/Compute/V1/Inputs/AutoscalingPolicyScalingScheduleArgs.cs new file mode 100644 index 0000000000..8c2a02f628 --- /dev/null +++ b/sdk/dotnet/Compute/V1/Inputs/AutoscalingPolicyScalingScheduleArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Inputs +{ + + /// + /// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + /// + public sealed class AutoscalingPolicyScalingScheduleArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of a scaling schedule. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + /// + [Input("disabled")] + public Input? Disabled { get; set; } + + /// + /// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + /// + [Input("durationSec")] + public Input? DurationSec { get; set; } + + /// + /// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + /// + [Input("minRequiredReplicas")] + public Input? MinRequiredReplicas { get; set; } + + /// + /// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + /// + [Input("schedule")] + public Input? Schedule { get; set; } + + /// + /// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + /// + [Input("timeZone")] + public Input? TimeZone { get; set; } + + public AutoscalingPolicyScalingScheduleArgs() + { + } + public static new AutoscalingPolicyScalingScheduleArgs Empty => new AutoscalingPolicyScalingScheduleArgs(); + } +} diff --git a/sdk/dotnet/Compute/V1/Inputs/ShareSettingsArgs.cs b/sdk/dotnet/Compute/V1/Inputs/ShareSettingsArgs.cs index a5780729d4..4106aecfa1 100644 --- a/sdk/dotnet/Compute/V1/Inputs/ShareSettingsArgs.cs +++ b/sdk/dotnet/Compute/V1/Inputs/ShareSettingsArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Compute.V1.Inputs public sealed class ShareSettingsArgs : global::Pulumi.ResourceArgs { [Input("projectMap")] - private InputMap? _projectMap; + private InputMap? _projectMap; /// /// A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. /// - public InputMap ProjectMap + public InputMap ProjectMap { - get => _projectMap ?? (_projectMap = new InputMap()); + get => _projectMap ?? (_projectMap = new InputMap()); set => _projectMap = value; } diff --git a/sdk/dotnet/Compute/V1/Inputs/ShareSettingsProjectConfigArgs.cs b/sdk/dotnet/Compute/V1/Inputs/ShareSettingsProjectConfigArgs.cs new file mode 100644 index 0000000000..f5953a7974 --- /dev/null +++ b/sdk/dotnet/Compute/V1/Inputs/ShareSettingsProjectConfigArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Inputs +{ + + /// + /// Config for each project in the share settings. + /// + public sealed class ShareSettingsProjectConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The project ID, should be same as the key of this project config in the parent map. + /// + [Input("project")] + public Input? Project { get; set; } + + public ShareSettingsProjectConfigArgs() + { + } + public static new ShareSettingsProjectConfigArgs Empty => new ShareSettingsProjectConfigArgs(); + } +} diff --git a/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateArgs.cs b/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateArgs.cs index 93c05fb2d1..bb77687285 100644 --- a/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateArgs.cs +++ b/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateArgs.cs @@ -16,38 +16,38 @@ namespace Pulumi.GoogleNative.Compute.V1.Inputs public sealed class StatefulPolicyPreservedStateArgs : global::Pulumi.ResourceArgs { [Input("disks")] - private InputMap? _disks; + private InputMap? _disks; /// /// Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. /// - public InputMap Disks + public InputMap Disks { - get => _disks ?? (_disks = new InputMap()); + get => _disks ?? (_disks = new InputMap()); set => _disks = value; } [Input("externalIPs")] - private InputMap? _externalIPs; + private InputMap? _externalIPs; /// /// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public InputMap ExternalIPs + public InputMap ExternalIPs { - get => _externalIPs ?? (_externalIPs = new InputMap()); + get => _externalIPs ?? (_externalIPs = new InputMap()); set => _externalIPs = value; } [Input("internalIPs")] - private InputMap? _internalIPs; + private InputMap? _internalIPs; /// /// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public InputMap InternalIPs + public InputMap InternalIPs { - get => _internalIPs ?? (_internalIPs = new InputMap()); + get => _internalIPs ?? (_internalIPs = new InputMap()); set => _internalIPs = value; } diff --git a/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateDiskDeviceArgs.cs b/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateDiskDeviceArgs.cs new file mode 100644 index 0000000000..bc9c965d97 --- /dev/null +++ b/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateDiskDeviceArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Inputs +{ + + public sealed class StatefulPolicyPreservedStateDiskDeviceArgs : global::Pulumi.ResourceArgs + { + /// + /// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + /// + [Input("autoDelete")] + public Input? AutoDelete { get; set; } + + public StatefulPolicyPreservedStateDiskDeviceArgs() + { + } + public static new StatefulPolicyPreservedStateDiskDeviceArgs Empty => new StatefulPolicyPreservedStateDiskDeviceArgs(); + } +} diff --git a/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateNetworkIpArgs.cs b/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateNetworkIpArgs.cs new file mode 100644 index 0000000000..e1ef356d14 --- /dev/null +++ b/sdk/dotnet/Compute/V1/Inputs/StatefulPolicyPreservedStateNetworkIpArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Inputs +{ + + public sealed class StatefulPolicyPreservedStateNetworkIpArgs : global::Pulumi.ResourceArgs + { + /// + /// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + /// + [Input("autoDelete")] + public Input? AutoDelete { get; set; } + + public StatefulPolicyPreservedStateNetworkIpArgs() + { + } + public static new StatefulPolicyPreservedStateNetworkIpArgs Empty => new StatefulPolicyPreservedStateNetworkIpArgs(); + } +} diff --git a/sdk/dotnet/Compute/V1/Outputs/AutoscalingPolicyResponse.cs b/sdk/dotnet/Compute/V1/Outputs/AutoscalingPolicyResponse.cs index 5a7a5f45ce..31dd422a56 100644 --- a/sdk/dotnet/Compute/V1/Outputs/AutoscalingPolicyResponse.cs +++ b/sdk/dotnet/Compute/V1/Outputs/AutoscalingPolicyResponse.cs @@ -48,7 +48,7 @@ public sealed class AutoscalingPolicyResponse /// /// Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. /// - public readonly ImmutableDictionary ScalingSchedules; + public readonly ImmutableDictionary ScalingSchedules; [OutputConstructor] private AutoscalingPolicyResponse( @@ -68,7 +68,7 @@ private AutoscalingPolicyResponse( Outputs.AutoscalingPolicyScaleInControlResponse scaleInControl, - ImmutableDictionary scalingSchedules) + ImmutableDictionary scalingSchedules) { CoolDownPeriodSec = coolDownPeriodSec; CpuUtilization = cpuUtilization; diff --git a/sdk/dotnet/Compute/V1/Outputs/AutoscalingPolicyScalingScheduleResponse.cs b/sdk/dotnet/Compute/V1/Outputs/AutoscalingPolicyScalingScheduleResponse.cs new file mode 100644 index 0000000000..79b7eaab6e --- /dev/null +++ b/sdk/dotnet/Compute/V1/Outputs/AutoscalingPolicyScalingScheduleResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Outputs +{ + + /// + /// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + /// + [OutputType] + public sealed class AutoscalingPolicyScalingScheduleResponse + { + /// + /// A description of a scaling schedule. + /// + public readonly string Description; + /// + /// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + /// + public readonly bool Disabled; + /// + /// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + /// + public readonly int DurationSec; + /// + /// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + /// + public readonly int MinRequiredReplicas; + /// + /// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + /// + public readonly string Schedule; + /// + /// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + /// + public readonly string TimeZone; + + [OutputConstructor] + private AutoscalingPolicyScalingScheduleResponse( + string description, + + bool disabled, + + int durationSec, + + int minRequiredReplicas, + + string schedule, + + string timeZone) + { + Description = description; + Disabled = disabled; + DurationSec = durationSec; + MinRequiredReplicas = minRequiredReplicas; + Schedule = schedule; + TimeZone = timeZone; + } + } +} diff --git a/sdk/dotnet/Compute/V1/Outputs/DiskAsyncReplicationListResponse.cs b/sdk/dotnet/Compute/V1/Outputs/DiskAsyncReplicationListResponse.cs new file mode 100644 index 0000000000..65b94b3c1e --- /dev/null +++ b/sdk/dotnet/Compute/V1/Outputs/DiskAsyncReplicationListResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Outputs +{ + + [OutputType] + public sealed class DiskAsyncReplicationListResponse + { + public readonly Outputs.DiskAsyncReplicationResponse AsyncReplicationDisk; + + [OutputConstructor] + private DiskAsyncReplicationListResponse(Outputs.DiskAsyncReplicationResponse asyncReplicationDisk) + { + AsyncReplicationDisk = asyncReplicationDisk; + } + } +} diff --git a/sdk/dotnet/Compute/V1/Outputs/DiskResourceStatusResponse.cs b/sdk/dotnet/Compute/V1/Outputs/DiskResourceStatusResponse.cs index a6bf1e63bc..bb7b15e91f 100644 --- a/sdk/dotnet/Compute/V1/Outputs/DiskResourceStatusResponse.cs +++ b/sdk/dotnet/Compute/V1/Outputs/DiskResourceStatusResponse.cs @@ -17,13 +17,13 @@ public sealed class DiskResourceStatusResponse /// /// Key: disk, value: AsyncReplicationStatus message /// - public readonly ImmutableDictionary AsyncSecondaryDisks; + public readonly ImmutableDictionary AsyncSecondaryDisks; [OutputConstructor] private DiskResourceStatusResponse( Outputs.DiskResourceStatusAsyncReplicationStatusResponse asyncPrimaryDisk, - ImmutableDictionary asyncSecondaryDisks) + ImmutableDictionary asyncSecondaryDisks) { AsyncPrimaryDisk = asyncPrimaryDisk; AsyncSecondaryDisks = asyncSecondaryDisks; diff --git a/sdk/dotnet/Compute/V1/Outputs/ScalingScheduleStatusResponse.cs b/sdk/dotnet/Compute/V1/Outputs/ScalingScheduleStatusResponse.cs new file mode 100644 index 0000000000..32e56792bc --- /dev/null +++ b/sdk/dotnet/Compute/V1/Outputs/ScalingScheduleStatusResponse.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Outputs +{ + + [OutputType] + public sealed class ScalingScheduleStatusResponse + { + /// + /// The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + /// + public readonly string LastStartTime; + /// + /// The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + /// + public readonly string NextStartTime; + /// + /// The current state of a scaling schedule. + /// + public readonly string State; + + [OutputConstructor] + private ScalingScheduleStatusResponse( + string lastStartTime, + + string nextStartTime, + + string state) + { + LastStartTime = lastStartTime; + NextStartTime = nextStartTime; + State = state; + } + } +} diff --git a/sdk/dotnet/Compute/V1/Outputs/ShareSettingsProjectConfigResponse.cs b/sdk/dotnet/Compute/V1/Outputs/ShareSettingsProjectConfigResponse.cs new file mode 100644 index 0000000000..011c289b6c --- /dev/null +++ b/sdk/dotnet/Compute/V1/Outputs/ShareSettingsProjectConfigResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Outputs +{ + + /// + /// Config for each project in the share settings. + /// + [OutputType] + public sealed class ShareSettingsProjectConfigResponse + { + /// + /// The project ID, should be same as the key of this project config in the parent map. + /// + public readonly string Project; + + [OutputConstructor] + private ShareSettingsProjectConfigResponse(string project) + { + Project = project; + } + } +} diff --git a/sdk/dotnet/Compute/V1/Outputs/ShareSettingsResponse.cs b/sdk/dotnet/Compute/V1/Outputs/ShareSettingsResponse.cs index 2e32d271d3..c45764df58 100644 --- a/sdk/dotnet/Compute/V1/Outputs/ShareSettingsResponse.cs +++ b/sdk/dotnet/Compute/V1/Outputs/ShareSettingsResponse.cs @@ -19,7 +19,7 @@ public sealed class ShareSettingsResponse /// /// A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. /// - public readonly ImmutableDictionary ProjectMap; + public readonly ImmutableDictionary ProjectMap; /// /// Type of sharing for this shared-reservation /// @@ -27,7 +27,7 @@ public sealed class ShareSettingsResponse [OutputConstructor] private ShareSettingsResponse( - ImmutableDictionary projectMap, + ImmutableDictionary projectMap, string shareType) { diff --git a/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateDiskDeviceResponse.cs b/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateDiskDeviceResponse.cs new file mode 100644 index 0000000000..c44274c97a --- /dev/null +++ b/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateDiskDeviceResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Outputs +{ + + [OutputType] + public sealed class StatefulPolicyPreservedStateDiskDeviceResponse + { + /// + /// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + /// + public readonly string AutoDelete; + + [OutputConstructor] + private StatefulPolicyPreservedStateDiskDeviceResponse(string autoDelete) + { + AutoDelete = autoDelete; + } + } +} diff --git a/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateNetworkIpResponse.cs b/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateNetworkIpResponse.cs new file mode 100644 index 0000000000..d408522a59 --- /dev/null +++ b/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateNetworkIpResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Compute.V1.Outputs +{ + + [OutputType] + public sealed class StatefulPolicyPreservedStateNetworkIpResponse + { + /// + /// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + /// + public readonly string AutoDelete; + + [OutputConstructor] + private StatefulPolicyPreservedStateNetworkIpResponse(string autoDelete) + { + AutoDelete = autoDelete; + } + } +} diff --git a/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateResponse.cs b/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateResponse.cs index 4c2f5e8456..0864a60051 100644 --- a/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateResponse.cs +++ b/sdk/dotnet/Compute/V1/Outputs/StatefulPolicyPreservedStateResponse.cs @@ -19,23 +19,23 @@ public sealed class StatefulPolicyPreservedStateResponse /// /// Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. /// - public readonly ImmutableDictionary Disks; + public readonly ImmutableDictionary Disks; /// /// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public readonly ImmutableDictionary ExternalIPs; + public readonly ImmutableDictionary ExternalIPs; /// /// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. /// - public readonly ImmutableDictionary InternalIPs; + public readonly ImmutableDictionary InternalIPs; [OutputConstructor] private StatefulPolicyPreservedStateResponse( - ImmutableDictionary disks, + ImmutableDictionary disks, - ImmutableDictionary externalIPs, + ImmutableDictionary externalIPs, - ImmutableDictionary internalIPs) + ImmutableDictionary internalIPs) { Disks = disks; ExternalIPs = externalIPs; diff --git a/sdk/dotnet/Compute/V1/RegionAutoscaler.cs b/sdk/dotnet/Compute/V1/RegionAutoscaler.cs index 0478f9fdd0..b6842d2931 100644 --- a/sdk/dotnet/Compute/V1/RegionAutoscaler.cs +++ b/sdk/dotnet/Compute/V1/RegionAutoscaler.cs @@ -67,7 +67,7 @@ public partial class RegionAutoscaler : global::Pulumi.CustomResource /// Status information of existing scaling schedules. /// [Output("scalingScheduleStatus")] - public Output> ScalingScheduleStatus { get; private set; } = null!; + public Output> ScalingScheduleStatus { get; private set; } = null!; /// /// Server-defined URL for the resource. diff --git a/sdk/dotnet/Compute/V1/RegionDisk.cs b/sdk/dotnet/Compute/V1/RegionDisk.cs index fdf82bcb95..26ca523703 100644 --- a/sdk/dotnet/Compute/V1/RegionDisk.cs +++ b/sdk/dotnet/Compute/V1/RegionDisk.cs @@ -31,7 +31,7 @@ public partial class RegionDisk : global::Pulumi.CustomResource /// A list of disks this disk is asynchronously replicated to. /// [Output("asyncSecondaryDisks")] - public Output> AsyncSecondaryDisks { get; private set; } = null!; + public Output> AsyncSecondaryDisks { get; private set; } = null!; /// /// Creation timestamp in RFC3339 text format. diff --git a/sdk/dotnet/Connectors/V2/Entity.cs b/sdk/dotnet/Connectors/V2/Entity.cs index 8e3843fae3..d66e18566b 100644 --- a/sdk/dotnet/Connectors/V2/Entity.cs +++ b/sdk/dotnet/Connectors/V2/Entity.cs @@ -26,7 +26,7 @@ public partial class Entity : global::Pulumi.CustomResource /// Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. /// [Output("fields")] - public Output> Fields { get; private set; } = null!; + public Output> Fields { get; private set; } = null!; [Output("location")] public Output Location { get; private set; } = null!; @@ -99,14 +99,14 @@ public sealed class EntityArgs : global::Pulumi.ResourceArgs public Input EntityTypeId { get; set; } = null!; [Input("fields")] - private InputMap? _fields; + private InputMap? _fields; /// /// Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. /// - public InputMap Fields + public InputMap Fields { - get => _fields ?? (_fields = new InputMap()); + get => _fields ?? (_fields = new InputMap()); set => _fields = value; } diff --git a/sdk/dotnet/Connectors/V2/GetEntity.cs b/sdk/dotnet/Connectors/V2/GetEntity.cs index 41b99e0e8b..afe81d4cd9 100644 --- a/sdk/dotnet/Connectors/V2/GetEntity.cs +++ b/sdk/dotnet/Connectors/V2/GetEntity.cs @@ -78,7 +78,7 @@ public sealed class GetEntityResult /// /// Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. /// - public readonly ImmutableDictionary Fields; + public readonly ImmutableDictionary Fields; /// /// Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id} /// @@ -86,7 +86,7 @@ public sealed class GetEntityResult [OutputConstructor] private GetEntityResult( - ImmutableDictionary fields, + ImmutableDictionary fields, string name) { diff --git a/sdk/dotnet/Contactcenterinsights/V1/Conversation.cs b/sdk/dotnet/Contactcenterinsights/V1/Conversation.cs index 85d0fa0213..33d5eab9e7 100644 --- a/sdk/dotnet/Contactcenterinsights/V1/Conversation.cs +++ b/sdk/dotnet/Contactcenterinsights/V1/Conversation.cs @@ -49,7 +49,7 @@ public partial class Conversation : global::Pulumi.CustomResource /// All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} /// [Output("dialogflowIntents")] - public Output> DialogflowIntents { get; private set; } = null!; + public Output> DialogflowIntents { get; private set; } = null!; /// /// The duration of the conversation. diff --git a/sdk/dotnet/Contactcenterinsights/V1/GetConversation.cs b/sdk/dotnet/Contactcenterinsights/V1/GetConversation.cs index 688253dff1..656f36f054 100644 --- a/sdk/dotnet/Contactcenterinsights/V1/GetConversation.cs +++ b/sdk/dotnet/Contactcenterinsights/V1/GetConversation.cs @@ -88,7 +88,7 @@ public sealed class GetConversationResult /// /// All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} /// - public readonly ImmutableDictionary DialogflowIntents; + public readonly ImmutableDictionary DialogflowIntents; /// /// The duration of the conversation. /// @@ -160,7 +160,7 @@ private GetConversationResult( Outputs.GoogleCloudContactcenterinsightsV1ConversationDataSourceResponse dataSource, - ImmutableDictionary dialogflowIntents, + ImmutableDictionary dialogflowIntents, string duration, diff --git a/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse.cs b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse.cs index 8963466262..ee98ae7166 100644 --- a/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse.cs +++ b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse.cs @@ -23,11 +23,11 @@ public sealed class GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysis /// /// All the entities in the call. /// - public readonly ImmutableDictionary Entities; + public readonly ImmutableDictionary Entities; /// /// All the matched intents in the call. /// - public readonly ImmutableDictionary Intents; + public readonly ImmutableDictionary Intents; /// /// Overall conversation-level issue modeling result. /// @@ -35,7 +35,7 @@ public sealed class GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysis /// /// All the matched phrase matchers in the call. /// - public readonly ImmutableDictionary PhraseMatchers; + public readonly ImmutableDictionary PhraseMatchers; /// /// Overall conversation-level sentiment for each channel of the call. /// @@ -45,13 +45,13 @@ public sealed class GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysis private GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse( ImmutableArray annotations, - ImmutableDictionary entities, + ImmutableDictionary entities, - ImmutableDictionary intents, + ImmutableDictionary intents, Outputs.GoogleCloudContactcenterinsightsV1IssueModelResultResponse issueModelResult, - ImmutableDictionary phraseMatchers, + ImmutableDictionary phraseMatchers, ImmutableArray sentiments) { diff --git a/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1DialogflowIntentResponse.cs b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1DialogflowIntentResponse.cs new file mode 100644 index 0000000000..fbf14b9395 --- /dev/null +++ b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1DialogflowIntentResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Contactcenterinsights.V1.Outputs +{ + + /// + /// The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. + /// + [OutputType] + public sealed class GoogleCloudContactcenterinsightsV1DialogflowIntentResponse + { + /// + /// The human-readable name of the intent. + /// + public readonly string DisplayName; + + [OutputConstructor] + private GoogleCloudContactcenterinsightsV1DialogflowIntentResponse(string displayName) + { + DisplayName = displayName; + } + } +} diff --git a/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1EntityResponse.cs b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1EntityResponse.cs new file mode 100644 index 0000000000..e5593e3504 --- /dev/null +++ b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1EntityResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Contactcenterinsights.V1.Outputs +{ + + /// + /// The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location. + /// + [OutputType] + public sealed class GoogleCloudContactcenterinsightsV1EntityResponse + { + /// + /// The representative name for the entity. + /// + public readonly string DisplayName; + /// + /// Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below. + /// + public readonly ImmutableDictionary Metadata; + /// + /// The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient. + /// + public readonly double Salience; + /// + /// The aggregate sentiment expressed for this entity in the conversation. + /// + public readonly Outputs.GoogleCloudContactcenterinsightsV1SentimentDataResponse Sentiment; + /// + /// The entity type. + /// + public readonly string Type; + + [OutputConstructor] + private GoogleCloudContactcenterinsightsV1EntityResponse( + string displayName, + + ImmutableDictionary metadata, + + double salience, + + Outputs.GoogleCloudContactcenterinsightsV1SentimentDataResponse sentiment, + + string type) + { + DisplayName = displayName; + Metadata = metadata; + Salience = salience; + Sentiment = sentiment; + Type = type; + } + } +} diff --git a/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IntentResponse.cs b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IntentResponse.cs new file mode 100644 index 0000000000..9e9a215686 --- /dev/null +++ b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IntentResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Contactcenterinsights.V1.Outputs +{ + + /// + /// The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE. + /// + [OutputType] + public sealed class GoogleCloudContactcenterinsightsV1IntentResponse + { + /// + /// The human-readable name of the intent. + /// + public readonly string DisplayName; + + [OutputConstructor] + private GoogleCloudContactcenterinsightsV1IntentResponse(string displayName) + { + DisplayName = displayName; + } + } +} diff --git a/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse.cs b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse.cs new file mode 100644 index 0000000000..1373432dbb --- /dev/null +++ b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Contactcenterinsights.V1.Outputs +{ + + /// + /// Aggregated statistics about an issue. + /// + [OutputType] + public sealed class GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse + { + /// + /// Display name of the issue. + /// + public readonly string DisplayName; + /// + /// Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} + /// + public readonly string Issue; + /// + /// Number of conversations attached to the issue at this point in time. + /// + public readonly string LabeledConversationsCount; + + [OutputConstructor] + private GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse( + string displayName, + + string issue, + + string labeledConversationsCount) + { + DisplayName = displayName; + Issue = issue; + LabeledConversationsCount = labeledConversationsCount; + } + } +} diff --git a/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse.cs b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse.cs index faebe05834..bea59e7c09 100644 --- a/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse.cs +++ b/sdk/dotnet/Contactcenterinsights/V1/Outputs/GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleCloudContactcenterinsightsV1IssueModelLabelStatsRespon /// /// Statistics on each issue. Key is the issue's resource name. /// - public readonly ImmutableDictionary IssueStats; + public readonly ImmutableDictionary IssueStats; /// /// Number of analyzed conversations for which no issue was applicable at this point in time. /// @@ -33,7 +33,7 @@ public sealed class GoogleCloudContactcenterinsightsV1IssueModelLabelStatsRespon private GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse( string analyzedConversationsCount, - ImmutableDictionary issueStats, + ImmutableDictionary issueStats, string unclassifiedConversationsCount) { diff --git a/sdk/dotnet/Container/V1/Inputs/MaintenanceWindowArgs.cs b/sdk/dotnet/Container/V1/Inputs/MaintenanceWindowArgs.cs index 6f6bc6bffe..14a1bc8e8e 100644 --- a/sdk/dotnet/Container/V1/Inputs/MaintenanceWindowArgs.cs +++ b/sdk/dotnet/Container/V1/Inputs/MaintenanceWindowArgs.cs @@ -22,14 +22,14 @@ public sealed class MaintenanceWindowArgs : global::Pulumi.ResourceArgs public Input? DailyMaintenanceWindow { get; set; } [Input("maintenanceExclusions")] - private InputMap? _maintenanceExclusions; + private InputMap? _maintenanceExclusions; /// /// Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. /// - public InputMap MaintenanceExclusions + public InputMap MaintenanceExclusions { - get => _maintenanceExclusions ?? (_maintenanceExclusions = new InputMap()); + get => _maintenanceExclusions ?? (_maintenanceExclusions = new InputMap()); set => _maintenanceExclusions = value; } diff --git a/sdk/dotnet/Container/V1/Outputs/MaintenanceWindowResponse.cs b/sdk/dotnet/Container/V1/Outputs/MaintenanceWindowResponse.cs index 1b43e1641d..e5fe56e6ff 100644 --- a/sdk/dotnet/Container/V1/Outputs/MaintenanceWindowResponse.cs +++ b/sdk/dotnet/Container/V1/Outputs/MaintenanceWindowResponse.cs @@ -23,7 +23,7 @@ public sealed class MaintenanceWindowResponse /// /// Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. /// - public readonly ImmutableDictionary MaintenanceExclusions; + public readonly ImmutableDictionary MaintenanceExclusions; /// /// RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. /// @@ -33,7 +33,7 @@ public sealed class MaintenanceWindowResponse private MaintenanceWindowResponse( Outputs.DailyMaintenanceWindowResponse dailyMaintenanceWindow, - ImmutableDictionary maintenanceExclusions, + ImmutableDictionary maintenanceExclusions, Outputs.RecurringTimeWindowResponse recurringWindow) { diff --git a/sdk/dotnet/Container/V1Beta1/GetServerConfig.cs b/sdk/dotnet/Container/V1Beta1/GetServerConfig.cs index 5982099ae7..7e5efe5644 100644 --- a/sdk/dotnet/Container/V1Beta1/GetServerConfig.cs +++ b/sdk/dotnet/Container/V1Beta1/GetServerConfig.cs @@ -96,7 +96,7 @@ public sealed class GetServerConfigResult /// /// Maps of Kubernetes version and supported Windows server versions. /// - public readonly ImmutableDictionary WindowsVersionMaps; + public readonly ImmutableDictionary WindowsVersionMaps; [OutputConstructor] private GetServerConfigResult( @@ -112,7 +112,7 @@ private GetServerConfigResult( ImmutableArray validNodeVersions, - ImmutableDictionary windowsVersionMaps) + ImmutableDictionary windowsVersionMaps) { Channels = channels; DefaultClusterVersion = defaultClusterVersion; diff --git a/sdk/dotnet/Container/V1Beta1/Inputs/MaintenanceWindowArgs.cs b/sdk/dotnet/Container/V1Beta1/Inputs/MaintenanceWindowArgs.cs index 2ea48710b8..3633bd32ad 100644 --- a/sdk/dotnet/Container/V1Beta1/Inputs/MaintenanceWindowArgs.cs +++ b/sdk/dotnet/Container/V1Beta1/Inputs/MaintenanceWindowArgs.cs @@ -22,14 +22,14 @@ public sealed class MaintenanceWindowArgs : global::Pulumi.ResourceArgs public Input? DailyMaintenanceWindow { get; set; } [Input("maintenanceExclusions")] - private InputMap? _maintenanceExclusions; + private InputMap? _maintenanceExclusions; /// /// Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. /// - public InputMap MaintenanceExclusions + public InputMap MaintenanceExclusions { - get => _maintenanceExclusions ?? (_maintenanceExclusions = new InputMap()); + get => _maintenanceExclusions ?? (_maintenanceExclusions = new InputMap()); set => _maintenanceExclusions = value; } diff --git a/sdk/dotnet/Container/V1Beta1/Outputs/DateResponse.cs b/sdk/dotnet/Container/V1Beta1/Outputs/DateResponse.cs new file mode 100644 index 0000000000..f5968e2ebc --- /dev/null +++ b/sdk/dotnet/Container/V1Beta1/Outputs/DateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Container.V1Beta1.Outputs +{ + + /// + /// Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp + /// + [OutputType] + public sealed class DateResponse + { + /// + /// Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + /// + public readonly int Day; + /// + /// Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + /// + public readonly int Month; + /// + /// Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + /// + public readonly int Year; + + [OutputConstructor] + private DateResponse( + int day, + + int month, + + int year) + { + Day = day; + Month = month; + Year = year; + } + } +} diff --git a/sdk/dotnet/Container/V1Beta1/Outputs/MaintenanceWindowResponse.cs b/sdk/dotnet/Container/V1Beta1/Outputs/MaintenanceWindowResponse.cs index 9027034145..7b61596cf6 100644 --- a/sdk/dotnet/Container/V1Beta1/Outputs/MaintenanceWindowResponse.cs +++ b/sdk/dotnet/Container/V1Beta1/Outputs/MaintenanceWindowResponse.cs @@ -23,7 +23,7 @@ public sealed class MaintenanceWindowResponse /// /// Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. /// - public readonly ImmutableDictionary MaintenanceExclusions; + public readonly ImmutableDictionary MaintenanceExclusions; /// /// RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. /// @@ -33,7 +33,7 @@ public sealed class MaintenanceWindowResponse private MaintenanceWindowResponse( Outputs.DailyMaintenanceWindowResponse dailyMaintenanceWindow, - ImmutableDictionary maintenanceExclusions, + ImmutableDictionary maintenanceExclusions, Outputs.RecurringTimeWindowResponse recurringWindow) { diff --git a/sdk/dotnet/Container/V1Beta1/Outputs/WindowsVersionResponse.cs b/sdk/dotnet/Container/V1Beta1/Outputs/WindowsVersionResponse.cs new file mode 100644 index 0000000000..f02b10c55b --- /dev/null +++ b/sdk/dotnet/Container/V1Beta1/Outputs/WindowsVersionResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Container.V1Beta1.Outputs +{ + + /// + /// Windows server version. + /// + [OutputType] + public sealed class WindowsVersionResponse + { + /// + /// Windows server image type + /// + public readonly string ImageType; + /// + /// Windows server build number + /// + public readonly string OsVersion; + /// + /// Mainstream support end date + /// + public readonly Outputs.DateResponse SupportEndDate; + + [OutputConstructor] + private WindowsVersionResponse( + string imageType, + + string osVersion, + + Outputs.DateResponse supportEndDate) + { + ImageType = imageType; + OsVersion = osVersion; + SupportEndDate = supportEndDate; + } + } +} diff --git a/sdk/dotnet/Container/V1Beta1/Outputs/WindowsVersionsResponse.cs b/sdk/dotnet/Container/V1Beta1/Outputs/WindowsVersionsResponse.cs new file mode 100644 index 0000000000..a73a55d18e --- /dev/null +++ b/sdk/dotnet/Container/V1Beta1/Outputs/WindowsVersionsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Container.V1Beta1.Outputs +{ + + /// + /// Windows server versions. + /// + [OutputType] + public sealed class WindowsVersionsResponse + { + /// + /// List of Windows server versions. + /// + public readonly ImmutableArray WindowsVersions; + + [OutputConstructor] + private WindowsVersionsResponse(ImmutableArray windowsVersions) + { + WindowsVersions = windowsVersions; + } + } +} diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/BuildDefinitionArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/BuildDefinitionArgs.cs index e2e63c9290..c993ae768f 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Inputs/BuildDefinitionArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/BuildDefinitionArgs.cs @@ -16,18 +16,18 @@ public sealed class BuildDefinitionArgs : global::Pulumi.ResourceArgs public Input? BuildType { get; set; } [Input("externalParameters")] - private InputMap? _externalParameters; - public InputMap ExternalParameters + private InputMap? _externalParameters; + public InputMap ExternalParameters { - get => _externalParameters ?? (_externalParameters = new InputMap()); + get => _externalParameters ?? (_externalParameters = new InputMap()); set => _externalParameters = value; } [Input("internalParameters")] - private InputMap? _internalParameters; - public InputMap InternalParameters + private InputMap? _internalParameters; + public InputMap InternalParameters { - get => _internalParameters ?? (_internalParameters = new InputMap()); + get => _internalParameters ?? (_internalParameters = new InputMap()); set => _internalParameters = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/FileHashesArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/FileHashesArgs.cs new file mode 100644 index 0000000000..a1c2b08890 --- /dev/null +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/FileHashesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ContainerAnalysis.V1.Inputs +{ + + /// + /// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + /// + public sealed class FileHashesArgs : global::Pulumi.ResourceArgs + { + [Input("fileHash", required: true)] + private InputList? _fileHash; + + /// + /// Collection of file hashes. + /// + public InputList FileHash + { + get => _fileHash ?? (_fileHash = new InputList()); + set => _fileHash = value; + } + + public FileHashesArgs() + { + } + public static new FileHashesArgs Empty => new FileHashesArgs(); + } +} diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs.cs index 19a85b21b4..980808b212 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Inputs/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs.cs @@ -19,18 +19,18 @@ public sealed class GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs : global::P public Input? ConfigSource { get; set; } [Input("environment")] - private InputMap? _environment; - public InputMap Environment + private InputMap? _environment; + public InputMap Environment { - get => _environment ?? (_environment = new InputMap()); + get => _environment ?? (_environment = new InputMap()); set => _environment = value; } [Input("parameters")] - private InputMap? _parameters; - public InputMap Parameters + private InputMap? _parameters; + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/HashArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/HashArgs.cs new file mode 100644 index 0000000000..83a340a1e9 --- /dev/null +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/HashArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ContainerAnalysis.V1.Inputs +{ + + /// + /// Container message for hash values. + /// + public sealed class HashArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of hash that was performed, e.g. "SHA-256". + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The hash value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public HashArgs() + { + } + public static new HashArgs Empty => new HashArgs(); + } +} diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/RecipeArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/RecipeArgs.cs index 777d410d59..75b1cb0ed3 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Inputs/RecipeArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/RecipeArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1.Inputs public sealed class RecipeArgs : global::Pulumi.ResourceArgs { [Input("arguments")] - private InputList>? _arguments; + private InputList>? _arguments; /// /// Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". /// - public InputList> Arguments + public InputList> Arguments { - get => _arguments ?? (_arguments = new InputList>()); + get => _arguments ?? (_arguments = new InputList>()); set => _arguments = value; } @@ -40,14 +40,14 @@ public InputList> Arguments public Input? EntryPoint { get; set; } [Input("environment")] - private InputList>? _environment; + private InputList>? _environment; /// /// Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". /// - public InputList> Environment + public InputList> Environment { - get => _environment ?? (_environment = new InputList>()); + get => _environment ?? (_environment = new InputList>()); set => _environment = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/ResourceDescriptorArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/ResourceDescriptorArgs.cs index cf4d81ec42..eb0766f35c 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Inputs/ResourceDescriptorArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/ResourceDescriptorArgs.cs @@ -13,10 +13,10 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1.Inputs public sealed class ResourceDescriptorArgs : global::Pulumi.ResourceArgs { [Input("annotations")] - private InputMap? _annotations; - public InputMap Annotations + private InputMap? _annotations; + public InputMap Annotations { - get => _annotations ?? (_annotations = new InputMap()); + get => _annotations ?? (_annotations = new InputMap()); set => _annotations = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/SlsaProvenanceZeroTwoArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/SlsaProvenanceZeroTwoArgs.cs index 563b35e52a..4b3db198b8 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Inputs/SlsaProvenanceZeroTwoArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/SlsaProvenanceZeroTwoArgs.cs @@ -16,10 +16,10 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1.Inputs public sealed class SlsaProvenanceZeroTwoArgs : global::Pulumi.ResourceArgs { [Input("buildConfig")] - private InputMap? _buildConfig; - public InputMap BuildConfig + private InputMap? _buildConfig; + public InputMap BuildConfig { - get => _buildConfig ?? (_buildConfig = new InputMap()); + get => _buildConfig ?? (_buildConfig = new InputMap()); set => _buildConfig = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/SlsaRecipeArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/SlsaRecipeArgs.cs index f5d2ea20c6..a89f4cd9bc 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Inputs/SlsaRecipeArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/SlsaRecipeArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1.Inputs public sealed class SlsaRecipeArgs : global::Pulumi.ResourceArgs { [Input("arguments")] - private InputMap? _arguments; + private InputMap? _arguments; /// /// Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. /// - public InputMap Arguments + public InputMap Arguments { - get => _arguments ?? (_arguments = new InputMap()); + get => _arguments ?? (_arguments = new InputMap()); set => _arguments = value; } @@ -40,14 +40,14 @@ public InputMap Arguments public Input? EntryPoint { get; set; } [Input("environment")] - private InputMap? _environment; + private InputMap? _environment; /// /// Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. /// - public InputMap Environment + public InputMap Environment { - get => _environment ?? (_environment = new InputMap()); + get => _environment ?? (_environment = new InputMap()); set => _environment = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/SourceArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/SourceArgs.cs index 008f4c795d..0c25a5d2f8 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Inputs/SourceArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/SourceArgs.cs @@ -40,14 +40,14 @@ public InputList AdditionalContexts public Input? Context { get; set; } [Input("fileHashes")] - private InputMap? _fileHashes; + private InputMap? _fileHashes; /// /// Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. /// - public InputMap FileHashes + public InputMap FileHashes { - get => _fileHashes ?? (_fileHashes = new InputMap()); + get => _fileHashes ?? (_fileHashes = new InputMap()); set => _fileHashes = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1/Inputs/StatusArgs.cs b/sdk/dotnet/ContainerAnalysis/V1/Inputs/StatusArgs.cs index 3a1ff4d6dc..76199e6951 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Inputs/StatusArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Inputs/StatusArgs.cs @@ -22,14 +22,14 @@ public sealed class StatusArgs : global::Pulumi.ResourceArgs public Input? Code { get; set; } [Input("details")] - private InputList>? _details; + private InputList>? _details; /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public InputList> Details + public InputList> Details { - get => _details ?? (_details = new InputList>()); + get => _details ?? (_details = new InputList>()); set => _details = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/BuildDefinitionResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/BuildDefinitionResponse.cs index 9982b4ac46..e99bfe2383 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Outputs/BuildDefinitionResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/BuildDefinitionResponse.cs @@ -14,17 +14,17 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1.Outputs public sealed class BuildDefinitionResponse { public readonly string BuildType; - public readonly ImmutableDictionary ExternalParameters; - public readonly ImmutableDictionary InternalParameters; + public readonly ImmutableDictionary ExternalParameters; + public readonly ImmutableDictionary InternalParameters; public readonly ImmutableArray ResolvedDependencies; [OutputConstructor] private BuildDefinitionResponse( string buildType, - ImmutableDictionary externalParameters, + ImmutableDictionary externalParameters, - ImmutableDictionary internalParameters, + ImmutableDictionary internalParameters, ImmutableArray resolvedDependencies) { diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/FileHashesResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/FileHashesResponse.cs new file mode 100644 index 0000000000..6f51ffe087 --- /dev/null +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/FileHashesResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ContainerAnalysis.V1.Outputs +{ + + /// + /// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + /// + [OutputType] + public sealed class FileHashesResponse + { + /// + /// Collection of file hashes. + /// + public readonly ImmutableArray FileHash; + + [OutputConstructor] + private FileHashesResponse(ImmutableArray fileHash) + { + FileHash = fileHash; + } + } +} diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse.cs index 945892ecaa..3860bf7126 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Outputs/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse.cs @@ -17,16 +17,16 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1.Outputs public sealed class GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse { public readonly Outputs.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceResponse ConfigSource; - public readonly ImmutableDictionary Environment; - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Environment; + public readonly ImmutableDictionary Parameters; [OutputConstructor] private GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse( Outputs.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceResponse configSource, - ImmutableDictionary environment, + ImmutableDictionary environment, - ImmutableDictionary parameters) + ImmutableDictionary parameters) { ConfigSource = configSource; Environment = environment; diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/HashResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/HashResponse.cs new file mode 100644 index 0000000000..daf5c0a0b3 --- /dev/null +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/HashResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ContainerAnalysis.V1.Outputs +{ + + /// + /// Container message for hash values. + /// + [OutputType] + public sealed class HashResponse + { + /// + /// The type of hash that was performed, e.g. "SHA-256". + /// + public readonly string Type; + /// + /// The hash value. + /// + public readonly string Value; + + [OutputConstructor] + private HashResponse( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/RecipeResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/RecipeResponse.cs index 3e990b1f93..002f59bbc7 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Outputs/RecipeResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/RecipeResponse.cs @@ -19,7 +19,7 @@ public sealed class RecipeResponse /// /// Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". /// - public readonly ImmutableArray> Arguments; + public readonly ImmutableArray> Arguments; /// /// Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. /// @@ -31,7 +31,7 @@ public sealed class RecipeResponse /// /// Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". /// - public readonly ImmutableArray> Environment; + public readonly ImmutableArray> Environment; /// /// URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. /// @@ -39,13 +39,13 @@ public sealed class RecipeResponse [OutputConstructor] private RecipeResponse( - ImmutableArray> arguments, + ImmutableArray> arguments, string definedInMaterial, string entryPoint, - ImmutableArray> environment, + ImmutableArray> environment, string type) { diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/ResourceDescriptorResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/ResourceDescriptorResponse.cs index 3edc3c0864..9e16afa0b8 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Outputs/ResourceDescriptorResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/ResourceDescriptorResponse.cs @@ -13,7 +13,7 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1.Outputs [OutputType] public sealed class ResourceDescriptorResponse { - public readonly ImmutableDictionary Annotations; + public readonly ImmutableDictionary Annotations; public readonly string Content; public readonly ImmutableDictionary Digest; public readonly string DownloadLocation; @@ -23,7 +23,7 @@ public sealed class ResourceDescriptorResponse [OutputConstructor] private ResourceDescriptorResponse( - ImmutableDictionary annotations, + ImmutableDictionary annotations, string content, diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/SlsaProvenanceZeroTwoResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/SlsaProvenanceZeroTwoResponse.cs index c8e2ae5de9..dca69b31aa 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Outputs/SlsaProvenanceZeroTwoResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/SlsaProvenanceZeroTwoResponse.cs @@ -16,7 +16,7 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1.Outputs [OutputType] public sealed class SlsaProvenanceZeroTwoResponse { - public readonly ImmutableDictionary BuildConfig; + public readonly ImmutableDictionary BuildConfig; public readonly string BuildType; public readonly Outputs.GrafeasV1SlsaProvenanceZeroTwoSlsaBuilderResponse Builder; public readonly Outputs.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse Invocation; @@ -25,7 +25,7 @@ public sealed class SlsaProvenanceZeroTwoResponse [OutputConstructor] private SlsaProvenanceZeroTwoResponse( - ImmutableDictionary buildConfig, + ImmutableDictionary buildConfig, string buildType, diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/SlsaRecipeResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/SlsaRecipeResponse.cs index 788ad0f66e..ff413120c8 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Outputs/SlsaRecipeResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/SlsaRecipeResponse.cs @@ -19,7 +19,7 @@ public sealed class SlsaRecipeResponse /// /// Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. /// - public readonly ImmutableDictionary Arguments; + public readonly ImmutableDictionary Arguments; /// /// Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. /// @@ -31,7 +31,7 @@ public sealed class SlsaRecipeResponse /// /// Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. /// - public readonly ImmutableDictionary Environment; + public readonly ImmutableDictionary Environment; /// /// URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. /// @@ -39,13 +39,13 @@ public sealed class SlsaRecipeResponse [OutputConstructor] private SlsaRecipeResponse( - ImmutableDictionary arguments, + ImmutableDictionary arguments, string definedInMaterial, string entryPoint, - ImmutableDictionary environment, + ImmutableDictionary environment, string type) { diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/SourceResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/SourceResponse.cs index d68ec2cf57..6b08273e35 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Outputs/SourceResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/SourceResponse.cs @@ -31,7 +31,7 @@ public sealed class SourceResponse /// /// Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. /// - public readonly ImmutableDictionary FileHashes; + public readonly ImmutableDictionary FileHashes; [OutputConstructor] private SourceResponse( @@ -41,7 +41,7 @@ private SourceResponse( Outputs.SourceContextResponse context, - ImmutableDictionary fileHashes) + ImmutableDictionary fileHashes) { AdditionalContexts = additionalContexts; ArtifactStorageSourceUri = artifactStorageSourceUri; diff --git a/sdk/dotnet/ContainerAnalysis/V1/Outputs/StatusResponse.cs b/sdk/dotnet/ContainerAnalysis/V1/Outputs/StatusResponse.cs index 574dc21f33..17ae969a77 100644 --- a/sdk/dotnet/ContainerAnalysis/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/BuildDefinitionArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/BuildDefinitionArgs.cs index 7dcf2f4c76..bd7e29454b 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/BuildDefinitionArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/BuildDefinitionArgs.cs @@ -16,18 +16,18 @@ public sealed class BuildDefinitionArgs : global::Pulumi.ResourceArgs public Input? BuildType { get; set; } [Input("externalParameters")] - private InputMap? _externalParameters; - public InputMap ExternalParameters + private InputMap? _externalParameters; + public InputMap ExternalParameters { - get => _externalParameters ?? (_externalParameters = new InputMap()); + get => _externalParameters ?? (_externalParameters = new InputMap()); set => _externalParameters = value; } [Input("internalParameters")] - private InputMap? _internalParameters; - public InputMap InternalParameters + private InputMap? _internalParameters; + public InputMap InternalParameters { - get => _internalParameters ?? (_internalParameters = new InputMap()); + get => _internalParameters ?? (_internalParameters = new InputMap()); set => _internalParameters = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/FileHashesArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/FileHashesArgs.cs new file mode 100644 index 0000000000..8162f0a925 --- /dev/null +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/FileHashesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ContainerAnalysis.V1Alpha1.Inputs +{ + + /// + /// Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. + /// + public sealed class FileHashesArgs : global::Pulumi.ResourceArgs + { + [Input("fileHash")] + private InputList? _fileHash; + + /// + /// Collection of file hashes. + /// + public InputList FileHash + { + get => _fileHash ?? (_fileHash = new InputList()); + set => _fileHash = value; + } + + public FileHashesArgs() + { + } + public static new FileHashesArgs Empty => new FileHashesArgs(); + } +} diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationArgs.cs index bef9219cd9..9233e27f93 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationArgs.cs @@ -22,26 +22,26 @@ public sealed class GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwo public Input? ConfigSource { get; set; } [Input("environment")] - private InputMap? _environment; + private InputMap? _environment; /// /// Any other builder-controlled inputs necessary for correctly evaluating the build. /// - public InputMap Environment + public InputMap Environment { - get => _environment ?? (_environment = new InputMap()); + get => _environment ?? (_environment = new InputMap()); set => _environment = value; } [Input("parameters")] - private InputMap? _parameters; + private InputMap? _parameters; /// /// Collection of all external inputs that influenced the build on top of invocation.configSource. /// - public InputMap Parameters + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/RecipeArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/RecipeArgs.cs index fd0ea32861..d571266787 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/RecipeArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/RecipeArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1Alpha1.Inputs public sealed class RecipeArgs : global::Pulumi.ResourceArgs { [Input("arguments")] - private InputList>? _arguments; + private InputList>? _arguments; /// /// Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. /// - public InputList> Arguments + public InputList> Arguments { - get => _arguments ?? (_arguments = new InputList>()); + get => _arguments ?? (_arguments = new InputList>()); set => _arguments = value; } @@ -40,14 +40,14 @@ public InputList> Arguments public Input? EntryPoint { get; set; } [Input("environment")] - private InputList>? _environment; + private InputList>? _environment; /// /// Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. /// - public InputList> Environment + public InputList> Environment { - get => _environment ?? (_environment = new InputList>()); + get => _environment ?? (_environment = new InputList>()); set => _environment = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/ResourceDescriptorArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/ResourceDescriptorArgs.cs index 11d51eeef0..4267096f49 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/ResourceDescriptorArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/ResourceDescriptorArgs.cs @@ -13,10 +13,10 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1Alpha1.Inputs public sealed class ResourceDescriptorArgs : global::Pulumi.ResourceArgs { [Input("annotations")] - private InputMap? _annotations; - public InputMap Annotations + private InputMap? _annotations; + public InputMap Annotations { - get => _annotations ?? (_annotations = new InputMap()); + get => _annotations ?? (_annotations = new InputMap()); set => _annotations = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SlsaProvenanceZeroTwoArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SlsaProvenanceZeroTwoArgs.cs index 517d7a53d3..62ce4525b7 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SlsaProvenanceZeroTwoArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SlsaProvenanceZeroTwoArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1Alpha1.Inputs public sealed class SlsaProvenanceZeroTwoArgs : global::Pulumi.ResourceArgs { [Input("buildConfig")] - private InputMap? _buildConfig; + private InputMap? _buildConfig; /// /// Lists the steps in the build. /// - public InputMap BuildConfig + public InputMap BuildConfig { - get => _buildConfig ?? (_buildConfig = new InputMap()); + get => _buildConfig ?? (_buildConfig = new InputMap()); set => _buildConfig = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SlsaRecipeArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SlsaRecipeArgs.cs index 2438d9a852..0e7af062e9 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SlsaRecipeArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SlsaRecipeArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1Alpha1.Inputs public sealed class SlsaRecipeArgs : global::Pulumi.ResourceArgs { [Input("arguments")] - private InputMap? _arguments; + private InputMap? _arguments; /// /// Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. /// - public InputMap Arguments + public InputMap Arguments { - get => _arguments ?? (_arguments = new InputMap()); + get => _arguments ?? (_arguments = new InputMap()); set => _arguments = value; } @@ -40,14 +40,14 @@ public InputMap Arguments public Input? EntryPoint { get; set; } [Input("environment")] - private InputMap? _environment; + private InputMap? _environment; /// /// Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. /// - public InputMap Environment + public InputMap Environment { - get => _environment ?? (_environment = new InputMap()); + get => _environment ?? (_environment = new InputMap()); set => _environment = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SourceArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SourceArgs.cs index bd6f05b5fc..802d2fe863 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SourceArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/SourceArgs.cs @@ -40,14 +40,14 @@ public InputList? Context { get; set; } [Input("fileHashes")] - private InputMap? _fileHashes; + private InputMap? _fileHashes; /// /// Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. /// - public InputMap FileHashes + public InputMap FileHashes { - get => _fileHashes ?? (_fileHashes = new InputMap()); + get => _fileHashes ?? (_fileHashes = new InputMap()); set => _fileHashes = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/StatusArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/StatusArgs.cs index 322dd06de3..aabf3cd7ea 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/StatusArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Inputs/StatusArgs.cs @@ -22,14 +22,14 @@ public sealed class StatusArgs : global::Pulumi.ResourceArgs public Input? Code { get; set; } [Input("details")] - private InputList>? _details; + private InputList>? _details; /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public InputList> Details + public InputList> Details { - get => _details ?? (_details = new InputList>()); + get => _details ?? (_details = new InputList>()); set => _details = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/BuildDefinitionResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/BuildDefinitionResponse.cs index 8e8894ca07..c08c083902 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/BuildDefinitionResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/BuildDefinitionResponse.cs @@ -14,17 +14,17 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1Alpha1.Outputs public sealed class BuildDefinitionResponse { public readonly string BuildType; - public readonly ImmutableDictionary ExternalParameters; - public readonly ImmutableDictionary InternalParameters; + public readonly ImmutableDictionary ExternalParameters; + public readonly ImmutableDictionary InternalParameters; public readonly ImmutableArray ResolvedDependencies; [OutputConstructor] private BuildDefinitionResponse( string buildType, - ImmutableDictionary externalParameters, + ImmutableDictionary externalParameters, - ImmutableDictionary internalParameters, + ImmutableDictionary internalParameters, ImmutableArray resolvedDependencies) { diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/FileHashesResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/FileHashesResponse.cs new file mode 100644 index 0000000000..047bf14314 --- /dev/null +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/FileHashesResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ContainerAnalysis.V1Alpha1.Outputs +{ + + /// + /// Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. + /// + [OutputType] + public sealed class FileHashesResponse + { + /// + /// Collection of file hashes. + /// + public readonly ImmutableArray FileHash; + + [OutputConstructor] + private FileHashesResponse(ImmutableArray fileHash) + { + FileHash = fileHash; + } + } +} diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse.cs index a6fbbc97e3..4dfc9ef27b 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse.cs @@ -23,19 +23,19 @@ public sealed class GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwo /// /// Any other builder-controlled inputs necessary for correctly evaluating the build. /// - public readonly ImmutableDictionary Environment; + public readonly ImmutableDictionary Environment; /// /// Collection of all external inputs that influenced the build on top of invocation.configSource. /// - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Parameters; [OutputConstructor] private GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse( Outputs.GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSourceResponse configSource, - ImmutableDictionary environment, + ImmutableDictionary environment, - ImmutableDictionary parameters) + ImmutableDictionary parameters) { ConfigSource = configSource; Environment = environment; diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/OperationResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/OperationResponse.cs index 494dd3b5eb..3bdb818d6f 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/OperationResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/OperationResponse.cs @@ -27,7 +27,7 @@ public sealed class OperationResponse /// /// Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. /// @@ -35,7 +35,7 @@ public sealed class OperationResponse /// /// The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. /// - public readonly ImmutableDictionary Response; + public readonly ImmutableDictionary Response; [OutputConstructor] private OperationResponse( @@ -43,11 +43,11 @@ private OperationResponse( Outputs.StatusResponse error, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, - ImmutableDictionary response) + ImmutableDictionary response) { Done = done; Error = error; diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/RecipeResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/RecipeResponse.cs index 22f51b5a42..baec414c1f 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/RecipeResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/RecipeResponse.cs @@ -19,7 +19,7 @@ public sealed class RecipeResponse /// /// Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. /// - public readonly ImmutableArray> Arguments; + public readonly ImmutableArray> Arguments; /// /// Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. /// @@ -31,7 +31,7 @@ public sealed class RecipeResponse /// /// Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. /// - public readonly ImmutableArray> Environment; + public readonly ImmutableArray> Environment; /// /// URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. /// @@ -39,13 +39,13 @@ public sealed class RecipeResponse [OutputConstructor] private RecipeResponse( - ImmutableArray> arguments, + ImmutableArray> arguments, string definedInMaterial, string entryPoint, - ImmutableArray> environment, + ImmutableArray> environment, string type) { diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/ResourceDescriptorResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/ResourceDescriptorResponse.cs index dfeb15add6..1d10ec9534 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/ResourceDescriptorResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/ResourceDescriptorResponse.cs @@ -13,7 +13,7 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1Alpha1.Outputs [OutputType] public sealed class ResourceDescriptorResponse { - public readonly ImmutableDictionary Annotations; + public readonly ImmutableDictionary Annotations; public readonly string Content; public readonly ImmutableDictionary Digest; public readonly string DownloadLocation; @@ -23,7 +23,7 @@ public sealed class ResourceDescriptorResponse [OutputConstructor] private ResourceDescriptorResponse( - ImmutableDictionary annotations, + ImmutableDictionary annotations, string content, diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SlsaProvenanceZeroTwoResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SlsaProvenanceZeroTwoResponse.cs index e71e599b72..1b14804da8 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SlsaProvenanceZeroTwoResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SlsaProvenanceZeroTwoResponse.cs @@ -19,7 +19,7 @@ public sealed class SlsaProvenanceZeroTwoResponse /// /// Lists the steps in the build. /// - public readonly ImmutableDictionary BuildConfig; + public readonly ImmutableDictionary BuildConfig; /// /// URI indicating what type of build was performed. /// @@ -43,7 +43,7 @@ public sealed class SlsaProvenanceZeroTwoResponse [OutputConstructor] private SlsaProvenanceZeroTwoResponse( - ImmutableDictionary buildConfig, + ImmutableDictionary buildConfig, string buildType, diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SlsaRecipeResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SlsaRecipeResponse.cs index 0cdbc5651e..1477e3d476 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SlsaRecipeResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SlsaRecipeResponse.cs @@ -19,7 +19,7 @@ public sealed class SlsaRecipeResponse /// /// Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. /// - public readonly ImmutableDictionary Arguments; + public readonly ImmutableDictionary Arguments; /// /// Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. /// @@ -31,7 +31,7 @@ public sealed class SlsaRecipeResponse /// /// Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. /// - public readonly ImmutableDictionary Environment; + public readonly ImmutableDictionary Environment; /// /// URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. /// @@ -39,13 +39,13 @@ public sealed class SlsaRecipeResponse [OutputConstructor] private SlsaRecipeResponse( - ImmutableDictionary arguments, + ImmutableDictionary arguments, string definedInMaterial, string entryPoint, - ImmutableDictionary environment, + ImmutableDictionary environment, string type) { diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SourceResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SourceResponse.cs index 2e742a8354..2734fc48cd 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SourceResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/SourceResponse.cs @@ -31,7 +31,7 @@ public sealed class SourceResponse /// /// Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. /// - public readonly ImmutableDictionary FileHashes; + public readonly ImmutableDictionary FileHashes; /// /// If provided, get source from this location in a Cloud Repo. /// @@ -49,7 +49,7 @@ private SourceResponse( Outputs.GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse context, - ImmutableDictionary fileHashes, + ImmutableDictionary fileHashes, Outputs.RepoSourceResponse repoSource, diff --git a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/StatusResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/StatusResponse.cs index c5bb903535..edf328f262 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Alpha1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/BuildDefinitionArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/BuildDefinitionArgs.cs index 9d12d10741..c9816f0d65 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/BuildDefinitionArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/BuildDefinitionArgs.cs @@ -16,18 +16,18 @@ public sealed class BuildDefinitionArgs : global::Pulumi.ResourceArgs public Input? BuildType { get; set; } [Input("externalParameters")] - private InputMap? _externalParameters; - public InputMap ExternalParameters + private InputMap? _externalParameters; + public InputMap ExternalParameters { - get => _externalParameters ?? (_externalParameters = new InputMap()); + get => _externalParameters ?? (_externalParameters = new InputMap()); set => _externalParameters = value; } [Input("internalParameters")] - private InputMap? _internalParameters; - public InputMap InternalParameters + private InputMap? _internalParameters; + public InputMap InternalParameters { - get => _internalParameters ?? (_internalParameters = new InputMap()); + get => _internalParameters ?? (_internalParameters = new InputMap()); set => _internalParameters = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/FileHashesArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/FileHashesArgs.cs new file mode 100644 index 0000000000..c84adfdf6f --- /dev/null +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/FileHashesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ContainerAnalysis.V1Beta1.Inputs +{ + + /// + /// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + /// + public sealed class FileHashesArgs : global::Pulumi.ResourceArgs + { + [Input("fileHash", required: true)] + private InputList? _fileHash; + + /// + /// Collection of file hashes. + /// + public InputList FileHash + { + get => _fileHash ?? (_fileHash = new InputList()); + set => _fileHash = value; + } + + public FileHashesArgs() + { + } + public static new FileHashesArgs Empty => new FileHashesArgs(); + } +} diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/ResourceDescriptorArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/ResourceDescriptorArgs.cs index c8b1cc31c7..17670e9fde 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/ResourceDescriptorArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/ResourceDescriptorArgs.cs @@ -13,10 +13,10 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1Beta1.Inputs public sealed class ResourceDescriptorArgs : global::Pulumi.ResourceArgs { [Input("annotations")] - private InputMap? _annotations; - public InputMap Annotations + private InputMap? _annotations; + public InputMap Annotations { - get => _annotations ?? (_annotations = new InputMap()); + get => _annotations ?? (_annotations = new InputMap()); set => _annotations = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/SourceArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/SourceArgs.cs index 7f7b56b08c..fb25926a81 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/SourceArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/SourceArgs.cs @@ -40,14 +40,14 @@ public InputList AdditionalContexts public Input? Context { get; set; } [Input("fileHashes")] - private InputMap? _fileHashes; + private InputMap? _fileHashes; /// /// Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. /// - public InputMap FileHashes + public InputMap FileHashes { - get => _fileHashes ?? (_fileHashes = new InputMap()); + get => _fileHashes ?? (_fileHashes = new InputMap()); set => _fileHashes = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/StatusArgs.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/StatusArgs.cs index a820ddd826..7ab88d1601 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/StatusArgs.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Inputs/StatusArgs.cs @@ -22,14 +22,14 @@ public sealed class StatusArgs : global::Pulumi.ResourceArgs public Input? Code { get; set; } [Input("details")] - private InputList>? _details; + private InputList>? _details; /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public InputList> Details + public InputList> Details { - get => _details ?? (_details = new InputList>()); + get => _details ?? (_details = new InputList>()); set => _details = value; } diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/BuildDefinitionResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/BuildDefinitionResponse.cs index f8258e12d7..5028982c88 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/BuildDefinitionResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/BuildDefinitionResponse.cs @@ -14,17 +14,17 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1Beta1.Outputs public sealed class BuildDefinitionResponse { public readonly string BuildType; - public readonly ImmutableDictionary ExternalParameters; - public readonly ImmutableDictionary InternalParameters; + public readonly ImmutableDictionary ExternalParameters; + public readonly ImmutableDictionary InternalParameters; public readonly ImmutableArray ResolvedDependencies; [OutputConstructor] private BuildDefinitionResponse( string buildType, - ImmutableDictionary externalParameters, + ImmutableDictionary externalParameters, - ImmutableDictionary internalParameters, + ImmutableDictionary internalParameters, ImmutableArray resolvedDependencies) { diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/FileHashesResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/FileHashesResponse.cs new file mode 100644 index 0000000000..0fbe87e0b6 --- /dev/null +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/FileHashesResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.ContainerAnalysis.V1Beta1.Outputs +{ + + /// + /// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + /// + [OutputType] + public sealed class FileHashesResponse + { + /// + /// Collection of file hashes. + /// + public readonly ImmutableArray FileHash; + + [OutputConstructor] + private FileHashesResponse(ImmutableArray fileHash) + { + FileHash = fileHash; + } + } +} diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/ResourceDescriptorResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/ResourceDescriptorResponse.cs index 4340222761..f95999d960 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/ResourceDescriptorResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/ResourceDescriptorResponse.cs @@ -13,7 +13,7 @@ namespace Pulumi.GoogleNative.ContainerAnalysis.V1Beta1.Outputs [OutputType] public sealed class ResourceDescriptorResponse { - public readonly ImmutableDictionary Annotations; + public readonly ImmutableDictionary Annotations; public readonly string Content; public readonly ImmutableDictionary Digest; public readonly string DownloadLocation; @@ -23,7 +23,7 @@ public sealed class ResourceDescriptorResponse [OutputConstructor] private ResourceDescriptorResponse( - ImmutableDictionary annotations, + ImmutableDictionary annotations, string content, diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/SourceResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/SourceResponse.cs index fec50eed19..ff35f8d1a6 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/SourceResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/SourceResponse.cs @@ -31,7 +31,7 @@ public sealed class SourceResponse /// /// Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. /// - public readonly ImmutableDictionary FileHashes; + public readonly ImmutableDictionary FileHashes; [OutputConstructor] private SourceResponse( @@ -41,7 +41,7 @@ private SourceResponse( Outputs.SourceContextResponse context, - ImmutableDictionary fileHashes) + ImmutableDictionary fileHashes) { AdditionalContexts = additionalContexts; ArtifactStorageSourceUri = artifactStorageSourceUri; diff --git a/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/StatusResponse.cs b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/StatusResponse.cs index e91c8e1f32..4fb6c93aa4 100644 --- a/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/ContainerAnalysis/V1Beta1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1EnumValueArgs.cs b/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1EnumValueArgs.cs new file mode 100644 index 0000000000..9fbafde16e --- /dev/null +++ b/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1EnumValueArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Contentwarehouse.V1.Inputs +{ + + /// + /// Represents the string value of the enum field. + /// + public sealed class GoogleCloudContentwarehouseV1EnumValueArgs : global::Pulumi.ResourceArgs + { + /// + /// String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + /// + [Input("value")] + public Input? Value { get; set; } + + public GoogleCloudContentwarehouseV1EnumValueArgs() + { + } + public static new GoogleCloudContentwarehouseV1EnumValueArgs Empty => new GoogleCloudContentwarehouseV1EnumValueArgs(); + } +} diff --git a/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1MapPropertyArgs.cs b/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1MapPropertyArgs.cs index 72695c0095..b4e30fc30f 100644 --- a/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1MapPropertyArgs.cs +++ b/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1MapPropertyArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Contentwarehouse.V1.Inputs public sealed class GoogleCloudContentwarehouseV1MapPropertyArgs : global::Pulumi.ResourceArgs { [Input("fields")] - private InputMap? _fields; + private InputMap? _fields; /// /// Unordered map of dynamically typed values. /// - public InputMap Fields + public InputMap Fields { - get => _fields ?? (_fields = new InputMap()); + get => _fields ?? (_fields = new InputMap()); set => _fields = value; } diff --git a/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1ValueArgs.cs b/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1ValueArgs.cs new file mode 100644 index 0000000000..0ca27f0e2f --- /dev/null +++ b/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleCloudContentwarehouseV1ValueArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Contentwarehouse.V1.Inputs +{ + + /// + /// `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + /// + public sealed class GoogleCloudContentwarehouseV1ValueArgs : global::Pulumi.ResourceArgs + { + /// + /// Represents a boolean value. + /// + [Input("booleanValue")] + public Input? BooleanValue { get; set; } + + /// + /// Represents a datetime value. + /// + [Input("datetimeValue")] + public Input? DatetimeValue { get; set; } + + /// + /// Represents an enum value. + /// + [Input("enumValue")] + public Input? EnumValue { get; set; } + + /// + /// Represents a float value. + /// + [Input("floatValue")] + public Input? FloatValue { get; set; } + + /// + /// Represents a integer value. + /// + [Input("intValue")] + public Input? IntValue { get; set; } + + /// + /// Represents a string value. + /// + [Input("stringValue")] + public Input? StringValue { get; set; } + + /// + /// Represents a timestamp value. + /// + [Input("timestampValue")] + public Input? TimestampValue { get; set; } + + public GoogleCloudContentwarehouseV1ValueArgs() + { + } + public static new GoogleCloudContentwarehouseV1ValueArgs Empty => new GoogleCloudContentwarehouseV1ValueArgs(); + } +} diff --git a/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleRpcStatusArgs.cs b/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleRpcStatusArgs.cs index 8ff04d7ceb..0eb5ddd842 100644 --- a/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleRpcStatusArgs.cs +++ b/sdk/dotnet/Contentwarehouse/V1/Inputs/GoogleRpcStatusArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleRpcStatusArgs : global::Pulumi.ResourceArgs public Input? Code { get; set; } [Input("details")] - private InputList>? _details; + private InputList>? _details; /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public InputList> Details + public InputList> Details { - get => _details ?? (_details = new InputList>()); + get => _details ?? (_details = new InputList>()); set => _details = value; } diff --git a/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1EnumValueResponse.cs b/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1EnumValueResponse.cs new file mode 100644 index 0000000000..cac71403de --- /dev/null +++ b/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1EnumValueResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Contentwarehouse.V1.Outputs +{ + + /// + /// Represents the string value of the enum field. + /// + [OutputType] + public sealed class GoogleCloudContentwarehouseV1EnumValueResponse + { + /// + /// String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + /// + public readonly string Value; + + [OutputConstructor] + private GoogleCloudContentwarehouseV1EnumValueResponse(string value) + { + Value = value; + } + } +} diff --git a/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1MapPropertyResponse.cs b/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1MapPropertyResponse.cs index 8f9393299b..ac85ffaf66 100644 --- a/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1MapPropertyResponse.cs +++ b/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1MapPropertyResponse.cs @@ -19,10 +19,10 @@ public sealed class GoogleCloudContentwarehouseV1MapPropertyResponse /// /// Unordered map of dynamically typed values. /// - public readonly ImmutableDictionary Fields; + public readonly ImmutableDictionary Fields; [OutputConstructor] - private GoogleCloudContentwarehouseV1MapPropertyResponse(ImmutableDictionary fields) + private GoogleCloudContentwarehouseV1MapPropertyResponse(ImmutableDictionary fields) { Fields = fields; } diff --git a/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1ValueResponse.cs b/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1ValueResponse.cs new file mode 100644 index 0000000000..123efc810f --- /dev/null +++ b/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleCloudContentwarehouseV1ValueResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Contentwarehouse.V1.Outputs +{ + + /// + /// `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + /// + [OutputType] + public sealed class GoogleCloudContentwarehouseV1ValueResponse + { + /// + /// Represents a boolean value. + /// + public readonly bool BooleanValue; + /// + /// Represents a datetime value. + /// + public readonly Outputs.GoogleTypeDateTimeResponse DatetimeValue; + /// + /// Represents an enum value. + /// + public readonly Outputs.GoogleCloudContentwarehouseV1EnumValueResponse EnumValue; + /// + /// Represents a float value. + /// + public readonly double FloatValue; + /// + /// Represents a integer value. + /// + public readonly int IntValue; + /// + /// Represents a string value. + /// + public readonly string StringValue; + /// + /// Represents a timestamp value. + /// + public readonly Outputs.GoogleCloudContentwarehouseV1TimestampValueResponse TimestampValue; + + [OutputConstructor] + private GoogleCloudContentwarehouseV1ValueResponse( + bool booleanValue, + + Outputs.GoogleTypeDateTimeResponse datetimeValue, + + Outputs.GoogleCloudContentwarehouseV1EnumValueResponse enumValue, + + double floatValue, + + int intValue, + + string stringValue, + + Outputs.GoogleCloudContentwarehouseV1TimestampValueResponse timestampValue) + { + BooleanValue = booleanValue; + DatetimeValue = datetimeValue; + EnumValue = enumValue; + FloatValue = floatValue; + IntValue = intValue; + StringValue = stringValue; + TimestampValue = timestampValue; + } + } +} diff --git a/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleRpcStatusResponse.cs index b0e402a883..7cc936bbbf 100644 --- a/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/Contentwarehouse/V1/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/DLP/V2/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/DLP/V2/Outputs/GoogleRpcStatusResponse.cs index aa87833115..126005a143 100644 --- a/sdk/dotnet/DLP/V2/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/DLP/V2/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/DataCatalog/V1/Enums.cs b/sdk/dotnet/DataCatalog/V1/Enums.cs index 7745ddba03..208b829814 100644 --- a/sdk/dotnet/DataCatalog/V1/Enums.cs +++ b/sdk/dotnet/DataCatalog/V1/Enums.cs @@ -284,6 +284,59 @@ private GoogleCloudDatacatalogV1DatabaseTableSpecType(string value) public override string ToString() => _value; } + /// + /// Primitive types, such as string, boolean, etc. + /// + [EnumType] + public readonly struct GoogleCloudDatacatalogV1FieldTypePrimitiveType : IEquatable + { + private readonly string _value; + + private GoogleCloudDatacatalogV1FieldTypePrimitiveType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The default invalid value for a type. + /// + public static GoogleCloudDatacatalogV1FieldTypePrimitiveType PrimitiveTypeUnspecified { get; } = new GoogleCloudDatacatalogV1FieldTypePrimitiveType("PRIMITIVE_TYPE_UNSPECIFIED"); + /// + /// A double precision number. + /// + public static GoogleCloudDatacatalogV1FieldTypePrimitiveType Double { get; } = new GoogleCloudDatacatalogV1FieldTypePrimitiveType("DOUBLE"); + /// + /// An UTF-8 string. + /// + public static GoogleCloudDatacatalogV1FieldTypePrimitiveType String { get; } = new GoogleCloudDatacatalogV1FieldTypePrimitiveType("STRING"); + /// + /// A boolean value. + /// + public static GoogleCloudDatacatalogV1FieldTypePrimitiveType Bool { get; } = new GoogleCloudDatacatalogV1FieldTypePrimitiveType("BOOL"); + /// + /// A timestamp. + /// + public static GoogleCloudDatacatalogV1FieldTypePrimitiveType Timestamp { get; } = new GoogleCloudDatacatalogV1FieldTypePrimitiveType("TIMESTAMP"); + /// + /// A Richtext description. + /// + public static GoogleCloudDatacatalogV1FieldTypePrimitiveType Richtext { get; } = new GoogleCloudDatacatalogV1FieldTypePrimitiveType("RICHTEXT"); + + public static bool operator ==(GoogleCloudDatacatalogV1FieldTypePrimitiveType left, GoogleCloudDatacatalogV1FieldTypePrimitiveType right) => left.Equals(right); + public static bool operator !=(GoogleCloudDatacatalogV1FieldTypePrimitiveType left, GoogleCloudDatacatalogV1FieldTypePrimitiveType right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudDatacatalogV1FieldTypePrimitiveType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudDatacatalogV1FieldTypePrimitiveType other && Equals(other); + public bool Equals(GoogleCloudDatacatalogV1FieldTypePrimitiveType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Specifies whether the argument is input or output. /// diff --git a/sdk/dotnet/DataCatalog/V1/GetTagTemplate.cs b/sdk/dotnet/DataCatalog/V1/GetTagTemplate.cs index 89de5fb3d6..c1afbd9c71 100644 --- a/sdk/dotnet/DataCatalog/V1/GetTagTemplate.cs +++ b/sdk/dotnet/DataCatalog/V1/GetTagTemplate.cs @@ -70,7 +70,7 @@ public sealed class GetTagTemplateResult /// /// Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. /// - public readonly ImmutableDictionary Fields; + public readonly ImmutableDictionary Fields; /// /// Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. /// @@ -84,7 +84,7 @@ public sealed class GetTagTemplateResult private GetTagTemplateResult( string displayName, - ImmutableDictionary fields, + ImmutableDictionary fields, bool isPubliclyReadable, diff --git a/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1CommonUsageStatsArgs.cs b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1CommonUsageStatsArgs.cs new file mode 100644 index 0000000000..fac978e23d --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1CommonUsageStatsArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Inputs +{ + + /// + /// Common statistics on the entry's usage. They can be set on any system. + /// + public sealed class GoogleCloudDatacatalogV1CommonUsageStatsArgs : global::Pulumi.ResourceArgs + { + /// + /// View count in source system. + /// + [Input("viewCount")] + public Input? ViewCount { get; set; } + + public GoogleCloudDatacatalogV1CommonUsageStatsArgs() + { + } + public static new GoogleCloudDatacatalogV1CommonUsageStatsArgs Empty => new GoogleCloudDatacatalogV1CommonUsageStatsArgs(); + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1FieldTypeArgs.cs b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1FieldTypeArgs.cs new file mode 100644 index 0000000000..9686425394 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1FieldTypeArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Inputs +{ + + public sealed class GoogleCloudDatacatalogV1FieldTypeArgs : global::Pulumi.ResourceArgs + { + /// + /// An enum type. + /// + [Input("enumType")] + public Input? EnumType { get; set; } + + /// + /// Primitive types, such as string, boolean, etc. + /// + [Input("primitiveType")] + public Input? PrimitiveType { get; set; } + + public GoogleCloudDatacatalogV1FieldTypeArgs() + { + } + public static new GoogleCloudDatacatalogV1FieldTypeArgs Empty => new GoogleCloudDatacatalogV1FieldTypeArgs(); + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs.cs b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs.cs new file mode 100644 index 0000000000..0fe43af746 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Inputs +{ + + public sealed class GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs : global::Pulumi.ResourceArgs + { + [Input("allowedValues")] + private InputList? _allowedValues; + + /// + /// The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + /// + public InputList AllowedValues + { + get => _allowedValues ?? (_allowedValues = new InputList()); + set => _allowedValues = value; + } + + public GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs() + { + } + public static new GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs Empty => new GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs(); + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs.cs b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs.cs new file mode 100644 index 0000000000..84a7bac0db --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Inputs +{ + + public sealed class GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs : global::Pulumi.ResourceArgs + { + /// + /// The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + public GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs() + { + } + public static new GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs Empty => new GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs(); + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1TagTemplateFieldArgs.cs b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1TagTemplateFieldArgs.cs new file mode 100644 index 0000000000..3a7133e195 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1TagTemplateFieldArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Inputs +{ + + /// + /// The template for an individual field within a tag template. + /// + public sealed class GoogleCloudDatacatalogV1TagTemplateFieldArgs : global::Pulumi.ResourceArgs + { + /// + /// The description for this field. Defaults to an empty string. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// If true, this field is required. Defaults to false. + /// + [Input("isRequired")] + public Input? IsRequired { get; set; } + + /// + /// The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + /// + [Input("order")] + public Input? Order { get; set; } + + /// + /// The type of value this tag field can contain. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public GoogleCloudDatacatalogV1TagTemplateFieldArgs() + { + } + public static new GoogleCloudDatacatalogV1TagTemplateFieldArgs Empty => new GoogleCloudDatacatalogV1TagTemplateFieldArgs(); + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1UsageSignalArgs.cs b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1UsageSignalArgs.cs index d445b89cb5..aadf2615d1 100644 --- a/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1UsageSignalArgs.cs +++ b/sdk/dotnet/DataCatalog/V1/Inputs/GoogleCloudDatacatalogV1UsageSignalArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.DataCatalog.V1.Inputs public sealed class GoogleCloudDatacatalogV1UsageSignalArgs : global::Pulumi.ResourceArgs { [Input("commonUsageWithinTimeRange")] - private InputMap? _commonUsageWithinTimeRange; + private InputMap? _commonUsageWithinTimeRange; /// /// Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. /// - public InputMap CommonUsageWithinTimeRange + public InputMap CommonUsageWithinTimeRange { - get => _commonUsageWithinTimeRange ?? (_commonUsageWithinTimeRange = new InputMap()); + get => _commonUsageWithinTimeRange ?? (_commonUsageWithinTimeRange = new InputMap()); set => _commonUsageWithinTimeRange = value; } diff --git a/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1CommonUsageStatsResponse.cs b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1CommonUsageStatsResponse.cs new file mode 100644 index 0000000000..ebac2a2542 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1CommonUsageStatsResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Outputs +{ + + /// + /// Common statistics on the entry's usage. They can be set on any system. + /// + [OutputType] + public sealed class GoogleCloudDatacatalogV1CommonUsageStatsResponse + { + /// + /// View count in source system. + /// + public readonly string ViewCount; + + [OutputConstructor] + private GoogleCloudDatacatalogV1CommonUsageStatsResponse(string viewCount) + { + ViewCount = viewCount; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse.cs b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse.cs new file mode 100644 index 0000000000..18d678ec07 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Outputs +{ + + [OutputType] + public sealed class GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse + { + /// + /// The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + /// + public readonly string DisplayName; + + [OutputConstructor] + private GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse(string displayName) + { + DisplayName = displayName; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse.cs b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse.cs new file mode 100644 index 0000000000..5371abd8c3 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Outputs +{ + + [OutputType] + public sealed class GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse + { + /// + /// The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + /// + public readonly ImmutableArray AllowedValues; + + [OutputConstructor] + private GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse(ImmutableArray allowedValues) + { + AllowedValues = allowedValues; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1FieldTypeResponse.cs b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1FieldTypeResponse.cs new file mode 100644 index 0000000000..0d7d4905ea --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1FieldTypeResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Outputs +{ + + [OutputType] + public sealed class GoogleCloudDatacatalogV1FieldTypeResponse + { + /// + /// An enum type. + /// + public readonly Outputs.GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse EnumType; + /// + /// Primitive types, such as string, boolean, etc. + /// + public readonly string PrimitiveType; + + [OutputConstructor] + private GoogleCloudDatacatalogV1FieldTypeResponse( + Outputs.GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse enumType, + + string primitiveType) + { + EnumType = enumType; + PrimitiveType = primitiveType; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1TagTemplateFieldResponse.cs b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1TagTemplateFieldResponse.cs new file mode 100644 index 0000000000..17d0e74a79 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1TagTemplateFieldResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Outputs +{ + + /// + /// The template for an individual field within a tag template. + /// + [OutputType] + public sealed class GoogleCloudDatacatalogV1TagTemplateFieldResponse + { + /// + /// The description for this field. Defaults to an empty string. + /// + public readonly string Description; + /// + /// The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + /// + public readonly string DisplayName; + /// + /// If true, this field is required. Defaults to false. + /// + public readonly bool IsRequired; + /// + /// The resource name of the tag template field in URL format. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}` Note: The tag template field itself might not be stored in the location specified in its name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 64 characters. + /// + public readonly string Name; + /// + /// The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + /// + public readonly int Order; + /// + /// The type of value this tag field can contain. + /// + public readonly Outputs.GoogleCloudDatacatalogV1FieldTypeResponse Type; + + [OutputConstructor] + private GoogleCloudDatacatalogV1TagTemplateFieldResponse( + string description, + + string displayName, + + bool isRequired, + + string name, + + int order, + + Outputs.GoogleCloudDatacatalogV1FieldTypeResponse type) + { + Description = description; + DisplayName = displayName; + IsRequired = isRequired; + Name = name; + Order = order; + Type = type; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1UsageSignalResponse.cs b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1UsageSignalResponse.cs index 7ef0432e9c..05c5ca876a 100644 --- a/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1UsageSignalResponse.cs +++ b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1UsageSignalResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudDatacatalogV1UsageSignalResponse /// /// Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. /// - public readonly ImmutableDictionary CommonUsageWithinTimeRange; + public readonly ImmutableDictionary CommonUsageWithinTimeRange; /// /// Favorite count in the source system. /// @@ -31,17 +31,17 @@ public sealed class GoogleCloudDatacatalogV1UsageSignalResponse /// /// BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D"}`. /// - public readonly ImmutableDictionary UsageWithinTimeRange; + public readonly ImmutableDictionary UsageWithinTimeRange; [OutputConstructor] private GoogleCloudDatacatalogV1UsageSignalResponse( - ImmutableDictionary commonUsageWithinTimeRange, + ImmutableDictionary commonUsageWithinTimeRange, string favoriteCount, string updateTime, - ImmutableDictionary usageWithinTimeRange) + ImmutableDictionary usageWithinTimeRange) { CommonUsageWithinTimeRange = commonUsageWithinTimeRange; FavoriteCount = favoriteCount; diff --git a/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1UsageStatsResponse.cs b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1UsageStatsResponse.cs new file mode 100644 index 0000000000..c62d10ec36 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1/Outputs/GoogleCloudDatacatalogV1UsageStatsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1.Outputs +{ + + /// + /// Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables) + /// + [OutputType] + public sealed class GoogleCloudDatacatalogV1UsageStatsResponse + { + /// + /// The number of cancelled attempts to use the underlying entry. + /// + public readonly double TotalCancellations; + /// + /// The number of successful uses of the underlying entry. + /// + public readonly double TotalCompletions; + /// + /// Total time spent only on successful uses, in milliseconds. + /// + public readonly double TotalExecutionTimeForCompletionsMillis; + /// + /// The number of failed attempts to use the underlying entry. + /// + public readonly double TotalFailures; + + [OutputConstructor] + private GoogleCloudDatacatalogV1UsageStatsResponse( + double totalCancellations, + + double totalCompletions, + + double totalExecutionTimeForCompletionsMillis, + + double totalFailures) + { + TotalCancellations = totalCancellations; + TotalCompletions = totalCompletions; + TotalExecutionTimeForCompletionsMillis = totalExecutionTimeForCompletionsMillis; + TotalFailures = totalFailures; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1/TagTemplate.cs b/sdk/dotnet/DataCatalog/V1/TagTemplate.cs index 31eda08661..34899250a9 100644 --- a/sdk/dotnet/DataCatalog/V1/TagTemplate.cs +++ b/sdk/dotnet/DataCatalog/V1/TagTemplate.cs @@ -25,7 +25,7 @@ public partial class TagTemplate : global::Pulumi.CustomResource /// Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. /// [Output("fields")] - public Output> Fields { get; private set; } = null!; + public Output> Fields { get; private set; } = null!; /// /// Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. @@ -109,14 +109,14 @@ public sealed class TagTemplateArgs : global::Pulumi.ResourceArgs public Input? DisplayName { get; set; } [Input("fields", required: true)] - private InputMap? _fields; + private InputMap? _fields; /// /// Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. /// - public InputMap Fields + public InputMap Fields { - get => _fields ?? (_fields = new InputMap()); + get => _fields ?? (_fields = new InputMap()); set => _fields = value; } diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Enums.cs b/sdk/dotnet/DataCatalog/V1Beta1/Enums.cs index cfddd2c812..cd657f3116 100644 --- a/sdk/dotnet/DataCatalog/V1Beta1/Enums.cs +++ b/sdk/dotnet/DataCatalog/V1Beta1/Enums.cs @@ -56,6 +56,55 @@ private EntryType(string value) public override string ToString() => _value; } + /// + /// Represents primitive types - string, bool etc. + /// + [EnumType] + public readonly struct GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType : IEquatable + { + private readonly string _value; + + private GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// This is the default invalid value for a type. + /// + public static GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType PrimitiveTypeUnspecified { get; } = new GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("PRIMITIVE_TYPE_UNSPECIFIED"); + /// + /// A double precision number. + /// + public static GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType Double { get; } = new GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("DOUBLE"); + /// + /// An UTF-8 string. + /// + public static GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType String { get; } = new GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("STRING"); + /// + /// A boolean value. + /// + public static GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType Bool { get; } = new GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("BOOL"); + /// + /// A timestamp. + /// + public static GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType Timestamp { get; } = new GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("TIMESTAMP"); + + public static bool operator ==(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType left, GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType right) => left.Equals(right); + public static bool operator !=(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType left, GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType other && Equals(other); + public bool Equals(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct TaxonomyActivatedPolicyTypesItem : IEquatable { diff --git a/sdk/dotnet/DataCatalog/V1Beta1/GetTagTemplate.cs b/sdk/dotnet/DataCatalog/V1Beta1/GetTagTemplate.cs index 7c009c5fe0..8bbd8877aa 100644 --- a/sdk/dotnet/DataCatalog/V1Beta1/GetTagTemplate.cs +++ b/sdk/dotnet/DataCatalog/V1Beta1/GetTagTemplate.cs @@ -70,7 +70,7 @@ public sealed class GetTagTemplateResult /// /// Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. /// - public readonly ImmutableDictionary Fields; + public readonly ImmutableDictionary Fields; /// /// The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. /// @@ -80,7 +80,7 @@ public sealed class GetTagTemplateResult private GetTagTemplateResult( string displayName, - ImmutableDictionary fields, + ImmutableDictionary fields, string name) { diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1FieldTypeArgs.cs b/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1FieldTypeArgs.cs new file mode 100644 index 0000000000..b161da74b7 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1FieldTypeArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1Beta1.Inputs +{ + + public sealed class GoogleCloudDatacatalogV1beta1FieldTypeArgs : global::Pulumi.ResourceArgs + { + /// + /// Represents an enum type. + /// + [Input("enumType")] + public Input? EnumType { get; set; } + + /// + /// Represents primitive types - string, bool etc. + /// + [Input("primitiveType")] + public Input? PrimitiveType { get; set; } + + public GoogleCloudDatacatalogV1beta1FieldTypeArgs() + { + } + public static new GoogleCloudDatacatalogV1beta1FieldTypeArgs Empty => new GoogleCloudDatacatalogV1beta1FieldTypeArgs(); + } +} diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs.cs b/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs.cs new file mode 100644 index 0000000000..1e7878a32d --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1Beta1.Inputs +{ + + public sealed class GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs : global::Pulumi.ResourceArgs + { + [Input("allowedValues")] + private InputList? _allowedValues; + public InputList AllowedValues + { + get => _allowedValues ?? (_allowedValues = new InputList()); + set => _allowedValues = value; + } + + public GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs() + { + } + public static new GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs Empty => new GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs(); + } +} diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs.cs b/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs.cs new file mode 100644 index 0000000000..0a23091d78 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1Beta1.Inputs +{ + + public sealed class GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs : global::Pulumi.ResourceArgs + { + /// + /// The display name of the enum value. Must not be an empty string. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + public GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs() + { + } + public static new GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs Empty => new GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs(); + } +} diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs.cs b/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs.cs new file mode 100644 index 0000000000..1ce229549f --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1Beta1/Inputs/GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1Beta1.Inputs +{ + + /// + /// The template for an individual field within a tag template. + /// + public sealed class GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs : global::Pulumi.ResourceArgs + { + /// + /// The description for this field. Defaults to an empty string. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name for this field. Defaults to an empty string. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Whether this is a required field. Defaults to false. + /// + [Input("isRequired")] + public Input? IsRequired { get; set; } + + /// + /// The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + /// + [Input("order")] + public Input? Order { get; set; } + + /// + /// The type of value this tag field can contain. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs() + { + } + public static new GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs Empty => new GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs(); + } +} diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse.cs b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse.cs new file mode 100644 index 0000000000..c59cdb557e --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1Beta1.Outputs +{ + + [OutputType] + public sealed class GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse + { + /// + /// The display name of the enum value. Must not be an empty string. + /// + public readonly string DisplayName; + + [OutputConstructor] + private GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse(string displayName) + { + DisplayName = displayName; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse.cs b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse.cs new file mode 100644 index 0000000000..3982a51b96 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1Beta1.Outputs +{ + + [OutputType] + public sealed class GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse + { + public readonly ImmutableArray AllowedValues; + + [OutputConstructor] + private GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse(ImmutableArray allowedValues) + { + AllowedValues = allowedValues; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1FieldTypeResponse.cs b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1FieldTypeResponse.cs new file mode 100644 index 0000000000..44b7f58281 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1FieldTypeResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1Beta1.Outputs +{ + + [OutputType] + public sealed class GoogleCloudDatacatalogV1beta1FieldTypeResponse + { + /// + /// Represents an enum type. + /// + public readonly Outputs.GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse EnumType; + /// + /// Represents primitive types - string, bool etc. + /// + public readonly string PrimitiveType; + + [OutputConstructor] + private GoogleCloudDatacatalogV1beta1FieldTypeResponse( + Outputs.GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse enumType, + + string primitiveType) + { + EnumType = enumType; + PrimitiveType = primitiveType; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse.cs b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse.cs new file mode 100644 index 0000000000..8e667438c5 --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1Beta1.Outputs +{ + + /// + /// The template for an individual field within a tag template. + /// + [OutputType] + public sealed class GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse + { + /// + /// The description for this field. Defaults to an empty string. + /// + public readonly string Description; + /// + /// The display name for this field. Defaults to an empty string. + /// + public readonly string DisplayName; + /// + /// Whether this is a required field. Defaults to false. + /// + public readonly bool IsRequired; + /// + /// The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name. + /// + public readonly string Name; + /// + /// The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + /// + public readonly int Order; + /// + /// The type of value this tag field can contain. + /// + public readonly Outputs.GoogleCloudDatacatalogV1beta1FieldTypeResponse Type; + + [OutputConstructor] + private GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse( + string description, + + string displayName, + + bool isRequired, + + string name, + + int order, + + Outputs.GoogleCloudDatacatalogV1beta1FieldTypeResponse type) + { + Description = description; + DisplayName = displayName; + IsRequired = isRequired; + Name = name; + Order = order; + Type = type; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1UsageSignalResponse.cs b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1UsageSignalResponse.cs index 5c9a7bc8f5..d65fd50f7a 100644 --- a/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1UsageSignalResponse.cs +++ b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1UsageSignalResponse.cs @@ -23,13 +23,13 @@ public sealed class GoogleCloudDatacatalogV1beta1UsageSignalResponse /// /// Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {"24H", "7D", "30D"}. /// - public readonly ImmutableDictionary UsageWithinTimeRange; + public readonly ImmutableDictionary UsageWithinTimeRange; [OutputConstructor] private GoogleCloudDatacatalogV1beta1UsageSignalResponse( string updateTime, - ImmutableDictionary usageWithinTimeRange) + ImmutableDictionary usageWithinTimeRange) { UpdateTime = updateTime; UsageWithinTimeRange = usageWithinTimeRange; diff --git a/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1UsageStatsResponse.cs b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1UsageStatsResponse.cs new file mode 100644 index 0000000000..9fc0a3435b --- /dev/null +++ b/sdk/dotnet/DataCatalog/V1Beta1/Outputs/GoogleCloudDatacatalogV1beta1UsageStatsResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DataCatalog.V1Beta1.Outputs +{ + + /// + /// Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables + /// + [OutputType] + public sealed class GoogleCloudDatacatalogV1beta1UsageStatsResponse + { + /// + /// The number of times that the underlying entry was attempted to be used but was cancelled by the user. + /// + public readonly double TotalCancellations; + /// + /// The number of times that the underlying entry was successfully used. + /// + public readonly double TotalCompletions; + /// + /// Total time spent (in milliseconds) during uses the resulted in completions. + /// + public readonly double TotalExecutionTimeForCompletionsMillis; + /// + /// The number of times that the underlying entry was attempted to be used but failed. + /// + public readonly double TotalFailures; + + [OutputConstructor] + private GoogleCloudDatacatalogV1beta1UsageStatsResponse( + double totalCancellations, + + double totalCompletions, + + double totalExecutionTimeForCompletionsMillis, + + double totalFailures) + { + TotalCancellations = totalCancellations; + TotalCompletions = totalCompletions; + TotalExecutionTimeForCompletionsMillis = totalExecutionTimeForCompletionsMillis; + TotalFailures = totalFailures; + } + } +} diff --git a/sdk/dotnet/DataCatalog/V1Beta1/TagTemplate.cs b/sdk/dotnet/DataCatalog/V1Beta1/TagTemplate.cs index 33dd228178..6b71de73cb 100644 --- a/sdk/dotnet/DataCatalog/V1Beta1/TagTemplate.cs +++ b/sdk/dotnet/DataCatalog/V1Beta1/TagTemplate.cs @@ -25,7 +25,7 @@ public partial class TagTemplate : global::Pulumi.CustomResource /// Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. /// [Output("fields")] - public Output> Fields { get; private set; } = null!; + public Output> Fields { get; private set; } = null!; [Output("location")] public Output Location { get; private set; } = null!; @@ -103,14 +103,14 @@ public sealed class TagTemplateArgs : global::Pulumi.ResourceArgs public Input? DisplayName { get; set; } [Input("fields", required: true)] - private InputMap? _fields; + private InputMap? _fields; /// /// Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. /// - public InputMap Fields + public InputMap Fields { - get => _fields ?? (_fields = new InputMap()); + get => _fields ?? (_fields = new InputMap()); set => _fields = value; } diff --git a/sdk/dotnet/DataLabeling/V1Beta1/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/DataLabeling/V1Beta1/Outputs/GoogleRpcStatusResponse.cs index 7273693dff..d88bc34716 100644 --- a/sdk/dotnet/DataLabeling/V1Beta1/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/DataLabeling/V1Beta1/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/DataLineage/V1/GetProcess.cs b/sdk/dotnet/DataLineage/V1/GetProcess.cs index f7a8e5efd1..e3e4e9182f 100644 --- a/sdk/dotnet/DataLineage/V1/GetProcess.cs +++ b/sdk/dotnet/DataLineage/V1/GetProcess.cs @@ -66,7 +66,7 @@ public sealed class GetProcessResult /// /// Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` /// @@ -82,7 +82,7 @@ public sealed class GetProcessResult [OutputConstructor] private GetProcessResult( - ImmutableDictionary attributes, + ImmutableDictionary attributes, string displayName, diff --git a/sdk/dotnet/DataLineage/V1/GetRun.cs b/sdk/dotnet/DataLineage/V1/GetRun.cs index 1468925aa7..b1e255d715 100644 --- a/sdk/dotnet/DataLineage/V1/GetRun.cs +++ b/sdk/dotnet/DataLineage/V1/GetRun.cs @@ -72,7 +72,7 @@ public sealed class GetRunResult /// /// Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` /// @@ -96,7 +96,7 @@ public sealed class GetRunResult [OutputConstructor] private GetRunResult( - ImmutableDictionary attributes, + ImmutableDictionary attributes, string displayName, diff --git a/sdk/dotnet/DataLineage/V1/Process.cs b/sdk/dotnet/DataLineage/V1/Process.cs index 0a12b905f5..202bacfaeb 100644 --- a/sdk/dotnet/DataLineage/V1/Process.cs +++ b/sdk/dotnet/DataLineage/V1/Process.cs @@ -19,7 +19,7 @@ public partial class Process : global::Pulumi.CustomResource /// Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. /// [Output("attributes")] - public Output> Attributes { get; private set; } = null!; + public Output> Attributes { get; private set; } = null!; /// /// Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` @@ -102,14 +102,14 @@ public static Process Get(string name, Input id, CustomResourceOptions? public sealed class ProcessArgs : global::Pulumi.ResourceArgs { [Input("attributes")] - private InputMap? _attributes; + private InputMap? _attributes; /// /// Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. /// - public InputMap Attributes + public InputMap Attributes { - get => _attributes ?? (_attributes = new InputMap()); + get => _attributes ?? (_attributes = new InputMap()); set => _attributes = value; } diff --git a/sdk/dotnet/DataLineage/V1/Run.cs b/sdk/dotnet/DataLineage/V1/Run.cs index 98b837e89e..6dd164ac6f 100644 --- a/sdk/dotnet/DataLineage/V1/Run.cs +++ b/sdk/dotnet/DataLineage/V1/Run.cs @@ -19,7 +19,7 @@ public partial class Run : global::Pulumi.CustomResource /// Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. /// [Output("attributes")] - public Output> Attributes { get; private set; } = null!; + public Output> Attributes { get; private set; } = null!; /// /// Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` @@ -118,14 +118,14 @@ public static Run Get(string name, Input id, CustomResourceOptions? opti public sealed class RunArgs : global::Pulumi.ResourceArgs { [Input("attributes")] - private InputMap? _attributes; + private InputMap? _attributes; /// /// Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. /// - public InputMap Attributes + public InputMap Attributes { - get => _attributes ?? (_attributes = new InputMap()); + get => _attributes ?? (_attributes = new InputMap()); set => _attributes = value; } diff --git a/sdk/dotnet/Dataflow/V1b3/Inputs/EnvironmentArgs.cs b/sdk/dotnet/Dataflow/V1b3/Inputs/EnvironmentArgs.cs index 995e5f31f3..c011877e5d 100644 --- a/sdk/dotnet/Dataflow/V1b3/Inputs/EnvironmentArgs.cs +++ b/sdk/dotnet/Dataflow/V1b3/Inputs/EnvironmentArgs.cs @@ -52,26 +52,26 @@ public InputList Experiments public Input? FlexResourceSchedulingGoal { get; set; } [Input("internalExperiments")] - private InputMap? _internalExperiments; + private InputMap? _internalExperiments; /// /// Experimental settings. /// - public InputMap InternalExperiments + public InputMap InternalExperiments { - get => _internalExperiments ?? (_internalExperiments = new InputMap()); + get => _internalExperiments ?? (_internalExperiments = new InputMap()); set => _internalExperiments = value; } [Input("sdkPipelineOptions")] - private InputMap? _sdkPipelineOptions; + private InputMap? _sdkPipelineOptions; /// /// The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. /// - public InputMap SdkPipelineOptions + public InputMap SdkPipelineOptions { - get => _sdkPipelineOptions ?? (_sdkPipelineOptions = new InputMap()); + get => _sdkPipelineOptions ?? (_sdkPipelineOptions = new InputMap()); set => _sdkPipelineOptions = value; } @@ -106,26 +106,26 @@ public InputList ServiceOptions public Input? TempStoragePrefix { get; set; } [Input("userAgent")] - private InputMap? _userAgent; + private InputMap? _userAgent; /// /// A description of the process that generated the request. /// - public InputMap UserAgent + public InputMap UserAgent { - get => _userAgent ?? (_userAgent = new InputMap()); + get => _userAgent ?? (_userAgent = new InputMap()); set => _userAgent = value; } [Input("version")] - private InputMap? _version; + private InputMap? _version; /// /// A structure describing which components and their versions of the service are required in order to run the job. /// - public InputMap Version + public InputMap Version { - get => _version ?? (_version = new InputMap()); + get => _version ?? (_version = new InputMap()); set => _version = value; } diff --git a/sdk/dotnet/Dataflow/V1b3/Inputs/JobExecutionInfoArgs.cs b/sdk/dotnet/Dataflow/V1b3/Inputs/JobExecutionInfoArgs.cs index fcf1ac1155..2e4b1a0979 100644 --- a/sdk/dotnet/Dataflow/V1b3/Inputs/JobExecutionInfoArgs.cs +++ b/sdk/dotnet/Dataflow/V1b3/Inputs/JobExecutionInfoArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Dataflow.V1b3.Inputs public sealed class JobExecutionInfoArgs : global::Pulumi.ResourceArgs { [Input("stages")] - private InputMap? _stages; + private InputMap? _stages; /// /// A mapping from each stage to the information about that stage. /// - public InputMap Stages + public InputMap Stages { - get => _stages ?? (_stages = new InputMap()); + get => _stages ?? (_stages = new InputMap()); set => _stages = value; } diff --git a/sdk/dotnet/Dataflow/V1b3/Inputs/JobExecutionStageInfoArgs.cs b/sdk/dotnet/Dataflow/V1b3/Inputs/JobExecutionStageInfoArgs.cs new file mode 100644 index 0000000000..5edced6c77 --- /dev/null +++ b/sdk/dotnet/Dataflow/V1b3/Inputs/JobExecutionStageInfoArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dataflow.V1b3.Inputs +{ + + /// + /// Contains information about how a particular google.dataflow.v1beta3.Step will be executed. + /// + public sealed class JobExecutionStageInfoArgs : global::Pulumi.ResourceArgs + { + [Input("stepName")] + private InputList? _stepName; + + /// + /// The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + /// + public InputList StepName + { + get => _stepName ?? (_stepName = new InputList()); + set => _stepName = value; + } + + public JobExecutionStageInfoArgs() + { + } + public static new JobExecutionStageInfoArgs Empty => new JobExecutionStageInfoArgs(); + } +} diff --git a/sdk/dotnet/Dataflow/V1b3/Inputs/StepArgs.cs b/sdk/dotnet/Dataflow/V1b3/Inputs/StepArgs.cs index 4f8e8112cd..d7c6703972 100644 --- a/sdk/dotnet/Dataflow/V1b3/Inputs/StepArgs.cs +++ b/sdk/dotnet/Dataflow/V1b3/Inputs/StepArgs.cs @@ -28,14 +28,14 @@ public sealed class StepArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } [Input("properties")] - private InputMap? _properties; + private InputMap? _properties; /// /// Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. /// - public InputMap Properties + public InputMap Properties { - get => _properties ?? (_properties = new InputMap()); + get => _properties ?? (_properties = new InputMap()); set => _properties = value; } diff --git a/sdk/dotnet/Dataflow/V1b3/Inputs/WorkerPoolArgs.cs b/sdk/dotnet/Dataflow/V1b3/Inputs/WorkerPoolArgs.cs index d6b3fd7564..eb1d57849a 100644 --- a/sdk/dotnet/Dataflow/V1b3/Inputs/WorkerPoolArgs.cs +++ b/sdk/dotnet/Dataflow/V1b3/Inputs/WorkerPoolArgs.cs @@ -124,14 +124,14 @@ public InputList Packages } [Input("poolArgs")] - private InputMap? _poolArgs; + private InputMap? _poolArgs; /// /// Extra arguments for this worker pool. /// - public InputMap PoolArgs + public InputMap PoolArgs { - get => _poolArgs ?? (_poolArgs = new InputMap()); + get => _poolArgs ?? (_poolArgs = new InputMap()); set => _poolArgs = value; } diff --git a/sdk/dotnet/Dataflow/V1b3/Outputs/EnvironmentResponse.cs b/sdk/dotnet/Dataflow/V1b3/Outputs/EnvironmentResponse.cs index 87b3e79a7b..2689cf0835 100644 --- a/sdk/dotnet/Dataflow/V1b3/Outputs/EnvironmentResponse.cs +++ b/sdk/dotnet/Dataflow/V1b3/Outputs/EnvironmentResponse.cs @@ -39,11 +39,11 @@ public sealed class EnvironmentResponse /// /// Experimental settings. /// - public readonly ImmutableDictionary InternalExperiments; + public readonly ImmutableDictionary InternalExperiments; /// /// The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. /// - public readonly ImmutableDictionary SdkPipelineOptions; + public readonly ImmutableDictionary SdkPipelineOptions; /// /// Identity to run virtual machines as. Defaults to the default account. /// @@ -71,11 +71,11 @@ public sealed class EnvironmentResponse /// /// A description of the process that generated the request. /// - public readonly ImmutableDictionary UserAgent; + public readonly ImmutableDictionary UserAgent; /// /// A structure describing which components and their versions of the service are required in order to run the job. /// - public readonly ImmutableDictionary Version; + public readonly ImmutableDictionary Version; /// /// The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. /// @@ -101,9 +101,9 @@ private EnvironmentResponse( string flexResourceSchedulingGoal, - ImmutableDictionary internalExperiments, + ImmutableDictionary internalExperiments, - ImmutableDictionary sdkPipelineOptions, + ImmutableDictionary sdkPipelineOptions, string serviceAccountEmail, @@ -117,9 +117,9 @@ private EnvironmentResponse( bool useStreamingEngineResourceBasedBilling, - ImmutableDictionary userAgent, + ImmutableDictionary userAgent, - ImmutableDictionary version, + ImmutableDictionary version, ImmutableArray workerPools, diff --git a/sdk/dotnet/Dataflow/V1b3/Outputs/JobExecutionInfoResponse.cs b/sdk/dotnet/Dataflow/V1b3/Outputs/JobExecutionInfoResponse.cs index f1575cce67..909e71fd9e 100644 --- a/sdk/dotnet/Dataflow/V1b3/Outputs/JobExecutionInfoResponse.cs +++ b/sdk/dotnet/Dataflow/V1b3/Outputs/JobExecutionInfoResponse.cs @@ -19,10 +19,10 @@ public sealed class JobExecutionInfoResponse /// /// A mapping from each stage to the information about that stage. /// - public readonly ImmutableDictionary Stages; + public readonly ImmutableDictionary Stages; [OutputConstructor] - private JobExecutionInfoResponse(ImmutableDictionary stages) + private JobExecutionInfoResponse(ImmutableDictionary stages) { Stages = stages; } diff --git a/sdk/dotnet/Dataflow/V1b3/Outputs/JobExecutionStageInfoResponse.cs b/sdk/dotnet/Dataflow/V1b3/Outputs/JobExecutionStageInfoResponse.cs new file mode 100644 index 0000000000..ddab963ef4 --- /dev/null +++ b/sdk/dotnet/Dataflow/V1b3/Outputs/JobExecutionStageInfoResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dataflow.V1b3.Outputs +{ + + /// + /// Contains information about how a particular google.dataflow.v1beta3.Step will be executed. + /// + [OutputType] + public sealed class JobExecutionStageInfoResponse + { + /// + /// The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + /// + public readonly ImmutableArray StepName; + + [OutputConstructor] + private JobExecutionStageInfoResponse(ImmutableArray stepName) + { + StepName = stepName; + } + } +} diff --git a/sdk/dotnet/Dataflow/V1b3/Outputs/StatusResponse.cs b/sdk/dotnet/Dataflow/V1b3/Outputs/StatusResponse.cs index bd315162f6..4534f95647 100644 --- a/sdk/dotnet/Dataflow/V1b3/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Dataflow/V1b3/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Dataflow/V1b3/Outputs/StepResponse.cs b/sdk/dotnet/Dataflow/V1b3/Outputs/StepResponse.cs index dd465f8aa8..de8e29d4f7 100644 --- a/sdk/dotnet/Dataflow/V1b3/Outputs/StepResponse.cs +++ b/sdk/dotnet/Dataflow/V1b3/Outputs/StepResponse.cs @@ -27,7 +27,7 @@ public sealed class StepResponse /// /// Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. /// - public readonly ImmutableDictionary Properties; + public readonly ImmutableDictionary Properties; [OutputConstructor] private StepResponse( @@ -35,7 +35,7 @@ private StepResponse( string name, - ImmutableDictionary properties) + ImmutableDictionary properties) { Kind = kind; Name = name; diff --git a/sdk/dotnet/Dataflow/V1b3/Outputs/WorkerPoolResponse.cs b/sdk/dotnet/Dataflow/V1b3/Outputs/WorkerPoolResponse.cs index 9a31cb558f..1ba28370f5 100644 --- a/sdk/dotnet/Dataflow/V1b3/Outputs/WorkerPoolResponse.cs +++ b/sdk/dotnet/Dataflow/V1b3/Outputs/WorkerPoolResponse.cs @@ -79,7 +79,7 @@ public sealed class WorkerPoolResponse /// /// Extra arguments for this worker pool. /// - public readonly ImmutableDictionary PoolArgs; + public readonly ImmutableDictionary PoolArgs; /// /// Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. /// @@ -137,7 +137,7 @@ private WorkerPoolResponse( ImmutableArray packages, - ImmutableDictionary poolArgs, + ImmutableDictionary poolArgs, ImmutableArray sdkHarnessContainerImages, diff --git a/sdk/dotnet/Dataform/V1Beta1/Outputs/StatusResponse.cs b/sdk/dotnet/Dataform/V1Beta1/Outputs/StatusResponse.cs index 7dfbee08f5..0cb0891052 100644 --- a/sdk/dotnet/Dataform/V1Beta1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Dataform/V1Beta1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Datamigration/V1/Inputs/ConditionalColumnSetValueArgs.cs b/sdk/dotnet/Datamigration/V1/Inputs/ConditionalColumnSetValueArgs.cs index f2d2ee0f38..efe26e4b7c 100644 --- a/sdk/dotnet/Datamigration/V1/Inputs/ConditionalColumnSetValueArgs.cs +++ b/sdk/dotnet/Datamigration/V1/Inputs/ConditionalColumnSetValueArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Datamigration.V1.Inputs public sealed class ConditionalColumnSetValueArgs : global::Pulumi.ResourceArgs { [Input("customFeatures")] - private InputMap? _customFeatures; + private InputMap? _customFeatures; /// /// Optional. Custom engine specific features. /// - public InputMap CustomFeatures + public InputMap CustomFeatures { - get => _customFeatures ?? (_customFeatures = new InputMap()); + get => _customFeatures ?? (_customFeatures = new InputMap()); set => _customFeatures = value; } diff --git a/sdk/dotnet/Datamigration/V1/Inputs/MultiColumnDatatypeChangeArgs.cs b/sdk/dotnet/Datamigration/V1/Inputs/MultiColumnDatatypeChangeArgs.cs index 92ba49cf8d..43bdb0c6d3 100644 --- a/sdk/dotnet/Datamigration/V1/Inputs/MultiColumnDatatypeChangeArgs.cs +++ b/sdk/dotnet/Datamigration/V1/Inputs/MultiColumnDatatypeChangeArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Datamigration.V1.Inputs public sealed class MultiColumnDatatypeChangeArgs : global::Pulumi.ResourceArgs { [Input("customFeatures")] - private InputMap? _customFeatures; + private InputMap? _customFeatures; /// /// Optional. Custom engine specific features. /// - public InputMap CustomFeatures + public InputMap CustomFeatures { - get => _customFeatures ?? (_customFeatures = new InputMap()); + get => _customFeatures ?? (_customFeatures = new InputMap()); set => _customFeatures = value; } diff --git a/sdk/dotnet/Datamigration/V1/Inputs/SingleColumnChangeArgs.cs b/sdk/dotnet/Datamigration/V1/Inputs/SingleColumnChangeArgs.cs index 1681187b7c..29bc1c3fcd 100644 --- a/sdk/dotnet/Datamigration/V1/Inputs/SingleColumnChangeArgs.cs +++ b/sdk/dotnet/Datamigration/V1/Inputs/SingleColumnChangeArgs.cs @@ -52,14 +52,14 @@ public sealed class SingleColumnChangeArgs : global::Pulumi.ResourceArgs public Input? Comment { get; set; } [Input("customFeatures")] - private InputMap? _customFeatures; + private InputMap? _customFeatures; /// /// Optional. Custom engine specific features. /// - public InputMap CustomFeatures + public InputMap CustomFeatures { - get => _customFeatures ?? (_customFeatures = new InputMap()); + get => _customFeatures ?? (_customFeatures = new InputMap()); set => _customFeatures = value; } diff --git a/sdk/dotnet/Datamigration/V1/Outputs/ConditionalColumnSetValueResponse.cs b/sdk/dotnet/Datamigration/V1/Outputs/ConditionalColumnSetValueResponse.cs index 1624625cc7..3ccc168ab8 100644 --- a/sdk/dotnet/Datamigration/V1/Outputs/ConditionalColumnSetValueResponse.cs +++ b/sdk/dotnet/Datamigration/V1/Outputs/ConditionalColumnSetValueResponse.cs @@ -19,7 +19,7 @@ public sealed class ConditionalColumnSetValueResponse /// /// Optional. Custom engine specific features. /// - public readonly ImmutableDictionary CustomFeatures; + public readonly ImmutableDictionary CustomFeatures; /// /// Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. /// @@ -35,7 +35,7 @@ public sealed class ConditionalColumnSetValueResponse [OutputConstructor] private ConditionalColumnSetValueResponse( - ImmutableDictionary customFeatures, + ImmutableDictionary customFeatures, Outputs.SourceNumericFilterResponse sourceNumericFilter, diff --git a/sdk/dotnet/Datamigration/V1/Outputs/MultiColumnDatatypeChangeResponse.cs b/sdk/dotnet/Datamigration/V1/Outputs/MultiColumnDatatypeChangeResponse.cs index c46da1ad32..08fc7464b7 100644 --- a/sdk/dotnet/Datamigration/V1/Outputs/MultiColumnDatatypeChangeResponse.cs +++ b/sdk/dotnet/Datamigration/V1/Outputs/MultiColumnDatatypeChangeResponse.cs @@ -19,7 +19,7 @@ public sealed class MultiColumnDatatypeChangeResponse /// /// Optional. Custom engine specific features. /// - public readonly ImmutableDictionary CustomFeatures; + public readonly ImmutableDictionary CustomFeatures; /// /// New data type. /// @@ -55,7 +55,7 @@ public sealed class MultiColumnDatatypeChangeResponse [OutputConstructor] private MultiColumnDatatypeChangeResponse( - ImmutableDictionary customFeatures, + ImmutableDictionary customFeatures, string newDataType, diff --git a/sdk/dotnet/Datamigration/V1/Outputs/SingleColumnChangeResponse.cs b/sdk/dotnet/Datamigration/V1/Outputs/SingleColumnChangeResponse.cs index a31a647b15..e29b6993f8 100644 --- a/sdk/dotnet/Datamigration/V1/Outputs/SingleColumnChangeResponse.cs +++ b/sdk/dotnet/Datamigration/V1/Outputs/SingleColumnChangeResponse.cs @@ -43,7 +43,7 @@ public sealed class SingleColumnChangeResponse /// /// Optional. Custom engine specific features. /// - public readonly ImmutableDictionary CustomFeatures; + public readonly ImmutableDictionary CustomFeatures; /// /// Optional. Column data type name. /// @@ -91,7 +91,7 @@ private SingleColumnChangeResponse( string comment, - ImmutableDictionary customFeatures, + ImmutableDictionary customFeatures, string dataType, diff --git a/sdk/dotnet/Datamigration/V1/Outputs/StatusResponse.cs b/sdk/dotnet/Datamigration/V1/Outputs/StatusResponse.cs index 9502e3f184..89e9c8637a 100644 --- a/sdk/dotnet/Datamigration/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Datamigration/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Datamigration/V1Beta1/Outputs/StatusResponse.cs b/sdk/dotnet/Datamigration/V1Beta1/Outputs/StatusResponse.cs index 390c68ea3a..40dcac47c1 100644 --- a/sdk/dotnet/Datamigration/V1Beta1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Datamigration/V1Beta1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/DeploymentManager/Alpha/Outputs/BulkInsertOperationStatusResponse.cs b/sdk/dotnet/DeploymentManager/Alpha/Outputs/BulkInsertOperationStatusResponse.cs new file mode 100644 index 0000000000..116852cd02 --- /dev/null +++ b/sdk/dotnet/DeploymentManager/Alpha/Outputs/BulkInsertOperationStatusResponse.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DeploymentManager.Alpha.Outputs +{ + + [OutputType] + public sealed class BulkInsertOperationStatusResponse + { + /// + /// Count of VMs successfully created so far. + /// + public readonly int CreatedVmCount; + /// + /// Count of VMs that got deleted during rollback. + /// + public readonly int DeletedVmCount; + /// + /// Count of VMs that started creating but encountered an error. + /// + public readonly int FailedToCreateVmCount; + /// + /// Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + /// + public readonly string Status; + /// + /// Count of VMs originally planned to be created. + /// + public readonly int TargetVmCount; + + [OutputConstructor] + private BulkInsertOperationStatusResponse( + int createdVmCount, + + int deletedVmCount, + + int failedToCreateVmCount, + + string status, + + int targetVmCount) + { + CreatedVmCount = createdVmCount; + DeletedVmCount = deletedVmCount; + FailedToCreateVmCount = failedToCreateVmCount; + Status = status; + TargetVmCount = targetVmCount; + } + } +} diff --git a/sdk/dotnet/DeploymentManager/Alpha/Outputs/InstancesBulkInsertOperationMetadataResponse.cs b/sdk/dotnet/DeploymentManager/Alpha/Outputs/InstancesBulkInsertOperationMetadataResponse.cs index 267513d84d..4b628e07f5 100644 --- a/sdk/dotnet/DeploymentManager/Alpha/Outputs/InstancesBulkInsertOperationMetadataResponse.cs +++ b/sdk/dotnet/DeploymentManager/Alpha/Outputs/InstancesBulkInsertOperationMetadataResponse.cs @@ -16,10 +16,10 @@ public sealed class InstancesBulkInsertOperationMetadataResponse /// /// Status information per location (location name is key). Example key: zones/us-central1-a /// - public readonly ImmutableDictionary PerLocationStatus; + public readonly ImmutableDictionary PerLocationStatus; [OutputConstructor] - private InstancesBulkInsertOperationMetadataResponse(ImmutableDictionary perLocationStatus) + private InstancesBulkInsertOperationMetadataResponse(ImmutableDictionary perLocationStatus) { PerLocationStatus = perLocationStatus; } diff --git a/sdk/dotnet/DeploymentManager/Alpha/Outputs/SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse.cs b/sdk/dotnet/DeploymentManager/Alpha/Outputs/SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse.cs new file mode 100644 index 0000000000..8e31a71a91 --- /dev/null +++ b/sdk/dotnet/DeploymentManager/Alpha/Outputs/SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DeploymentManager.Alpha.Outputs +{ + + [OutputType] + public sealed class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse + { + /// + /// If state is `ABANDONED` or `FAILED`, this field is populated. + /// + public readonly Outputs.StatusResponse Error; + /// + /// Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + /// + public readonly string State; + + [OutputConstructor] + private SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse( + Outputs.StatusResponse error, + + string state) + { + Error = error; + State = state; + } + } +} diff --git a/sdk/dotnet/DeploymentManager/Alpha/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs b/sdk/dotnet/DeploymentManager/Alpha/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs index 1c134263cb..05457f10b0 100644 --- a/sdk/dotnet/DeploymentManager/Alpha/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs +++ b/sdk/dotnet/DeploymentManager/Alpha/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs @@ -20,13 +20,13 @@ public sealed class SetCommonInstanceMetadataOperationMetadataResponse /// /// Status information per location (location name is key). Example key: zones/us-central1-a /// - public readonly ImmutableDictionary PerLocationOperations; + public readonly ImmutableDictionary PerLocationOperations; [OutputConstructor] private SetCommonInstanceMetadataOperationMetadataResponse( string clientOperationId, - ImmutableDictionary perLocationOperations) + ImmutableDictionary perLocationOperations) { ClientOperationId = clientOperationId; PerLocationOperations = perLocationOperations; diff --git a/sdk/dotnet/DeploymentManager/Alpha/Outputs/StatusResponse.cs b/sdk/dotnet/DeploymentManager/Alpha/Outputs/StatusResponse.cs new file mode 100644 index 0000000000..44816a9b23 --- /dev/null +++ b/sdk/dotnet/DeploymentManager/Alpha/Outputs/StatusResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DeploymentManager.Alpha.Outputs +{ + + /// + /// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + /// + [OutputType] + public sealed class StatusResponse + { + /// + /// The status code, which should be an enum value of google.rpc.Code. + /// + public readonly int Code; + /// + /// A list of messages that carry the error details. There is a common set of message types for APIs to use. + /// + public readonly ImmutableArray> Details; + /// + /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + /// + public readonly string Message; + + [OutputConstructor] + private StatusResponse( + int code, + + ImmutableArray> details, + + string message) + { + Code = code; + Details = details; + Message = message; + } + } +} diff --git a/sdk/dotnet/DeploymentManager/V2/Outputs/BulkInsertOperationStatusResponse.cs b/sdk/dotnet/DeploymentManager/V2/Outputs/BulkInsertOperationStatusResponse.cs new file mode 100644 index 0000000000..c607b4fb62 --- /dev/null +++ b/sdk/dotnet/DeploymentManager/V2/Outputs/BulkInsertOperationStatusResponse.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DeploymentManager.V2.Outputs +{ + + [OutputType] + public sealed class BulkInsertOperationStatusResponse + { + /// + /// Count of VMs successfully created so far. + /// + public readonly int CreatedVmCount; + /// + /// Count of VMs that got deleted during rollback. + /// + public readonly int DeletedVmCount; + /// + /// Count of VMs that started creating but encountered an error. + /// + public readonly int FailedToCreateVmCount; + /// + /// Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + /// + public readonly string Status; + /// + /// Count of VMs originally planned to be created. + /// + public readonly int TargetVmCount; + + [OutputConstructor] + private BulkInsertOperationStatusResponse( + int createdVmCount, + + int deletedVmCount, + + int failedToCreateVmCount, + + string status, + + int targetVmCount) + { + CreatedVmCount = createdVmCount; + DeletedVmCount = deletedVmCount; + FailedToCreateVmCount = failedToCreateVmCount; + Status = status; + TargetVmCount = targetVmCount; + } + } +} diff --git a/sdk/dotnet/DeploymentManager/V2/Outputs/InstancesBulkInsertOperationMetadataResponse.cs b/sdk/dotnet/DeploymentManager/V2/Outputs/InstancesBulkInsertOperationMetadataResponse.cs index d6ef2a2efe..d058226389 100644 --- a/sdk/dotnet/DeploymentManager/V2/Outputs/InstancesBulkInsertOperationMetadataResponse.cs +++ b/sdk/dotnet/DeploymentManager/V2/Outputs/InstancesBulkInsertOperationMetadataResponse.cs @@ -16,10 +16,10 @@ public sealed class InstancesBulkInsertOperationMetadataResponse /// /// Status information per location (location name is key). Example key: zones/us-central1-a /// - public readonly ImmutableDictionary PerLocationStatus; + public readonly ImmutableDictionary PerLocationStatus; [OutputConstructor] - private InstancesBulkInsertOperationMetadataResponse(ImmutableDictionary perLocationStatus) + private InstancesBulkInsertOperationMetadataResponse(ImmutableDictionary perLocationStatus) { PerLocationStatus = perLocationStatus; } diff --git a/sdk/dotnet/DeploymentManager/V2/Outputs/SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse.cs b/sdk/dotnet/DeploymentManager/V2/Outputs/SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse.cs new file mode 100644 index 0000000000..a3b35286bb --- /dev/null +++ b/sdk/dotnet/DeploymentManager/V2/Outputs/SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DeploymentManager.V2.Outputs +{ + + [OutputType] + public sealed class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse + { + /// + /// If state is `ABANDONED` or `FAILED`, this field is populated. + /// + public readonly Outputs.StatusResponse Error; + /// + /// Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + /// + public readonly string State; + + [OutputConstructor] + private SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse( + Outputs.StatusResponse error, + + string state) + { + Error = error; + State = state; + } + } +} diff --git a/sdk/dotnet/DeploymentManager/V2/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs b/sdk/dotnet/DeploymentManager/V2/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs index b5f505f77c..ea8abd6a59 100644 --- a/sdk/dotnet/DeploymentManager/V2/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs +++ b/sdk/dotnet/DeploymentManager/V2/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs @@ -20,13 +20,13 @@ public sealed class SetCommonInstanceMetadataOperationMetadataResponse /// /// Status information per location (location name is key). Example key: zones/us-central1-a /// - public readonly ImmutableDictionary PerLocationOperations; + public readonly ImmutableDictionary PerLocationOperations; [OutputConstructor] private SetCommonInstanceMetadataOperationMetadataResponse( string clientOperationId, - ImmutableDictionary perLocationOperations) + ImmutableDictionary perLocationOperations) { ClientOperationId = clientOperationId; PerLocationOperations = perLocationOperations; diff --git a/sdk/dotnet/DeploymentManager/V2/Outputs/StatusResponse.cs b/sdk/dotnet/DeploymentManager/V2/Outputs/StatusResponse.cs new file mode 100644 index 0000000000..7004ab3f7e --- /dev/null +++ b/sdk/dotnet/DeploymentManager/V2/Outputs/StatusResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DeploymentManager.V2.Outputs +{ + + /// + /// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + /// + [OutputType] + public sealed class StatusResponse + { + /// + /// The status code, which should be an enum value of google.rpc.Code. + /// + public readonly int Code; + /// + /// A list of messages that carry the error details. There is a common set of message types for APIs to use. + /// + public readonly ImmutableArray> Details; + /// + /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + /// + public readonly string Message; + + [OutputConstructor] + private StatusResponse( + int code, + + ImmutableArray> details, + + string message) + { + Code = code; + Details = details; + Message = message; + } + } +} diff --git a/sdk/dotnet/DeploymentManager/V2Beta/Outputs/BulkInsertOperationStatusResponse.cs b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/BulkInsertOperationStatusResponse.cs new file mode 100644 index 0000000000..3243713c2b --- /dev/null +++ b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/BulkInsertOperationStatusResponse.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DeploymentManager.V2Beta.Outputs +{ + + [OutputType] + public sealed class BulkInsertOperationStatusResponse + { + /// + /// Count of VMs successfully created so far. + /// + public readonly int CreatedVmCount; + /// + /// Count of VMs that got deleted during rollback. + /// + public readonly int DeletedVmCount; + /// + /// Count of VMs that started creating but encountered an error. + /// + public readonly int FailedToCreateVmCount; + /// + /// Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + /// + public readonly string Status; + /// + /// Count of VMs originally planned to be created. + /// + public readonly int TargetVmCount; + + [OutputConstructor] + private BulkInsertOperationStatusResponse( + int createdVmCount, + + int deletedVmCount, + + int failedToCreateVmCount, + + string status, + + int targetVmCount) + { + CreatedVmCount = createdVmCount; + DeletedVmCount = deletedVmCount; + FailedToCreateVmCount = failedToCreateVmCount; + Status = status; + TargetVmCount = targetVmCount; + } + } +} diff --git a/sdk/dotnet/DeploymentManager/V2Beta/Outputs/InstancesBulkInsertOperationMetadataResponse.cs b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/InstancesBulkInsertOperationMetadataResponse.cs index ccbb366b69..72d3fa4d47 100644 --- a/sdk/dotnet/DeploymentManager/V2Beta/Outputs/InstancesBulkInsertOperationMetadataResponse.cs +++ b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/InstancesBulkInsertOperationMetadataResponse.cs @@ -16,10 +16,10 @@ public sealed class InstancesBulkInsertOperationMetadataResponse /// /// Status information per location (location name is key). Example key: zones/us-central1-a /// - public readonly ImmutableDictionary PerLocationStatus; + public readonly ImmutableDictionary PerLocationStatus; [OutputConstructor] - private InstancesBulkInsertOperationMetadataResponse(ImmutableDictionary perLocationStatus) + private InstancesBulkInsertOperationMetadataResponse(ImmutableDictionary perLocationStatus) { PerLocationStatus = perLocationStatus; } diff --git a/sdk/dotnet/DeploymentManager/V2Beta/Outputs/SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse.cs b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse.cs new file mode 100644 index 0000000000..9eb6c8432e --- /dev/null +++ b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DeploymentManager.V2Beta.Outputs +{ + + [OutputType] + public sealed class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse + { + /// + /// If state is `ABANDONED` or `FAILED`, this field is populated. + /// + public readonly Outputs.StatusResponse Error; + /// + /// Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + /// + public readonly string State; + + [OutputConstructor] + private SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse( + Outputs.StatusResponse error, + + string state) + { + Error = error; + State = state; + } + } +} diff --git a/sdk/dotnet/DeploymentManager/V2Beta/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs index 1c191ccad3..3789c0b0a8 100644 --- a/sdk/dotnet/DeploymentManager/V2Beta/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs +++ b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/SetCommonInstanceMetadataOperationMetadataResponse.cs @@ -20,13 +20,13 @@ public sealed class SetCommonInstanceMetadataOperationMetadataResponse /// /// Status information per location (location name is key). Example key: zones/us-central1-a /// - public readonly ImmutableDictionary PerLocationOperations; + public readonly ImmutableDictionary PerLocationOperations; [OutputConstructor] private SetCommonInstanceMetadataOperationMetadataResponse( string clientOperationId, - ImmutableDictionary perLocationOperations) + ImmutableDictionary perLocationOperations) { ClientOperationId = clientOperationId; PerLocationOperations = perLocationOperations; diff --git a/sdk/dotnet/DeploymentManager/V2Beta/Outputs/StatusResponse.cs b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/StatusResponse.cs new file mode 100644 index 0000000000..5363c5567b --- /dev/null +++ b/sdk/dotnet/DeploymentManager/V2Beta/Outputs/StatusResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.DeploymentManager.V2Beta.Outputs +{ + + /// + /// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + /// + [OutputType] + public sealed class StatusResponse + { + /// + /// The status code, which should be an enum value of google.rpc.Code. + /// + public readonly int Code; + /// + /// A list of messages that carry the error details. There is a common set of message types for APIs to use. + /// + public readonly ImmutableArray> Details; + /// + /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + /// + public readonly string Message; + + [OutputConstructor] + private StatusResponse( + int code, + + ImmutableArray> details, + + string message) + { + Code = code; + Details = details; + Message = message; + } + } +} diff --git a/sdk/dotnet/Dialogflow/V2/Context.cs b/sdk/dotnet/Dialogflow/V2/Context.cs index 0a4c6acd08..c789163c0d 100644 --- a/sdk/dotnet/Dialogflow/V2/Context.cs +++ b/sdk/dotnet/Dialogflow/V2/Context.cs @@ -38,7 +38,7 @@ public partial class Context : global::Pulumi.CustomResource /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// [Output("parameters")] - public Output> Parameters { get; private set; } = null!; + public Output> Parameters { get; private set; } = null!; [Output("project")] public Output Project { get; private set; } = null!; @@ -121,14 +121,14 @@ public sealed class ContextArgs : global::Pulumi.ResourceArgs public Input Name { get; set; } = null!; [Input("parameters")] - private InputMap? _parameters; + private InputMap? _parameters; /// /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// - public InputMap Parameters + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/Dialogflow/V2/GetContext.cs b/sdk/dotnet/Dialogflow/V2/GetContext.cs index 9ebe5f97c8..0d4df44ad3 100644 --- a/sdk/dotnet/Dialogflow/V2/GetContext.cs +++ b/sdk/dotnet/Dialogflow/V2/GetContext.cs @@ -92,7 +92,7 @@ public sealed class GetContextResult /// /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Parameters; [OutputConstructor] private GetContextResult( @@ -100,7 +100,7 @@ private GetContextResult( string name, - ImmutableDictionary parameters) + ImmutableDictionary parameters) { LifespanCount = lifespanCount; Name = name; diff --git a/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2ContextArgs.cs b/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2ContextArgs.cs index 1dba32490b..2f5ecc7b0b 100644 --- a/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2ContextArgs.cs +++ b/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2ContextArgs.cs @@ -28,14 +28,14 @@ public sealed class GoogleCloudDialogflowV2ContextArgs : global::Pulumi.Resource public Input Name { get; set; } = null!; [Input("parameters")] - private InputMap? _parameters; + private InputMap? _parameters; /// /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// - public InputMap Parameters + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2IntentMessageArgs.cs b/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2IntentMessageArgs.cs index 6dc331aac9..2ebada69e3 100644 --- a/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2IntentMessageArgs.cs +++ b/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2IntentMessageArgs.cs @@ -64,14 +64,14 @@ public sealed class GoogleCloudDialogflowV2IntentMessageArgs : global::Pulumi.Re public Input? MediaContent { get; set; } [Input("payload")] - private InputMap? _payload; + private InputMap? _payload; /// /// A custom platform-specific response. /// - public InputMap Payload + public InputMap Payload { - get => _payload ?? (_payload = new InputMap()); + get => _payload ?? (_payload = new InputMap()); set => _payload = value; } diff --git a/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2TextToSpeechSettingsArgs.cs b/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2TextToSpeechSettingsArgs.cs index 631ef7d33b..f12c191af8 100644 --- a/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2TextToSpeechSettingsArgs.cs +++ b/sdk/dotnet/Dialogflow/V2/Inputs/GoogleCloudDialogflowV2TextToSpeechSettingsArgs.cs @@ -34,14 +34,14 @@ public sealed class GoogleCloudDialogflowV2TextToSpeechSettingsArgs : global::Pu public Input? SampleRateHertz { get; set; } [Input("synthesizeSpeechConfigs")] - private InputMap? _synthesizeSpeechConfigs; + private InputMap? _synthesizeSpeechConfigs; /// /// Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. /// - public InputMap SynthesizeSpeechConfigs + public InputMap SynthesizeSpeechConfigs { - get => _synthesizeSpeechConfigs ?? (_synthesizeSpeechConfigs = new InputMap()); + get => _synthesizeSpeechConfigs ?? (_synthesizeSpeechConfigs = new InputMap()); set => _synthesizeSpeechConfigs = value; } diff --git a/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2ContextResponse.cs b/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2ContextResponse.cs index 88d6315dc8..8d4e2c259f 100644 --- a/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2ContextResponse.cs +++ b/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2ContextResponse.cs @@ -27,7 +27,7 @@ public sealed class GoogleCloudDialogflowV2ContextResponse /// /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Parameters; [OutputConstructor] private GoogleCloudDialogflowV2ContextResponse( @@ -35,7 +35,7 @@ private GoogleCloudDialogflowV2ContextResponse( string name, - ImmutableDictionary parameters) + ImmutableDictionary parameters) { LifespanCount = lifespanCount; Name = name; diff --git a/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2IntentMessageResponse.cs b/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2IntentMessageResponse.cs index c1f693c493..633305b681 100644 --- a/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2IntentMessageResponse.cs +++ b/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2IntentMessageResponse.cs @@ -51,7 +51,7 @@ public sealed class GoogleCloudDialogflowV2IntentMessageResponse /// /// A custom platform-specific response. /// - public readonly ImmutableDictionary Payload; + public readonly ImmutableDictionary Payload; /// /// Optional. The platform that this message is intended for. /// @@ -95,7 +95,7 @@ private GoogleCloudDialogflowV2IntentMessageResponse( Outputs.GoogleCloudDialogflowV2IntentMessageMediaContentResponse mediaContent, - ImmutableDictionary payload, + ImmutableDictionary payload, string platform, diff --git a/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2TextToSpeechSettingsResponse.cs b/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2TextToSpeechSettingsResponse.cs index d76ce8be61..177bb6e6bb 100644 --- a/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2TextToSpeechSettingsResponse.cs +++ b/sdk/dotnet/Dialogflow/V2/Outputs/GoogleCloudDialogflowV2TextToSpeechSettingsResponse.cs @@ -31,7 +31,7 @@ public sealed class GoogleCloudDialogflowV2TextToSpeechSettingsResponse /// /// Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. /// - public readonly ImmutableDictionary SynthesizeSpeechConfigs; + public readonly ImmutableDictionary SynthesizeSpeechConfigs; [OutputConstructor] private GoogleCloudDialogflowV2TextToSpeechSettingsResponse( @@ -41,7 +41,7 @@ private GoogleCloudDialogflowV2TextToSpeechSettingsResponse( int sampleRateHertz, - ImmutableDictionary synthesizeSpeechConfigs) + ImmutableDictionary synthesizeSpeechConfigs) { EnableTextToSpeech = enableTextToSpeech; OutputAudioEncoding = outputAudioEncoding; diff --git a/sdk/dotnet/Dialogflow/V2/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/Dialogflow/V2/Outputs/GoogleRpcStatusResponse.cs index 49fe60c08f..0c07c0fcd8 100644 --- a/sdk/dotnet/Dialogflow/V2/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/Dialogflow/V2/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Dialogflow/V2Beta1/Context.cs b/sdk/dotnet/Dialogflow/V2Beta1/Context.cs index df730b02a6..04a2eac92e 100644 --- a/sdk/dotnet/Dialogflow/V2Beta1/Context.cs +++ b/sdk/dotnet/Dialogflow/V2Beta1/Context.cs @@ -38,7 +38,7 @@ public partial class Context : global::Pulumi.CustomResource /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// [Output("parameters")] - public Output> Parameters { get; private set; } = null!; + public Output> Parameters { get; private set; } = null!; [Output("project")] public Output Project { get; private set; } = null!; @@ -121,14 +121,14 @@ public sealed class ContextArgs : global::Pulumi.ResourceArgs public Input Name { get; set; } = null!; [Input("parameters")] - private InputMap? _parameters; + private InputMap? _parameters; /// /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// - public InputMap Parameters + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/Dialogflow/V2Beta1/GetContext.cs b/sdk/dotnet/Dialogflow/V2Beta1/GetContext.cs index 3f174c6218..6ae1e484ba 100644 --- a/sdk/dotnet/Dialogflow/V2Beta1/GetContext.cs +++ b/sdk/dotnet/Dialogflow/V2Beta1/GetContext.cs @@ -92,7 +92,7 @@ public sealed class GetContextResult /// /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Parameters; [OutputConstructor] private GetContextResult( @@ -100,7 +100,7 @@ private GetContextResult( string name, - ImmutableDictionary parameters) + ImmutableDictionary parameters) { LifespanCount = lifespanCount; Name = name; diff --git a/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1ContextArgs.cs b/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1ContextArgs.cs index bd19383ffc..d78c08112b 100644 --- a/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1ContextArgs.cs +++ b/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1ContextArgs.cs @@ -28,14 +28,14 @@ public sealed class GoogleCloudDialogflowV2beta1ContextArgs : global::Pulumi.Res public Input Name { get; set; } = null!; [Input("parameters")] - private InputMap? _parameters; + private InputMap? _parameters; /// /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// - public InputMap Parameters + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1IntentMessageArgs.cs b/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1IntentMessageArgs.cs index f7f3f8e01f..e341992c39 100644 --- a/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1IntentMessageArgs.cs +++ b/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1IntentMessageArgs.cs @@ -64,14 +64,14 @@ public sealed class GoogleCloudDialogflowV2beta1IntentMessageArgs : global::Pulu public Input? MediaContent { get; set; } [Input("payload")] - private InputMap? _payload; + private InputMap? _payload; /// /// A custom platform-specific response. /// - public InputMap Payload + public InputMap Payload { - get => _payload ?? (_payload = new InputMap()); + get => _payload ?? (_payload = new InputMap()); set => _payload = value; } diff --git a/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs.cs b/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs.cs index b192519ef1..da53a26fec 100644 --- a/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs.cs +++ b/sdk/dotnet/Dialogflow/V2Beta1/Inputs/GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs.cs @@ -34,14 +34,14 @@ public sealed class GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs : globa public Input? SampleRateHertz { get; set; } [Input("synthesizeSpeechConfigs")] - private InputMap? _synthesizeSpeechConfigs; + private InputMap? _synthesizeSpeechConfigs; /// /// Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. /// - public InputMap SynthesizeSpeechConfigs + public InputMap SynthesizeSpeechConfigs { - get => _synthesizeSpeechConfigs ?? (_synthesizeSpeechConfigs = new InputMap()); + get => _synthesizeSpeechConfigs ?? (_synthesizeSpeechConfigs = new InputMap()); set => _synthesizeSpeechConfigs = value; } diff --git a/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1ContextResponse.cs b/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1ContextResponse.cs index 90162c6f30..17d7b255fe 100644 --- a/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1ContextResponse.cs +++ b/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1ContextResponse.cs @@ -27,7 +27,7 @@ public sealed class GoogleCloudDialogflowV2beta1ContextResponse /// /// Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. /// - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Parameters; [OutputConstructor] private GoogleCloudDialogflowV2beta1ContextResponse( @@ -35,7 +35,7 @@ private GoogleCloudDialogflowV2beta1ContextResponse( string name, - ImmutableDictionary parameters) + ImmutableDictionary parameters) { LifespanCount = lifespanCount; Name = name; diff --git a/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1IntentMessageResponse.cs b/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1IntentMessageResponse.cs index 084bb88d1b..5933d64d6c 100644 --- a/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1IntentMessageResponse.cs +++ b/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1IntentMessageResponse.cs @@ -51,7 +51,7 @@ public sealed class GoogleCloudDialogflowV2beta1IntentMessageResponse /// /// A custom platform-specific response. /// - public readonly ImmutableDictionary Payload; + public readonly ImmutableDictionary Payload; /// /// Optional. The platform that this message is intended for. /// @@ -119,7 +119,7 @@ private GoogleCloudDialogflowV2beta1IntentMessageResponse( Outputs.GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponse mediaContent, - ImmutableDictionary payload, + ImmutableDictionary payload, string platform, diff --git a/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse.cs b/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse.cs index 45fa2a3b4e..76faafca93 100644 --- a/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse.cs +++ b/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse.cs @@ -31,7 +31,7 @@ public sealed class GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse /// /// Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. /// - public readonly ImmutableDictionary SynthesizeSpeechConfigs; + public readonly ImmutableDictionary SynthesizeSpeechConfigs; [OutputConstructor] private GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse( @@ -41,7 +41,7 @@ private GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse( int sampleRateHertz, - ImmutableDictionary synthesizeSpeechConfigs) + ImmutableDictionary synthesizeSpeechConfigs) { EnableTextToSpeech = enableTextToSpeech; OutputAudioEncoding = outputAudioEncoding; diff --git a/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleRpcStatusResponse.cs index fb70452f76..8c97fa662a 100644 --- a/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/Dialogflow/V2Beta1/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Dialogflow/V3/Enums.cs b/sdk/dotnet/Dialogflow/V3/Enums.cs index 1cad45b2bf..e6c1f53613 100644 --- a/sdk/dotnet/Dialogflow/V3/Enums.cs +++ b/sdk/dotnet/Dialogflow/V3/Enums.cs @@ -600,6 +600,51 @@ private GoogleCloudDialogflowCxV3TestCaseResultTestResult(string value) public override string ToString() => _value; } + /// + /// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + /// + [EnumType] + public readonly struct GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender : IEquatable + { + private readonly string _value; + + private GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// An unspecified gender, which means that the client doesn't care which gender the selected voice will have. + /// + public static GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender SsmlVoiceGenderUnspecified { get; } = new GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_UNSPECIFIED"); + /// + /// A male voice. + /// + public static GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender SsmlVoiceGenderMale { get; } = new GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_MALE"); + /// + /// A female voice. + /// + public static GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender SsmlVoiceGenderFemale { get; } = new GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_FEMALE"); + /// + /// A gender-neutral voice. + /// + public static GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender SsmlVoiceGenderNeutral { get; } = new GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_NEUTRAL"); + + public static bool operator ==(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender left, GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender right) => left.Equals(right); + public static bool operator !=(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender left, GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender other && Equals(other); + public bool Equals(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST. /// diff --git a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ConversationTurnUserInputArgs.cs b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ConversationTurnUserInputArgs.cs index e9be8108fa..613605291f 100644 --- a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ConversationTurnUserInputArgs.cs +++ b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ConversationTurnUserInputArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudDialogflowCxV3ConversationTurnUserInputArgs : glo public Input? EnableSentimentAnalysis { get; set; } [Input("injectedParameters")] - private InputMap? _injectedParameters; + private InputMap? _injectedParameters; /// /// Parameters that need to be injected into the conversation during intent detection. /// - public InputMap InjectedParameters + public InputMap InjectedParameters { - get => _injectedParameters ?? (_injectedParameters = new InputMap()); + get => _injectedParameters ?? (_injectedParameters = new InputMap()); set => _injectedParameters = value; } diff --git a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputArgs.cs b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputArgs.cs index 025e572e3f..2eb21798b0 100644 --- a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputArgs.cs +++ b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputArgs.cs @@ -22,26 +22,26 @@ public sealed class GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputA public Input? CurrentPage { get; set; } [Input("diagnosticInfo", required: true)] - private InputMap? _diagnosticInfo; + private InputMap? _diagnosticInfo; /// /// Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. /// - public InputMap DiagnosticInfo + public InputMap DiagnosticInfo { - get => _diagnosticInfo ?? (_diagnosticInfo = new InputMap()); + get => _diagnosticInfo ?? (_diagnosticInfo = new InputMap()); set => _diagnosticInfo = value; } [Input("sessionParameters")] - private InputMap? _sessionParameters; + private InputMap? _sessionParameters; /// /// The session parameters available to the bot at this point. /// - public InputMap SessionParameters + public InputMap SessionParameters { - get => _sessionParameters ?? (_sessionParameters = new InputMap()); + get => _sessionParameters ?? (_sessionParameters = new InputMap()); set => _sessionParameters = value; } diff --git a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageArgs.cs b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageArgs.cs index 528312341e..1b6faaa84d 100644 --- a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageArgs.cs +++ b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageArgs.cs @@ -46,14 +46,14 @@ public sealed class GoogleCloudDialogflowCxV3ResponseMessageArgs : global::Pulum public Input? OutputAudioText { get; set; } [Input("payload")] - private InputMap? _payload; + private InputMap? _payload; /// /// Returns a response containing a custom, platform-specific payload. /// - public InputMap Payload + public InputMap Payload { - get => _payload ?? (_payload = new InputMap()); + get => _payload ?? (_payload = new InputMap()); set => _payload = value; } diff --git a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessArgs.cs b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessArgs.cs index 617aef8af1..d057eb167a 100644 --- a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessArgs.cs +++ b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Dialogflow.V3.Inputs public sealed class GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessArgs : global::Pulumi.ResourceArgs { [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Custom metadata. Dialogflow doesn't impose any structure on this. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs.cs b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs.cs index 0af6b9dae9..f8a0a1ee6c 100644 --- a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs.cs +++ b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Dialogflow.V3.Inputs public sealed class GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs : global::Pulumi.ResourceArgs { [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs.cs b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs.cs new file mode 100644 index 0000000000..d605038785 --- /dev/null +++ b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dialogflow.V3.Inputs +{ + + /// + /// Configuration of how speech should be synthesized. + /// + public sealed class GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs : global::Pulumi.ResourceArgs + { + [Input("effectsProfileId")] + private InputList? _effectsProfileId; + + /// + /// Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + /// + public InputList EffectsProfileId + { + get => _effectsProfileId ?? (_effectsProfileId = new InputList()); + set => _effectsProfileId = value; + } + + /// + /// Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + /// + [Input("pitch")] + public Input? Pitch { get; set; } + + /// + /// Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + /// + [Input("speakingRate")] + public Input? SpeakingRate { get; set; } + + /// + /// Optional. The desired voice of the synthesized audio. + /// + [Input("voice")] + public Input? Voice { get; set; } + + /// + /// Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + /// + [Input("volumeGainDb")] + public Input? VolumeGainDb { get; set; } + + public GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs() + { + } + public static new GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs Empty => new GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs(); + } +} diff --git a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3TextToSpeechSettingsArgs.cs b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3TextToSpeechSettingsArgs.cs index edf08b7754..a7478acacc 100644 --- a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3TextToSpeechSettingsArgs.cs +++ b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3TextToSpeechSettingsArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Dialogflow.V3.Inputs public sealed class GoogleCloudDialogflowCxV3TextToSpeechSettingsArgs : global::Pulumi.ResourceArgs { [Input("synthesizeSpeechConfigs")] - private InputMap? _synthesizeSpeechConfigs; + private InputMap? _synthesizeSpeechConfigs; /// /// Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. /// - public InputMap SynthesizeSpeechConfigs + public InputMap SynthesizeSpeechConfigs { - get => _synthesizeSpeechConfigs ?? (_synthesizeSpeechConfigs = new InputMap()); + get => _synthesizeSpeechConfigs ?? (_synthesizeSpeechConfigs = new InputMap()); set => _synthesizeSpeechConfigs = value; } diff --git a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs.cs b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs.cs new file mode 100644 index 0000000000..91bc87d701 --- /dev/null +++ b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dialogflow.V3.Inputs +{ + + /// + /// Description of which voice to use for speech synthesis. + /// + public sealed class GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + /// + [Input("ssmlGender")] + public Input? SsmlGender { get; set; } + + public GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs() + { + } + public static new GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs Empty => new GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs(); + } +} diff --git a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleRpcStatusArgs.cs b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleRpcStatusArgs.cs index e19bb4f795..8a110c4361 100644 --- a/sdk/dotnet/Dialogflow/V3/Inputs/GoogleRpcStatusArgs.cs +++ b/sdk/dotnet/Dialogflow/V3/Inputs/GoogleRpcStatusArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleRpcStatusArgs : global::Pulumi.ResourceArgs public Input? Code { get; set; } [Input("details")] - private InputList>? _details; + private InputList>? _details; /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public InputList> Details + public InputList> Details { - get => _details ?? (_details = new InputList>()); + get => _details ?? (_details = new InputList>()); set => _details = value; } diff --git a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse.cs b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse.cs index 3dd17e8aff..5a7a85fb27 100644 --- a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse.cs +++ b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse /// /// Parameters that need to be injected into the conversation during intent detection. /// - public readonly ImmutableDictionary InjectedParameters; + public readonly ImmutableDictionary InjectedParameters; /// /// Supports text input, event input, dtmf input in the test case. /// @@ -37,7 +37,7 @@ public sealed class GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse private GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse( bool enableSentimentAnalysis, - ImmutableDictionary injectedParameters, + ImmutableDictionary injectedParameters, Outputs.GoogleCloudDialogflowCxV3QueryInputResponse input, diff --git a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse.cs b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse.cs index 458d555121..a1c5c02aeb 100644 --- a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse.cs +++ b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputR /// /// Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. /// - public readonly ImmutableDictionary DiagnosticInfo; + public readonly ImmutableDictionary DiagnosticInfo; /// /// If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. /// @@ -31,7 +31,7 @@ public sealed class GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputR /// /// The session parameters available to the bot at this point. /// - public readonly ImmutableDictionary SessionParameters; + public readonly ImmutableDictionary SessionParameters; /// /// Response error from the agent in the test result. If set, other output is empty. /// @@ -49,11 +49,11 @@ public sealed class GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputR private GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse( Outputs.GoogleCloudDialogflowCxV3PageResponse currentPage, - ImmutableDictionary diagnosticInfo, + ImmutableDictionary diagnosticInfo, ImmutableArray differences, - ImmutableDictionary sessionParameters, + ImmutableDictionary sessionParameters, Outputs.GoogleRpcStatusResponse status, diff --git a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse.cs b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse.cs index 681c83ebef..35f1338035 100644 --- a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse.cs +++ b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse.cs @@ -19,10 +19,10 @@ public sealed class GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessR /// /// Custom metadata. Dialogflow doesn't impose any structure on this. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; [OutputConstructor] - private GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse(ImmutableDictionary metadata) + private GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse(ImmutableDictionary metadata) { Metadata = metadata; } diff --git a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse.cs b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse.cs index d7f3a46601..a8b3ee8851 100644 --- a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse.cs +++ b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse.cs @@ -19,10 +19,10 @@ public sealed class GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResp /// /// Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; [OutputConstructor] - private GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse(ImmutableDictionary metadata) + private GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse(ImmutableDictionary metadata) { Metadata = metadata; } diff --git a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageResponse.cs b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageResponse.cs index 029e5e7150..dc320c1120 100644 --- a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageResponse.cs +++ b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3ResponseMessageResponse.cs @@ -47,7 +47,7 @@ public sealed class GoogleCloudDialogflowCxV3ResponseMessageResponse /// /// Returns a response containing a custom, platform-specific payload. /// - public readonly ImmutableDictionary Payload; + public readonly ImmutableDictionary Payload; /// /// Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. /// @@ -81,7 +81,7 @@ private GoogleCloudDialogflowCxV3ResponseMessageResponse( Outputs.GoogleCloudDialogflowCxV3ResponseMessageOutputAudioTextResponse outputAudioText, - ImmutableDictionary payload, + ImmutableDictionary payload, Outputs.GoogleCloudDialogflowCxV3ResponseMessagePlayAudioResponse playAudio, diff --git a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse.cs b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse.cs new file mode 100644 index 0000000000..921465bb88 --- /dev/null +++ b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dialogflow.V3.Outputs +{ + + /// + /// Configuration of how speech should be synthesized. + /// + [OutputType] + public sealed class GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse + { + /// + /// Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + /// + public readonly ImmutableArray EffectsProfileId; + /// + /// Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + /// + public readonly double Pitch; + /// + /// Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + /// + public readonly double SpeakingRate; + /// + /// Optional. The desired voice of the synthesized audio. + /// + public readonly Outputs.GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse Voice; + /// + /// Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + /// + public readonly double VolumeGainDb; + + [OutputConstructor] + private GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse( + ImmutableArray effectsProfileId, + + double pitch, + + double speakingRate, + + Outputs.GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse voice, + + double volumeGainDb) + { + EffectsProfileId = effectsProfileId; + Pitch = pitch; + SpeakingRate = speakingRate; + Voice = voice; + VolumeGainDb = volumeGainDb; + } + } +} diff --git a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse.cs b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse.cs index ec2f0d41ca..aa24243888 100644 --- a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse.cs +++ b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse.cs @@ -19,10 +19,10 @@ public sealed class GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse /// /// Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. /// - public readonly ImmutableDictionary SynthesizeSpeechConfigs; + public readonly ImmutableDictionary SynthesizeSpeechConfigs; [OutputConstructor] - private GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse(ImmutableDictionary synthesizeSpeechConfigs) + private GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse(ImmutableDictionary synthesizeSpeechConfigs) { SynthesizeSpeechConfigs = synthesizeSpeechConfigs; } diff --git a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse.cs b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse.cs new file mode 100644 index 0000000000..2b8a120924 --- /dev/null +++ b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dialogflow.V3.Outputs +{ + + /// + /// Description of which voice to use for speech synthesis. + /// + [OutputType] + public sealed class GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse + { + /// + /// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + /// + public readonly string Name; + /// + /// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + /// + public readonly string SsmlGender; + + [OutputConstructor] + private GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse( + string name, + + string ssmlGender) + { + Name = name; + SsmlGender = ssmlGender; + } + } +} diff --git a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleRpcStatusResponse.cs index 9734f9858f..9cd1d1f9c1 100644 --- a/sdk/dotnet/Dialogflow/V3/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/Dialogflow/V3/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Enums.cs b/sdk/dotnet/Dialogflow/V3Beta1/Enums.cs index 17ebd2ce4d..4905bced80 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Enums.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Enums.cs @@ -555,6 +555,51 @@ private GoogleCloudDialogflowCxV3beta1TestCaseResultTestResult(string value) public override string ToString() => _value; } + /// + /// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + /// + [EnumType] + public readonly struct GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender : IEquatable + { + private readonly string _value; + + private GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// An unspecified gender, which means that the client doesn't care which gender the selected voice will have. + /// + public static GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender SsmlVoiceGenderUnspecified { get; } = new GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_UNSPECIFIED"); + /// + /// A male voice. + /// + public static GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender SsmlVoiceGenderMale { get; } = new GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_MALE"); + /// + /// A female voice. + /// + public static GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender SsmlVoiceGenderFemale { get; } = new GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_FEMALE"); + /// + /// A gender-neutral voice. + /// + public static GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender SsmlVoiceGenderNeutral { get; } = new GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_NEUTRAL"); + + public static bool operator ==(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender left, GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender right) => left.Equals(right); + public static bool operator !=(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender left, GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender right) => !left.Equals(right); + + public static explicit operator string(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender other && Equals(other); + public bool Equals(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST. /// diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputArgs.cs b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputArgs.cs index 9247e689cc..3df40291ef 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputArgs.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputArgs public Input? EnableSentimentAnalysis { get; set; } [Input("injectedParameters")] - private InputMap? _injectedParameters; + private InputMap? _injectedParameters; /// /// Parameters that need to be injected into the conversation during intent detection. /// - public InputMap InjectedParameters + public InputMap InjectedParameters { - get => _injectedParameters ?? (_injectedParameters = new InputMap()); + get => _injectedParameters ?? (_injectedParameters = new InputMap()); set => _injectedParameters = value; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputArgs.cs b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputArgs.cs index 42caf5888b..effc93bce2 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputArgs.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputArgs.cs @@ -22,26 +22,26 @@ public sealed class GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOu public Input? CurrentPage { get; set; } [Input("diagnosticInfo", required: true)] - private InputMap? _diagnosticInfo; + private InputMap? _diagnosticInfo; /// /// Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. /// - public InputMap DiagnosticInfo + public InputMap DiagnosticInfo { - get => _diagnosticInfo ?? (_diagnosticInfo = new InputMap()); + get => _diagnosticInfo ?? (_diagnosticInfo = new InputMap()); set => _diagnosticInfo = value; } [Input("sessionParameters")] - private InputMap? _sessionParameters; + private InputMap? _sessionParameters; /// /// The session parameters available to the bot at this point. /// - public InputMap SessionParameters + public InputMap SessionParameters { - get => _sessionParameters ?? (_sessionParameters = new InputMap()); + get => _sessionParameters ?? (_sessionParameters = new InputMap()); set => _sessionParameters = value; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageArgs.cs b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageArgs.cs index 5a87d6a45a..35863535f2 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageArgs.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageArgs.cs @@ -46,14 +46,14 @@ public sealed class GoogleCloudDialogflowCxV3beta1ResponseMessageArgs : global:: public Input? OutputAudioText { get; set; } [Input("payload")] - private InputMap? _payload; + private InputMap? _payload; /// /// Returns a response containing a custom, platform-specific payload. /// - public InputMap Payload + public InputMap Payload { - get => _payload ?? (_payload = new InputMap()); + get => _payload ?? (_payload = new InputMap()); set => _payload = value; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessArgs.cs b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessArgs.cs index 1c3593d37f..d679fa241f 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessArgs.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Dialogflow.V3Beta1.Inputs public sealed class GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessArgs : global::Pulumi.ResourceArgs { [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Custom metadata. Dialogflow doesn't impose any structure on this. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs.cs b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs.cs index 6d077d1bbe..94327708a8 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Dialogflow.V3Beta1.Inputs public sealed class GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs : global::Pulumi.ResourceArgs { [Input("metadata")] - private InputMap? _metadata; + private InputMap? _metadata; /// /// Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. /// - public InputMap Metadata + public InputMap Metadata { - get => _metadata ?? (_metadata = new InputMap()); + get => _metadata ?? (_metadata = new InputMap()); set => _metadata = value; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs.cs b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs.cs new file mode 100644 index 0000000000..337fd12695 --- /dev/null +++ b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dialogflow.V3Beta1.Inputs +{ + + /// + /// Configuration of how speech should be synthesized. + /// + public sealed class GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs : global::Pulumi.ResourceArgs + { + [Input("effectsProfileId")] + private InputList? _effectsProfileId; + + /// + /// Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + /// + public InputList EffectsProfileId + { + get => _effectsProfileId ?? (_effectsProfileId = new InputList()); + set => _effectsProfileId = value; + } + + /// + /// Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + /// + [Input("pitch")] + public Input? Pitch { get; set; } + + /// + /// Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + /// + [Input("speakingRate")] + public Input? SpeakingRate { get; set; } + + /// + /// Optional. The desired voice of the synthesized audio. + /// + [Input("voice")] + public Input? Voice { get; set; } + + /// + /// Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + /// + [Input("volumeGainDb")] + public Input? VolumeGainDb { get; set; } + + public GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs() + { + } + public static new GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs Empty => new GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs(); + } +} diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsArgs.cs b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsArgs.cs index 7f869f5f6e..572ca8794d 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsArgs.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Dialogflow.V3Beta1.Inputs public sealed class GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsArgs : global::Pulumi.ResourceArgs { [Input("synthesizeSpeechConfigs")] - private InputMap? _synthesizeSpeechConfigs; + private InputMap? _synthesizeSpeechConfigs; /// /// Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. /// - public InputMap SynthesizeSpeechConfigs + public InputMap SynthesizeSpeechConfigs { - get => _synthesizeSpeechConfigs ?? (_synthesizeSpeechConfigs = new InputMap()); + get => _synthesizeSpeechConfigs ?? (_synthesizeSpeechConfigs = new InputMap()); set => _synthesizeSpeechConfigs = value; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs.cs b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs.cs new file mode 100644 index 0000000000..b927af3762 --- /dev/null +++ b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dialogflow.V3Beta1.Inputs +{ + + /// + /// Description of which voice to use for speech synthesis. + /// + public sealed class GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + /// + [Input("ssmlGender")] + public Input? SsmlGender { get; set; } + + public GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs() + { + } + public static new GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs Empty => new GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs(); + } +} diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleRpcStatusArgs.cs b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleRpcStatusArgs.cs index 340da8048f..f1d5b751df 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleRpcStatusArgs.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Inputs/GoogleRpcStatusArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleRpcStatusArgs : global::Pulumi.ResourceArgs public Input? Code { get; set; } [Input("details")] - private InputList>? _details; + private InputList>? _details; /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public InputList> Details + public InputList> Details { - get => _details ?? (_details = new InputList>()); + get => _details ?? (_details = new InputList>()); set => _details = value; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponse.cs b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponse.cs index c82cfe4e18..2350040995 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponse.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputRespo /// /// Parameters that need to be injected into the conversation during intent detection. /// - public readonly ImmutableDictionary InjectedParameters; + public readonly ImmutableDictionary InjectedParameters; /// /// Supports text input, event input, dtmf input in the test case. /// @@ -37,7 +37,7 @@ public sealed class GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputRespo private GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponse( bool enableSentimentAnalysis, - ImmutableDictionary injectedParameters, + ImmutableDictionary injectedParameters, Outputs.GoogleCloudDialogflowCxV3beta1QueryInputResponse input, diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse.cs b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse.cs index 21626e5c4d..260d857c57 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOu /// /// Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. /// - public readonly ImmutableDictionary DiagnosticInfo; + public readonly ImmutableDictionary DiagnosticInfo; /// /// If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. /// @@ -31,7 +31,7 @@ public sealed class GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOu /// /// The session parameters available to the bot at this point. /// - public readonly ImmutableDictionary SessionParameters; + public readonly ImmutableDictionary SessionParameters; /// /// Response error from the agent in the test result. If set, other output is empty. /// @@ -49,11 +49,11 @@ public sealed class GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOu private GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse( Outputs.GoogleCloudDialogflowCxV3beta1PageResponse currentPage, - ImmutableDictionary diagnosticInfo, + ImmutableDictionary diagnosticInfo, ImmutableArray differences, - ImmutableDictionary sessionParameters, + ImmutableDictionary sessionParameters, Outputs.GoogleRpcStatusResponse status, diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse.cs b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse.cs index 2b3116f6f9..cbb9a6bc35 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse.cs @@ -19,10 +19,10 @@ public sealed class GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuc /// /// Custom metadata. Dialogflow doesn't impose any structure on this. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; [OutputConstructor] - private GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse(ImmutableDictionary metadata) + private GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse(ImmutableDictionary metadata) { Metadata = metadata; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse.cs b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse.cs index 86380ac274..3fdbb6e511 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse.cs @@ -19,10 +19,10 @@ public sealed class GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandof /// /// Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; [OutputConstructor] - private GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse(ImmutableDictionary metadata) + private GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse(ImmutableDictionary metadata) { Metadata = metadata; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageResponse.cs b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageResponse.cs index 8590952744..cd6a2119d3 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageResponse.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1ResponseMessageResponse.cs @@ -47,7 +47,7 @@ public sealed class GoogleCloudDialogflowCxV3beta1ResponseMessageResponse /// /// Returns a response containing a custom, platform-specific payload. /// - public readonly ImmutableDictionary Payload; + public readonly ImmutableDictionary Payload; /// /// Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. /// @@ -77,7 +77,7 @@ private GoogleCloudDialogflowCxV3beta1ResponseMessageResponse( Outputs.GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioTextResponse outputAudioText, - ImmutableDictionary payload, + ImmutableDictionary payload, Outputs.GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudioResponse playAudio, diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse.cs b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse.cs new file mode 100644 index 0000000000..7f3e070a0b --- /dev/null +++ b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dialogflow.V3Beta1.Outputs +{ + + /// + /// Configuration of how speech should be synthesized. + /// + [OutputType] + public sealed class GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse + { + /// + /// Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + /// + public readonly ImmutableArray EffectsProfileId; + /// + /// Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + /// + public readonly double Pitch; + /// + /// Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + /// + public readonly double SpeakingRate; + /// + /// Optional. The desired voice of the synthesized audio. + /// + public readonly Outputs.GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse Voice; + /// + /// Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + /// + public readonly double VolumeGainDb; + + [OutputConstructor] + private GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse( + ImmutableArray effectsProfileId, + + double pitch, + + double speakingRate, + + Outputs.GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse voice, + + double volumeGainDb) + { + EffectsProfileId = effectsProfileId; + Pitch = pitch; + SpeakingRate = speakingRate; + Voice = voice; + VolumeGainDb = volumeGainDb; + } + } +} diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse.cs b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse.cs index f23423fc34..7102a08123 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse.cs @@ -19,10 +19,10 @@ public sealed class GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse /// /// Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. /// - public readonly ImmutableDictionary SynthesizeSpeechConfigs; + public readonly ImmutableDictionary SynthesizeSpeechConfigs; [OutputConstructor] - private GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse(ImmutableDictionary synthesizeSpeechConfigs) + private GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse(ImmutableDictionary synthesizeSpeechConfigs) { SynthesizeSpeechConfigs = synthesizeSpeechConfigs; } diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse.cs b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse.cs new file mode 100644 index 0000000000..e32015c5ad --- /dev/null +++ b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Dialogflow.V3Beta1.Outputs +{ + + /// + /// Description of which voice to use for speech synthesis. + /// + [OutputType] + public sealed class GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse + { + /// + /// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + /// + public readonly string Name; + /// + /// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + /// + public readonly string SsmlGender; + + [OutputConstructor] + private GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse( + string name, + + string ssmlGender) + { + Name = name; + SsmlGender = ssmlGender; + } + } +} diff --git a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleRpcStatusResponse.cs index 1f2c76b4b3..9792998a52 100644 --- a/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/Dialogflow/V3Beta1/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/DiscoveryEngine/V1Alpha/Document.cs b/sdk/dotnet/DiscoveryEngine/V1Alpha/Document.cs index c7ad7b136f..a62060e0f0 100644 --- a/sdk/dotnet/DiscoveryEngine/V1Alpha/Document.cs +++ b/sdk/dotnet/DiscoveryEngine/V1Alpha/Document.cs @@ -34,7 +34,7 @@ public partial class Document : global::Pulumi.CustomResource /// This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. /// [Output("derivedStructData")] - public Output> DerivedStructData { get; private set; } = null!; + public Output> DerivedStructData { get; private set; } = null!; /// /// Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. @@ -76,7 +76,7 @@ public partial class Document : global::Pulumi.CustomResource /// The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. /// [Output("structData")] - public Output> StructData { get; private set; } = null!; + public Output> StructData { get; private set; } = null!; /// @@ -190,14 +190,14 @@ public sealed class DocumentArgs : global::Pulumi.ResourceArgs public Input? SchemaId { get; set; } [Input("structData")] - private InputMap? _structData; + private InputMap? _structData; /// /// The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. /// - public InputMap StructData + public InputMap StructData { - get => _structData ?? (_structData = new InputMap()); + get => _structData ?? (_structData = new InputMap()); set => _structData = value; } diff --git a/sdk/dotnet/DiscoveryEngine/V1Alpha/GetDocument.cs b/sdk/dotnet/DiscoveryEngine/V1Alpha/GetDocument.cs index 1bf8f8f81a..2702841f03 100644 --- a/sdk/dotnet/DiscoveryEngine/V1Alpha/GetDocument.cs +++ b/sdk/dotnet/DiscoveryEngine/V1Alpha/GetDocument.cs @@ -88,7 +88,7 @@ public sealed class GetDocumentResult /// /// This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. /// - public readonly ImmutableDictionary DerivedStructData; + public readonly ImmutableDictionary DerivedStructData; /// /// The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. /// @@ -108,13 +108,13 @@ public sealed class GetDocumentResult /// /// The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. /// - public readonly ImmutableDictionary StructData; + public readonly ImmutableDictionary StructData; [OutputConstructor] private GetDocumentResult( Outputs.GoogleCloudDiscoveryengineV1alphaDocumentContentResponse content, - ImmutableDictionary derivedStructData, + ImmutableDictionary derivedStructData, string jsonData, @@ -124,7 +124,7 @@ private GetDocumentResult( string schemaId, - ImmutableDictionary structData) + ImmutableDictionary structData) { Content = content; DerivedStructData = derivedStructData; diff --git a/sdk/dotnet/DiscoveryEngine/V1Alpha/GetSchema.cs b/sdk/dotnet/DiscoveryEngine/V1Alpha/GetSchema.cs index 37abc33f71..7f093f3f12 100644 --- a/sdk/dotnet/DiscoveryEngine/V1Alpha/GetSchema.cs +++ b/sdk/dotnet/DiscoveryEngine/V1Alpha/GetSchema.cs @@ -90,7 +90,7 @@ public sealed class GetSchemaResult /// /// The structured representation of the schema. /// - public readonly ImmutableDictionary StructSchema; + public readonly ImmutableDictionary StructSchema; [OutputConstructor] private GetSchemaResult( @@ -100,7 +100,7 @@ private GetSchemaResult( string name, - ImmutableDictionary structSchema) + ImmutableDictionary structSchema) { FieldConfigs = fieldConfigs; JsonSchema = jsonSchema; diff --git a/sdk/dotnet/DiscoveryEngine/V1Alpha/Schema.cs b/sdk/dotnet/DiscoveryEngine/V1Alpha/Schema.cs index ed195f9346..9b403be58b 100644 --- a/sdk/dotnet/DiscoveryEngine/V1Alpha/Schema.cs +++ b/sdk/dotnet/DiscoveryEngine/V1Alpha/Schema.cs @@ -55,7 +55,7 @@ public partial class Schema : global::Pulumi.CustomResource /// The structured representation of the schema. /// [Output("structSchema")] - public Output> StructSchema { get; private set; } = null!; + public Output> StructSchema { get; private set; } = null!; /// @@ -141,14 +141,14 @@ public sealed class SchemaArgs : global::Pulumi.ResourceArgs public Input SchemaId { get; set; } = null!; [Input("structSchema")] - private InputMap? _structSchema; + private InputMap? _structSchema; /// /// The structured representation of the schema. /// - public InputMap StructSchema + public InputMap StructSchema { - get => _structSchema ?? (_structSchema = new InputMap()); + get => _structSchema ?? (_structSchema = new InputMap()); set => _structSchema = value; } diff --git a/sdk/dotnet/DiscoveryEngine/V1Beta/Document.cs b/sdk/dotnet/DiscoveryEngine/V1Beta/Document.cs index 15bc2b0c40..51d709cfa3 100644 --- a/sdk/dotnet/DiscoveryEngine/V1Beta/Document.cs +++ b/sdk/dotnet/DiscoveryEngine/V1Beta/Document.cs @@ -34,7 +34,7 @@ public partial class Document : global::Pulumi.CustomResource /// This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. /// [Output("derivedStructData")] - public Output> DerivedStructData { get; private set; } = null!; + public Output> DerivedStructData { get; private set; } = null!; /// /// Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. @@ -76,7 +76,7 @@ public partial class Document : global::Pulumi.CustomResource /// The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. /// [Output("structData")] - public Output> StructData { get; private set; } = null!; + public Output> StructData { get; private set; } = null!; /// @@ -190,14 +190,14 @@ public sealed class DocumentArgs : global::Pulumi.ResourceArgs public Input? SchemaId { get; set; } [Input("structData")] - private InputMap? _structData; + private InputMap? _structData; /// /// The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. /// - public InputMap StructData + public InputMap StructData { - get => _structData ?? (_structData = new InputMap()); + get => _structData ?? (_structData = new InputMap()); set => _structData = value; } diff --git a/sdk/dotnet/DiscoveryEngine/V1Beta/GetDocument.cs b/sdk/dotnet/DiscoveryEngine/V1Beta/GetDocument.cs index df77fb2764..b16dc64036 100644 --- a/sdk/dotnet/DiscoveryEngine/V1Beta/GetDocument.cs +++ b/sdk/dotnet/DiscoveryEngine/V1Beta/GetDocument.cs @@ -88,7 +88,7 @@ public sealed class GetDocumentResult /// /// This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. /// - public readonly ImmutableDictionary DerivedStructData; + public readonly ImmutableDictionary DerivedStructData; /// /// The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. /// @@ -108,13 +108,13 @@ public sealed class GetDocumentResult /// /// The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. /// - public readonly ImmutableDictionary StructData; + public readonly ImmutableDictionary StructData; [OutputConstructor] private GetDocumentResult( Outputs.GoogleCloudDiscoveryengineV1betaDocumentContentResponse content, - ImmutableDictionary derivedStructData, + ImmutableDictionary derivedStructData, string jsonData, @@ -124,7 +124,7 @@ private GetDocumentResult( string schemaId, - ImmutableDictionary structData) + ImmutableDictionary structData) { Content = content; DerivedStructData = derivedStructData; diff --git a/sdk/dotnet/DiscoveryEngine/V1Beta/GetSchema.cs b/sdk/dotnet/DiscoveryEngine/V1Beta/GetSchema.cs index 2ad96be43b..ee828edf83 100644 --- a/sdk/dotnet/DiscoveryEngine/V1Beta/GetSchema.cs +++ b/sdk/dotnet/DiscoveryEngine/V1Beta/GetSchema.cs @@ -86,7 +86,7 @@ public sealed class GetSchemaResult /// /// The structured representation of the schema. /// - public readonly ImmutableDictionary StructSchema; + public readonly ImmutableDictionary StructSchema; [OutputConstructor] private GetSchemaResult( @@ -94,7 +94,7 @@ private GetSchemaResult( string name, - ImmutableDictionary structSchema) + ImmutableDictionary structSchema) { JsonSchema = jsonSchema; Name = name; diff --git a/sdk/dotnet/DiscoveryEngine/V1Beta/Schema.cs b/sdk/dotnet/DiscoveryEngine/V1Beta/Schema.cs index e11617603a..3584c086ad 100644 --- a/sdk/dotnet/DiscoveryEngine/V1Beta/Schema.cs +++ b/sdk/dotnet/DiscoveryEngine/V1Beta/Schema.cs @@ -49,7 +49,7 @@ public partial class Schema : global::Pulumi.CustomResource /// The structured representation of the schema. /// [Output("structSchema")] - public Output> StructSchema { get; private set; } = null!; + public Output> StructSchema { get; private set; } = null!; /// @@ -135,14 +135,14 @@ public sealed class SchemaArgs : global::Pulumi.ResourceArgs public Input SchemaId { get; set; } = null!; [Input("structSchema")] - private InputMap? _structSchema; + private InputMap? _structSchema; /// /// The structured representation of the schema. /// - public InputMap StructSchema + public InputMap StructSchema { - get => _structSchema ?? (_structSchema = new InputMap()); + get => _structSchema ?? (_structSchema = new InputMap()); set => _structSchema = value; } diff --git a/sdk/dotnet/Eventarc/V1/GetTrigger.cs b/sdk/dotnet/Eventarc/V1/GetTrigger.cs index 4d0f434d12..1ec57bccee 100644 --- a/sdk/dotnet/Eventarc/V1/GetTrigger.cs +++ b/sdk/dotnet/Eventarc/V1/GetTrigger.cs @@ -70,7 +70,7 @@ public sealed class GetTriggerResult /// /// The reason(s) why a trigger is in FAILED state. /// - public readonly ImmutableDictionary Conditions; + public readonly ImmutableDictionary Conditions; /// /// The creation time. /// @@ -120,7 +120,7 @@ public sealed class GetTriggerResult private GetTriggerResult( string channel, - ImmutableDictionary conditions, + ImmutableDictionary conditions, string createTime, diff --git a/sdk/dotnet/Eventarc/V1/Outputs/StateConditionResponse.cs b/sdk/dotnet/Eventarc/V1/Outputs/StateConditionResponse.cs new file mode 100644 index 0000000000..a725552137 --- /dev/null +++ b/sdk/dotnet/Eventarc/V1/Outputs/StateConditionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Eventarc.V1.Outputs +{ + + /// + /// A condition that is part of the trigger state computation. + /// + [OutputType] + public sealed class StateConditionResponse + { + /// + /// The canonical code of the condition. + /// + public readonly string Code; + /// + /// Human-readable message. + /// + public readonly string Message; + + [OutputConstructor] + private StateConditionResponse( + string code, + + string message) + { + Code = code; + Message = message; + } + } +} diff --git a/sdk/dotnet/Eventarc/V1/Trigger.cs b/sdk/dotnet/Eventarc/V1/Trigger.cs index 8863cc710b..6f0e7b0b34 100644 --- a/sdk/dotnet/Eventarc/V1/Trigger.cs +++ b/sdk/dotnet/Eventarc/V1/Trigger.cs @@ -25,7 +25,7 @@ public partial class Trigger : global::Pulumi.CustomResource /// The reason(s) why a trigger is in FAILED state. /// [Output("conditions")] - public Output> Conditions { get; private set; } = null!; + public Output> Conditions { get; private set; } = null!; /// /// The creation time. diff --git a/sdk/dotnet/FirebaseHosting/V1Beta1/Outputs/StatusResponse.cs b/sdk/dotnet/FirebaseHosting/V1Beta1/Outputs/StatusResponse.cs index 89c906e62f..6e18967be6 100644 --- a/sdk/dotnet/FirebaseHosting/V1Beta1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/FirebaseHosting/V1Beta1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/FirebaseML/V1Beta2/Outputs/OperationResponse.cs b/sdk/dotnet/FirebaseML/V1Beta2/Outputs/OperationResponse.cs index faf874f9d8..3ad48e1032 100644 --- a/sdk/dotnet/FirebaseML/V1Beta2/Outputs/OperationResponse.cs +++ b/sdk/dotnet/FirebaseML/V1Beta2/Outputs/OperationResponse.cs @@ -27,7 +27,7 @@ public sealed class OperationResponse /// /// Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. /// - public readonly ImmutableDictionary Metadata; + public readonly ImmutableDictionary Metadata; /// /// The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. /// @@ -35,7 +35,7 @@ public sealed class OperationResponse /// /// The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. /// - public readonly ImmutableDictionary Response; + public readonly ImmutableDictionary Response; [OutputConstructor] private OperationResponse( @@ -43,11 +43,11 @@ private OperationResponse( Outputs.StatusResponse error, - ImmutableDictionary metadata, + ImmutableDictionary metadata, string name, - ImmutableDictionary response) + ImmutableDictionary response) { Done = done; Error = error; diff --git a/sdk/dotnet/FirebaseML/V1Beta2/Outputs/StatusResponse.cs b/sdk/dotnet/FirebaseML/V1Beta2/Outputs/StatusResponse.cs index 0591b97a5e..6e45fe4ac5 100644 --- a/sdk/dotnet/FirebaseML/V1Beta2/Outputs/StatusResponse.cs +++ b/sdk/dotnet/FirebaseML/V1Beta2/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/GKEHub/V1/Enums.cs b/sdk/dotnet/GKEHub/V1/Enums.cs index 26add15ce5..f9627f9b40 100644 --- a/sdk/dotnet/GKEHub/V1/Enums.cs +++ b/sdk/dotnet/GKEHub/V1/Enums.cs @@ -221,6 +221,51 @@ private OnPremClusterClusterType(string value) public override string ToString() => _value; } + /// + /// Type specifies which type of origin is set. + /// + [EnumType] + public readonly struct OriginType : IEquatable + { + private readonly string _value; + + private OriginType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Type is unknown or not set. + /// + public static OriginType TypeUnspecified { get; } = new OriginType("TYPE_UNSPECIFIED"); + /// + /// Per-Membership spec was inherited from the fleet-level default. + /// + public static OriginType Fleet { get; } = new OriginType("FLEET"); + /// + /// Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + /// + public static OriginType FleetOutOfSync { get; } = new OriginType("FLEET_OUT_OF_SYNC"); + /// + /// Per-Membership spec was inherited from a user specification. + /// + public static OriginType User { get; } = new OriginType("USER"); + + public static bool operator ==(OriginType left, OriginType right) => left.Equals(right); + public static bool operator !=(OriginType left, OriginType right) => !left.Equals(right); + + public static explicit operator string(OriginType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OriginType other && Equals(other); + public bool Equals(OriginType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. /// @@ -308,6 +353,47 @@ private PolicyControllerMonitoringConfigBackendsItem(string value) public override string ToString() => _value; } + /// + /// Pod affinity configuration. + /// + [EnumType] + public readonly struct PolicyControllerPolicyControllerDeploymentConfigPodAffinity : IEquatable + { + private readonly string _value; + + private PolicyControllerPolicyControllerDeploymentConfigPodAffinity(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// No affinity configuration has been specified. + /// + public static PolicyControllerPolicyControllerDeploymentConfigPodAffinity AffinityUnspecified { get; } = new PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED"); + /// + /// Affinity configurations will be removed from the deployment. + /// + public static PolicyControllerPolicyControllerDeploymentConfigPodAffinity NoAffinity { get; } = new PolicyControllerPolicyControllerDeploymentConfigPodAffinity("NO_AFFINITY"); + /// + /// Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + /// + public static PolicyControllerPolicyControllerDeploymentConfigPodAffinity AntiAffinity { get; } = new PolicyControllerPolicyControllerDeploymentConfigPodAffinity("ANTI_AFFINITY"); + + public static bool operator ==(PolicyControllerPolicyControllerDeploymentConfigPodAffinity left, PolicyControllerPolicyControllerDeploymentConfigPodAffinity right) => left.Equals(right); + public static bool operator !=(PolicyControllerPolicyControllerDeploymentConfigPodAffinity left, PolicyControllerPolicyControllerDeploymentConfigPodAffinity right) => !left.Equals(right); + + public static explicit operator string(PolicyControllerPolicyControllerDeploymentConfigPodAffinity value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PolicyControllerPolicyControllerDeploymentConfigPodAffinity other && Equals(other); + public bool Equals(PolicyControllerPolicyControllerDeploymentConfigPodAffinity other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Configures the manner in which the template library is installed on the cluster. /// diff --git a/sdk/dotnet/GKEHub/V1/Feature.cs b/sdk/dotnet/GKEHub/V1/Feature.cs index 3016510d32..20ad1ad8e8 100644 --- a/sdk/dotnet/GKEHub/V1/Feature.cs +++ b/sdk/dotnet/GKEHub/V1/Feature.cs @@ -53,13 +53,13 @@ public partial class Feature : global::Pulumi.CustomResource /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// [Output("membershipSpecs")] - public Output> MembershipSpecs { get; private set; } = null!; + public Output> MembershipSpecs { get; private set; } = null!; /// /// Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. /// [Output("membershipStates")] - public Output> MembershipStates { get; private set; } = null!; + public Output> MembershipStates { get; private set; } = null!; /// /// The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. @@ -86,13 +86,13 @@ public partial class Feature : global::Pulumi.CustomResource /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// [Output("scopeSpecs")] - public Output> ScopeSpecs { get; private set; } = null!; + public Output> ScopeSpecs { get; private set; } = null!; /// /// Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. /// [Output("scopeStates")] - public Output> ScopeStates { get; private set; } = null!; + public Output> ScopeStates { get; private set; } = null!; /// /// Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. @@ -190,14 +190,14 @@ public InputMap Labels public Input? Location { get; set; } [Input("membershipSpecs")] - private InputMap? _membershipSpecs; + private InputMap? _membershipSpecs; /// /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public InputMap MembershipSpecs + public InputMap MembershipSpecs { - get => _membershipSpecs ?? (_membershipSpecs = new InputMap()); + get => _membershipSpecs ?? (_membershipSpecs = new InputMap()); set => _membershipSpecs = value; } @@ -211,14 +211,14 @@ public InputMap MembershipSpecs public Input? RequestId { get; set; } [Input("scopeSpecs")] - private InputMap? _scopeSpecs; + private InputMap? _scopeSpecs; /// /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public InputMap ScopeSpecs + public InputMap ScopeSpecs { - get => _scopeSpecs ?? (_scopeSpecs = new InputMap()); + get => _scopeSpecs ?? (_scopeSpecs = new InputMap()); set => _scopeSpecs = value; } diff --git a/sdk/dotnet/GKEHub/V1/GetFeature.cs b/sdk/dotnet/GKEHub/V1/GetFeature.cs index 242ee5968b..536af3057f 100644 --- a/sdk/dotnet/GKEHub/V1/GetFeature.cs +++ b/sdk/dotnet/GKEHub/V1/GetFeature.cs @@ -82,11 +82,11 @@ public sealed class GetFeatureResult /// /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public readonly ImmutableDictionary MembershipSpecs; + public readonly ImmutableDictionary MembershipSpecs; /// /// Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. /// - public readonly ImmutableDictionary MembershipStates; + public readonly ImmutableDictionary MembershipStates; /// /// The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. /// @@ -98,11 +98,11 @@ public sealed class GetFeatureResult /// /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public readonly ImmutableDictionary ScopeSpecs; + public readonly ImmutableDictionary ScopeSpecs; /// /// Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. /// - public readonly ImmutableDictionary ScopeStates; + public readonly ImmutableDictionary ScopeStates; /// /// Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. /// @@ -126,17 +126,17 @@ private GetFeatureResult( ImmutableDictionary labels, - ImmutableDictionary membershipSpecs, + ImmutableDictionary membershipSpecs, - ImmutableDictionary membershipStates, + ImmutableDictionary membershipStates, string name, Outputs.FeatureResourceStateResponse resourceState, - ImmutableDictionary scopeSpecs, + ImmutableDictionary scopeSpecs, - ImmutableDictionary scopeStates, + ImmutableDictionary scopeStates, Outputs.CommonFeatureSpecResponse spec, diff --git a/sdk/dotnet/GKEHub/V1/Inputs/FleetObservabilityMembershipSpecArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/FleetObservabilityMembershipSpecArgs.cs new file mode 100644 index 0000000000..931f4c41c4 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Inputs/FleetObservabilityMembershipSpecArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Inputs +{ + + /// + /// **FleetObservability**: The membership-specific input for FleetObservability feature. + /// + public sealed class FleetObservabilityMembershipSpecArgs : global::Pulumi.ResourceArgs + { + public FleetObservabilityMembershipSpecArgs() + { + } + public static new FleetObservabilityMembershipSpecArgs Empty => new FleetObservabilityMembershipSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1/Inputs/MembershipFeatureSpecArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/MembershipFeatureSpecArgs.cs new file mode 100644 index 0000000000..fc5b924c00 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Inputs/MembershipFeatureSpecArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Inputs +{ + + /// + /// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + /// + public sealed class MembershipFeatureSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// Config Management-specific spec. + /// + [Input("configmanagement")] + public Input? Configmanagement { get; set; } + + /// + /// Fleet observability membership spec + /// + [Input("fleetobservability")] + public Input? Fleetobservability { get; set; } + + /// + /// Identity Service-specific spec. + /// + [Input("identityservice")] + public Input? Identityservice { get; set; } + + /// + /// Anthos Service Mesh-specific spec + /// + [Input("mesh")] + public Input? Mesh { get; set; } + + /// + /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + /// + [Input("origin")] + public Input? Origin { get; set; } + + /// + /// Policy Controller spec. + /// + [Input("policycontroller")] + public Input? Policycontroller { get; set; } + + public MembershipFeatureSpecArgs() + { + } + public static new MembershipFeatureSpecArgs Empty => new MembershipFeatureSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1/Inputs/OriginArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/OriginArgs.cs new file mode 100644 index 0000000000..a9384fed60 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Inputs/OriginArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Inputs +{ + + /// + /// Origin defines where this MembershipFeatureSpec originated from. + /// + public sealed class OriginArgs : global::Pulumi.ResourceArgs + { + /// + /// Type specifies which type of origin is set. + /// + [Input("type")] + public Input? Type { get; set; } + + public OriginArgs() + { + } + public static new OriginArgs Empty => new OriginArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerBundleInstallSpecArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerBundleInstallSpecArgs.cs new file mode 100644 index 0000000000..be59344ff3 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerBundleInstallSpecArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Inputs +{ + + /// + /// BundleInstallSpec is the specification configuration for a single managed bundle. + /// + public sealed class PolicyControllerBundleInstallSpecArgs : global::Pulumi.ResourceArgs + { + [Input("exemptedNamespaces")] + private InputList? _exemptedNamespaces; + + /// + /// The set of namespaces to be exempted from the bundle. + /// + public InputList ExemptedNamespaces + { + get => _exemptedNamespaces ?? (_exemptedNamespaces = new InputList()); + set => _exemptedNamespaces = value; + } + + public PolicyControllerBundleInstallSpecArgs() + { + } + public static new PolicyControllerBundleInstallSpecArgs Empty => new PolicyControllerBundleInstallSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerHubConfigArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerHubConfigArgs.cs index f90d370e44..519ae5eecf 100644 --- a/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerHubConfigArgs.cs +++ b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerHubConfigArgs.cs @@ -28,14 +28,14 @@ public sealed class PolicyControllerHubConfigArgs : global::Pulumi.ResourceArgs public Input? ConstraintViolationLimit { get; set; } [Input("deploymentConfigs")] - private InputMap? _deploymentConfigs; + private InputMap? _deploymentConfigs; /// /// Map of deployment configs to deployments ("admission", "audit", "mutation'). /// - public InputMap DeploymentConfigs + public InputMap DeploymentConfigs { - get => _deploymentConfigs ?? (_deploymentConfigs = new InputMap()); + get => _deploymentConfigs ?? (_deploymentConfigs = new InputMap()); set => _deploymentConfigs = value; } diff --git a/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerPolicyContentSpecArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerPolicyContentSpecArgs.cs index 226440d4f4..4d6aafe892 100644 --- a/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerPolicyContentSpecArgs.cs +++ b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerPolicyContentSpecArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.GKEHub.V1.Inputs public sealed class PolicyControllerPolicyContentSpecArgs : global::Pulumi.ResourceArgs { [Input("bundles")] - private InputMap? _bundles; + private InputMap? _bundles; /// /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. /// - public InputMap Bundles + public InputMap Bundles { - get => _bundles ?? (_bundles = new InputMap()); + get => _bundles ?? (_bundles = new InputMap()); set => _bundles = value; } diff --git a/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerPolicyControllerDeploymentConfigArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerPolicyControllerDeploymentConfigArgs.cs new file mode 100644 index 0000000000..610a286180 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerPolicyControllerDeploymentConfigArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Inputs +{ + + /// + /// Deployment-specific configuration. + /// + public sealed class PolicyControllerPolicyControllerDeploymentConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Container resource requirements. + /// + [Input("containerResources")] + public Input? ContainerResources { get; set; } + + /// + /// Pod affinity configuration. + /// + [Input("podAffinity")] + public Input? PodAffinity { get; set; } + + /// + /// Pod anti-affinity enablement. + /// + [Input("podAntiAffinity")] + public Input? PodAntiAffinity { get; set; } + + [Input("podTolerations")] + private InputList? _podTolerations; + + /// + /// Pod tolerations of node taints. + /// + public InputList PodTolerations + { + get => _podTolerations ?? (_podTolerations = new InputList()); + set => _podTolerations = value; + } + + /// + /// Pod replica count. + /// + [Input("replicaCount")] + public Input? ReplicaCount { get; set; } + + public PolicyControllerPolicyControllerDeploymentConfigArgs() + { + } + public static new PolicyControllerPolicyControllerDeploymentConfigArgs Empty => new PolicyControllerPolicyControllerDeploymentConfigArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerResourceListArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerResourceListArgs.cs new file mode 100644 index 0000000000..b4756326a5 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerResourceListArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Inputs +{ + + /// + /// ResourceList contains container resource requirements. + /// + public sealed class PolicyControllerResourceListArgs : global::Pulumi.ResourceArgs + { + /// + /// CPU requirement expressed in Kubernetes resource units. + /// + [Input("cpu")] + public Input? Cpu { get; set; } + + /// + /// Memory requirement expressed in Kubernetes resource units. + /// + [Input("memory")] + public Input? Memory { get; set; } + + public PolicyControllerResourceListArgs() + { + } + public static new PolicyControllerResourceListArgs Empty => new PolicyControllerResourceListArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerResourceRequirementsArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerResourceRequirementsArgs.cs new file mode 100644 index 0000000000..c4135d0021 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerResourceRequirementsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Inputs +{ + + /// + /// ResourceRequirements describes the compute resource requirements. + /// + public sealed class PolicyControllerResourceRequirementsArgs : global::Pulumi.ResourceArgs + { + /// + /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// + [Input("limits")] + public Input? Limits { get; set; } + + /// + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// + [Input("requests")] + public Input? Requests { get; set; } + + public PolicyControllerResourceRequirementsArgs() + { + } + public static new PolicyControllerResourceRequirementsArgs Empty => new PolicyControllerResourceRequirementsArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerTolerationArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerTolerationArgs.cs new file mode 100644 index 0000000000..e74e1aa681 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Inputs/PolicyControllerTolerationArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Inputs +{ + + /// + /// Toleration of a node taint. + /// + public sealed class PolicyControllerTolerationArgs : global::Pulumi.ResourceArgs + { + /// + /// Matches a taint effect. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Matches a taint key (not necessarily unique). + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Matches a taint operator. + /// + [Input("operator")] + public Input? Operator { get; set; } + + /// + /// Matches a taint value. + /// + [Input("value")] + public Input? Value { get; set; } + + public PolicyControllerTolerationArgs() + { + } + public static new PolicyControllerTolerationArgs Empty => new PolicyControllerTolerationArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1/Inputs/ScopeFeatureSpecArgs.cs b/sdk/dotnet/GKEHub/V1/Inputs/ScopeFeatureSpecArgs.cs new file mode 100644 index 0000000000..84251e78df --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Inputs/ScopeFeatureSpecArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Inputs +{ + + /// + /// ScopeFeatureSpec contains feature specs for a fleet scope. + /// + public sealed class ScopeFeatureSpecArgs : global::Pulumi.ResourceArgs + { + public ScopeFeatureSpecArgs() + { + } + public static new ScopeFeatureSpecArgs Empty => new ScopeFeatureSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeFleetStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeFleetStateResponse.cs index 61e81dca14..c213c5f1b2 100644 --- a/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeFleetStateResponse.cs +++ b/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeFleetStateResponse.cs @@ -27,7 +27,7 @@ public sealed class ClusterUpgradeFleetStateResponse /// /// A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. /// - public readonly ImmutableDictionary Ignored; + public readonly ImmutableDictionary Ignored; [OutputConstructor] private ClusterUpgradeFleetStateResponse( @@ -35,7 +35,7 @@ private ClusterUpgradeFleetStateResponse( Outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse gkeState, - ImmutableDictionary ignored) + ImmutableDictionary ignored) { DownstreamFleets = downstreamFleets; GkeState = gkeState; diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeIgnoredMembershipResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeIgnoredMembershipResponse.cs new file mode 100644 index 0000000000..264b8e5bf9 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeIgnoredMembershipResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + /// + [OutputType] + public sealed class ClusterUpgradeIgnoredMembershipResponse + { + /// + /// Time when the membership was first set to ignored. + /// + public readonly string IgnoredTime; + /// + /// Reason why the membership is ignored. + /// + public readonly string Reason; + + [OutputConstructor] + private ClusterUpgradeIgnoredMembershipResponse( + string ignoredTime, + + string reason) + { + IgnoredTime = ignoredTime; + Reason = reason; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeMembershipGKEUpgradeStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeMembershipGKEUpgradeStateResponse.cs new file mode 100644 index 0000000000..b89ab2e012 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeMembershipGKEUpgradeStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + /// + [OutputType] + public sealed class ClusterUpgradeMembershipGKEUpgradeStateResponse + { + /// + /// Status of the upgrade. + /// + public readonly Outputs.ClusterUpgradeUpgradeStatusResponse Status; + /// + /// Which upgrade to track the state. + /// + public readonly Outputs.ClusterUpgradeGKEUpgradeResponse Upgrade; + + [OutputConstructor] + private ClusterUpgradeMembershipGKEUpgradeStateResponse( + Outputs.ClusterUpgradeUpgradeStatusResponse status, + + Outputs.ClusterUpgradeGKEUpgradeResponse upgrade) + { + Status = status; + Upgrade = upgrade; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeMembershipStateResponse.cs new file mode 100644 index 0000000000..229ac317c5 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ClusterUpgradeMembershipStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Per-membership state for this feature. + /// + [OutputType] + public sealed class ClusterUpgradeMembershipStateResponse + { + /// + /// Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + /// + public readonly string Fleet; + /// + /// Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + /// + public readonly Outputs.ClusterUpgradeIgnoredMembershipResponse Ignored; + /// + /// Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + /// + public readonly ImmutableArray Scopes; + /// + /// Actual upgrade state against desired. + /// + public readonly ImmutableArray Upgrades; + + [OutputConstructor] + private ClusterUpgradeMembershipStateResponse( + string fleet, + + Outputs.ClusterUpgradeIgnoredMembershipResponse ignored, + + ImmutableArray scopes, + + ImmutableArray upgrades) + { + Fleet = fleet; + Ignored = ignored; + Scopes = scopes; + Upgrades = upgrades; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncDeploymentStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncDeploymentStateResponse.cs new file mode 100644 index 0000000000..bd4148d92d --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncDeploymentStateResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// The state of ConfigSync's deployment on a cluster + /// + [OutputType] + public sealed class ConfigManagementConfigSyncDeploymentStateResponse + { + /// + /// Deployment state of admission-webhook + /// + public readonly string AdmissionWebhook; + /// + /// Deployment state of the git-sync pod + /// + public readonly string GitSync; + /// + /// Deployment state of the importer pod + /// + public readonly string Importer; + /// + /// Deployment state of the monitor pod + /// + public readonly string Monitor; + /// + /// Deployment state of reconciler-manager pod + /// + public readonly string ReconcilerManager; + /// + /// Deployment state of root-reconciler + /// + public readonly string RootReconciler; + /// + /// Deployment state of the syncer pod + /// + public readonly string Syncer; + + [OutputConstructor] + private ConfigManagementConfigSyncDeploymentStateResponse( + string admissionWebhook, + + string gitSync, + + string importer, + + string monitor, + + string reconcilerManager, + + string rootReconciler, + + string syncer) + { + AdmissionWebhook = admissionWebhook; + GitSync = gitSync; + Importer = importer; + Monitor = monitor; + ReconcilerManager = reconcilerManager; + RootReconciler = rootReconciler; + Syncer = syncer; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncErrorResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncErrorResponse.cs new file mode 100644 index 0000000000..fb3e176b13 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncErrorResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Errors pertaining to the installation of Config Sync + /// + [OutputType] + public sealed class ConfigManagementConfigSyncErrorResponse + { + /// + /// A string representing the user facing error message + /// + public readonly string ErrorMessage; + + [OutputConstructor] + private ConfigManagementConfigSyncErrorResponse(string errorMessage) + { + ErrorMessage = errorMessage; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncStateResponse.cs new file mode 100644 index 0000000000..a9b8d53032 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// State information for ConfigSync + /// + [OutputType] + public sealed class ConfigManagementConfigSyncStateResponse + { + /// + /// Information about the deployment of ConfigSync, including the version of the various Pods deployed + /// + public readonly Outputs.ConfigManagementConfigSyncDeploymentStateResponse DeploymentState; + /// + /// Errors pertaining to the installation of Config Sync. + /// + public readonly ImmutableArray Errors; + /// + /// The state of ConfigSync's process to sync configs to a cluster + /// + public readonly Outputs.ConfigManagementSyncStateResponse SyncState; + /// + /// The version of ConfigSync deployed + /// + public readonly Outputs.ConfigManagementConfigSyncVersionResponse Version; + + [OutputConstructor] + private ConfigManagementConfigSyncStateResponse( + Outputs.ConfigManagementConfigSyncDeploymentStateResponse deploymentState, + + ImmutableArray errors, + + Outputs.ConfigManagementSyncStateResponse syncState, + + Outputs.ConfigManagementConfigSyncVersionResponse version) + { + DeploymentState = deploymentState; + Errors = errors; + SyncState = syncState; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncVersionResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncVersionResponse.cs new file mode 100644 index 0000000000..e532733405 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementConfigSyncVersionResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Specific versioning information pertaining to ConfigSync's Pods + /// + [OutputType] + public sealed class ConfigManagementConfigSyncVersionResponse + { + /// + /// Version of the deployed admission_webhook pod + /// + public readonly string AdmissionWebhook; + /// + /// Version of the deployed git-sync pod + /// + public readonly string GitSync; + /// + /// Version of the deployed importer pod + /// + public readonly string Importer; + /// + /// Version of the deployed monitor pod + /// + public readonly string Monitor; + /// + /// Version of the deployed reconciler-manager pod + /// + public readonly string ReconcilerManager; + /// + /// Version of the deployed reconciler container in root-reconciler pod + /// + public readonly string RootReconciler; + /// + /// Version of the deployed syncer pod + /// + public readonly string Syncer; + + [OutputConstructor] + private ConfigManagementConfigSyncVersionResponse( + string admissionWebhook, + + string gitSync, + + string importer, + + string monitor, + + string reconcilerManager, + + string rootReconciler, + + string syncer) + { + AdmissionWebhook = admissionWebhook; + GitSync = gitSync; + Importer = importer; + Monitor = monitor; + ReconcilerManager = reconcilerManager; + RootReconciler = rootReconciler; + Syncer = syncer; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementErrorResourceResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementErrorResourceResponse.cs new file mode 100644 index 0000000000..4ab8c4b87f --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementErrorResourceResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Model for a config file in the git repo with an associated Sync error + /// + [OutputType] + public sealed class ConfigManagementErrorResourceResponse + { + /// + /// Group/version/kind of the resource that is causing an error + /// + public readonly Outputs.ConfigManagementGroupVersionKindResponse ResourceGvk; + /// + /// Metadata name of the resource that is causing an error + /// + public readonly string ResourceName; + /// + /// Namespace of the resource that is causing an error + /// + public readonly string ResourceNamespace; + /// + /// Path in the git repo of the erroneous config + /// + public readonly string SourcePath; + + [OutputConstructor] + private ConfigManagementErrorResourceResponse( + Outputs.ConfigManagementGroupVersionKindResponse resourceGvk, + + string resourceName, + + string resourceNamespace, + + string sourcePath) + { + ResourceGvk = resourceGvk; + ResourceName = resourceName; + ResourceNamespace = resourceNamespace; + SourcePath = sourcePath; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementGatekeeperDeploymentStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementGatekeeperDeploymentStateResponse.cs new file mode 100644 index 0000000000..5a71862642 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementGatekeeperDeploymentStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// State of Policy Controller installation. + /// + [OutputType] + public sealed class ConfigManagementGatekeeperDeploymentStateResponse + { + /// + /// Status of gatekeeper-audit deployment. + /// + public readonly string GatekeeperAudit; + /// + /// Status of gatekeeper-controller-manager pod. + /// + public readonly string GatekeeperControllerManagerState; + /// + /// Status of the pod serving the mutation webhook. + /// + public readonly string GatekeeperMutation; + + [OutputConstructor] + private ConfigManagementGatekeeperDeploymentStateResponse( + string gatekeeperAudit, + + string gatekeeperControllerManagerState, + + string gatekeeperMutation) + { + GatekeeperAudit = gatekeeperAudit; + GatekeeperControllerManagerState = gatekeeperControllerManagerState; + GatekeeperMutation = gatekeeperMutation; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementGroupVersionKindResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementGroupVersionKindResponse.cs new file mode 100644 index 0000000000..ea167e2d2c --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementGroupVersionKindResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// A Kubernetes object's GVK + /// + [OutputType] + public sealed class ConfigManagementGroupVersionKindResponse + { + /// + /// Kubernetes Group + /// + public readonly string Group; + /// + /// Kubernetes Kind + /// + public readonly string Kind; + /// + /// Kubernetes Version + /// + public readonly string Version; + + [OutputConstructor] + private ConfigManagementGroupVersionKindResponse( + string group, + + string kind, + + string version) + { + Group = group; + Kind = kind; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementHierarchyControllerDeploymentStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementHierarchyControllerDeploymentStateResponse.cs new file mode 100644 index 0000000000..3b33b07ebd --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementHierarchyControllerDeploymentStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Deployment state for Hierarchy Controller + /// + [OutputType] + public sealed class ConfigManagementHierarchyControllerDeploymentStateResponse + { + /// + /// The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + /// + public readonly string Extension; + /// + /// The deployment state for open source HNC (e.g. v0.7.0-hc.0) + /// + public readonly string Hnc; + + [OutputConstructor] + private ConfigManagementHierarchyControllerDeploymentStateResponse( + string extension, + + string hnc) + { + Extension = extension; + Hnc = hnc; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementHierarchyControllerStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementHierarchyControllerStateResponse.cs new file mode 100644 index 0000000000..f21488eec2 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementHierarchyControllerStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// State for Hierarchy Controller + /// + [OutputType] + public sealed class ConfigManagementHierarchyControllerStateResponse + { + /// + /// The deployment state for Hierarchy Controller + /// + public readonly Outputs.ConfigManagementHierarchyControllerDeploymentStateResponse State; + /// + /// The version for Hierarchy Controller + /// + public readonly Outputs.ConfigManagementHierarchyControllerVersionResponse Version; + + [OutputConstructor] + private ConfigManagementHierarchyControllerStateResponse( + Outputs.ConfigManagementHierarchyControllerDeploymentStateResponse state, + + Outputs.ConfigManagementHierarchyControllerVersionResponse version) + { + State = state; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementHierarchyControllerVersionResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementHierarchyControllerVersionResponse.cs new file mode 100644 index 0000000000..01f7dc182b --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementHierarchyControllerVersionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Version for Hierarchy Controller + /// + [OutputType] + public sealed class ConfigManagementHierarchyControllerVersionResponse + { + /// + /// Version for Hierarchy Controller extension + /// + public readonly string Extension; + /// + /// Version for open source HNC + /// + public readonly string Hnc; + + [OutputConstructor] + private ConfigManagementHierarchyControllerVersionResponse( + string extension, + + string hnc) + { + Extension = extension; + Hnc = hnc; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementInstallErrorResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementInstallErrorResponse.cs new file mode 100644 index 0000000000..5c6a0dfb10 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementInstallErrorResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Errors pertaining to the installation of ACM + /// + [OutputType] + public sealed class ConfigManagementInstallErrorResponse + { + /// + /// A string representing the user facing error message + /// + public readonly string ErrorMessage; + + [OutputConstructor] + private ConfigManagementInstallErrorResponse(string errorMessage) + { + ErrorMessage = errorMessage; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementMembershipStateResponse.cs new file mode 100644 index 0000000000..8f36f0c645 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementMembershipStateResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// **Anthos Config Management**: State for a single cluster. + /// + [OutputType] + public sealed class ConfigManagementMembershipStateResponse + { + /// + /// This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + /// + public readonly string ClusterName; + /// + /// Current sync status + /// + public readonly Outputs.ConfigManagementConfigSyncStateResponse ConfigSyncState; + /// + /// Hierarchy Controller status + /// + public readonly Outputs.ConfigManagementHierarchyControllerStateResponse HierarchyControllerState; + /// + /// Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + /// + public readonly Outputs.ConfigManagementMembershipSpecResponse MembershipSpec; + /// + /// Current install status of ACM's Operator + /// + public readonly Outputs.ConfigManagementOperatorStateResponse OperatorState; + /// + /// PolicyController status + /// + public readonly Outputs.ConfigManagementPolicyControllerStateResponse PolicyControllerState; + + [OutputConstructor] + private ConfigManagementMembershipStateResponse( + string clusterName, + + Outputs.ConfigManagementConfigSyncStateResponse configSyncState, + + Outputs.ConfigManagementHierarchyControllerStateResponse hierarchyControllerState, + + Outputs.ConfigManagementMembershipSpecResponse membershipSpec, + + Outputs.ConfigManagementOperatorStateResponse operatorState, + + Outputs.ConfigManagementPolicyControllerStateResponse policyControllerState) + { + ClusterName = clusterName; + ConfigSyncState = configSyncState; + HierarchyControllerState = hierarchyControllerState; + MembershipSpec = membershipSpec; + OperatorState = operatorState; + PolicyControllerState = policyControllerState; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementOperatorStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementOperatorStateResponse.cs new file mode 100644 index 0000000000..ed2aac63d7 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementOperatorStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// State information for an ACM's Operator + /// + [OutputType] + public sealed class ConfigManagementOperatorStateResponse + { + /// + /// The state of the Operator's deployment + /// + public readonly string DeploymentState; + /// + /// Install errors. + /// + public readonly ImmutableArray Errors; + /// + /// The semenatic version number of the operator + /// + public readonly string Version; + + [OutputConstructor] + private ConfigManagementOperatorStateResponse( + string deploymentState, + + ImmutableArray errors, + + string version) + { + DeploymentState = deploymentState; + Errors = errors; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementPolicyControllerMigrationResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementPolicyControllerMigrationResponse.cs new file mode 100644 index 0000000000..061e9328eb --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementPolicyControllerMigrationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// State for the migration of PolicyController from ACM -> PoCo Hub. + /// + [OutputType] + public sealed class ConfigManagementPolicyControllerMigrationResponse + { + /// + /// Last time this membership spec was copied to PoCo feature. + /// + public readonly string CopyTime; + /// + /// Stage of the migration. + /// + public readonly string Stage; + + [OutputConstructor] + private ConfigManagementPolicyControllerMigrationResponse( + string copyTime, + + string stage) + { + CopyTime = copyTime; + Stage = stage; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementPolicyControllerStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementPolicyControllerStateResponse.cs new file mode 100644 index 0000000000..35c0a3af35 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementPolicyControllerStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// State for PolicyControllerState. + /// + [OutputType] + public sealed class ConfigManagementPolicyControllerStateResponse + { + /// + /// The state about the policy controller installation. + /// + public readonly Outputs.ConfigManagementGatekeeperDeploymentStateResponse DeploymentState; + /// + /// Record state of ACM -> PoCo Hub migration for this feature. + /// + public readonly Outputs.ConfigManagementPolicyControllerMigrationResponse Migration; + /// + /// The version of Gatekeeper Policy Controller deployed. + /// + public readonly Outputs.ConfigManagementPolicyControllerVersionResponse Version; + + [OutputConstructor] + private ConfigManagementPolicyControllerStateResponse( + Outputs.ConfigManagementGatekeeperDeploymentStateResponse deploymentState, + + Outputs.ConfigManagementPolicyControllerMigrationResponse migration, + + Outputs.ConfigManagementPolicyControllerVersionResponse version) + { + DeploymentState = deploymentState; + Migration = migration; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementPolicyControllerVersionResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementPolicyControllerVersionResponse.cs new file mode 100644 index 0000000000..2152bfb615 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementPolicyControllerVersionResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// The build version of Gatekeeper Policy Controller is using. + /// + [OutputType] + public sealed class ConfigManagementPolicyControllerVersionResponse + { + /// + /// The gatekeeper image tag that is composed of ACM version, git tag, build number. + /// + public readonly string Version; + + [OutputConstructor] + private ConfigManagementPolicyControllerVersionResponse(string version) + { + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementSyncErrorResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementSyncErrorResponse.cs new file mode 100644 index 0000000000..042e1eea88 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementSyncErrorResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// An ACM created error representing a problem syncing configurations + /// + [OutputType] + public sealed class ConfigManagementSyncErrorResponse + { + /// + /// An ACM defined error code + /// + public readonly string Code; + /// + /// A description of the error + /// + public readonly string ErrorMessage; + /// + /// A list of config(s) associated with the error, if any + /// + public readonly ImmutableArray ErrorResources; + + [OutputConstructor] + private ConfigManagementSyncErrorResponse( + string code, + + string errorMessage, + + ImmutableArray errorResources) + { + Code = code; + ErrorMessage = errorMessage; + ErrorResources = errorResources; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementSyncStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementSyncStateResponse.cs new file mode 100644 index 0000000000..56abf7ff59 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ConfigManagementSyncStateResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// State indicating an ACM's progress syncing configurations to a cluster + /// + [OutputType] + public sealed class ConfigManagementSyncStateResponse + { + /// + /// Sync status code + /// + public readonly string Code; + /// + /// A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + /// + public readonly ImmutableArray Errors; + /// + /// Token indicating the state of the importer. + /// + public readonly string ImportToken; + /// + /// Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + /// + public readonly string LastSync; + /// + /// Timestamp type of when ACM last successfully synced the repo + /// + public readonly string LastSyncTime; + /// + /// Token indicating the state of the repo. + /// + public readonly string SourceToken; + /// + /// Token indicating the state of the syncer. + /// + public readonly string SyncToken; + + [OutputConstructor] + private ConfigManagementSyncStateResponse( + string code, + + ImmutableArray errors, + + string importToken, + + string lastSync, + + string lastSyncTime, + + string sourceToken, + + string syncToken) + { + Code = code; + Errors = errors; + ImportToken = importToken; + LastSync = lastSync; + LastSyncTime = lastSyncTime; + SourceToken = sourceToken; + SyncToken = syncToken; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/FleetObservabilityMembershipSpecResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/FleetObservabilityMembershipSpecResponse.cs new file mode 100644 index 0000000000..dde4c4fd40 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/FleetObservabilityMembershipSpecResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// **FleetObservability**: The membership-specific input for FleetObservability feature. + /// + [OutputType] + public sealed class FleetObservabilityMembershipSpecResponse + { + [OutputConstructor] + private FleetObservabilityMembershipSpecResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/FleetObservabilityMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/FleetObservabilityMembershipStateResponse.cs new file mode 100644 index 0000000000..6071254c22 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/FleetObservabilityMembershipStateResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// **FleetObservability**: Membership-specific Feature state for fleetobservability. + /// + [OutputType] + public sealed class FleetObservabilityMembershipStateResponse + { + [OutputConstructor] + private FleetObservabilityMembershipStateResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/IdentityServiceMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/IdentityServiceMembershipStateResponse.cs new file mode 100644 index 0000000000..a79e5a42bb --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/IdentityServiceMembershipStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// **Anthos Identity Service**: State for a single Membership. + /// + [OutputType] + public sealed class IdentityServiceMembershipStateResponse + { + /// + /// The reason of the failure. + /// + public readonly string FailureReason; + /// + /// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + /// + public readonly string InstalledVersion; + /// + /// Last reconciled membership configuration + /// + public readonly Outputs.IdentityServiceMembershipSpecResponse MemberConfig; + /// + /// Deployment state on this member + /// + public readonly string State; + + [OutputConstructor] + private IdentityServiceMembershipStateResponse( + string failureReason, + + string installedVersion, + + Outputs.IdentityServiceMembershipSpecResponse memberConfig, + + string state) + { + FailureReason = failureReason; + InstalledVersion = installedVersion; + MemberConfig = memberConfig; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/MembershipFeatureSpecResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/MembershipFeatureSpecResponse.cs new file mode 100644 index 0000000000..06e098a26e --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/MembershipFeatureSpecResponse.cs @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + /// + [OutputType] + public sealed class MembershipFeatureSpecResponse + { + /// + /// Config Management-specific spec. + /// + public readonly Outputs.ConfigManagementMembershipSpecResponse Configmanagement; + /// + /// Fleet observability membership spec + /// + public readonly Outputs.FleetObservabilityMembershipSpecResponse Fleetobservability; + /// + /// Identity Service-specific spec. + /// + public readonly Outputs.IdentityServiceMembershipSpecResponse Identityservice; + /// + /// Anthos Service Mesh-specific spec + /// + public readonly Outputs.ServiceMeshMembershipSpecResponse Mesh; + /// + /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + /// + public readonly Outputs.OriginResponse Origin; + /// + /// Policy Controller spec. + /// + public readonly Outputs.PolicyControllerMembershipSpecResponse Policycontroller; + + [OutputConstructor] + private MembershipFeatureSpecResponse( + Outputs.ConfigManagementMembershipSpecResponse configmanagement, + + Outputs.FleetObservabilityMembershipSpecResponse fleetobservability, + + Outputs.IdentityServiceMembershipSpecResponse identityservice, + + Outputs.ServiceMeshMembershipSpecResponse mesh, + + Outputs.OriginResponse origin, + + Outputs.PolicyControllerMembershipSpecResponse policycontroller) + { + Configmanagement = configmanagement; + Fleetobservability = fleetobservability; + Identityservice = identityservice; + Mesh = mesh; + Origin = origin; + Policycontroller = policycontroller; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/MembershipFeatureStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/MembershipFeatureStateResponse.cs new file mode 100644 index 0000000000..1e909080bd --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/MembershipFeatureStateResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// MembershipFeatureState contains Feature status information for a single Membership. + /// + [OutputType] + public sealed class MembershipFeatureStateResponse + { + /// + /// Appdevexperience specific state. + /// + public readonly Outputs.AppDevExperienceFeatureStateResponse Appdevexperience; + /// + /// ClusterUpgrade state. + /// + public readonly Outputs.ClusterUpgradeMembershipStateResponse Clusterupgrade; + /// + /// Config Management-specific state. + /// + public readonly Outputs.ConfigManagementMembershipStateResponse Configmanagement; + /// + /// Fleet observability membership state. + /// + public readonly Outputs.FleetObservabilityMembershipStateResponse Fleetobservability; + /// + /// Identity Service-specific state. + /// + public readonly Outputs.IdentityServiceMembershipStateResponse Identityservice; + /// + /// Policycontroller-specific state. + /// + public readonly Outputs.PolicyControllerMembershipStateResponse Policycontroller; + /// + /// Service Mesh-specific state. + /// + public readonly Outputs.ServiceMeshMembershipStateResponse Servicemesh; + /// + /// The high-level state of this Feature for a single membership. + /// + public readonly Outputs.FeatureStateResponse State; + + [OutputConstructor] + private MembershipFeatureStateResponse( + Outputs.AppDevExperienceFeatureStateResponse appdevexperience, + + Outputs.ClusterUpgradeMembershipStateResponse clusterupgrade, + + Outputs.ConfigManagementMembershipStateResponse configmanagement, + + Outputs.FleetObservabilityMembershipStateResponse fleetobservability, + + Outputs.IdentityServiceMembershipStateResponse identityservice, + + Outputs.PolicyControllerMembershipStateResponse policycontroller, + + Outputs.ServiceMeshMembershipStateResponse servicemesh, + + Outputs.FeatureStateResponse state) + { + Appdevexperience = appdevexperience; + Clusterupgrade = clusterupgrade; + Configmanagement = configmanagement; + Fleetobservability = fleetobservability; + Identityservice = identityservice; + Policycontroller = policycontroller; + Servicemesh = servicemesh; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/OriginResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/OriginResponse.cs new file mode 100644 index 0000000000..daf1fd3d0d --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/OriginResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Origin defines where this MembershipFeatureSpec originated from. + /// + [OutputType] + public sealed class OriginResponse + { + /// + /// Type specifies which type of origin is set. + /// + public readonly string Type; + + [OutputConstructor] + private OriginResponse(string type) + { + Type = type; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerBundleInstallSpecResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerBundleInstallSpecResponse.cs new file mode 100644 index 0000000000..1c3038cbe2 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerBundleInstallSpecResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// BundleInstallSpec is the specification configuration for a single managed bundle. + /// + [OutputType] + public sealed class PolicyControllerBundleInstallSpecResponse + { + /// + /// The set of namespaces to be exempted from the bundle. + /// + public readonly ImmutableArray ExemptedNamespaces; + + [OutputConstructor] + private PolicyControllerBundleInstallSpecResponse(ImmutableArray exemptedNamespaces) + { + ExemptedNamespaces = exemptedNamespaces; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerHubConfigResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerHubConfigResponse.cs index 13c2a180ca..391757d1a3 100644 --- a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerHubConfigResponse.cs +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerHubConfigResponse.cs @@ -27,7 +27,7 @@ public sealed class PolicyControllerHubConfigResponse /// /// Map of deployment configs to deployments ("admission", "audit", "mutation'). /// - public readonly ImmutableDictionary DeploymentConfigs; + public readonly ImmutableDictionary DeploymentConfigs; /// /// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. /// @@ -63,7 +63,7 @@ private PolicyControllerHubConfigResponse( string constraintViolationLimit, - ImmutableDictionary deploymentConfigs, + ImmutableDictionary deploymentConfigs, ImmutableArray exemptableNamespaces, diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerMembershipStateResponse.cs new file mode 100644 index 0000000000..73434423ba --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerMembershipStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// **Policy Controller**: State for a single cluster. + /// + [OutputType] + public sealed class PolicyControllerMembershipStateResponse + { + /// + /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + /// + public readonly ImmutableDictionary ComponentStates; + /// + /// The overall content state observed by the Hub Feature controller. + /// + public readonly Outputs.PolicyControllerPolicyContentStateResponse PolicyContentState; + /// + /// The overall Policy Controller lifecycle state observed by the Hub Feature controller. + /// + public readonly string State; + + [OutputConstructor] + private PolicyControllerMembershipStateResponse( + ImmutableDictionary componentStates, + + Outputs.PolicyControllerPolicyContentStateResponse policyContentState, + + string state) + { + ComponentStates = componentStates; + PolicyContentState = policyContentState; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerOnClusterStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerOnClusterStateResponse.cs new file mode 100644 index 0000000000..8de883ebc3 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerOnClusterStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// OnClusterState represents the state of a sub-component of Policy Controller. + /// + [OutputType] + public sealed class PolicyControllerOnClusterStateResponse + { + /// + /// Surface potential errors or information logs. + /// + public readonly string Details; + /// + /// The lifecycle state of this component. + /// + public readonly string State; + + [OutputConstructor] + private PolicyControllerOnClusterStateResponse( + string details, + + string state) + { + Details = details; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyContentSpecResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyContentSpecResponse.cs index f5860ff5b4..406785d414 100644 --- a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyContentSpecResponse.cs +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyContentSpecResponse.cs @@ -19,7 +19,7 @@ public sealed class PolicyControllerPolicyContentSpecResponse /// /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. /// - public readonly ImmutableDictionary Bundles; + public readonly ImmutableDictionary Bundles; /// /// Configures the installation of the Template Library. /// @@ -27,7 +27,7 @@ public sealed class PolicyControllerPolicyContentSpecResponse [OutputConstructor] private PolicyControllerPolicyContentSpecResponse( - ImmutableDictionary bundles, + ImmutableDictionary bundles, Outputs.PolicyControllerTemplateLibraryConfigResponse templateLibrary) { diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyContentStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyContentStateResponse.cs new file mode 100644 index 0000000000..02b232c649 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyContentStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// The state of the policy controller policy content + /// + [OutputType] + public sealed class PolicyControllerPolicyContentStateResponse + { + /// + /// The state of the any bundles included in the chosen version of the manifest + /// + public readonly ImmutableDictionary BundleStates; + /// + /// The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + /// + public readonly Outputs.PolicyControllerOnClusterStateResponse ReferentialSyncConfigState; + /// + /// The state of the template library + /// + public readonly Outputs.PolicyControllerOnClusterStateResponse TemplateLibraryState; + + [OutputConstructor] + private PolicyControllerPolicyContentStateResponse( + ImmutableDictionary bundleStates, + + Outputs.PolicyControllerOnClusterStateResponse referentialSyncConfigState, + + Outputs.PolicyControllerOnClusterStateResponse templateLibraryState) + { + BundleStates = bundleStates; + ReferentialSyncConfigState = referentialSyncConfigState; + TemplateLibraryState = templateLibraryState; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyControllerDeploymentConfigResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyControllerDeploymentConfigResponse.cs new file mode 100644 index 0000000000..c5cdf082db --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerPolicyControllerDeploymentConfigResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Deployment-specific configuration. + /// + [OutputType] + public sealed class PolicyControllerPolicyControllerDeploymentConfigResponse + { + /// + /// Container resource requirements. + /// + public readonly Outputs.PolicyControllerResourceRequirementsResponse ContainerResources; + /// + /// Pod affinity configuration. + /// + public readonly string PodAffinity; + /// + /// Pod anti-affinity enablement. + /// + public readonly bool PodAntiAffinity; + /// + /// Pod tolerations of node taints. + /// + public readonly ImmutableArray PodTolerations; + /// + /// Pod replica count. + /// + public readonly string ReplicaCount; + + [OutputConstructor] + private PolicyControllerPolicyControllerDeploymentConfigResponse( + Outputs.PolicyControllerResourceRequirementsResponse containerResources, + + string podAffinity, + + bool podAntiAffinity, + + ImmutableArray podTolerations, + + string replicaCount) + { + ContainerResources = containerResources; + PodAffinity = podAffinity; + PodAntiAffinity = podAntiAffinity; + PodTolerations = podTolerations; + ReplicaCount = replicaCount; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerResourceListResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerResourceListResponse.cs new file mode 100644 index 0000000000..a0a171071b --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerResourceListResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// ResourceList contains container resource requirements. + /// + [OutputType] + public sealed class PolicyControllerResourceListResponse + { + /// + /// CPU requirement expressed in Kubernetes resource units. + /// + public readonly string Cpu; + /// + /// Memory requirement expressed in Kubernetes resource units. + /// + public readonly string Memory; + + [OutputConstructor] + private PolicyControllerResourceListResponse( + string cpu, + + string memory) + { + Cpu = cpu; + Memory = memory; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerResourceRequirementsResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerResourceRequirementsResponse.cs new file mode 100644 index 0000000000..59ca857c9e --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerResourceRequirementsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// ResourceRequirements describes the compute resource requirements. + /// + [OutputType] + public sealed class PolicyControllerResourceRequirementsResponse + { + /// + /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// + public readonly Outputs.PolicyControllerResourceListResponse Limits; + /// + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// + public readonly Outputs.PolicyControllerResourceListResponse Requests; + + [OutputConstructor] + private PolicyControllerResourceRequirementsResponse( + Outputs.PolicyControllerResourceListResponse limits, + + Outputs.PolicyControllerResourceListResponse requests) + { + Limits = limits; + Requests = requests; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerTolerationResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerTolerationResponse.cs new file mode 100644 index 0000000000..0c7f1c0641 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/PolicyControllerTolerationResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Toleration of a node taint. + /// + [OutputType] + public sealed class PolicyControllerTolerationResponse + { + /// + /// Matches a taint effect. + /// + public readonly string Effect; + /// + /// Matches a taint key (not necessarily unique). + /// + public readonly string Key; + /// + /// Matches a taint operator. + /// + public readonly string Operator; + /// + /// Matches a taint value. + /// + public readonly string Value; + + [OutputConstructor] + private PolicyControllerTolerationResponse( + string effect, + + string key, + + string @operator, + + string value) + { + Effect = effect; + Key = key; + Operator = @operator; + Value = value; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ScopeFeatureSpecResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ScopeFeatureSpecResponse.cs new file mode 100644 index 0000000000..97949bf6af --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ScopeFeatureSpecResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// ScopeFeatureSpec contains feature specs for a fleet scope. + /// + [OutputType] + public sealed class ScopeFeatureSpecResponse + { + [OutputConstructor] + private ScopeFeatureSpecResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ScopeFeatureStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ScopeFeatureStateResponse.cs new file mode 100644 index 0000000000..f8433be0ef --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ScopeFeatureStateResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// ScopeFeatureState contains Scope-wide Feature status information. + /// + [OutputType] + public sealed class ScopeFeatureStateResponse + { + /// + /// The "running state" of the Feature in this Scope. + /// + public readonly Outputs.FeatureStateResponse State; + + [OutputConstructor] + private ScopeFeatureStateResponse(Outputs.FeatureStateResponse state) + { + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshControlPlaneManagementResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshControlPlaneManagementResponse.cs new file mode 100644 index 0000000000..222c668d6b --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshControlPlaneManagementResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Status of control plane management. + /// + [OutputType] + public sealed class ServiceMeshControlPlaneManagementResponse + { + /// + /// Explanation of state. + /// + public readonly ImmutableArray Details; + /// + /// LifecycleState of control plane management. + /// + public readonly string State; + + [OutputConstructor] + private ServiceMeshControlPlaneManagementResponse( + ImmutableArray details, + + string state) + { + Details = details; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshDataPlaneManagementResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshDataPlaneManagementResponse.cs new file mode 100644 index 0000000000..ad65c539d7 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshDataPlaneManagementResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Status of data plane management. Only reported per-member. + /// + [OutputType] + public sealed class ServiceMeshDataPlaneManagementResponse + { + /// + /// Explanation of the status. + /// + public readonly ImmutableArray Details; + /// + /// Lifecycle status of data plane management. + /// + public readonly string State; + + [OutputConstructor] + private ServiceMeshDataPlaneManagementResponse( + ImmutableArray details, + + string state) + { + Details = details; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshMembershipStateResponse.cs new file mode 100644 index 0000000000..ca5af14da6 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshMembershipStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + /// + [OutputType] + public sealed class ServiceMeshMembershipStateResponse + { + /// + /// Status of control plane management + /// + public readonly Outputs.ServiceMeshControlPlaneManagementResponse ControlPlaneManagement; + /// + /// Status of data plane management. + /// + public readonly Outputs.ServiceMeshDataPlaneManagementResponse DataPlaneManagement; + + [OutputConstructor] + private ServiceMeshMembershipStateResponse( + Outputs.ServiceMeshControlPlaneManagementResponse controlPlaneManagement, + + Outputs.ServiceMeshDataPlaneManagementResponse dataPlaneManagement) + { + ControlPlaneManagement = controlPlaneManagement; + DataPlaneManagement = dataPlaneManagement; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshStatusDetailsResponse.cs b/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshStatusDetailsResponse.cs new file mode 100644 index 0000000000..e3a7765038 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1/Outputs/ServiceMeshStatusDetailsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1.Outputs +{ + + /// + /// Structured and human-readable details for a status. + /// + [OutputType] + public sealed class ServiceMeshStatusDetailsResponse + { + /// + /// A machine-readable code that further describes a broad status. + /// + public readonly string Code; + /// + /// Human-readable explanation of code. + /// + public readonly string Details; + + [OutputConstructor] + private ServiceMeshStatusDetailsResponse( + string code, + + string details) + { + Code = code; + Details = details; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Enums.cs b/sdk/dotnet/GKEHub/V1Alpha/Enums.cs index 3817f13a33..c53e0f91b2 100644 --- a/sdk/dotnet/GKEHub/V1Alpha/Enums.cs +++ b/sdk/dotnet/GKEHub/V1Alpha/Enums.cs @@ -93,6 +93,47 @@ private BinaryAuthorizationConfigEvaluationMode(string value) public override string ToString() => _value; } + /// + /// Whether it is allowed to run the privileged builds on the cluster or not. + /// + [EnumType] + public readonly struct CloudBuildMembershipSpecSecurityPolicy : IEquatable + { + private readonly string _value; + + private CloudBuildMembershipSpecSecurityPolicy(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Unspecified policy + /// + public static CloudBuildMembershipSpecSecurityPolicy SecurityPolicyUnspecified { get; } = new CloudBuildMembershipSpecSecurityPolicy("SECURITY_POLICY_UNSPECIFIED"); + /// + /// Privileged build pods are disallowed + /// + public static CloudBuildMembershipSpecSecurityPolicy NonPrivileged { get; } = new CloudBuildMembershipSpecSecurityPolicy("NON_PRIVILEGED"); + /// + /// Privileged build pods are allowed + /// + public static CloudBuildMembershipSpecSecurityPolicy Privileged { get; } = new CloudBuildMembershipSpecSecurityPolicy("PRIVILEGED"); + + public static bool operator ==(CloudBuildMembershipSpecSecurityPolicy left, CloudBuildMembershipSpecSecurityPolicy right) => left.Equals(right); + public static bool operator !=(CloudBuildMembershipSpecSecurityPolicy left, CloudBuildMembershipSpecSecurityPolicy right) => !left.Equals(right); + + public static explicit operator string(CloudBuildMembershipSpecSecurityPolicy value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CloudBuildMembershipSpecSecurityPolicy other && Equals(other); + public bool Equals(CloudBuildMembershipSpecSecurityPolicy other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct ConfigManagementPolicyControllerMonitoringBackendsItem : IEquatable { @@ -393,6 +434,51 @@ private OnPremClusterClusterType(string value) public override string ToString() => _value; } + /// + /// Type specifies which type of origin is set. + /// + [EnumType] + public readonly struct OriginType : IEquatable + { + private readonly string _value; + + private OriginType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Type is unknown or not set. + /// + public static OriginType TypeUnspecified { get; } = new OriginType("TYPE_UNSPECIFIED"); + /// + /// Per-Membership spec was inherited from the fleet-level default. + /// + public static OriginType Fleet { get; } = new OriginType("FLEET"); + /// + /// Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + /// + public static OriginType FleetOutOfSync { get; } = new OriginType("FLEET_OUT_OF_SYNC"); + /// + /// Per-Membership spec was inherited from a user specification. + /// + public static OriginType User { get; } = new OriginType("USER"); + + public static bool operator ==(OriginType left, OriginType right) => left.Equals(right); + public static bool operator !=(OriginType left, OriginType right) => !left.Equals(right); + + public static explicit operator string(OriginType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OriginType other && Equals(other); + public bool Equals(OriginType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. /// @@ -480,6 +566,47 @@ private PolicyControllerMonitoringConfigBackendsItem(string value) public override string ToString() => _value; } + /// + /// Pod affinity configuration. + /// + [EnumType] + public readonly struct PolicyControllerPolicyControllerDeploymentConfigPodAffinity : IEquatable + { + private readonly string _value; + + private PolicyControllerPolicyControllerDeploymentConfigPodAffinity(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// No affinity configuration has been specified. + /// + public static PolicyControllerPolicyControllerDeploymentConfigPodAffinity AffinityUnspecified { get; } = new PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED"); + /// + /// Affinity configurations will be removed from the deployment. + /// + public static PolicyControllerPolicyControllerDeploymentConfigPodAffinity NoAffinity { get; } = new PolicyControllerPolicyControllerDeploymentConfigPodAffinity("NO_AFFINITY"); + /// + /// Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + /// + public static PolicyControllerPolicyControllerDeploymentConfigPodAffinity AntiAffinity { get; } = new PolicyControllerPolicyControllerDeploymentConfigPodAffinity("ANTI_AFFINITY"); + + public static bool operator ==(PolicyControllerPolicyControllerDeploymentConfigPodAffinity left, PolicyControllerPolicyControllerDeploymentConfigPodAffinity right) => left.Equals(right); + public static bool operator !=(PolicyControllerPolicyControllerDeploymentConfigPodAffinity left, PolicyControllerPolicyControllerDeploymentConfigPodAffinity right) => !left.Equals(right); + + public static explicit operator string(PolicyControllerPolicyControllerDeploymentConfigPodAffinity value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PolicyControllerPolicyControllerDeploymentConfigPodAffinity other && Equals(other); + public bool Equals(PolicyControllerPolicyControllerDeploymentConfigPodAffinity other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Configures the manner in which the template library is installed on the cluster. /// diff --git a/sdk/dotnet/GKEHub/V1Alpha/Feature.cs b/sdk/dotnet/GKEHub/V1Alpha/Feature.cs index 20d56d64e1..6631a5ff03 100644 --- a/sdk/dotnet/GKEHub/V1Alpha/Feature.cs +++ b/sdk/dotnet/GKEHub/V1Alpha/Feature.cs @@ -53,13 +53,13 @@ public partial class Feature : global::Pulumi.CustomResource /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// [Output("membershipSpecs")] - public Output> MembershipSpecs { get; private set; } = null!; + public Output> MembershipSpecs { get; private set; } = null!; /// /// Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. /// [Output("membershipStates")] - public Output> MembershipStates { get; private set; } = null!; + public Output> MembershipStates { get; private set; } = null!; /// /// The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. @@ -86,13 +86,13 @@ public partial class Feature : global::Pulumi.CustomResource /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// [Output("scopeSpecs")] - public Output> ScopeSpecs { get; private set; } = null!; + public Output> ScopeSpecs { get; private set; } = null!; /// /// Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. /// [Output("scopeStates")] - public Output> ScopeStates { get; private set; } = null!; + public Output> ScopeStates { get; private set; } = null!; /// /// Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. @@ -190,14 +190,14 @@ public InputMap Labels public Input? Location { get; set; } [Input("membershipSpecs")] - private InputMap? _membershipSpecs; + private InputMap? _membershipSpecs; /// /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public InputMap MembershipSpecs + public InputMap MembershipSpecs { - get => _membershipSpecs ?? (_membershipSpecs = new InputMap()); + get => _membershipSpecs ?? (_membershipSpecs = new InputMap()); set => _membershipSpecs = value; } @@ -211,14 +211,14 @@ public InputMap MembershipSpecs public Input? RequestId { get; set; } [Input("scopeSpecs")] - private InputMap? _scopeSpecs; + private InputMap? _scopeSpecs; /// /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public InputMap ScopeSpecs + public InputMap ScopeSpecs { - get => _scopeSpecs ?? (_scopeSpecs = new InputMap()); + get => _scopeSpecs ?? (_scopeSpecs = new InputMap()); set => _scopeSpecs = value; } diff --git a/sdk/dotnet/GKEHub/V1Alpha/GetFeature.cs b/sdk/dotnet/GKEHub/V1Alpha/GetFeature.cs index 1bc07b4255..e2cf803aa7 100644 --- a/sdk/dotnet/GKEHub/V1Alpha/GetFeature.cs +++ b/sdk/dotnet/GKEHub/V1Alpha/GetFeature.cs @@ -82,11 +82,11 @@ public sealed class GetFeatureResult /// /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public readonly ImmutableDictionary MembershipSpecs; + public readonly ImmutableDictionary MembershipSpecs; /// /// Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. /// - public readonly ImmutableDictionary MembershipStates; + public readonly ImmutableDictionary MembershipStates; /// /// The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. /// @@ -98,11 +98,11 @@ public sealed class GetFeatureResult /// /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public readonly ImmutableDictionary ScopeSpecs; + public readonly ImmutableDictionary ScopeSpecs; /// /// Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. /// - public readonly ImmutableDictionary ScopeStates; + public readonly ImmutableDictionary ScopeStates; /// /// Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. /// @@ -126,17 +126,17 @@ private GetFeatureResult( ImmutableDictionary labels, - ImmutableDictionary membershipSpecs, + ImmutableDictionary membershipSpecs, - ImmutableDictionary membershipStates, + ImmutableDictionary membershipStates, string name, Outputs.FeatureResourceStateResponse resourceState, - ImmutableDictionary scopeSpecs, + ImmutableDictionary scopeSpecs, - ImmutableDictionary scopeStates, + ImmutableDictionary scopeStates, Outputs.CommonFeatureSpecResponse spec, diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/CloudBuildMembershipSpecArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/CloudBuildMembershipSpecArgs.cs new file mode 100644 index 0000000000..fd5ea2e691 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/CloudBuildMembershipSpecArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. + /// + public sealed class CloudBuildMembershipSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether it is allowed to run the privileged builds on the cluster or not. + /// + [Input("securityPolicy")] + public Input? SecurityPolicy { get; set; } + + /// + /// Version of the cloud build software on the cluster. + /// + [Input("version")] + public Input? Version { get; set; } + + public CloudBuildMembershipSpecArgs() + { + } + public static new CloudBuildMembershipSpecArgs Empty => new CloudBuildMembershipSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/ClusterUpgradeScopeSpecArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/ClusterUpgradeScopeSpecArgs.cs new file mode 100644 index 0000000000..5d132cb5cf --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/ClusterUpgradeScopeSpecArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. + /// + public sealed class ClusterUpgradeScopeSpecArgs : global::Pulumi.ResourceArgs + { + [Input("gkeUpgradeOverrides")] + private InputList? _gkeUpgradeOverrides; + + /// + /// Allow users to override some properties of each GKE upgrade. + /// + public InputList GkeUpgradeOverrides + { + get => _gkeUpgradeOverrides ?? (_gkeUpgradeOverrides = new InputList()); + set => _gkeUpgradeOverrides = value; + } + + /// + /// Post conditions to evaluate to mark an upgrade COMPLETE. Required. + /// + [Input("postConditions", required: true)] + public Input PostConditions { get; set; } = null!; + + [Input("upstreamScopes")] + private InputList? _upstreamScopes; + + /// + /// This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + /// + public InputList UpstreamScopes + { + get => _upstreamScopes ?? (_upstreamScopes = new InputList()); + set => _upstreamScopes = value; + } + + public ClusterUpgradeScopeSpecArgs() + { + } + public static new ClusterUpgradeScopeSpecArgs Empty => new ClusterUpgradeScopeSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/FleetObservabilityMembershipSpecArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/FleetObservabilityMembershipSpecArgs.cs new file mode 100644 index 0000000000..f4860fec14 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/FleetObservabilityMembershipSpecArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// **FleetObservability**: The membership-specific input for FleetObservability feature. + /// + public sealed class FleetObservabilityMembershipSpecArgs : global::Pulumi.ResourceArgs + { + public FleetObservabilityMembershipSpecArgs() + { + } + public static new FleetObservabilityMembershipSpecArgs Empty => new FleetObservabilityMembershipSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/MembershipFeatureSpecArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/MembershipFeatureSpecArgs.cs new file mode 100644 index 0000000000..46ab394916 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/MembershipFeatureSpecArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + /// + public sealed class MembershipFeatureSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// Anthos Observability-specific spec + /// + [Input("anthosobservability")] + public Input? Anthosobservability { get; set; } + + /// + /// Cloud Build-specific spec + /// + [Input("cloudbuild")] + public Input? Cloudbuild { get; set; } + + /// + /// Config Management-specific spec. + /// + [Input("configmanagement")] + public Input? Configmanagement { get; set; } + + /// + /// Fleet observability membership spec + /// + [Input("fleetobservability")] + public Input? Fleetobservability { get; set; } + + /// + /// Identity Service-specific spec. + /// + [Input("identityservice")] + public Input? Identityservice { get; set; } + + /// + /// Anthos Service Mesh-specific spec + /// + [Input("mesh")] + public Input? Mesh { get; set; } + + /// + /// FNS Actuation membership spec + /// + [Input("namespaceactuation")] + public Input? Namespaceactuation { get; set; } + + /// + /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + /// + [Input("origin")] + public Input? Origin { get; set; } + + /// + /// Policy Controller spec. + /// + [Input("policycontroller")] + public Input? Policycontroller { get; set; } + + /// + /// Workload Certificate spec. + /// + [Input("workloadcertificate")] + public Input? Workloadcertificate { get; set; } + + public MembershipFeatureSpecArgs() + { + } + public static new MembershipFeatureSpecArgs Empty => new MembershipFeatureSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/NamespaceActuationMembershipSpecArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/NamespaceActuationMembershipSpecArgs.cs new file mode 100644 index 0000000000..e7a520fa7e --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/NamespaceActuationMembershipSpecArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. + /// + public sealed class NamespaceActuationMembershipSpecArgs : global::Pulumi.ResourceArgs + { + public NamespaceActuationMembershipSpecArgs() + { + } + public static new NamespaceActuationMembershipSpecArgs Empty => new NamespaceActuationMembershipSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/OriginArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/OriginArgs.cs new file mode 100644 index 0000000000..f1de84a040 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/OriginArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// Origin defines where this MembershipFeatureSpec originated from. + /// + public sealed class OriginArgs : global::Pulumi.ResourceArgs + { + /// + /// Type specifies which type of origin is set. + /// + [Input("type")] + public Input? Type { get; set; } + + public OriginArgs() + { + } + public static new OriginArgs Empty => new OriginArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerBundleInstallSpecArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerBundleInstallSpecArgs.cs new file mode 100644 index 0000000000..77682ad91e --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerBundleInstallSpecArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// BundleInstallSpec is the specification configuration for a single managed bundle. + /// + public sealed class PolicyControllerBundleInstallSpecArgs : global::Pulumi.ResourceArgs + { + [Input("exemptedNamespaces")] + private InputList? _exemptedNamespaces; + + /// + /// The set of namespaces to be exempted from the bundle. + /// + public InputList ExemptedNamespaces + { + get => _exemptedNamespaces ?? (_exemptedNamespaces = new InputList()); + set => _exemptedNamespaces = value; + } + + public PolicyControllerBundleInstallSpecArgs() + { + } + public static new PolicyControllerBundleInstallSpecArgs Empty => new PolicyControllerBundleInstallSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerHubConfigArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerHubConfigArgs.cs index 53ccc45e69..2b247efd0f 100644 --- a/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerHubConfigArgs.cs +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerHubConfigArgs.cs @@ -28,14 +28,14 @@ public sealed class PolicyControllerHubConfigArgs : global::Pulumi.ResourceArgs public Input? ConstraintViolationLimit { get; set; } [Input("deploymentConfigs")] - private InputMap? _deploymentConfigs; + private InputMap? _deploymentConfigs; /// /// Map of deployment configs to deployments ("admission", "audit", "mutation'). /// - public InputMap DeploymentConfigs + public InputMap DeploymentConfigs { - get => _deploymentConfigs ?? (_deploymentConfigs = new InputMap()); + get => _deploymentConfigs ?? (_deploymentConfigs = new InputMap()); set => _deploymentConfigs = value; } diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerPolicyContentSpecArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerPolicyContentSpecArgs.cs index e0582b6577..4548f2eb18 100644 --- a/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerPolicyContentSpecArgs.cs +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerPolicyContentSpecArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.GKEHub.V1Alpha.Inputs public sealed class PolicyControllerPolicyContentSpecArgs : global::Pulumi.ResourceArgs { [Input("bundles")] - private InputMap? _bundles; + private InputMap? _bundles; /// /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. /// - public InputMap Bundles + public InputMap Bundles { - get => _bundles ?? (_bundles = new InputMap()); + get => _bundles ?? (_bundles = new InputMap()); set => _bundles = value; } diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerPolicyControllerDeploymentConfigArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerPolicyControllerDeploymentConfigArgs.cs new file mode 100644 index 0000000000..c426d677d4 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerPolicyControllerDeploymentConfigArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// Deployment-specific configuration. + /// + public sealed class PolicyControllerPolicyControllerDeploymentConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Container resource requirements. + /// + [Input("containerResources")] + public Input? ContainerResources { get; set; } + + /// + /// Pod affinity configuration. + /// + [Input("podAffinity")] + public Input? PodAffinity { get; set; } + + /// + /// Pod anti-affinity enablement. + /// + [Input("podAntiAffinity")] + public Input? PodAntiAffinity { get; set; } + + [Input("podTolerations")] + private InputList? _podTolerations; + + /// + /// Pod tolerations of node taints. + /// + public InputList PodTolerations + { + get => _podTolerations ?? (_podTolerations = new InputList()); + set => _podTolerations = value; + } + + /// + /// Pod replica count. + /// + [Input("replicaCount")] + public Input? ReplicaCount { get; set; } + + public PolicyControllerPolicyControllerDeploymentConfigArgs() + { + } + public static new PolicyControllerPolicyControllerDeploymentConfigArgs Empty => new PolicyControllerPolicyControllerDeploymentConfigArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerResourceListArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerResourceListArgs.cs new file mode 100644 index 0000000000..7783a172ec --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerResourceListArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// ResourceList contains container resource requirements. + /// + public sealed class PolicyControllerResourceListArgs : global::Pulumi.ResourceArgs + { + /// + /// CPU requirement expressed in Kubernetes resource units. + /// + [Input("cpu")] + public Input? Cpu { get; set; } + + /// + /// Memory requirement expressed in Kubernetes resource units. + /// + [Input("memory")] + public Input? Memory { get; set; } + + public PolicyControllerResourceListArgs() + { + } + public static new PolicyControllerResourceListArgs Empty => new PolicyControllerResourceListArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerResourceRequirementsArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerResourceRequirementsArgs.cs new file mode 100644 index 0000000000..93359badfb --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerResourceRequirementsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// ResourceRequirements describes the compute resource requirements. + /// + public sealed class PolicyControllerResourceRequirementsArgs : global::Pulumi.ResourceArgs + { + /// + /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// + [Input("limits")] + public Input? Limits { get; set; } + + /// + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// + [Input("requests")] + public Input? Requests { get; set; } + + public PolicyControllerResourceRequirementsArgs() + { + } + public static new PolicyControllerResourceRequirementsArgs Empty => new PolicyControllerResourceRequirementsArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerTolerationArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerTolerationArgs.cs new file mode 100644 index 0000000000..9f233771d2 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/PolicyControllerTolerationArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// Toleration of a node taint. + /// + public sealed class PolicyControllerTolerationArgs : global::Pulumi.ResourceArgs + { + /// + /// Matches a taint effect. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Matches a taint key (not necessarily unique). + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Matches a taint operator. + /// + [Input("operator")] + public Input? Operator { get; set; } + + /// + /// Matches a taint value. + /// + [Input("value")] + public Input? Value { get; set; } + + public PolicyControllerTolerationArgs() + { + } + public static new PolicyControllerTolerationArgs Empty => new PolicyControllerTolerationArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Inputs/ScopeFeatureSpecArgs.cs b/sdk/dotnet/GKEHub/V1Alpha/Inputs/ScopeFeatureSpecArgs.cs new file mode 100644 index 0000000000..efe94cafad --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Inputs/ScopeFeatureSpecArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Inputs +{ + + /// + /// ScopeFeatureSpec contains feature specs for a fleet scope. + /// + public sealed class ScopeFeatureSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// Spec for the ClusterUpgrade feature at the scope level + /// + [Input("clusterupgrade")] + public Input? Clusterupgrade { get; set; } + + public ScopeFeatureSpecArgs() + { + } + public static new ScopeFeatureSpecArgs Empty => new ScopeFeatureSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/CloudBuildMembershipSpecResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/CloudBuildMembershipSpecResponse.cs new file mode 100644 index 0000000000..bf5f0381de --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/CloudBuildMembershipSpecResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. + /// + [OutputType] + public sealed class CloudBuildMembershipSpecResponse + { + /// + /// Whether it is allowed to run the privileged builds on the cluster or not. + /// + public readonly string SecurityPolicy; + /// + /// Version of the cloud build software on the cluster. + /// + public readonly string Version; + + [OutputConstructor] + private CloudBuildMembershipSpecResponse( + string securityPolicy, + + string version) + { + SecurityPolicy = securityPolicy; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeFleetStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeFleetStateResponse.cs index f792721759..56f0706c9b 100644 --- a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeFleetStateResponse.cs +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeFleetStateResponse.cs @@ -27,7 +27,7 @@ public sealed class ClusterUpgradeFleetStateResponse /// /// A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. /// - public readonly ImmutableDictionary Ignored; + public readonly ImmutableDictionary Ignored; [OutputConstructor] private ClusterUpgradeFleetStateResponse( @@ -35,7 +35,7 @@ private ClusterUpgradeFleetStateResponse( Outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse gkeState, - ImmutableDictionary ignored) + ImmutableDictionary ignored) { DownstreamFleets = downstreamFleets; GkeState = gkeState; diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeIgnoredMembershipResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeIgnoredMembershipResponse.cs new file mode 100644 index 0000000000..26e9ece1ab --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeIgnoredMembershipResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + /// + [OutputType] + public sealed class ClusterUpgradeIgnoredMembershipResponse + { + /// + /// Time when the membership was first set to ignored. + /// + public readonly string IgnoredTime; + /// + /// Reason why the membership is ignored. + /// + public readonly string Reason; + + [OutputConstructor] + private ClusterUpgradeIgnoredMembershipResponse( + string ignoredTime, + + string reason) + { + IgnoredTime = ignoredTime; + Reason = reason; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeMembershipGKEUpgradeStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeMembershipGKEUpgradeStateResponse.cs new file mode 100644 index 0000000000..6da835d462 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeMembershipGKEUpgradeStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + /// + [OutputType] + public sealed class ClusterUpgradeMembershipGKEUpgradeStateResponse + { + /// + /// Status of the upgrade. + /// + public readonly Outputs.ClusterUpgradeUpgradeStatusResponse Status; + /// + /// Which upgrade to track the state. + /// + public readonly Outputs.ClusterUpgradeGKEUpgradeResponse Upgrade; + + [OutputConstructor] + private ClusterUpgradeMembershipGKEUpgradeStateResponse( + Outputs.ClusterUpgradeUpgradeStatusResponse status, + + Outputs.ClusterUpgradeGKEUpgradeResponse upgrade) + { + Status = status; + Upgrade = upgrade; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeMembershipStateResponse.cs new file mode 100644 index 0000000000..becb0a620b --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeMembershipStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Per-membership state for this feature. + /// + [OutputType] + public sealed class ClusterUpgradeMembershipStateResponse + { + /// + /// Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + /// + public readonly string Fleet; + /// + /// Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + /// + public readonly Outputs.ClusterUpgradeIgnoredMembershipResponse Ignored; + /// + /// Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + /// + public readonly ImmutableArray Scopes; + /// + /// Actual upgrade state against desired. + /// + public readonly ImmutableArray Upgrades; + + [OutputConstructor] + private ClusterUpgradeMembershipStateResponse( + string fleet, + + Outputs.ClusterUpgradeIgnoredMembershipResponse ignored, + + ImmutableArray scopes, + + ImmutableArray upgrades) + { + Fleet = fleet; + Ignored = ignored; + Scopes = scopes; + Upgrades = upgrades; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeScopeSpecResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeScopeSpecResponse.cs new file mode 100644 index 0000000000..1fcf4daaaa --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeScopeSpecResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. + /// + [OutputType] + public sealed class ClusterUpgradeScopeSpecResponse + { + /// + /// Allow users to override some properties of each GKE upgrade. + /// + public readonly ImmutableArray GkeUpgradeOverrides; + /// + /// Post conditions to evaluate to mark an upgrade COMPLETE. Required. + /// + public readonly Outputs.ClusterUpgradePostConditionsResponse PostConditions; + /// + /// This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + /// + public readonly ImmutableArray UpstreamScopes; + + [OutputConstructor] + private ClusterUpgradeScopeSpecResponse( + ImmutableArray gkeUpgradeOverrides, + + Outputs.ClusterUpgradePostConditionsResponse postConditions, + + ImmutableArray upstreamScopes) + { + GkeUpgradeOverrides = gkeUpgradeOverrides; + PostConditions = postConditions; + UpstreamScopes = upstreamScopes; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeScopeStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeScopeStateResponse.cs new file mode 100644 index 0000000000..b8f5816767 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ClusterUpgradeScopeStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature. + /// + [OutputType] + public sealed class ClusterUpgradeScopeStateResponse + { + /// + /// This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. + /// + public readonly ImmutableArray DownstreamScopes; + /// + /// Feature state for GKE clusters. + /// + public readonly Outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse GkeState; + /// + /// A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. + /// + public readonly ImmutableDictionary Ignored; + + [OutputConstructor] + private ClusterUpgradeScopeStateResponse( + ImmutableArray downstreamScopes, + + Outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse gkeState, + + ImmutableDictionary ignored) + { + DownstreamScopes = downstreamScopes; + GkeState = gkeState; + Ignored = ignored; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementBinauthzStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementBinauthzStateResponse.cs new file mode 100644 index 0000000000..38ea6fc010 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementBinauthzStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// State for Binauthz + /// + [OutputType] + public sealed class ConfigManagementBinauthzStateResponse + { + /// + /// The version of binauthz that is installed. + /// + public readonly Outputs.ConfigManagementBinauthzVersionResponse Version; + /// + /// The state of the binauthz webhook. + /// + public readonly string Webhook; + + [OutputConstructor] + private ConfigManagementBinauthzStateResponse( + Outputs.ConfigManagementBinauthzVersionResponse version, + + string webhook) + { + Version = version; + Webhook = webhook; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementBinauthzVersionResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementBinauthzVersionResponse.cs new file mode 100644 index 0000000000..07738b07d8 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementBinauthzVersionResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// The version of binauthz. + /// + [OutputType] + public sealed class ConfigManagementBinauthzVersionResponse + { + /// + /// The version of the binauthz webhook. + /// + public readonly string WebhookVersion; + + [OutputConstructor] + private ConfigManagementBinauthzVersionResponse(string webhookVersion) + { + WebhookVersion = webhookVersion; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncDeploymentStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncDeploymentStateResponse.cs new file mode 100644 index 0000000000..1b1b7afb88 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncDeploymentStateResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// The state of ConfigSync's deployment on a cluster + /// + [OutputType] + public sealed class ConfigManagementConfigSyncDeploymentStateResponse + { + /// + /// Deployment state of admission-webhook + /// + public readonly string AdmissionWebhook; + /// + /// Deployment state of the git-sync pod + /// + public readonly string GitSync; + /// + /// Deployment state of the importer pod + /// + public readonly string Importer; + /// + /// Deployment state of the monitor pod + /// + public readonly string Monitor; + /// + /// Deployment state of reconciler-manager pod + /// + public readonly string ReconcilerManager; + /// + /// Deployment state of root-reconciler + /// + public readonly string RootReconciler; + /// + /// Deployment state of the syncer pod + /// + public readonly string Syncer; + + [OutputConstructor] + private ConfigManagementConfigSyncDeploymentStateResponse( + string admissionWebhook, + + string gitSync, + + string importer, + + string monitor, + + string reconcilerManager, + + string rootReconciler, + + string syncer) + { + AdmissionWebhook = admissionWebhook; + GitSync = gitSync; + Importer = importer; + Monitor = monitor; + ReconcilerManager = reconcilerManager; + RootReconciler = rootReconciler; + Syncer = syncer; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncErrorResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncErrorResponse.cs new file mode 100644 index 0000000000..56ef1e8622 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncErrorResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Errors pertaining to the installation of Config Sync + /// + [OutputType] + public sealed class ConfigManagementConfigSyncErrorResponse + { + /// + /// A string representing the user facing error message + /// + public readonly string ErrorMessage; + + [OutputConstructor] + private ConfigManagementConfigSyncErrorResponse(string errorMessage) + { + ErrorMessage = errorMessage; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncStateResponse.cs new file mode 100644 index 0000000000..c7f6271ca3 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// State information for ConfigSync + /// + [OutputType] + public sealed class ConfigManagementConfigSyncStateResponse + { + /// + /// Information about the deployment of ConfigSync, including the version of the various Pods deployed + /// + public readonly Outputs.ConfigManagementConfigSyncDeploymentStateResponse DeploymentState; + /// + /// Errors pertaining to the installation of Config Sync. + /// + public readonly ImmutableArray Errors; + /// + /// The state of ConfigSync's process to sync configs to a cluster + /// + public readonly Outputs.ConfigManagementSyncStateResponse SyncState; + /// + /// The version of ConfigSync deployed + /// + public readonly Outputs.ConfigManagementConfigSyncVersionResponse Version; + + [OutputConstructor] + private ConfigManagementConfigSyncStateResponse( + Outputs.ConfigManagementConfigSyncDeploymentStateResponse deploymentState, + + ImmutableArray errors, + + Outputs.ConfigManagementSyncStateResponse syncState, + + Outputs.ConfigManagementConfigSyncVersionResponse version) + { + DeploymentState = deploymentState; + Errors = errors; + SyncState = syncState; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncVersionResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncVersionResponse.cs new file mode 100644 index 0000000000..ca1672158a --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementConfigSyncVersionResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Specific versioning information pertaining to ConfigSync's Pods + /// + [OutputType] + public sealed class ConfigManagementConfigSyncVersionResponse + { + /// + /// Version of the deployed admission_webhook pod + /// + public readonly string AdmissionWebhook; + /// + /// Version of the deployed git-sync pod + /// + public readonly string GitSync; + /// + /// Version of the deployed importer pod + /// + public readonly string Importer; + /// + /// Version of the deployed monitor pod + /// + public readonly string Monitor; + /// + /// Version of the deployed reconciler-manager pod + /// + public readonly string ReconcilerManager; + /// + /// Version of the deployed reconciler container in root-reconciler pod + /// + public readonly string RootReconciler; + /// + /// Version of the deployed syncer pod + /// + public readonly string Syncer; + + [OutputConstructor] + private ConfigManagementConfigSyncVersionResponse( + string admissionWebhook, + + string gitSync, + + string importer, + + string monitor, + + string reconcilerManager, + + string rootReconciler, + + string syncer) + { + AdmissionWebhook = admissionWebhook; + GitSync = gitSync; + Importer = importer; + Monitor = monitor; + ReconcilerManager = reconcilerManager; + RootReconciler = rootReconciler; + Syncer = syncer; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementErrorResourceResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementErrorResourceResponse.cs new file mode 100644 index 0000000000..424d0324d2 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementErrorResourceResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Model for a config file in the git repo with an associated Sync error + /// + [OutputType] + public sealed class ConfigManagementErrorResourceResponse + { + /// + /// Group/version/kind of the resource that is causing an error + /// + public readonly Outputs.ConfigManagementGroupVersionKindResponse ResourceGvk; + /// + /// Metadata name of the resource that is causing an error + /// + public readonly string ResourceName; + /// + /// Namespace of the resource that is causing an error + /// + public readonly string ResourceNamespace; + /// + /// Path in the git repo of the erroneous config + /// + public readonly string SourcePath; + + [OutputConstructor] + private ConfigManagementErrorResourceResponse( + Outputs.ConfigManagementGroupVersionKindResponse resourceGvk, + + string resourceName, + + string resourceNamespace, + + string sourcePath) + { + ResourceGvk = resourceGvk; + ResourceName = resourceName; + ResourceNamespace = resourceNamespace; + SourcePath = sourcePath; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementGatekeeperDeploymentStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementGatekeeperDeploymentStateResponse.cs new file mode 100644 index 0000000000..72813fd57e --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementGatekeeperDeploymentStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// State of Policy Controller installation. + /// + [OutputType] + public sealed class ConfigManagementGatekeeperDeploymentStateResponse + { + /// + /// Status of gatekeeper-audit deployment. + /// + public readonly string GatekeeperAudit; + /// + /// Status of gatekeeper-controller-manager pod. + /// + public readonly string GatekeeperControllerManagerState; + /// + /// Status of the pod serving the mutation webhook. + /// + public readonly string GatekeeperMutation; + + [OutputConstructor] + private ConfigManagementGatekeeperDeploymentStateResponse( + string gatekeeperAudit, + + string gatekeeperControllerManagerState, + + string gatekeeperMutation) + { + GatekeeperAudit = gatekeeperAudit; + GatekeeperControllerManagerState = gatekeeperControllerManagerState; + GatekeeperMutation = gatekeeperMutation; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementGroupVersionKindResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementGroupVersionKindResponse.cs new file mode 100644 index 0000000000..8d2c884269 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementGroupVersionKindResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// A Kubernetes object's GVK + /// + [OutputType] + public sealed class ConfigManagementGroupVersionKindResponse + { + /// + /// Kubernetes Group + /// + public readonly string Group; + /// + /// Kubernetes Kind + /// + public readonly string Kind; + /// + /// Kubernetes Version + /// + public readonly string Version; + + [OutputConstructor] + private ConfigManagementGroupVersionKindResponse( + string group, + + string kind, + + string version) + { + Group = group; + Kind = kind; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementHierarchyControllerDeploymentStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementHierarchyControllerDeploymentStateResponse.cs new file mode 100644 index 0000000000..22603093c5 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementHierarchyControllerDeploymentStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Deployment state for Hierarchy Controller + /// + [OutputType] + public sealed class ConfigManagementHierarchyControllerDeploymentStateResponse + { + /// + /// The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + /// + public readonly string Extension; + /// + /// The deployment state for open source HNC (e.g. v0.7.0-hc.0) + /// + public readonly string Hnc; + + [OutputConstructor] + private ConfigManagementHierarchyControllerDeploymentStateResponse( + string extension, + + string hnc) + { + Extension = extension; + Hnc = hnc; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementHierarchyControllerStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementHierarchyControllerStateResponse.cs new file mode 100644 index 0000000000..2e65fb0933 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementHierarchyControllerStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// State for Hierarchy Controller + /// + [OutputType] + public sealed class ConfigManagementHierarchyControllerStateResponse + { + /// + /// The deployment state for Hierarchy Controller + /// + public readonly Outputs.ConfigManagementHierarchyControllerDeploymentStateResponse State; + /// + /// The version for Hierarchy Controller + /// + public readonly Outputs.ConfigManagementHierarchyControllerVersionResponse Version; + + [OutputConstructor] + private ConfigManagementHierarchyControllerStateResponse( + Outputs.ConfigManagementHierarchyControllerDeploymentStateResponse state, + + Outputs.ConfigManagementHierarchyControllerVersionResponse version) + { + State = state; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementHierarchyControllerVersionResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementHierarchyControllerVersionResponse.cs new file mode 100644 index 0000000000..dda346fc67 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementHierarchyControllerVersionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Version for Hierarchy Controller + /// + [OutputType] + public sealed class ConfigManagementHierarchyControllerVersionResponse + { + /// + /// Version for Hierarchy Controller extension + /// + public readonly string Extension; + /// + /// Version for open source HNC + /// + public readonly string Hnc; + + [OutputConstructor] + private ConfigManagementHierarchyControllerVersionResponse( + string extension, + + string hnc) + { + Extension = extension; + Hnc = hnc; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementInstallErrorResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementInstallErrorResponse.cs new file mode 100644 index 0000000000..f3d56e43e0 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementInstallErrorResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Errors pertaining to the installation of ACM + /// + [OutputType] + public sealed class ConfigManagementInstallErrorResponse + { + /// + /// A string representing the user facing error message + /// + public readonly string ErrorMessage; + + [OutputConstructor] + private ConfigManagementInstallErrorResponse(string errorMessage) + { + ErrorMessage = errorMessage; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementMembershipStateResponse.cs new file mode 100644 index 0000000000..900099a862 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementMembershipStateResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **Anthos Config Management**: State for a single cluster. + /// + [OutputType] + public sealed class ConfigManagementMembershipStateResponse + { + /// + /// Binauthz status + /// + public readonly Outputs.ConfigManagementBinauthzStateResponse BinauthzState; + /// + /// This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + /// + public readonly string ClusterName; + /// + /// Current sync status + /// + public readonly Outputs.ConfigManagementConfigSyncStateResponse ConfigSyncState; + /// + /// Hierarchy Controller status + /// + public readonly Outputs.ConfigManagementHierarchyControllerStateResponse HierarchyControllerState; + /// + /// Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + /// + public readonly Outputs.ConfigManagementMembershipSpecResponse MembershipSpec; + /// + /// Current install status of ACM's Operator + /// + public readonly Outputs.ConfigManagementOperatorStateResponse OperatorState; + /// + /// PolicyController status + /// + public readonly Outputs.ConfigManagementPolicyControllerStateResponse PolicyControllerState; + + [OutputConstructor] + private ConfigManagementMembershipStateResponse( + Outputs.ConfigManagementBinauthzStateResponse binauthzState, + + string clusterName, + + Outputs.ConfigManagementConfigSyncStateResponse configSyncState, + + Outputs.ConfigManagementHierarchyControllerStateResponse hierarchyControllerState, + + Outputs.ConfigManagementMembershipSpecResponse membershipSpec, + + Outputs.ConfigManagementOperatorStateResponse operatorState, + + Outputs.ConfigManagementPolicyControllerStateResponse policyControllerState) + { + BinauthzState = binauthzState; + ClusterName = clusterName; + ConfigSyncState = configSyncState; + HierarchyControllerState = hierarchyControllerState; + MembershipSpec = membershipSpec; + OperatorState = operatorState; + PolicyControllerState = policyControllerState; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementOperatorStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementOperatorStateResponse.cs new file mode 100644 index 0000000000..f52efecb16 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementOperatorStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// State information for an ACM's Operator + /// + [OutputType] + public sealed class ConfigManagementOperatorStateResponse + { + /// + /// The state of the Operator's deployment + /// + public readonly string DeploymentState; + /// + /// Install errors. + /// + public readonly ImmutableArray Errors; + /// + /// The semenatic version number of the operator + /// + public readonly string Version; + + [OutputConstructor] + private ConfigManagementOperatorStateResponse( + string deploymentState, + + ImmutableArray errors, + + string version) + { + DeploymentState = deploymentState; + Errors = errors; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementPolicyControllerMigrationResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementPolicyControllerMigrationResponse.cs new file mode 100644 index 0000000000..c4c4bfddb3 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementPolicyControllerMigrationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// State for the migration of PolicyController from ACM -> PoCo Hub. + /// + [OutputType] + public sealed class ConfigManagementPolicyControllerMigrationResponse + { + /// + /// Last time this membership spec was copied to PoCo feature. + /// + public readonly string CopyTime; + /// + /// Stage of the migration. + /// + public readonly string Stage; + + [OutputConstructor] + private ConfigManagementPolicyControllerMigrationResponse( + string copyTime, + + string stage) + { + CopyTime = copyTime; + Stage = stage; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementPolicyControllerStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementPolicyControllerStateResponse.cs new file mode 100644 index 0000000000..e7d76d63b1 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementPolicyControllerStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// State for PolicyControllerState. + /// + [OutputType] + public sealed class ConfigManagementPolicyControllerStateResponse + { + /// + /// The state about the policy controller installation. + /// + public readonly Outputs.ConfigManagementGatekeeperDeploymentStateResponse DeploymentState; + /// + /// Record state of ACM -> PoCo Hub migration for this feature. + /// + public readonly Outputs.ConfigManagementPolicyControllerMigrationResponse Migration; + /// + /// The version of Gatekeeper Policy Controller deployed. + /// + public readonly Outputs.ConfigManagementPolicyControllerVersionResponse Version; + + [OutputConstructor] + private ConfigManagementPolicyControllerStateResponse( + Outputs.ConfigManagementGatekeeperDeploymentStateResponse deploymentState, + + Outputs.ConfigManagementPolicyControllerMigrationResponse migration, + + Outputs.ConfigManagementPolicyControllerVersionResponse version) + { + DeploymentState = deploymentState; + Migration = migration; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementPolicyControllerVersionResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementPolicyControllerVersionResponse.cs new file mode 100644 index 0000000000..a733d35766 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementPolicyControllerVersionResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// The build version of Gatekeeper Policy Controller is using. + /// + [OutputType] + public sealed class ConfigManagementPolicyControllerVersionResponse + { + /// + /// The gatekeeper image tag that is composed of ACM version, git tag, build number. + /// + public readonly string Version; + + [OutputConstructor] + private ConfigManagementPolicyControllerVersionResponse(string version) + { + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementSyncErrorResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementSyncErrorResponse.cs new file mode 100644 index 0000000000..03f60a0875 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementSyncErrorResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// An ACM created error representing a problem syncing configurations + /// + [OutputType] + public sealed class ConfigManagementSyncErrorResponse + { + /// + /// An ACM defined error code + /// + public readonly string Code; + /// + /// A description of the error + /// + public readonly string ErrorMessage; + /// + /// A list of config(s) associated with the error, if any + /// + public readonly ImmutableArray ErrorResources; + + [OutputConstructor] + private ConfigManagementSyncErrorResponse( + string code, + + string errorMessage, + + ImmutableArray errorResources) + { + Code = code; + ErrorMessage = errorMessage; + ErrorResources = errorResources; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementSyncStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementSyncStateResponse.cs new file mode 100644 index 0000000000..f2ccc3b0fd --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ConfigManagementSyncStateResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// State indicating an ACM's progress syncing configurations to a cluster + /// + [OutputType] + public sealed class ConfigManagementSyncStateResponse + { + /// + /// Sync status code + /// + public readonly string Code; + /// + /// A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + /// + public readonly ImmutableArray Errors; + /// + /// Token indicating the state of the importer. + /// + public readonly string ImportToken; + /// + /// Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + /// + public readonly string LastSync; + /// + /// Timestamp type of when ACM last successfully synced the repo + /// + public readonly string LastSyncTime; + /// + /// Token indicating the state of the repo. + /// + public readonly string SourceToken; + /// + /// Token indicating the state of the syncer. + /// + public readonly string SyncToken; + + [OutputConstructor] + private ConfigManagementSyncStateResponse( + string code, + + ImmutableArray errors, + + string importToken, + + string lastSync, + + string lastSyncTime, + + string sourceToken, + + string syncToken) + { + Code = code; + Errors = errors; + ImportToken = importToken; + LastSync = lastSync; + LastSyncTime = lastSyncTime; + SourceToken = sourceToken; + SyncToken = syncToken; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/FleetObservabilityMembershipSpecResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/FleetObservabilityMembershipSpecResponse.cs new file mode 100644 index 0000000000..4ad12923b3 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/FleetObservabilityMembershipSpecResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **FleetObservability**: The membership-specific input for FleetObservability feature. + /// + [OutputType] + public sealed class FleetObservabilityMembershipSpecResponse + { + [OutputConstructor] + private FleetObservabilityMembershipSpecResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/FleetObservabilityMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/FleetObservabilityMembershipStateResponse.cs new file mode 100644 index 0000000000..240c3fec89 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/FleetObservabilityMembershipStateResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **FleetObservability**: Membership-specific Feature state for fleetobservability. + /// + [OutputType] + public sealed class FleetObservabilityMembershipStateResponse + { + [OutputConstructor] + private FleetObservabilityMembershipStateResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/IdentityServiceMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/IdentityServiceMembershipStateResponse.cs new file mode 100644 index 0000000000..b30e424296 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/IdentityServiceMembershipStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **Anthos Identity Service**: State for a single Membership. + /// + [OutputType] + public sealed class IdentityServiceMembershipStateResponse + { + /// + /// The reason of the failure. + /// + public readonly string FailureReason; + /// + /// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + /// + public readonly string InstalledVersion; + /// + /// Last reconciled membership configuration + /// + public readonly Outputs.IdentityServiceMembershipSpecResponse MemberConfig; + /// + /// Deployment state on this member + /// + public readonly string State; + + [OutputConstructor] + private IdentityServiceMembershipStateResponse( + string failureReason, + + string installedVersion, + + Outputs.IdentityServiceMembershipSpecResponse memberConfig, + + string state) + { + FailureReason = failureReason; + InstalledVersion = installedVersion; + MemberConfig = memberConfig; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/MembershipFeatureSpecResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/MembershipFeatureSpecResponse.cs new file mode 100644 index 0000000000..ec0eb434b8 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/MembershipFeatureSpecResponse.cs @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + /// + [OutputType] + public sealed class MembershipFeatureSpecResponse + { + /// + /// Anthos Observability-specific spec + /// + public readonly Outputs.AnthosObservabilityMembershipSpecResponse Anthosobservability; + /// + /// Cloud Build-specific spec + /// + public readonly Outputs.CloudBuildMembershipSpecResponse Cloudbuild; + /// + /// Config Management-specific spec. + /// + public readonly Outputs.ConfigManagementMembershipSpecResponse Configmanagement; + /// + /// Fleet observability membership spec + /// + public readonly Outputs.FleetObservabilityMembershipSpecResponse Fleetobservability; + /// + /// Identity Service-specific spec. + /// + public readonly Outputs.IdentityServiceMembershipSpecResponse Identityservice; + /// + /// Anthos Service Mesh-specific spec + /// + public readonly Outputs.ServiceMeshMembershipSpecResponse Mesh; + /// + /// FNS Actuation membership spec + /// + public readonly Outputs.NamespaceActuationMembershipSpecResponse Namespaceactuation; + /// + /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + /// + public readonly Outputs.OriginResponse Origin; + /// + /// Policy Controller spec. + /// + public readonly Outputs.PolicyControllerMembershipSpecResponse Policycontroller; + /// + /// Workload Certificate spec. + /// + public readonly Outputs.MembershipSpecResponse Workloadcertificate; + + [OutputConstructor] + private MembershipFeatureSpecResponse( + Outputs.AnthosObservabilityMembershipSpecResponse anthosobservability, + + Outputs.CloudBuildMembershipSpecResponse cloudbuild, + + Outputs.ConfigManagementMembershipSpecResponse configmanagement, + + Outputs.FleetObservabilityMembershipSpecResponse fleetobservability, + + Outputs.IdentityServiceMembershipSpecResponse identityservice, + + Outputs.ServiceMeshMembershipSpecResponse mesh, + + Outputs.NamespaceActuationMembershipSpecResponse namespaceactuation, + + Outputs.OriginResponse origin, + + Outputs.PolicyControllerMembershipSpecResponse policycontroller, + + Outputs.MembershipSpecResponse workloadcertificate) + { + Anthosobservability = anthosobservability; + Cloudbuild = cloudbuild; + Configmanagement = configmanagement; + Fleetobservability = fleetobservability; + Identityservice = identityservice; + Mesh = mesh; + Namespaceactuation = namespaceactuation; + Origin = origin; + Policycontroller = policycontroller; + Workloadcertificate = workloadcertificate; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/MembershipFeatureStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/MembershipFeatureStateResponse.cs new file mode 100644 index 0000000000..6fdce26833 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/MembershipFeatureStateResponse.cs @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// MembershipFeatureState contains Feature status information for a single Membership. + /// + [OutputType] + public sealed class MembershipFeatureStateResponse + { + /// + /// Appdevexperience specific state. + /// + public readonly Outputs.AppDevExperienceFeatureStateResponse Appdevexperience; + /// + /// ClusterUpgrade state. + /// + public readonly Outputs.ClusterUpgradeMembershipStateResponse Clusterupgrade; + /// + /// Config Management-specific state. + /// + public readonly Outputs.ConfigManagementMembershipStateResponse Configmanagement; + /// + /// Fleet observability membership state. + /// + public readonly Outputs.FleetObservabilityMembershipStateResponse Fleetobservability; + /// + /// Identity Service-specific state. + /// + public readonly Outputs.IdentityServiceMembershipStateResponse Identityservice; + /// + /// Metering-specific state. + /// + public readonly Outputs.MeteringMembershipStateResponse Metering; + /// + /// FNS Actuation membership state + /// + public readonly Outputs.NamespaceActuationMembershipStateResponse Namespaceactuation; + /// + /// Policycontroller-specific state. + /// + public readonly Outputs.PolicyControllerMembershipStateResponse Policycontroller; + /// + /// Service Mesh-specific state. + /// + public readonly Outputs.ServiceMeshMembershipStateResponse Servicemesh; + /// + /// The high-level state of this Feature for a single membership. + /// + public readonly Outputs.FeatureStateResponse State; + + [OutputConstructor] + private MembershipFeatureStateResponse( + Outputs.AppDevExperienceFeatureStateResponse appdevexperience, + + Outputs.ClusterUpgradeMembershipStateResponse clusterupgrade, + + Outputs.ConfigManagementMembershipStateResponse configmanagement, + + Outputs.FleetObservabilityMembershipStateResponse fleetobservability, + + Outputs.IdentityServiceMembershipStateResponse identityservice, + + Outputs.MeteringMembershipStateResponse metering, + + Outputs.NamespaceActuationMembershipStateResponse namespaceactuation, + + Outputs.PolicyControllerMembershipStateResponse policycontroller, + + Outputs.ServiceMeshMembershipStateResponse servicemesh, + + Outputs.FeatureStateResponse state) + { + Appdevexperience = appdevexperience; + Clusterupgrade = clusterupgrade; + Configmanagement = configmanagement; + Fleetobservability = fleetobservability; + Identityservice = identityservice; + Metering = metering; + Namespaceactuation = namespaceactuation; + Policycontroller = policycontroller; + Servicemesh = servicemesh; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/MeteringMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/MeteringMembershipStateResponse.cs new file mode 100644 index 0000000000..e375574dca --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/MeteringMembershipStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **Metering**: Per-Membership Feature State. + /// + [OutputType] + public sealed class MeteringMembershipStateResponse + { + /// + /// The time stamp of the most recent measurement of the number of vCPUs in the cluster. + /// + public readonly string LastMeasurementTime; + /// + /// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + /// + public readonly double PreciseLastMeasuredClusterVcpuCapacity; + + [OutputConstructor] + private MeteringMembershipStateResponse( + string lastMeasurementTime, + + double preciseLastMeasuredClusterVcpuCapacity) + { + LastMeasurementTime = lastMeasurementTime; + PreciseLastMeasuredClusterVcpuCapacity = preciseLastMeasuredClusterVcpuCapacity; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/NamespaceActuationMembershipSpecResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/NamespaceActuationMembershipSpecResponse.cs new file mode 100644 index 0000000000..ef45011b4e --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/NamespaceActuationMembershipSpecResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. + /// + [OutputType] + public sealed class NamespaceActuationMembershipSpecResponse + { + [OutputConstructor] + private NamespaceActuationMembershipSpecResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/NamespaceActuationMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/NamespaceActuationMembershipStateResponse.cs new file mode 100644 index 0000000000..f8b357c6c0 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/NamespaceActuationMembershipStateResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **Namespace Actuation**: An empty state left as an example membership-specific Feature state. + /// + [OutputType] + public sealed class NamespaceActuationMembershipStateResponse + { + [OutputConstructor] + private NamespaceActuationMembershipStateResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/OriginResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/OriginResponse.cs new file mode 100644 index 0000000000..86c6ba1a38 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/OriginResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Origin defines where this MembershipFeatureSpec originated from. + /// + [OutputType] + public sealed class OriginResponse + { + /// + /// Type specifies which type of origin is set. + /// + public readonly string Type; + + [OutputConstructor] + private OriginResponse(string type) + { + Type = type; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerBundleInstallSpecResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerBundleInstallSpecResponse.cs new file mode 100644 index 0000000000..ea7ded3ebf --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerBundleInstallSpecResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// BundleInstallSpec is the specification configuration for a single managed bundle. + /// + [OutputType] + public sealed class PolicyControllerBundleInstallSpecResponse + { + /// + /// The set of namespaces to be exempted from the bundle. + /// + public readonly ImmutableArray ExemptedNamespaces; + + [OutputConstructor] + private PolicyControllerBundleInstallSpecResponse(ImmutableArray exemptedNamespaces) + { + ExemptedNamespaces = exemptedNamespaces; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerHubConfigResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerHubConfigResponse.cs index cb0584e339..9d5bbe9121 100644 --- a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerHubConfigResponse.cs +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerHubConfigResponse.cs @@ -27,7 +27,7 @@ public sealed class PolicyControllerHubConfigResponse /// /// Map of deployment configs to deployments ("admission", "audit", "mutation'). /// - public readonly ImmutableDictionary DeploymentConfigs; + public readonly ImmutableDictionary DeploymentConfigs; /// /// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. /// @@ -63,7 +63,7 @@ private PolicyControllerHubConfigResponse( string constraintViolationLimit, - ImmutableDictionary deploymentConfigs, + ImmutableDictionary deploymentConfigs, ImmutableArray exemptableNamespaces, diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerMembershipStateResponse.cs new file mode 100644 index 0000000000..f09e7ca9d6 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerMembershipStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **Policy Controller**: State for a single cluster. + /// + [OutputType] + public sealed class PolicyControllerMembershipStateResponse + { + /// + /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + /// + public readonly ImmutableDictionary ComponentStates; + /// + /// The overall content state observed by the Hub Feature controller. + /// + public readonly Outputs.PolicyControllerPolicyContentStateResponse PolicyContentState; + /// + /// The overall Policy Controller lifecycle state observed by the Hub Feature controller. + /// + public readonly string State; + + [OutputConstructor] + private PolicyControllerMembershipStateResponse( + ImmutableDictionary componentStates, + + Outputs.PolicyControllerPolicyContentStateResponse policyContentState, + + string state) + { + ComponentStates = componentStates; + PolicyContentState = policyContentState; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerOnClusterStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerOnClusterStateResponse.cs new file mode 100644 index 0000000000..587ad38425 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerOnClusterStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// OnClusterState represents the state of a sub-component of Policy Controller. + /// + [OutputType] + public sealed class PolicyControllerOnClusterStateResponse + { + /// + /// Surface potential errors or information logs. + /// + public readonly string Details; + /// + /// The lifecycle state of this component. + /// + public readonly string State; + + [OutputConstructor] + private PolicyControllerOnClusterStateResponse( + string details, + + string state) + { + Details = details; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyContentSpecResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyContentSpecResponse.cs index 73f6f6bc6b..12227dacb5 100644 --- a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyContentSpecResponse.cs +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyContentSpecResponse.cs @@ -19,7 +19,7 @@ public sealed class PolicyControllerPolicyContentSpecResponse /// /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. /// - public readonly ImmutableDictionary Bundles; + public readonly ImmutableDictionary Bundles; /// /// Configures the installation of the Template Library. /// @@ -27,7 +27,7 @@ public sealed class PolicyControllerPolicyContentSpecResponse [OutputConstructor] private PolicyControllerPolicyContentSpecResponse( - ImmutableDictionary bundles, + ImmutableDictionary bundles, Outputs.PolicyControllerTemplateLibraryConfigResponse templateLibrary) { diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyContentStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyContentStateResponse.cs new file mode 100644 index 0000000000..0aa02eac93 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyContentStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// The state of the policy controller policy content + /// + [OutputType] + public sealed class PolicyControllerPolicyContentStateResponse + { + /// + /// The state of the any bundles included in the chosen version of the manifest + /// + public readonly ImmutableDictionary BundleStates; + /// + /// The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + /// + public readonly Outputs.PolicyControllerOnClusterStateResponse ReferentialSyncConfigState; + /// + /// The state of the template library + /// + public readonly Outputs.PolicyControllerOnClusterStateResponse TemplateLibraryState; + + [OutputConstructor] + private PolicyControllerPolicyContentStateResponse( + ImmutableDictionary bundleStates, + + Outputs.PolicyControllerOnClusterStateResponse referentialSyncConfigState, + + Outputs.PolicyControllerOnClusterStateResponse templateLibraryState) + { + BundleStates = bundleStates; + ReferentialSyncConfigState = referentialSyncConfigState; + TemplateLibraryState = templateLibraryState; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyControllerDeploymentConfigResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyControllerDeploymentConfigResponse.cs new file mode 100644 index 0000000000..b42c8a02f0 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerPolicyControllerDeploymentConfigResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Deployment-specific configuration. + /// + [OutputType] + public sealed class PolicyControllerPolicyControllerDeploymentConfigResponse + { + /// + /// Container resource requirements. + /// + public readonly Outputs.PolicyControllerResourceRequirementsResponse ContainerResources; + /// + /// Pod affinity configuration. + /// + public readonly string PodAffinity; + /// + /// Pod anti-affinity enablement. + /// + public readonly bool PodAntiAffinity; + /// + /// Pod tolerations of node taints. + /// + public readonly ImmutableArray PodTolerations; + /// + /// Pod replica count. + /// + public readonly string ReplicaCount; + + [OutputConstructor] + private PolicyControllerPolicyControllerDeploymentConfigResponse( + Outputs.PolicyControllerResourceRequirementsResponse containerResources, + + string podAffinity, + + bool podAntiAffinity, + + ImmutableArray podTolerations, + + string replicaCount) + { + ContainerResources = containerResources; + PodAffinity = podAffinity; + PodAntiAffinity = podAntiAffinity; + PodTolerations = podTolerations; + ReplicaCount = replicaCount; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerResourceListResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerResourceListResponse.cs new file mode 100644 index 0000000000..64204f0c51 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerResourceListResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// ResourceList contains container resource requirements. + /// + [OutputType] + public sealed class PolicyControllerResourceListResponse + { + /// + /// CPU requirement expressed in Kubernetes resource units. + /// + public readonly string Cpu; + /// + /// Memory requirement expressed in Kubernetes resource units. + /// + public readonly string Memory; + + [OutputConstructor] + private PolicyControllerResourceListResponse( + string cpu, + + string memory) + { + Cpu = cpu; + Memory = memory; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerResourceRequirementsResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerResourceRequirementsResponse.cs new file mode 100644 index 0000000000..be7115413f --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerResourceRequirementsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// ResourceRequirements describes the compute resource requirements. + /// + [OutputType] + public sealed class PolicyControllerResourceRequirementsResponse + { + /// + /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// + public readonly Outputs.PolicyControllerResourceListResponse Limits; + /// + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// + public readonly Outputs.PolicyControllerResourceListResponse Requests; + + [OutputConstructor] + private PolicyControllerResourceRequirementsResponse( + Outputs.PolicyControllerResourceListResponse limits, + + Outputs.PolicyControllerResourceListResponse requests) + { + Limits = limits; + Requests = requests; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerTolerationResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerTolerationResponse.cs new file mode 100644 index 0000000000..8d9c77dd4f --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/PolicyControllerTolerationResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Toleration of a node taint. + /// + [OutputType] + public sealed class PolicyControllerTolerationResponse + { + /// + /// Matches a taint effect. + /// + public readonly string Effect; + /// + /// Matches a taint key (not necessarily unique). + /// + public readonly string Key; + /// + /// Matches a taint operator. + /// + public readonly string Operator; + /// + /// Matches a taint value. + /// + public readonly string Value; + + [OutputConstructor] + private PolicyControllerTolerationResponse( + string effect, + + string key, + + string @operator, + + string value) + { + Effect = effect; + Key = key; + Operator = @operator; + Value = value; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ScopeFeatureSpecResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ScopeFeatureSpecResponse.cs new file mode 100644 index 0000000000..d272de330e --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ScopeFeatureSpecResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// ScopeFeatureSpec contains feature specs for a fleet scope. + /// + [OutputType] + public sealed class ScopeFeatureSpecResponse + { + /// + /// Spec for the ClusterUpgrade feature at the scope level + /// + public readonly Outputs.ClusterUpgradeScopeSpecResponse Clusterupgrade; + + [OutputConstructor] + private ScopeFeatureSpecResponse(Outputs.ClusterUpgradeScopeSpecResponse clusterupgrade) + { + Clusterupgrade = clusterupgrade; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ScopeFeatureStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ScopeFeatureStateResponse.cs new file mode 100644 index 0000000000..0bf355aaf1 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ScopeFeatureStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// ScopeFeatureState contains Scope-wide Feature status information. + /// + [OutputType] + public sealed class ScopeFeatureStateResponse + { + /// + /// State for the ClusterUpgrade feature at the scope level + /// + public readonly Outputs.ClusterUpgradeScopeStateResponse Clusterupgrade; + /// + /// The "running state" of the Feature in this Scope. + /// + public readonly Outputs.FeatureStateResponse State; + + [OutputConstructor] + private ScopeFeatureStateResponse( + Outputs.ClusterUpgradeScopeStateResponse clusterupgrade, + + Outputs.FeatureStateResponse state) + { + Clusterupgrade = clusterupgrade; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshAnalysisMessageResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshAnalysisMessageResponse.cs index 302a4fde34..554462c67e 100644 --- a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshAnalysisMessageResponse.cs +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshAnalysisMessageResponse.cs @@ -19,7 +19,7 @@ public sealed class ServiceMeshAnalysisMessageResponse /// /// A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. /// - public readonly ImmutableDictionary Args; + public readonly ImmutableDictionary Args; /// /// A human readable description of what the error means. It is suitable for non-internationalize display purposes. /// @@ -35,7 +35,7 @@ public sealed class ServiceMeshAnalysisMessageResponse [OutputConstructor] private ServiceMeshAnalysisMessageResponse( - ImmutableDictionary args, + ImmutableDictionary args, string description, diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshControlPlaneManagementResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshControlPlaneManagementResponse.cs new file mode 100644 index 0000000000..67dea0360e --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshControlPlaneManagementResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Status of control plane management. + /// + [OutputType] + public sealed class ServiceMeshControlPlaneManagementResponse + { + /// + /// Explanation of state. + /// + public readonly ImmutableArray Details; + /// + /// LifecycleState of control plane management. + /// + public readonly string State; + + [OutputConstructor] + private ServiceMeshControlPlaneManagementResponse( + ImmutableArray details, + + string state) + { + Details = details; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshDataPlaneManagementResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshDataPlaneManagementResponse.cs new file mode 100644 index 0000000000..4d1d523300 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshDataPlaneManagementResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Status of data plane management. Only reported per-member. + /// + [OutputType] + public sealed class ServiceMeshDataPlaneManagementResponse + { + /// + /// Explanation of the status. + /// + public readonly ImmutableArray Details; + /// + /// Lifecycle status of data plane management. + /// + public readonly string State; + + [OutputConstructor] + private ServiceMeshDataPlaneManagementResponse( + ImmutableArray details, + + string state) + { + Details = details; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshMembershipStateResponse.cs new file mode 100644 index 0000000000..54a87c448c --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshMembershipStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + /// + [OutputType] + public sealed class ServiceMeshMembershipStateResponse + { + /// + /// Results of running Service Mesh analyzers. + /// + public readonly ImmutableArray AnalysisMessages; + /// + /// The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field. + /// + public readonly string ConfigApiVersion; + /// + /// Status of control plane management + /// + public readonly Outputs.ServiceMeshControlPlaneManagementResponse ControlPlaneManagement; + /// + /// Status of data plane management. + /// + public readonly Outputs.ServiceMeshDataPlaneManagementResponse DataPlaneManagement; + + [OutputConstructor] + private ServiceMeshMembershipStateResponse( + ImmutableArray analysisMessages, + + string configApiVersion, + + Outputs.ServiceMeshControlPlaneManagementResponse controlPlaneManagement, + + Outputs.ServiceMeshDataPlaneManagementResponse dataPlaneManagement) + { + AnalysisMessages = analysisMessages; + ConfigApiVersion = configApiVersion; + ControlPlaneManagement = controlPlaneManagement; + DataPlaneManagement = dataPlaneManagement; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshStatusDetailsResponse.cs b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshStatusDetailsResponse.cs new file mode 100644 index 0000000000..5f8a26b883 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Alpha/Outputs/ServiceMeshStatusDetailsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Alpha.Outputs +{ + + /// + /// Structured and human-readable details for a status. + /// + [OutputType] + public sealed class ServiceMeshStatusDetailsResponse + { + /// + /// A machine-readable code that further describes a broad status. + /// + public readonly string Code; + /// + /// Human-readable explanation of code. + /// + public readonly string Details; + + [OutputConstructor] + private ServiceMeshStatusDetailsResponse( + string code, + + string details) + { + Code = code; + Details = details; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Enums.cs b/sdk/dotnet/GKEHub/V1Beta/Enums.cs index fbbe3c39d9..0e06bda9ae 100644 --- a/sdk/dotnet/GKEHub/V1Beta/Enums.cs +++ b/sdk/dotnet/GKEHub/V1Beta/Enums.cs @@ -172,6 +172,47 @@ private FleetObservabilityRoutingConfigMode(string value) public override string ToString() => _value; } + /// + /// Whether it is allowed to run the privileged builds on the cluster or not. + /// + [EnumType] + public readonly struct MembershipSpecSecurityPolicy : IEquatable + { + private readonly string _value; + + private MembershipSpecSecurityPolicy(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Unspecified policy + /// + public static MembershipSpecSecurityPolicy SecurityPolicyUnspecified { get; } = new MembershipSpecSecurityPolicy("SECURITY_POLICY_UNSPECIFIED"); + /// + /// Privileged build pods are disallowed + /// + public static MembershipSpecSecurityPolicy NonPrivileged { get; } = new MembershipSpecSecurityPolicy("NON_PRIVILEGED"); + /// + /// Privileged build pods are allowed + /// + public static MembershipSpecSecurityPolicy Privileged { get; } = new MembershipSpecSecurityPolicy("PRIVILEGED"); + + public static bool operator ==(MembershipSpecSecurityPolicy left, MembershipSpecSecurityPolicy right) => left.Equals(right); + public static bool operator !=(MembershipSpecSecurityPolicy left, MembershipSpecSecurityPolicy right) => !left.Equals(right); + + public static explicit operator string(MembershipSpecSecurityPolicy value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is MembershipSpecSecurityPolicy other && Equals(other); + public bool Equals(MembershipSpecSecurityPolicy other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Deprecated: This field will be ignored and should not be set. Customer's billing structure. /// @@ -262,6 +303,51 @@ private OnPremClusterClusterType(string value) public override string ToString() => _value; } + /// + /// Type specifies which type of origin is set. + /// + [EnumType] + public readonly struct OriginType : IEquatable + { + private readonly string _value; + + private OriginType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Type is unknown or not set. + /// + public static OriginType TypeUnspecified { get; } = new OriginType("TYPE_UNSPECIFIED"); + /// + /// Per-Membership spec was inherited from the fleet-level default. + /// + public static OriginType Fleet { get; } = new OriginType("FLEET"); + /// + /// Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + /// + public static OriginType FleetOutOfSync { get; } = new OriginType("FLEET_OUT_OF_SYNC"); + /// + /// Per-Membership spec was inherited from a user specification. + /// + public static OriginType User { get; } = new OriginType("USER"); + + public static bool operator ==(OriginType left, OriginType right) => left.Equals(right); + public static bool operator !=(OriginType left, OriginType right) => !left.Equals(right); + + public static explicit operator string(OriginType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is OriginType other && Equals(other); + public bool Equals(OriginType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. /// @@ -349,6 +435,47 @@ private PolicyControllerMonitoringConfigBackendsItem(string value) public override string ToString() => _value; } + /// + /// Pod affinity configuration. + /// + [EnumType] + public readonly struct PolicyControllerPolicyControllerDeploymentConfigPodAffinity : IEquatable + { + private readonly string _value; + + private PolicyControllerPolicyControllerDeploymentConfigPodAffinity(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// No affinity configuration has been specified. + /// + public static PolicyControllerPolicyControllerDeploymentConfigPodAffinity AffinityUnspecified { get; } = new PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED"); + /// + /// Affinity configurations will be removed from the deployment. + /// + public static PolicyControllerPolicyControllerDeploymentConfigPodAffinity NoAffinity { get; } = new PolicyControllerPolicyControllerDeploymentConfigPodAffinity("NO_AFFINITY"); + /// + /// Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + /// + public static PolicyControllerPolicyControllerDeploymentConfigPodAffinity AntiAffinity { get; } = new PolicyControllerPolicyControllerDeploymentConfigPodAffinity("ANTI_AFFINITY"); + + public static bool operator ==(PolicyControllerPolicyControllerDeploymentConfigPodAffinity left, PolicyControllerPolicyControllerDeploymentConfigPodAffinity right) => left.Equals(right); + public static bool operator !=(PolicyControllerPolicyControllerDeploymentConfigPodAffinity left, PolicyControllerPolicyControllerDeploymentConfigPodAffinity right) => !left.Equals(right); + + public static explicit operator string(PolicyControllerPolicyControllerDeploymentConfigPodAffinity value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PolicyControllerPolicyControllerDeploymentConfigPodAffinity other && Equals(other); + public bool Equals(PolicyControllerPolicyControllerDeploymentConfigPodAffinity other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Configures the manner in which the template library is installed on the cluster. /// diff --git a/sdk/dotnet/GKEHub/V1Beta/Feature.cs b/sdk/dotnet/GKEHub/V1Beta/Feature.cs index 8bc9093a79..df633cffe5 100644 --- a/sdk/dotnet/GKEHub/V1Beta/Feature.cs +++ b/sdk/dotnet/GKEHub/V1Beta/Feature.cs @@ -53,13 +53,13 @@ public partial class Feature : global::Pulumi.CustomResource /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// [Output("membershipSpecs")] - public Output> MembershipSpecs { get; private set; } = null!; + public Output> MembershipSpecs { get; private set; } = null!; /// /// Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. /// [Output("membershipStates")] - public Output> MembershipStates { get; private set; } = null!; + public Output> MembershipStates { get; private set; } = null!; /// /// The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. @@ -86,13 +86,13 @@ public partial class Feature : global::Pulumi.CustomResource /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// [Output("scopeSpecs")] - public Output> ScopeSpecs { get; private set; } = null!; + public Output> ScopeSpecs { get; private set; } = null!; /// /// Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. /// [Output("scopeStates")] - public Output> ScopeStates { get; private set; } = null!; + public Output> ScopeStates { get; private set; } = null!; /// /// Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. @@ -190,14 +190,14 @@ public InputMap Labels public Input? Location { get; set; } [Input("membershipSpecs")] - private InputMap? _membershipSpecs; + private InputMap? _membershipSpecs; /// /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public InputMap MembershipSpecs + public InputMap MembershipSpecs { - get => _membershipSpecs ?? (_membershipSpecs = new InputMap()); + get => _membershipSpecs ?? (_membershipSpecs = new InputMap()); set => _membershipSpecs = value; } @@ -211,14 +211,14 @@ public InputMap MembershipSpecs public Input? RequestId { get; set; } [Input("scopeSpecs")] - private InputMap? _scopeSpecs; + private InputMap? _scopeSpecs; /// /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public InputMap ScopeSpecs + public InputMap ScopeSpecs { - get => _scopeSpecs ?? (_scopeSpecs = new InputMap()); + get => _scopeSpecs ?? (_scopeSpecs = new InputMap()); set => _scopeSpecs = value; } diff --git a/sdk/dotnet/GKEHub/V1Beta/GetFeature.cs b/sdk/dotnet/GKEHub/V1Beta/GetFeature.cs index e323201233..a5d5d90517 100644 --- a/sdk/dotnet/GKEHub/V1Beta/GetFeature.cs +++ b/sdk/dotnet/GKEHub/V1Beta/GetFeature.cs @@ -82,11 +82,11 @@ public sealed class GetFeatureResult /// /// Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public readonly ImmutableDictionary MembershipSpecs; + public readonly ImmutableDictionary MembershipSpecs; /// /// Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. /// - public readonly ImmutableDictionary MembershipStates; + public readonly ImmutableDictionary MembershipStates; /// /// The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. /// @@ -98,11 +98,11 @@ public sealed class GetFeatureResult /// /// Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. /// - public readonly ImmutableDictionary ScopeSpecs; + public readonly ImmutableDictionary ScopeSpecs; /// /// Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. /// - public readonly ImmutableDictionary ScopeStates; + public readonly ImmutableDictionary ScopeStates; /// /// Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. /// @@ -126,17 +126,17 @@ private GetFeatureResult( ImmutableDictionary labels, - ImmutableDictionary membershipSpecs, + ImmutableDictionary membershipSpecs, - ImmutableDictionary membershipStates, + ImmutableDictionary membershipStates, string name, Outputs.FeatureResourceStateResponse resourceState, - ImmutableDictionary scopeSpecs, + ImmutableDictionary scopeSpecs, - ImmutableDictionary scopeStates, + ImmutableDictionary scopeStates, Outputs.CommonFeatureSpecResponse spec, diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/FleetObservabilityMembershipSpecArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/FleetObservabilityMembershipSpecArgs.cs new file mode 100644 index 0000000000..25854dbda1 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/FleetObservabilityMembershipSpecArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// **FleetObservability**: The membership-specific input for FleetObservability feature. + /// + public sealed class FleetObservabilityMembershipSpecArgs : global::Pulumi.ResourceArgs + { + public FleetObservabilityMembershipSpecArgs() + { + } + public static new FleetObservabilityMembershipSpecArgs Empty => new FleetObservabilityMembershipSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/MembershipFeatureSpecArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/MembershipFeatureSpecArgs.cs new file mode 100644 index 0000000000..4ad1aee9b2 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/MembershipFeatureSpecArgs.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + /// + public sealed class MembershipFeatureSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// Anthos Observability-specific spec + /// + [Input("anthosobservability")] + public Input? Anthosobservability { get; set; } + + /// + /// Cloud Build-specific spec + /// + [Input("cloudbuild")] + public Input? Cloudbuild { get; set; } + + /// + /// Config Management-specific spec. + /// + [Input("configmanagement")] + public Input? Configmanagement { get; set; } + + /// + /// Fleet observability membership spec + /// + [Input("fleetobservability")] + public Input? Fleetobservability { get; set; } + + /// + /// Identity Service-specific spec. + /// + [Input("identityservice")] + public Input? Identityservice { get; set; } + + /// + /// Anthos Service Mesh-specific spec + /// + [Input("mesh")] + public Input? Mesh { get; set; } + + /// + /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + /// + [Input("origin")] + public Input? Origin { get; set; } + + /// + /// Policy Controller spec. + /// + [Input("policycontroller")] + public Input? Policycontroller { get; set; } + + public MembershipFeatureSpecArgs() + { + } + public static new MembershipFeatureSpecArgs Empty => new MembershipFeatureSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/MembershipSpecArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/MembershipSpecArgs.cs new file mode 100644 index 0000000000..0c090df5eb --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/MembershipSpecArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. + /// + public sealed class MembershipSpecArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether it is allowed to run the privileged builds on the cluster or not. + /// + [Input("securityPolicy")] + public Input? SecurityPolicy { get; set; } + + /// + /// Version of the cloud build software on the cluster. + /// + [Input("version")] + public Input? Version { get; set; } + + public MembershipSpecArgs() + { + } + public static new MembershipSpecArgs Empty => new MembershipSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/OriginArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/OriginArgs.cs new file mode 100644 index 0000000000..bc2d70cc7a --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/OriginArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// Origin defines where this MembershipFeatureSpec originated from. + /// + public sealed class OriginArgs : global::Pulumi.ResourceArgs + { + /// + /// Type specifies which type of origin is set. + /// + [Input("type")] + public Input? Type { get; set; } + + public OriginArgs() + { + } + public static new OriginArgs Empty => new OriginArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerBundleInstallSpecArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerBundleInstallSpecArgs.cs new file mode 100644 index 0000000000..477f0752a2 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerBundleInstallSpecArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// BundleInstallSpec is the specification configuration for a single managed bundle. + /// + public sealed class PolicyControllerBundleInstallSpecArgs : global::Pulumi.ResourceArgs + { + [Input("exemptedNamespaces")] + private InputList? _exemptedNamespaces; + + /// + /// The set of namespaces to be exempted from the bundle. + /// + public InputList ExemptedNamespaces + { + get => _exemptedNamespaces ?? (_exemptedNamespaces = new InputList()); + set => _exemptedNamespaces = value; + } + + public PolicyControllerBundleInstallSpecArgs() + { + } + public static new PolicyControllerBundleInstallSpecArgs Empty => new PolicyControllerBundleInstallSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerHubConfigArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerHubConfigArgs.cs index 98cfe8b7cb..9a5d6fde11 100644 --- a/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerHubConfigArgs.cs +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerHubConfigArgs.cs @@ -28,14 +28,14 @@ public sealed class PolicyControllerHubConfigArgs : global::Pulumi.ResourceArgs public Input? ConstraintViolationLimit { get; set; } [Input("deploymentConfigs")] - private InputMap? _deploymentConfigs; + private InputMap? _deploymentConfigs; /// /// Map of deployment configs to deployments ("admission", "audit", "mutation'). /// - public InputMap DeploymentConfigs + public InputMap DeploymentConfigs { - get => _deploymentConfigs ?? (_deploymentConfigs = new InputMap()); + get => _deploymentConfigs ?? (_deploymentConfigs = new InputMap()); set => _deploymentConfigs = value; } diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerPolicyContentSpecArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerPolicyContentSpecArgs.cs index 69455421be..0a98b3cce4 100644 --- a/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerPolicyContentSpecArgs.cs +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerPolicyContentSpecArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.GKEHub.V1Beta.Inputs public sealed class PolicyControllerPolicyContentSpecArgs : global::Pulumi.ResourceArgs { [Input("bundles")] - private InputMap? _bundles; + private InputMap? _bundles; /// /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. /// - public InputMap Bundles + public InputMap Bundles { - get => _bundles ?? (_bundles = new InputMap()); + get => _bundles ?? (_bundles = new InputMap()); set => _bundles = value; } diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerPolicyControllerDeploymentConfigArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerPolicyControllerDeploymentConfigArgs.cs new file mode 100644 index 0000000000..777409b6b9 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerPolicyControllerDeploymentConfigArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// Deployment-specific configuration. + /// + public sealed class PolicyControllerPolicyControllerDeploymentConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Container resource requirements. + /// + [Input("containerResources")] + public Input? ContainerResources { get; set; } + + /// + /// Pod affinity configuration. + /// + [Input("podAffinity")] + public Input? PodAffinity { get; set; } + + /// + /// Pod anti-affinity enablement. + /// + [Input("podAntiAffinity")] + public Input? PodAntiAffinity { get; set; } + + [Input("podTolerations")] + private InputList? _podTolerations; + + /// + /// Pod tolerations of node taints. + /// + public InputList PodTolerations + { + get => _podTolerations ?? (_podTolerations = new InputList()); + set => _podTolerations = value; + } + + /// + /// Pod replica count. + /// + [Input("replicaCount")] + public Input? ReplicaCount { get; set; } + + public PolicyControllerPolicyControllerDeploymentConfigArgs() + { + } + public static new PolicyControllerPolicyControllerDeploymentConfigArgs Empty => new PolicyControllerPolicyControllerDeploymentConfigArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerResourceListArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerResourceListArgs.cs new file mode 100644 index 0000000000..237e8c09a9 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerResourceListArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// ResourceList contains container resource requirements. + /// + public sealed class PolicyControllerResourceListArgs : global::Pulumi.ResourceArgs + { + /// + /// CPU requirement expressed in Kubernetes resource units. + /// + [Input("cpu")] + public Input? Cpu { get; set; } + + /// + /// Memory requirement expressed in Kubernetes resource units. + /// + [Input("memory")] + public Input? Memory { get; set; } + + public PolicyControllerResourceListArgs() + { + } + public static new PolicyControllerResourceListArgs Empty => new PolicyControllerResourceListArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerResourceRequirementsArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerResourceRequirementsArgs.cs new file mode 100644 index 0000000000..034b552888 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerResourceRequirementsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// ResourceRequirements describes the compute resource requirements. + /// + public sealed class PolicyControllerResourceRequirementsArgs : global::Pulumi.ResourceArgs + { + /// + /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// + [Input("limits")] + public Input? Limits { get; set; } + + /// + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// + [Input("requests")] + public Input? Requests { get; set; } + + public PolicyControllerResourceRequirementsArgs() + { + } + public static new PolicyControllerResourceRequirementsArgs Empty => new PolicyControllerResourceRequirementsArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerTolerationArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerTolerationArgs.cs new file mode 100644 index 0000000000..c578703013 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/PolicyControllerTolerationArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// Toleration of a node taint. + /// + public sealed class PolicyControllerTolerationArgs : global::Pulumi.ResourceArgs + { + /// + /// Matches a taint effect. + /// + [Input("effect")] + public Input? Effect { get; set; } + + /// + /// Matches a taint key (not necessarily unique). + /// + [Input("key")] + public Input? Key { get; set; } + + /// + /// Matches a taint operator. + /// + [Input("operator")] + public Input? Operator { get; set; } + + /// + /// Matches a taint value. + /// + [Input("value")] + public Input? Value { get; set; } + + public PolicyControllerTolerationArgs() + { + } + public static new PolicyControllerTolerationArgs Empty => new PolicyControllerTolerationArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Inputs/ScopeFeatureSpecArgs.cs b/sdk/dotnet/GKEHub/V1Beta/Inputs/ScopeFeatureSpecArgs.cs new file mode 100644 index 0000000000..7a7d686d3d --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Inputs/ScopeFeatureSpecArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Inputs +{ + + /// + /// ScopeFeatureSpec contains feature specs for a fleet scope. + /// + public sealed class ScopeFeatureSpecArgs : global::Pulumi.ResourceArgs + { + public ScopeFeatureSpecArgs() + { + } + public static new ScopeFeatureSpecArgs Empty => new ScopeFeatureSpecArgs(); + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeFleetStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeFleetStateResponse.cs index 46ae6289c4..2f34b8b460 100644 --- a/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeFleetStateResponse.cs +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeFleetStateResponse.cs @@ -27,7 +27,7 @@ public sealed class ClusterUpgradeFleetStateResponse /// /// A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. /// - public readonly ImmutableDictionary Ignored; + public readonly ImmutableDictionary Ignored; [OutputConstructor] private ClusterUpgradeFleetStateResponse( @@ -35,7 +35,7 @@ private ClusterUpgradeFleetStateResponse( Outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse gkeState, - ImmutableDictionary ignored) + ImmutableDictionary ignored) { DownstreamFleets = downstreamFleets; GkeState = gkeState; diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeIgnoredMembershipResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeIgnoredMembershipResponse.cs new file mode 100644 index 0000000000..a58b444fef --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeIgnoredMembershipResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + /// + [OutputType] + public sealed class ClusterUpgradeIgnoredMembershipResponse + { + /// + /// Time when the membership was first set to ignored. + /// + public readonly string IgnoredTime; + /// + /// Reason why the membership is ignored. + /// + public readonly string Reason; + + [OutputConstructor] + private ClusterUpgradeIgnoredMembershipResponse( + string ignoredTime, + + string reason) + { + IgnoredTime = ignoredTime; + Reason = reason; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeMembershipGKEUpgradeStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeMembershipGKEUpgradeStateResponse.cs new file mode 100644 index 0000000000..1cf8cec38b --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeMembershipGKEUpgradeStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + /// + [OutputType] + public sealed class ClusterUpgradeMembershipGKEUpgradeStateResponse + { + /// + /// Status of the upgrade. + /// + public readonly Outputs.ClusterUpgradeUpgradeStatusResponse Status; + /// + /// Which upgrade to track the state. + /// + public readonly Outputs.ClusterUpgradeGKEUpgradeResponse Upgrade; + + [OutputConstructor] + private ClusterUpgradeMembershipGKEUpgradeStateResponse( + Outputs.ClusterUpgradeUpgradeStatusResponse status, + + Outputs.ClusterUpgradeGKEUpgradeResponse upgrade) + { + Status = status; + Upgrade = upgrade; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeMembershipStateResponse.cs new file mode 100644 index 0000000000..2733f2f9b2 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ClusterUpgradeMembershipStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Per-membership state for this feature. + /// + [OutputType] + public sealed class ClusterUpgradeMembershipStateResponse + { + /// + /// Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + /// + public readonly string Fleet; + /// + /// Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + /// + public readonly Outputs.ClusterUpgradeIgnoredMembershipResponse Ignored; + /// + /// Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + /// + public readonly ImmutableArray Scopes; + /// + /// Actual upgrade state against desired. + /// + public readonly ImmutableArray Upgrades; + + [OutputConstructor] + private ClusterUpgradeMembershipStateResponse( + string fleet, + + Outputs.ClusterUpgradeIgnoredMembershipResponse ignored, + + ImmutableArray scopes, + + ImmutableArray upgrades) + { + Fleet = fleet; + Ignored = ignored; + Scopes = scopes; + Upgrades = upgrades; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementBinauthzStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementBinauthzStateResponse.cs new file mode 100644 index 0000000000..768ac91e94 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementBinauthzStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// State for Binauthz + /// + [OutputType] + public sealed class ConfigManagementBinauthzStateResponse + { + /// + /// The version of binauthz that is installed. + /// + public readonly Outputs.ConfigManagementBinauthzVersionResponse Version; + /// + /// The state of the binauthz webhook. + /// + public readonly string Webhook; + + [OutputConstructor] + private ConfigManagementBinauthzStateResponse( + Outputs.ConfigManagementBinauthzVersionResponse version, + + string webhook) + { + Version = version; + Webhook = webhook; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementBinauthzVersionResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementBinauthzVersionResponse.cs new file mode 100644 index 0000000000..1a6dc2c826 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementBinauthzVersionResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// The version of binauthz. + /// + [OutputType] + public sealed class ConfigManagementBinauthzVersionResponse + { + /// + /// The version of the binauthz webhook. + /// + public readonly string WebhookVersion; + + [OutputConstructor] + private ConfigManagementBinauthzVersionResponse(string webhookVersion) + { + WebhookVersion = webhookVersion; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncDeploymentStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncDeploymentStateResponse.cs new file mode 100644 index 0000000000..1f0e6d14da --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncDeploymentStateResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// The state of ConfigSync's deployment on a cluster + /// + [OutputType] + public sealed class ConfigManagementConfigSyncDeploymentStateResponse + { + /// + /// Deployment state of admission-webhook + /// + public readonly string AdmissionWebhook; + /// + /// Deployment state of the git-sync pod + /// + public readonly string GitSync; + /// + /// Deployment state of the importer pod + /// + public readonly string Importer; + /// + /// Deployment state of the monitor pod + /// + public readonly string Monitor; + /// + /// Deployment state of reconciler-manager pod + /// + public readonly string ReconcilerManager; + /// + /// Deployment state of root-reconciler + /// + public readonly string RootReconciler; + /// + /// Deployment state of the syncer pod + /// + public readonly string Syncer; + + [OutputConstructor] + private ConfigManagementConfigSyncDeploymentStateResponse( + string admissionWebhook, + + string gitSync, + + string importer, + + string monitor, + + string reconcilerManager, + + string rootReconciler, + + string syncer) + { + AdmissionWebhook = admissionWebhook; + GitSync = gitSync; + Importer = importer; + Monitor = monitor; + ReconcilerManager = reconcilerManager; + RootReconciler = rootReconciler; + Syncer = syncer; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncErrorResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncErrorResponse.cs new file mode 100644 index 0000000000..2024da10c2 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncErrorResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Errors pertaining to the installation of Config Sync + /// + [OutputType] + public sealed class ConfigManagementConfigSyncErrorResponse + { + /// + /// A string representing the user facing error message + /// + public readonly string ErrorMessage; + + [OutputConstructor] + private ConfigManagementConfigSyncErrorResponse(string errorMessage) + { + ErrorMessage = errorMessage; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncStateResponse.cs new file mode 100644 index 0000000000..2ee0091eb5 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// State information for ConfigSync + /// + [OutputType] + public sealed class ConfigManagementConfigSyncStateResponse + { + /// + /// Information about the deployment of ConfigSync, including the version of the various Pods deployed + /// + public readonly Outputs.ConfigManagementConfigSyncDeploymentStateResponse DeploymentState; + /// + /// Errors pertaining to the installation of Config Sync. + /// + public readonly ImmutableArray Errors; + /// + /// The state of ConfigSync's process to sync configs to a cluster + /// + public readonly Outputs.ConfigManagementSyncStateResponse SyncState; + /// + /// The version of ConfigSync deployed + /// + public readonly Outputs.ConfigManagementConfigSyncVersionResponse Version; + + [OutputConstructor] + private ConfigManagementConfigSyncStateResponse( + Outputs.ConfigManagementConfigSyncDeploymentStateResponse deploymentState, + + ImmutableArray errors, + + Outputs.ConfigManagementSyncStateResponse syncState, + + Outputs.ConfigManagementConfigSyncVersionResponse version) + { + DeploymentState = deploymentState; + Errors = errors; + SyncState = syncState; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncVersionResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncVersionResponse.cs new file mode 100644 index 0000000000..ae271803f0 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementConfigSyncVersionResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Specific versioning information pertaining to ConfigSync's Pods + /// + [OutputType] + public sealed class ConfigManagementConfigSyncVersionResponse + { + /// + /// Version of the deployed admission_webhook pod + /// + public readonly string AdmissionWebhook; + /// + /// Version of the deployed git-sync pod + /// + public readonly string GitSync; + /// + /// Version of the deployed importer pod + /// + public readonly string Importer; + /// + /// Version of the deployed monitor pod + /// + public readonly string Monitor; + /// + /// Version of the deployed reconciler-manager pod + /// + public readonly string ReconcilerManager; + /// + /// Version of the deployed reconciler container in root-reconciler pod + /// + public readonly string RootReconciler; + /// + /// Version of the deployed syncer pod + /// + public readonly string Syncer; + + [OutputConstructor] + private ConfigManagementConfigSyncVersionResponse( + string admissionWebhook, + + string gitSync, + + string importer, + + string monitor, + + string reconcilerManager, + + string rootReconciler, + + string syncer) + { + AdmissionWebhook = admissionWebhook; + GitSync = gitSync; + Importer = importer; + Monitor = monitor; + ReconcilerManager = reconcilerManager; + RootReconciler = rootReconciler; + Syncer = syncer; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementErrorResourceResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementErrorResourceResponse.cs new file mode 100644 index 0000000000..3bdbde8645 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementErrorResourceResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Model for a config file in the git repo with an associated Sync error + /// + [OutputType] + public sealed class ConfigManagementErrorResourceResponse + { + /// + /// Group/version/kind of the resource that is causing an error + /// + public readonly Outputs.ConfigManagementGroupVersionKindResponse ResourceGvk; + /// + /// Metadata name of the resource that is causing an error + /// + public readonly string ResourceName; + /// + /// Namespace of the resource that is causing an error + /// + public readonly string ResourceNamespace; + /// + /// Path in the git repo of the erroneous config + /// + public readonly string SourcePath; + + [OutputConstructor] + private ConfigManagementErrorResourceResponse( + Outputs.ConfigManagementGroupVersionKindResponse resourceGvk, + + string resourceName, + + string resourceNamespace, + + string sourcePath) + { + ResourceGvk = resourceGvk; + ResourceName = resourceName; + ResourceNamespace = resourceNamespace; + SourcePath = sourcePath; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementGatekeeperDeploymentStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementGatekeeperDeploymentStateResponse.cs new file mode 100644 index 0000000000..164002c82f --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementGatekeeperDeploymentStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// State of Policy Controller installation. + /// + [OutputType] + public sealed class ConfigManagementGatekeeperDeploymentStateResponse + { + /// + /// Status of gatekeeper-audit deployment. + /// + public readonly string GatekeeperAudit; + /// + /// Status of gatekeeper-controller-manager pod. + /// + public readonly string GatekeeperControllerManagerState; + /// + /// Status of the pod serving the mutation webhook. + /// + public readonly string GatekeeperMutation; + + [OutputConstructor] + private ConfigManagementGatekeeperDeploymentStateResponse( + string gatekeeperAudit, + + string gatekeeperControllerManagerState, + + string gatekeeperMutation) + { + GatekeeperAudit = gatekeeperAudit; + GatekeeperControllerManagerState = gatekeeperControllerManagerState; + GatekeeperMutation = gatekeeperMutation; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementGroupVersionKindResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementGroupVersionKindResponse.cs new file mode 100644 index 0000000000..2d7666a6be --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementGroupVersionKindResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// A Kubernetes object's GVK + /// + [OutputType] + public sealed class ConfigManagementGroupVersionKindResponse + { + /// + /// Kubernetes Group + /// + public readonly string Group; + /// + /// Kubernetes Kind + /// + public readonly string Kind; + /// + /// Kubernetes Version + /// + public readonly string Version; + + [OutputConstructor] + private ConfigManagementGroupVersionKindResponse( + string group, + + string kind, + + string version) + { + Group = group; + Kind = kind; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementHierarchyControllerDeploymentStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementHierarchyControllerDeploymentStateResponse.cs new file mode 100644 index 0000000000..1ca7622903 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementHierarchyControllerDeploymentStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Deployment state for Hierarchy Controller + /// + [OutputType] + public sealed class ConfigManagementHierarchyControllerDeploymentStateResponse + { + /// + /// The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + /// + public readonly string Extension; + /// + /// The deployment state for open source HNC (e.g. v0.7.0-hc.0) + /// + public readonly string Hnc; + + [OutputConstructor] + private ConfigManagementHierarchyControllerDeploymentStateResponse( + string extension, + + string hnc) + { + Extension = extension; + Hnc = hnc; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementHierarchyControllerStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementHierarchyControllerStateResponse.cs new file mode 100644 index 0000000000..8829d8f4cf --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementHierarchyControllerStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// State for Hierarchy Controller + /// + [OutputType] + public sealed class ConfigManagementHierarchyControllerStateResponse + { + /// + /// The deployment state for Hierarchy Controller + /// + public readonly Outputs.ConfigManagementHierarchyControllerDeploymentStateResponse State; + /// + /// The version for Hierarchy Controller + /// + public readonly Outputs.ConfigManagementHierarchyControllerVersionResponse Version; + + [OutputConstructor] + private ConfigManagementHierarchyControllerStateResponse( + Outputs.ConfigManagementHierarchyControllerDeploymentStateResponse state, + + Outputs.ConfigManagementHierarchyControllerVersionResponse version) + { + State = state; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementHierarchyControllerVersionResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementHierarchyControllerVersionResponse.cs new file mode 100644 index 0000000000..c75b562688 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementHierarchyControllerVersionResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Version for Hierarchy Controller + /// + [OutputType] + public sealed class ConfigManagementHierarchyControllerVersionResponse + { + /// + /// Version for Hierarchy Controller extension + /// + public readonly string Extension; + /// + /// Version for open source HNC + /// + public readonly string Hnc; + + [OutputConstructor] + private ConfigManagementHierarchyControllerVersionResponse( + string extension, + + string hnc) + { + Extension = extension; + Hnc = hnc; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementInstallErrorResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementInstallErrorResponse.cs new file mode 100644 index 0000000000..d8496146bf --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementInstallErrorResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Errors pertaining to the installation of ACM + /// + [OutputType] + public sealed class ConfigManagementInstallErrorResponse + { + /// + /// A string representing the user facing error message + /// + public readonly string ErrorMessage; + + [OutputConstructor] + private ConfigManagementInstallErrorResponse(string errorMessage) + { + ErrorMessage = errorMessage; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementMembershipStateResponse.cs new file mode 100644 index 0000000000..f71adb1d96 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementMembershipStateResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// **Anthos Config Management**: State for a single cluster. + /// + [OutputType] + public sealed class ConfigManagementMembershipStateResponse + { + /// + /// Binauthz status + /// + public readonly Outputs.ConfigManagementBinauthzStateResponse BinauthzState; + /// + /// This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + /// + public readonly string ClusterName; + /// + /// Current sync status + /// + public readonly Outputs.ConfigManagementConfigSyncStateResponse ConfigSyncState; + /// + /// Hierarchy Controller status + /// + public readonly Outputs.ConfigManagementHierarchyControllerStateResponse HierarchyControllerState; + /// + /// Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + /// + public readonly Outputs.ConfigManagementMembershipSpecResponse MembershipSpec; + /// + /// Current install status of ACM's Operator + /// + public readonly Outputs.ConfigManagementOperatorStateResponse OperatorState; + /// + /// PolicyController status + /// + public readonly Outputs.ConfigManagementPolicyControllerStateResponse PolicyControllerState; + + [OutputConstructor] + private ConfigManagementMembershipStateResponse( + Outputs.ConfigManagementBinauthzStateResponse binauthzState, + + string clusterName, + + Outputs.ConfigManagementConfigSyncStateResponse configSyncState, + + Outputs.ConfigManagementHierarchyControllerStateResponse hierarchyControllerState, + + Outputs.ConfigManagementMembershipSpecResponse membershipSpec, + + Outputs.ConfigManagementOperatorStateResponse operatorState, + + Outputs.ConfigManagementPolicyControllerStateResponse policyControllerState) + { + BinauthzState = binauthzState; + ClusterName = clusterName; + ConfigSyncState = configSyncState; + HierarchyControllerState = hierarchyControllerState; + MembershipSpec = membershipSpec; + OperatorState = operatorState; + PolicyControllerState = policyControllerState; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementOperatorStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementOperatorStateResponse.cs new file mode 100644 index 0000000000..31e08dbed4 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementOperatorStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// State information for an ACM's Operator + /// + [OutputType] + public sealed class ConfigManagementOperatorStateResponse + { + /// + /// The state of the Operator's deployment + /// + public readonly string DeploymentState; + /// + /// Install errors. + /// + public readonly ImmutableArray Errors; + /// + /// The semenatic version number of the operator + /// + public readonly string Version; + + [OutputConstructor] + private ConfigManagementOperatorStateResponse( + string deploymentState, + + ImmutableArray errors, + + string version) + { + DeploymentState = deploymentState; + Errors = errors; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementPolicyControllerMigrationResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementPolicyControllerMigrationResponse.cs new file mode 100644 index 0000000000..fb42398cb8 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementPolicyControllerMigrationResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// State for the migration of PolicyController from ACM -> PoCo Hub. + /// + [OutputType] + public sealed class ConfigManagementPolicyControllerMigrationResponse + { + /// + /// Last time this membership spec was copied to PoCo feature. + /// + public readonly string CopyTime; + /// + /// Stage of the migration. + /// + public readonly string Stage; + + [OutputConstructor] + private ConfigManagementPolicyControllerMigrationResponse( + string copyTime, + + string stage) + { + CopyTime = copyTime; + Stage = stage; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementPolicyControllerStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementPolicyControllerStateResponse.cs new file mode 100644 index 0000000000..49751bf241 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementPolicyControllerStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// State for PolicyControllerState. + /// + [OutputType] + public sealed class ConfigManagementPolicyControllerStateResponse + { + /// + /// The state about the policy controller installation. + /// + public readonly Outputs.ConfigManagementGatekeeperDeploymentStateResponse DeploymentState; + /// + /// Record state of ACM -> PoCo Hub migration for this feature. + /// + public readonly Outputs.ConfigManagementPolicyControllerMigrationResponse Migration; + /// + /// The version of Gatekeeper Policy Controller deployed. + /// + public readonly Outputs.ConfigManagementPolicyControllerVersionResponse Version; + + [OutputConstructor] + private ConfigManagementPolicyControllerStateResponse( + Outputs.ConfigManagementGatekeeperDeploymentStateResponse deploymentState, + + Outputs.ConfigManagementPolicyControllerMigrationResponse migration, + + Outputs.ConfigManagementPolicyControllerVersionResponse version) + { + DeploymentState = deploymentState; + Migration = migration; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementPolicyControllerVersionResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementPolicyControllerVersionResponse.cs new file mode 100644 index 0000000000..1bd85f3b8d --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementPolicyControllerVersionResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// The build version of Gatekeeper Policy Controller is using. + /// + [OutputType] + public sealed class ConfigManagementPolicyControllerVersionResponse + { + /// + /// The gatekeeper image tag that is composed of ACM version, git tag, build number. + /// + public readonly string Version; + + [OutputConstructor] + private ConfigManagementPolicyControllerVersionResponse(string version) + { + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementSyncErrorResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementSyncErrorResponse.cs new file mode 100644 index 0000000000..e0142b540c --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementSyncErrorResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// An ACM created error representing a problem syncing configurations + /// + [OutputType] + public sealed class ConfigManagementSyncErrorResponse + { + /// + /// An ACM defined error code + /// + public readonly string Code; + /// + /// A description of the error + /// + public readonly string ErrorMessage; + /// + /// A list of config(s) associated with the error, if any + /// + public readonly ImmutableArray ErrorResources; + + [OutputConstructor] + private ConfigManagementSyncErrorResponse( + string code, + + string errorMessage, + + ImmutableArray errorResources) + { + Code = code; + ErrorMessage = errorMessage; + ErrorResources = errorResources; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementSyncStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementSyncStateResponse.cs new file mode 100644 index 0000000000..54af935a91 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ConfigManagementSyncStateResponse.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// State indicating an ACM's progress syncing configurations to a cluster + /// + [OutputType] + public sealed class ConfigManagementSyncStateResponse + { + /// + /// Sync status code + /// + public readonly string Code; + /// + /// A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + /// + public readonly ImmutableArray Errors; + /// + /// Token indicating the state of the importer. + /// + public readonly string ImportToken; + /// + /// Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + /// + public readonly string LastSync; + /// + /// Timestamp type of when ACM last successfully synced the repo + /// + public readonly string LastSyncTime; + /// + /// Token indicating the state of the repo. + /// + public readonly string SourceToken; + /// + /// Token indicating the state of the syncer. + /// + public readonly string SyncToken; + + [OutputConstructor] + private ConfigManagementSyncStateResponse( + string code, + + ImmutableArray errors, + + string importToken, + + string lastSync, + + string lastSyncTime, + + string sourceToken, + + string syncToken) + { + Code = code; + Errors = errors; + ImportToken = importToken; + LastSync = lastSync; + LastSyncTime = lastSyncTime; + SourceToken = sourceToken; + SyncToken = syncToken; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/FleetObservabilityMembershipSpecResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/FleetObservabilityMembershipSpecResponse.cs new file mode 100644 index 0000000000..6a690de131 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/FleetObservabilityMembershipSpecResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// **FleetObservability**: The membership-specific input for FleetObservability feature. + /// + [OutputType] + public sealed class FleetObservabilityMembershipSpecResponse + { + [OutputConstructor] + private FleetObservabilityMembershipSpecResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/FleetObservabilityMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/FleetObservabilityMembershipStateResponse.cs new file mode 100644 index 0000000000..b5030da70f --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/FleetObservabilityMembershipStateResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// **FleetObservability**: Membership-specific Feature state for fleetobservability. + /// + [OutputType] + public sealed class FleetObservabilityMembershipStateResponse + { + [OutputConstructor] + private FleetObservabilityMembershipStateResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/IdentityServiceMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/IdentityServiceMembershipStateResponse.cs new file mode 100644 index 0000000000..1482c7b70a --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/IdentityServiceMembershipStateResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// **Anthos Identity Service**: State for a single Membership. + /// + [OutputType] + public sealed class IdentityServiceMembershipStateResponse + { + /// + /// The reason of the failure. + /// + public readonly string FailureReason; + /// + /// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + /// + public readonly string InstalledVersion; + /// + /// Last reconciled membership configuration + /// + public readonly Outputs.IdentityServiceMembershipSpecResponse MemberConfig; + /// + /// Deployment state on this member + /// + public readonly string State; + + [OutputConstructor] + private IdentityServiceMembershipStateResponse( + string failureReason, + + string installedVersion, + + Outputs.IdentityServiceMembershipSpecResponse memberConfig, + + string state) + { + FailureReason = failureReason; + InstalledVersion = installedVersion; + MemberConfig = memberConfig; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/MembershipFeatureSpecResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/MembershipFeatureSpecResponse.cs new file mode 100644 index 0000000000..e08726fcd6 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/MembershipFeatureSpecResponse.cs @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + /// + [OutputType] + public sealed class MembershipFeatureSpecResponse + { + /// + /// Anthos Observability-specific spec + /// + public readonly Outputs.AnthosObservabilityMembershipSpecResponse Anthosobservability; + /// + /// Cloud Build-specific spec + /// + public readonly Outputs.MembershipSpecResponse Cloudbuild; + /// + /// Config Management-specific spec. + /// + public readonly Outputs.ConfigManagementMembershipSpecResponse Configmanagement; + /// + /// Fleet observability membership spec + /// + public readonly Outputs.FleetObservabilityMembershipSpecResponse Fleetobservability; + /// + /// Identity Service-specific spec. + /// + public readonly Outputs.IdentityServiceMembershipSpecResponse Identityservice; + /// + /// Anthos Service Mesh-specific spec + /// + public readonly Outputs.ServiceMeshMembershipSpecResponse Mesh; + /// + /// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + /// + public readonly Outputs.OriginResponse Origin; + /// + /// Policy Controller spec. + /// + public readonly Outputs.PolicyControllerMembershipSpecResponse Policycontroller; + + [OutputConstructor] + private MembershipFeatureSpecResponse( + Outputs.AnthosObservabilityMembershipSpecResponse anthosobservability, + + Outputs.MembershipSpecResponse cloudbuild, + + Outputs.ConfigManagementMembershipSpecResponse configmanagement, + + Outputs.FleetObservabilityMembershipSpecResponse fleetobservability, + + Outputs.IdentityServiceMembershipSpecResponse identityservice, + + Outputs.ServiceMeshMembershipSpecResponse mesh, + + Outputs.OriginResponse origin, + + Outputs.PolicyControllerMembershipSpecResponse policycontroller) + { + Anthosobservability = anthosobservability; + Cloudbuild = cloudbuild; + Configmanagement = configmanagement; + Fleetobservability = fleetobservability; + Identityservice = identityservice; + Mesh = mesh; + Origin = origin; + Policycontroller = policycontroller; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/MembershipFeatureStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/MembershipFeatureStateResponse.cs new file mode 100644 index 0000000000..23465b7c7f --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/MembershipFeatureStateResponse.cs @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// MembershipFeatureState contains Feature status information for a single Membership. + /// + [OutputType] + public sealed class MembershipFeatureStateResponse + { + /// + /// Appdevexperience specific state. + /// + public readonly Outputs.AppDevExperienceFeatureStateResponse Appdevexperience; + /// + /// ClusterUpgrade state. + /// + public readonly Outputs.ClusterUpgradeMembershipStateResponse Clusterupgrade; + /// + /// Config Management-specific state. + /// + public readonly Outputs.ConfigManagementMembershipStateResponse Configmanagement; + /// + /// Fleet observability membership state. + /// + public readonly Outputs.FleetObservabilityMembershipStateResponse Fleetobservability; + /// + /// Identity Service-specific state. + /// + public readonly Outputs.IdentityServiceMembershipStateResponse Identityservice; + /// + /// Metering-specific state. + /// + public readonly Outputs.MeteringMembershipStateResponse Metering; + /// + /// Policycontroller-specific state. + /// + public readonly Outputs.PolicyControllerMembershipStateResponse Policycontroller; + /// + /// Service Mesh-specific state. + /// + public readonly Outputs.ServiceMeshMembershipStateResponse Servicemesh; + /// + /// The high-level state of this Feature for a single membership. + /// + public readonly Outputs.FeatureStateResponse State; + + [OutputConstructor] + private MembershipFeatureStateResponse( + Outputs.AppDevExperienceFeatureStateResponse appdevexperience, + + Outputs.ClusterUpgradeMembershipStateResponse clusterupgrade, + + Outputs.ConfigManagementMembershipStateResponse configmanagement, + + Outputs.FleetObservabilityMembershipStateResponse fleetobservability, + + Outputs.IdentityServiceMembershipStateResponse identityservice, + + Outputs.MeteringMembershipStateResponse metering, + + Outputs.PolicyControllerMembershipStateResponse policycontroller, + + Outputs.ServiceMeshMembershipStateResponse servicemesh, + + Outputs.FeatureStateResponse state) + { + Appdevexperience = appdevexperience; + Clusterupgrade = clusterupgrade; + Configmanagement = configmanagement; + Fleetobservability = fleetobservability; + Identityservice = identityservice; + Metering = metering; + Policycontroller = policycontroller; + Servicemesh = servicemesh; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/MembershipSpecResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/MembershipSpecResponse.cs new file mode 100644 index 0000000000..ac32ea3bb3 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/MembershipSpecResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// **Cloud Build**: Configurations for each Cloud Build enabled cluster. + /// + [OutputType] + public sealed class MembershipSpecResponse + { + /// + /// Whether it is allowed to run the privileged builds on the cluster or not. + /// + public readonly string SecurityPolicy; + /// + /// Version of the cloud build software on the cluster. + /// + public readonly string Version; + + [OutputConstructor] + private MembershipSpecResponse( + string securityPolicy, + + string version) + { + SecurityPolicy = securityPolicy; + Version = version; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/MeteringMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/MeteringMembershipStateResponse.cs new file mode 100644 index 0000000000..1da6d09059 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/MeteringMembershipStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// **Metering**: Per-Membership Feature State. + /// + [OutputType] + public sealed class MeteringMembershipStateResponse + { + /// + /// The time stamp of the most recent measurement of the number of vCPUs in the cluster. + /// + public readonly string LastMeasurementTime; + /// + /// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + /// + public readonly double PreciseLastMeasuredClusterVcpuCapacity; + + [OutputConstructor] + private MeteringMembershipStateResponse( + string lastMeasurementTime, + + double preciseLastMeasuredClusterVcpuCapacity) + { + LastMeasurementTime = lastMeasurementTime; + PreciseLastMeasuredClusterVcpuCapacity = preciseLastMeasuredClusterVcpuCapacity; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/OriginResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/OriginResponse.cs new file mode 100644 index 0000000000..c288c537fc --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/OriginResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Origin defines where this MembershipFeatureSpec originated from. + /// + [OutputType] + public sealed class OriginResponse + { + /// + /// Type specifies which type of origin is set. + /// + public readonly string Type; + + [OutputConstructor] + private OriginResponse(string type) + { + Type = type; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerBundleInstallSpecResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerBundleInstallSpecResponse.cs new file mode 100644 index 0000000000..8372c2026c --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerBundleInstallSpecResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// BundleInstallSpec is the specification configuration for a single managed bundle. + /// + [OutputType] + public sealed class PolicyControllerBundleInstallSpecResponse + { + /// + /// The set of namespaces to be exempted from the bundle. + /// + public readonly ImmutableArray ExemptedNamespaces; + + [OutputConstructor] + private PolicyControllerBundleInstallSpecResponse(ImmutableArray exemptedNamespaces) + { + ExemptedNamespaces = exemptedNamespaces; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerHubConfigResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerHubConfigResponse.cs index 20878b44b1..94b6963526 100644 --- a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerHubConfigResponse.cs +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerHubConfigResponse.cs @@ -27,7 +27,7 @@ public sealed class PolicyControllerHubConfigResponse /// /// Map of deployment configs to deployments ("admission", "audit", "mutation'). /// - public readonly ImmutableDictionary DeploymentConfigs; + public readonly ImmutableDictionary DeploymentConfigs; /// /// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. /// @@ -63,7 +63,7 @@ private PolicyControllerHubConfigResponse( string constraintViolationLimit, - ImmutableDictionary deploymentConfigs, + ImmutableDictionary deploymentConfigs, ImmutableArray exemptableNamespaces, diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerMembershipStateResponse.cs new file mode 100644 index 0000000000..1092d2fd6d --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerMembershipStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// **Policy Controller**: State for a single cluster. + /// + [OutputType] + public sealed class PolicyControllerMembershipStateResponse + { + /// + /// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + /// + public readonly ImmutableDictionary ComponentStates; + /// + /// The overall content state observed by the Hub Feature controller. + /// + public readonly Outputs.PolicyControllerPolicyContentStateResponse PolicyContentState; + /// + /// The overall Policy Controller lifecycle state observed by the Hub Feature controller. + /// + public readonly string State; + + [OutputConstructor] + private PolicyControllerMembershipStateResponse( + ImmutableDictionary componentStates, + + Outputs.PolicyControllerPolicyContentStateResponse policyContentState, + + string state) + { + ComponentStates = componentStates; + PolicyContentState = policyContentState; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerOnClusterStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerOnClusterStateResponse.cs new file mode 100644 index 0000000000..f5c1834431 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerOnClusterStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// OnClusterState represents the state of a sub-component of Policy Controller. + /// + [OutputType] + public sealed class PolicyControllerOnClusterStateResponse + { + /// + /// Surface potential errors or information logs. + /// + public readonly string Details; + /// + /// The lifecycle state of this component. + /// + public readonly string State; + + [OutputConstructor] + private PolicyControllerOnClusterStateResponse( + string details, + + string state) + { + Details = details; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyContentSpecResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyContentSpecResponse.cs index 69477f3df1..0e295bebba 100644 --- a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyContentSpecResponse.cs +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyContentSpecResponse.cs @@ -19,7 +19,7 @@ public sealed class PolicyControllerPolicyContentSpecResponse /// /// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. /// - public readonly ImmutableDictionary Bundles; + public readonly ImmutableDictionary Bundles; /// /// Configures the installation of the Template Library. /// @@ -27,7 +27,7 @@ public sealed class PolicyControllerPolicyContentSpecResponse [OutputConstructor] private PolicyControllerPolicyContentSpecResponse( - ImmutableDictionary bundles, + ImmutableDictionary bundles, Outputs.PolicyControllerTemplateLibraryConfigResponse templateLibrary) { diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyContentStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyContentStateResponse.cs new file mode 100644 index 0000000000..a0794982b3 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyContentStateResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// The state of the policy controller policy content + /// + [OutputType] + public sealed class PolicyControllerPolicyContentStateResponse + { + /// + /// The state of the any bundles included in the chosen version of the manifest + /// + public readonly ImmutableDictionary BundleStates; + /// + /// The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + /// + public readonly Outputs.PolicyControllerOnClusterStateResponse ReferentialSyncConfigState; + /// + /// The state of the template library + /// + public readonly Outputs.PolicyControllerOnClusterStateResponse TemplateLibraryState; + + [OutputConstructor] + private PolicyControllerPolicyContentStateResponse( + ImmutableDictionary bundleStates, + + Outputs.PolicyControllerOnClusterStateResponse referentialSyncConfigState, + + Outputs.PolicyControllerOnClusterStateResponse templateLibraryState) + { + BundleStates = bundleStates; + ReferentialSyncConfigState = referentialSyncConfigState; + TemplateLibraryState = templateLibraryState; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyControllerDeploymentConfigResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyControllerDeploymentConfigResponse.cs new file mode 100644 index 0000000000..75b4125441 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerPolicyControllerDeploymentConfigResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Deployment-specific configuration. + /// + [OutputType] + public sealed class PolicyControllerPolicyControllerDeploymentConfigResponse + { + /// + /// Container resource requirements. + /// + public readonly Outputs.PolicyControllerResourceRequirementsResponse ContainerResources; + /// + /// Pod affinity configuration. + /// + public readonly string PodAffinity; + /// + /// Pod anti-affinity enablement. + /// + public readonly bool PodAntiAffinity; + /// + /// Pod tolerations of node taints. + /// + public readonly ImmutableArray PodTolerations; + /// + /// Pod replica count. + /// + public readonly string ReplicaCount; + + [OutputConstructor] + private PolicyControllerPolicyControllerDeploymentConfigResponse( + Outputs.PolicyControllerResourceRequirementsResponse containerResources, + + string podAffinity, + + bool podAntiAffinity, + + ImmutableArray podTolerations, + + string replicaCount) + { + ContainerResources = containerResources; + PodAffinity = podAffinity; + PodAntiAffinity = podAntiAffinity; + PodTolerations = podTolerations; + ReplicaCount = replicaCount; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerResourceListResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerResourceListResponse.cs new file mode 100644 index 0000000000..2b834e0c4a --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerResourceListResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// ResourceList contains container resource requirements. + /// + [OutputType] + public sealed class PolicyControllerResourceListResponse + { + /// + /// CPU requirement expressed in Kubernetes resource units. + /// + public readonly string Cpu; + /// + /// Memory requirement expressed in Kubernetes resource units. + /// + public readonly string Memory; + + [OutputConstructor] + private PolicyControllerResourceListResponse( + string cpu, + + string memory) + { + Cpu = cpu; + Memory = memory; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerResourceRequirementsResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerResourceRequirementsResponse.cs new file mode 100644 index 0000000000..b10b956b90 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerResourceRequirementsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// ResourceRequirements describes the compute resource requirements. + /// + [OutputType] + public sealed class PolicyControllerResourceRequirementsResponse + { + /// + /// Limits describes the maximum amount of compute resources allowed for use by the running container. + /// + public readonly Outputs.PolicyControllerResourceListResponse Limits; + /// + /// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + /// + public readonly Outputs.PolicyControllerResourceListResponse Requests; + + [OutputConstructor] + private PolicyControllerResourceRequirementsResponse( + Outputs.PolicyControllerResourceListResponse limits, + + Outputs.PolicyControllerResourceListResponse requests) + { + Limits = limits; + Requests = requests; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerTolerationResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerTolerationResponse.cs new file mode 100644 index 0000000000..e22dd57ced --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/PolicyControllerTolerationResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Toleration of a node taint. + /// + [OutputType] + public sealed class PolicyControllerTolerationResponse + { + /// + /// Matches a taint effect. + /// + public readonly string Effect; + /// + /// Matches a taint key (not necessarily unique). + /// + public readonly string Key; + /// + /// Matches a taint operator. + /// + public readonly string Operator; + /// + /// Matches a taint value. + /// + public readonly string Value; + + [OutputConstructor] + private PolicyControllerTolerationResponse( + string effect, + + string key, + + string @operator, + + string value) + { + Effect = effect; + Key = key; + Operator = @operator; + Value = value; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ScopeFeatureSpecResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ScopeFeatureSpecResponse.cs new file mode 100644 index 0000000000..03ef1350a7 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ScopeFeatureSpecResponse.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// ScopeFeatureSpec contains feature specs for a fleet scope. + /// + [OutputType] + public sealed class ScopeFeatureSpecResponse + { + [OutputConstructor] + private ScopeFeatureSpecResponse() + { + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ScopeFeatureStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ScopeFeatureStateResponse.cs new file mode 100644 index 0000000000..641d8fb7e9 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ScopeFeatureStateResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// ScopeFeatureState contains Scope-wide Feature status information. + /// + [OutputType] + public sealed class ScopeFeatureStateResponse + { + /// + /// The "running state" of the Feature in this Scope. + /// + public readonly Outputs.FeatureStateResponse State; + + [OutputConstructor] + private ScopeFeatureStateResponse(Outputs.FeatureStateResponse state) + { + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshControlPlaneManagementResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshControlPlaneManagementResponse.cs new file mode 100644 index 0000000000..89b57ebc07 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshControlPlaneManagementResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Status of control plane management. + /// + [OutputType] + public sealed class ServiceMeshControlPlaneManagementResponse + { + /// + /// Explanation of state. + /// + public readonly ImmutableArray Details; + /// + /// LifecycleState of control plane management. + /// + public readonly string State; + + [OutputConstructor] + private ServiceMeshControlPlaneManagementResponse( + ImmutableArray details, + + string state) + { + Details = details; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshDataPlaneManagementResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshDataPlaneManagementResponse.cs new file mode 100644 index 0000000000..ca80deeb77 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshDataPlaneManagementResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Status of data plane management. Only reported per-member. + /// + [OutputType] + public sealed class ServiceMeshDataPlaneManagementResponse + { + /// + /// Explanation of the status. + /// + public readonly ImmutableArray Details; + /// + /// Lifecycle status of data plane management. + /// + public readonly string State; + + [OutputConstructor] + private ServiceMeshDataPlaneManagementResponse( + ImmutableArray details, + + string state) + { + Details = details; + State = state; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshMembershipStateResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshMembershipStateResponse.cs new file mode 100644 index 0000000000..a5c6e314dc --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshMembershipStateResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + /// + [OutputType] + public sealed class ServiceMeshMembershipStateResponse + { + /// + /// Status of control plane management + /// + public readonly Outputs.ServiceMeshControlPlaneManagementResponse ControlPlaneManagement; + /// + /// Status of data plane management. + /// + public readonly Outputs.ServiceMeshDataPlaneManagementResponse DataPlaneManagement; + + [OutputConstructor] + private ServiceMeshMembershipStateResponse( + Outputs.ServiceMeshControlPlaneManagementResponse controlPlaneManagement, + + Outputs.ServiceMeshDataPlaneManagementResponse dataPlaneManagement) + { + ControlPlaneManagement = controlPlaneManagement; + DataPlaneManagement = dataPlaneManagement; + } + } +} diff --git a/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshStatusDetailsResponse.cs b/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshStatusDetailsResponse.cs new file mode 100644 index 0000000000..8ba3eddb56 --- /dev/null +++ b/sdk/dotnet/GKEHub/V1Beta/Outputs/ServiceMeshStatusDetailsResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.GKEHub.V1Beta.Outputs +{ + + /// + /// Structured and human-readable details for a status. + /// + [OutputType] + public sealed class ServiceMeshStatusDetailsResponse + { + /// + /// A machine-readable code that further describes a broad status. + /// + public readonly string Code; + /// + /// Human-readable explanation of code. + /// + public readonly string Details; + + [OutputConstructor] + private ServiceMeshStatusDetailsResponse( + string code, + + string details) + { + Code = code; + Details = details; + } + } +} diff --git a/sdk/dotnet/Healthcare/V1/GetFhir.cs b/sdk/dotnet/Healthcare/V1/GetFhir.cs index f758458af1..96acab8b27 100644 --- a/sdk/dotnet/Healthcare/V1/GetFhir.cs +++ b/sdk/dotnet/Healthcare/V1/GetFhir.cs @@ -92,7 +92,7 @@ public sealed class GetFhirResult /// /// Application specific response metadata. Must be set in the first response for streaming APIs. /// - public readonly ImmutableArray> Extensions; + public readonly ImmutableArray> Extensions; [OutputConstructor] private GetFhirResult( @@ -100,7 +100,7 @@ private GetFhirResult( string data, - ImmutableArray> extensions) + ImmutableArray> extensions) { ContentType = contentType; Data = data; diff --git a/sdk/dotnet/Healthcare/V1/Inputs/GroupOrSegmentArgs.cs b/sdk/dotnet/Healthcare/V1/Inputs/GroupOrSegmentArgs.cs new file mode 100644 index 0000000000..e685dd26c1 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1/Inputs/GroupOrSegmentArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1.Inputs +{ + + /// + /// Construct representing a logical group or a segment. + /// + public sealed class GroupOrSegmentArgs : global::Pulumi.ResourceArgs + { + [Input("group")] + public Input? Group { get; set; } + + [Input("segment")] + public Input? Segment { get; set; } + + public GroupOrSegmentArgs() + { + } + public static new GroupOrSegmentArgs Empty => new GroupOrSegmentArgs(); + } +} diff --git a/sdk/dotnet/Healthcare/V1/Inputs/Hl7SchemaConfigArgs.cs b/sdk/dotnet/Healthcare/V1/Inputs/Hl7SchemaConfigArgs.cs index e9631840be..debdede991 100644 --- a/sdk/dotnet/Healthcare/V1/Inputs/Hl7SchemaConfigArgs.cs +++ b/sdk/dotnet/Healthcare/V1/Inputs/Hl7SchemaConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Healthcare.V1.Inputs public sealed class Hl7SchemaConfigArgs : global::Pulumi.ResourceArgs { [Input("messageSchemaConfigs")] - private InputMap? _messageSchemaConfigs; + private InputMap? _messageSchemaConfigs; /// /// Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. /// - public InputMap MessageSchemaConfigs + public InputMap MessageSchemaConfigs { - get => _messageSchemaConfigs ?? (_messageSchemaConfigs = new InputMap()); + get => _messageSchemaConfigs ?? (_messageSchemaConfigs = new InputMap()); set => _messageSchemaConfigs = value; } diff --git a/sdk/dotnet/Healthcare/V1/Inputs/SchemaGroupArgs.cs b/sdk/dotnet/Healthcare/V1/Inputs/SchemaGroupArgs.cs new file mode 100644 index 0000000000..c4116c6291 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1/Inputs/SchemaGroupArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1.Inputs +{ + + /// + /// An HL7v2 logical group construct. + /// + public sealed class SchemaGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + /// + [Input("choice")] + public Input? Choice { get; set; } + + /// + /// The maximum number of times this group can be repeated. 0 or -1 means unbounded. + /// + [Input("maxOccurs")] + public Input? MaxOccurs { get; set; } + + [Input("members")] + private InputList? _members; + + /// + /// Nested groups and/or segments. + /// + public InputList Members + { + get => _members ?? (_members = new InputList()); + set => _members = value; + } + + /// + /// The minimum number of times this group must be present/repeated. + /// + [Input("minOccurs")] + public Input? MinOccurs { get; set; } + + /// + /// The name of this group. For example, "ORDER_DETAIL". + /// + [Input("name")] + public Input? Name { get; set; } + + public SchemaGroupArgs() + { + } + public static new SchemaGroupArgs Empty => new SchemaGroupArgs(); + } +} diff --git a/sdk/dotnet/Healthcare/V1/Inputs/SchemaSegmentArgs.cs b/sdk/dotnet/Healthcare/V1/Inputs/SchemaSegmentArgs.cs new file mode 100644 index 0000000000..17624b0100 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1/Inputs/SchemaSegmentArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1.Inputs +{ + + /// + /// An HL7v2 Segment. + /// + public sealed class SchemaSegmentArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + /// + [Input("maxOccurs")] + public Input? MaxOccurs { get; set; } + + /// + /// The minimum number of times this segment can be present in this group. + /// + [Input("minOccurs")] + public Input? MinOccurs { get; set; } + + /// + /// The Segment type. For example, "PID". + /// + [Input("type")] + public Input? Type { get; set; } + + public SchemaSegmentArgs() + { + } + public static new SchemaSegmentArgs Empty => new SchemaSegmentArgs(); + } +} diff --git a/sdk/dotnet/Healthcare/V1/Outputs/GroupOrSegmentResponse.cs b/sdk/dotnet/Healthcare/V1/Outputs/GroupOrSegmentResponse.cs new file mode 100644 index 0000000000..98f6381490 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1/Outputs/GroupOrSegmentResponse.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1.Outputs +{ + + /// + /// Construct representing a logical group or a segment. + /// + [OutputType] + public sealed class GroupOrSegmentResponse + { + public readonly Outputs.SchemaGroupResponse Group; + public readonly Outputs.SchemaSegmentResponse Segment; + + [OutputConstructor] + private GroupOrSegmentResponse( + Outputs.SchemaGroupResponse group, + + Outputs.SchemaSegmentResponse segment) + { + Group = group; + Segment = segment; + } + } +} diff --git a/sdk/dotnet/Healthcare/V1/Outputs/Hl7SchemaConfigResponse.cs b/sdk/dotnet/Healthcare/V1/Outputs/Hl7SchemaConfigResponse.cs index 8125db7834..fd393850b1 100644 --- a/sdk/dotnet/Healthcare/V1/Outputs/Hl7SchemaConfigResponse.cs +++ b/sdk/dotnet/Healthcare/V1/Outputs/Hl7SchemaConfigResponse.cs @@ -19,7 +19,7 @@ public sealed class Hl7SchemaConfigResponse /// /// Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. /// - public readonly ImmutableDictionary MessageSchemaConfigs; + public readonly ImmutableDictionary MessageSchemaConfigs; /// /// Each VersionSource is tested and only if they all match is the schema used for the message. /// @@ -27,7 +27,7 @@ public sealed class Hl7SchemaConfigResponse [OutputConstructor] private Hl7SchemaConfigResponse( - ImmutableDictionary messageSchemaConfigs, + ImmutableDictionary messageSchemaConfigs, ImmutableArray version) { diff --git a/sdk/dotnet/Healthcare/V1/Outputs/SchemaGroupResponse.cs b/sdk/dotnet/Healthcare/V1/Outputs/SchemaGroupResponse.cs new file mode 100644 index 0000000000..ce28620722 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1/Outputs/SchemaGroupResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1.Outputs +{ + + /// + /// An HL7v2 logical group construct. + /// + [OutputType] + public sealed class SchemaGroupResponse + { + /// + /// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + /// + public readonly bool Choice; + /// + /// The maximum number of times this group can be repeated. 0 or -1 means unbounded. + /// + public readonly int MaxOccurs; + /// + /// Nested groups and/or segments. + /// + public readonly ImmutableArray Members; + /// + /// The minimum number of times this group must be present/repeated. + /// + public readonly int MinOccurs; + /// + /// The name of this group. For example, "ORDER_DETAIL". + /// + public readonly string Name; + + [OutputConstructor] + private SchemaGroupResponse( + bool choice, + + int maxOccurs, + + ImmutableArray members, + + int minOccurs, + + string name) + { + Choice = choice; + MaxOccurs = maxOccurs; + Members = members; + MinOccurs = minOccurs; + Name = name; + } + } +} diff --git a/sdk/dotnet/Healthcare/V1/Outputs/SchemaSegmentResponse.cs b/sdk/dotnet/Healthcare/V1/Outputs/SchemaSegmentResponse.cs new file mode 100644 index 0000000000..a457aa411f --- /dev/null +++ b/sdk/dotnet/Healthcare/V1/Outputs/SchemaSegmentResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1.Outputs +{ + + /// + /// An HL7v2 Segment. + /// + [OutputType] + public sealed class SchemaSegmentResponse + { + /// + /// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + /// + public readonly int MaxOccurs; + /// + /// The minimum number of times this segment can be present in this group. + /// + public readonly int MinOccurs; + /// + /// The Segment type. For example, "PID". + /// + public readonly string Type; + + [OutputConstructor] + private SchemaSegmentResponse( + int maxOccurs, + + int minOccurs, + + string type) + { + MaxOccurs = maxOccurs; + MinOccurs = minOccurs; + Type = type; + } + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/GetFhir.cs b/sdk/dotnet/Healthcare/V1Beta1/GetFhir.cs index 7195f31872..a3b74d1cfa 100644 --- a/sdk/dotnet/Healthcare/V1Beta1/GetFhir.cs +++ b/sdk/dotnet/Healthcare/V1Beta1/GetFhir.cs @@ -92,7 +92,7 @@ public sealed class GetFhirResult /// /// Application specific response metadata. Must be set in the first response for streaming APIs. /// - public readonly ImmutableArray> Extensions; + public readonly ImmutableArray> Extensions; [OutputConstructor] private GetFhirResult( @@ -100,7 +100,7 @@ private GetFhirResult( string data, - ImmutableArray> extensions) + ImmutableArray> extensions) { ContentType = contentType; Data = data; diff --git a/sdk/dotnet/Healthcare/V1Beta1/Inputs/DetailArgs.cs b/sdk/dotnet/Healthcare/V1Beta1/Inputs/DetailArgs.cs new file mode 100644 index 0000000000..3727995571 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Inputs/DetailArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Inputs +{ + + /// + /// Contains multiple sensitive information findings for each resource slice. + /// + public sealed class DetailArgs : global::Pulumi.ResourceArgs + { + [Input("findings")] + private InputList? _findings; + public InputList Findings + { + get => _findings ?? (_findings = new InputList()); + set => _findings = value; + } + + public DetailArgs() + { + } + public static new DetailArgs Empty => new DetailArgs(); + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Inputs/FindingArgs.cs b/sdk/dotnet/Healthcare/V1Beta1/Inputs/FindingArgs.cs new file mode 100644 index 0000000000..0786f04fae --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Inputs/FindingArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Inputs +{ + + public sealed class FindingArgs : global::Pulumi.ResourceArgs + { + /// + /// Zero-based ending index of the found text, exclusively. + /// + [Input("end")] + public Input? End { get; set; } + + /// + /// The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + /// + [Input("infoType")] + public Input? InfoType { get; set; } + + /// + /// The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + /// + [Input("quote")] + public Input? Quote { get; set; } + + /// + /// Zero-based starting index of the found text, inclusively. + /// + [Input("start")] + public Input? Start { get; set; } + + public FindingArgs() + { + } + public static new FindingArgs Empty => new FindingArgs(); + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Inputs/GroupOrSegmentArgs.cs b/sdk/dotnet/Healthcare/V1Beta1/Inputs/GroupOrSegmentArgs.cs new file mode 100644 index 0000000000..34d0a17a61 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Inputs/GroupOrSegmentArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Inputs +{ + + /// + /// Construct representing a logical group or a segment. + /// + public sealed class GroupOrSegmentArgs : global::Pulumi.ResourceArgs + { + [Input("group")] + public Input? Group { get; set; } + + [Input("segment")] + public Input? Segment { get; set; } + + public GroupOrSegmentArgs() + { + } + public static new GroupOrSegmentArgs Empty => new GroupOrSegmentArgs(); + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Inputs/Hl7SchemaConfigArgs.cs b/sdk/dotnet/Healthcare/V1Beta1/Inputs/Hl7SchemaConfigArgs.cs index b92597c235..a5d870a063 100644 --- a/sdk/dotnet/Healthcare/V1Beta1/Inputs/Hl7SchemaConfigArgs.cs +++ b/sdk/dotnet/Healthcare/V1Beta1/Inputs/Hl7SchemaConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Healthcare.V1Beta1.Inputs public sealed class Hl7SchemaConfigArgs : global::Pulumi.ResourceArgs { [Input("messageSchemaConfigs")] - private InputMap? _messageSchemaConfigs; + private InputMap? _messageSchemaConfigs; /// /// Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. /// - public InputMap MessageSchemaConfigs + public InputMap MessageSchemaConfigs { - get => _messageSchemaConfigs ?? (_messageSchemaConfigs = new InputMap()); + get => _messageSchemaConfigs ?? (_messageSchemaConfigs = new InputMap()); set => _messageSchemaConfigs = value; } diff --git a/sdk/dotnet/Healthcare/V1Beta1/Inputs/SchemaGroupArgs.cs b/sdk/dotnet/Healthcare/V1Beta1/Inputs/SchemaGroupArgs.cs new file mode 100644 index 0000000000..0528a46496 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Inputs/SchemaGroupArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Inputs +{ + + /// + /// An HL7v2 logical group construct. + /// + public sealed class SchemaGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + /// + [Input("choice")] + public Input? Choice { get; set; } + + /// + /// The maximum number of times this group can be repeated. 0 or -1 means unbounded. + /// + [Input("maxOccurs")] + public Input? MaxOccurs { get; set; } + + [Input("members")] + private InputList? _members; + + /// + /// Nested groups and/or segments. + /// + public InputList Members + { + get => _members ?? (_members = new InputList()); + set => _members = value; + } + + /// + /// The minimum number of times this group must be present/repeated. + /// + [Input("minOccurs")] + public Input? MinOccurs { get; set; } + + /// + /// The name of this group. For example, "ORDER_DETAIL". + /// + [Input("name")] + public Input? Name { get; set; } + + public SchemaGroupArgs() + { + } + public static new SchemaGroupArgs Empty => new SchemaGroupArgs(); + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Inputs/SchemaSegmentArgs.cs b/sdk/dotnet/Healthcare/V1Beta1/Inputs/SchemaSegmentArgs.cs new file mode 100644 index 0000000000..d13a03264c --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Inputs/SchemaSegmentArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Inputs +{ + + /// + /// An HL7v2 Segment. + /// + public sealed class SchemaSegmentArgs : global::Pulumi.ResourceArgs + { + /// + /// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + /// + [Input("maxOccurs")] + public Input? MaxOccurs { get; set; } + + /// + /// The minimum number of times this segment can be present in this group. + /// + [Input("minOccurs")] + public Input? MinOccurs { get; set; } + + /// + /// The Segment type. For example, "PID". + /// + [Input("type")] + public Input? Type { get; set; } + + public SchemaSegmentArgs() + { + } + public static new SchemaSegmentArgs Empty => new SchemaSegmentArgs(); + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Inputs/SensitiveTextAnnotationArgs.cs b/sdk/dotnet/Healthcare/V1Beta1/Inputs/SensitiveTextAnnotationArgs.cs index 535b45a472..d46179f5ad 100644 --- a/sdk/dotnet/Healthcare/V1Beta1/Inputs/SensitiveTextAnnotationArgs.cs +++ b/sdk/dotnet/Healthcare/V1Beta1/Inputs/SensitiveTextAnnotationArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Healthcare.V1Beta1.Inputs public sealed class SensitiveTextAnnotationArgs : global::Pulumi.ResourceArgs { [Input("details")] - private InputMap? _details; + private InputMap? _details; /// /// Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} /// - public InputMap Details + public InputMap Details { - get => _details ?? (_details = new InputMap()); + get => _details ?? (_details = new InputMap()); set => _details = value; } diff --git a/sdk/dotnet/Healthcare/V1Beta1/Outputs/DetailResponse.cs b/sdk/dotnet/Healthcare/V1Beta1/Outputs/DetailResponse.cs new file mode 100644 index 0000000000..d734fe7e0d --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Outputs/DetailResponse.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Outputs +{ + + /// + /// Contains multiple sensitive information findings for each resource slice. + /// + [OutputType] + public sealed class DetailResponse + { + public readonly ImmutableArray Findings; + + [OutputConstructor] + private DetailResponse(ImmutableArray findings) + { + Findings = findings; + } + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Outputs/FindingResponse.cs b/sdk/dotnet/Healthcare/V1Beta1/Outputs/FindingResponse.cs new file mode 100644 index 0000000000..ca85496276 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Outputs/FindingResponse.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Outputs +{ + + [OutputType] + public sealed class FindingResponse + { + /// + /// Zero-based ending index of the found text, exclusively. + /// + public readonly string End; + /// + /// The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + /// + public readonly string InfoType; + /// + /// The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + /// + public readonly string Quote; + /// + /// Zero-based starting index of the found text, inclusively. + /// + public readonly string Start; + + [OutputConstructor] + private FindingResponse( + string end, + + string infoType, + + string quote, + + string start) + { + End = end; + InfoType = infoType; + Quote = quote; + Start = start; + } + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Outputs/GroupOrSegmentResponse.cs b/sdk/dotnet/Healthcare/V1Beta1/Outputs/GroupOrSegmentResponse.cs new file mode 100644 index 0000000000..b1322a3888 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Outputs/GroupOrSegmentResponse.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Outputs +{ + + /// + /// Construct representing a logical group or a segment. + /// + [OutputType] + public sealed class GroupOrSegmentResponse + { + public readonly Outputs.SchemaGroupResponse Group; + public readonly Outputs.SchemaSegmentResponse Segment; + + [OutputConstructor] + private GroupOrSegmentResponse( + Outputs.SchemaGroupResponse group, + + Outputs.SchemaSegmentResponse segment) + { + Group = group; + Segment = segment; + } + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Outputs/Hl7SchemaConfigResponse.cs b/sdk/dotnet/Healthcare/V1Beta1/Outputs/Hl7SchemaConfigResponse.cs index 895913b886..17e9c1db95 100644 --- a/sdk/dotnet/Healthcare/V1Beta1/Outputs/Hl7SchemaConfigResponse.cs +++ b/sdk/dotnet/Healthcare/V1Beta1/Outputs/Hl7SchemaConfigResponse.cs @@ -19,7 +19,7 @@ public sealed class Hl7SchemaConfigResponse /// /// Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. /// - public readonly ImmutableDictionary MessageSchemaConfigs; + public readonly ImmutableDictionary MessageSchemaConfigs; /// /// Each VersionSource is tested and only if they all match is the schema used for the message. /// @@ -27,7 +27,7 @@ public sealed class Hl7SchemaConfigResponse [OutputConstructor] private Hl7SchemaConfigResponse( - ImmutableDictionary messageSchemaConfigs, + ImmutableDictionary messageSchemaConfigs, ImmutableArray version) { diff --git a/sdk/dotnet/Healthcare/V1Beta1/Outputs/SchemaGroupResponse.cs b/sdk/dotnet/Healthcare/V1Beta1/Outputs/SchemaGroupResponse.cs new file mode 100644 index 0000000000..6c450d0c87 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Outputs/SchemaGroupResponse.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Outputs +{ + + /// + /// An HL7v2 logical group construct. + /// + [OutputType] + public sealed class SchemaGroupResponse + { + /// + /// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + /// + public readonly bool Choice; + /// + /// The maximum number of times this group can be repeated. 0 or -1 means unbounded. + /// + public readonly int MaxOccurs; + /// + /// Nested groups and/or segments. + /// + public readonly ImmutableArray Members; + /// + /// The minimum number of times this group must be present/repeated. + /// + public readonly int MinOccurs; + /// + /// The name of this group. For example, "ORDER_DETAIL". + /// + public readonly string Name; + + [OutputConstructor] + private SchemaGroupResponse( + bool choice, + + int maxOccurs, + + ImmutableArray members, + + int minOccurs, + + string name) + { + Choice = choice; + MaxOccurs = maxOccurs; + Members = members; + MinOccurs = minOccurs; + Name = name; + } + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Outputs/SchemaSegmentResponse.cs b/sdk/dotnet/Healthcare/V1Beta1/Outputs/SchemaSegmentResponse.cs new file mode 100644 index 0000000000..06a5d2bab8 --- /dev/null +++ b/sdk/dotnet/Healthcare/V1Beta1/Outputs/SchemaSegmentResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Healthcare.V1Beta1.Outputs +{ + + /// + /// An HL7v2 Segment. + /// + [OutputType] + public sealed class SchemaSegmentResponse + { + /// + /// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + /// + public readonly int MaxOccurs; + /// + /// The minimum number of times this segment can be present in this group. + /// + public readonly int MinOccurs; + /// + /// The Segment type. For example, "PID". + /// + public readonly string Type; + + [OutputConstructor] + private SchemaSegmentResponse( + int maxOccurs, + + int minOccurs, + + string type) + { + MaxOccurs = maxOccurs; + MinOccurs = minOccurs; + Type = type; + } + } +} diff --git a/sdk/dotnet/Healthcare/V1Beta1/Outputs/SensitiveTextAnnotationResponse.cs b/sdk/dotnet/Healthcare/V1Beta1/Outputs/SensitiveTextAnnotationResponse.cs index c60fe4cb24..2f01502529 100644 --- a/sdk/dotnet/Healthcare/V1Beta1/Outputs/SensitiveTextAnnotationResponse.cs +++ b/sdk/dotnet/Healthcare/V1Beta1/Outputs/SensitiveTextAnnotationResponse.cs @@ -19,10 +19,10 @@ public sealed class SensitiveTextAnnotationResponse /// /// Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} /// - public readonly ImmutableDictionary Details; + public readonly ImmutableDictionary Details; [OutputConstructor] - private SensitiveTextAnnotationResponse(ImmutableDictionary details) + private SensitiveTextAnnotationResponse(ImmutableDictionary details) { Details = details; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoParameterValueTypeArgs.cs b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoParameterValueTypeArgs.cs index 6139292d03..76a591cbe8 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoParameterValueTypeArgs.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoParameterValueTypeArgs.cs @@ -37,10 +37,10 @@ public sealed class EnterpriseCrmEventbusProtoParameterValueTypeArgs : global::P public Input? ProtoArray { get; set; } [Input("protoValue")] - private InputMap? _protoValue; - public InputMap ProtoValue + private InputMap? _protoValue; + public InputMap ProtoValue { - get => _protoValue ?? (_protoValue = new InputMap()); + get => _protoValue ?? (_protoValue = new InputMap()); set => _protoValue = value; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoProtoParameterArrayArgs.cs b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoProtoParameterArrayArgs.cs index 4b8260327d..59fba81272 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoProtoParameterArrayArgs.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoProtoParameterArrayArgs.cs @@ -13,10 +13,10 @@ namespace Pulumi.GoogleNative.Integrations.V1Alpha.Inputs public sealed class EnterpriseCrmEventbusProtoProtoParameterArrayArgs : global::Pulumi.ResourceArgs { [Input("protoValues")] - private InputList>? _protoValues; - public InputList> ProtoValues + private InputList>? _protoValues; + public InputList> ProtoValues { - get => _protoValues ?? (_protoValues = new InputList>()); + get => _protoValues ?? (_protoValues = new InputList>()); set => _protoValues = value; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoValueTypeArgs.cs b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoValueTypeArgs.cs index 8127f1cce0..e84a1c3546 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoValueTypeArgs.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmEventbusProtoValueTypeArgs.cs @@ -31,10 +31,10 @@ public sealed class EnterpriseCrmEventbusProtoValueTypeArgs : global::Pulumi.Res public Input? IntValue { get; set; } [Input("protoValue")] - private InputMap? _protoValue; - public InputMap ProtoValue + private InputMap? _protoValue; + public InputMap ProtoValue { - get => _protoValue ?? (_protoValue = new InputMap()); + get => _protoValue ?? (_protoValue = new InputMap()); set => _protoValue = value; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoParameterValueTypeArgs.cs b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoParameterValueTypeArgs.cs index e615652b27..5df539b3ea 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoParameterValueTypeArgs.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoParameterValueTypeArgs.cs @@ -40,10 +40,10 @@ public sealed class EnterpriseCrmFrontendsEventbusProtoParameterValueTypeArgs : public Input? ProtoArray { get; set; } [Input("protoValue")] - private InputMap? _protoValue; - public InputMap ProtoValue + private InputMap? _protoValue; + public InputMap ProtoValue { - get => _protoValue ?? (_protoValue = new InputMap()); + get => _protoValue ?? (_protoValue = new InputMap()); set => _protoValue = value; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs.cs b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs.cs index d740baad6a..1e4ed98f33 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs.cs @@ -13,10 +13,10 @@ namespace Pulumi.GoogleNative.Integrations.V1Alpha.Inputs public sealed class EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs : global::Pulumi.ResourceArgs { [Input("protoValues")] - private InputList>? _protoValues; - public InputList> ProtoValues + private InputList>? _protoValues; + public InputList> ProtoValues { - get => _protoValues ?? (_protoValues = new InputList>()); + get => _protoValues ?? (_protoValues = new InputList>()); set => _protoValues = value; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoTaskConfigArgs.cs b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoTaskConfigArgs.cs index 02d325b8a2..635ed84495 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoTaskConfigArgs.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Inputs/EnterpriseCrmFrontendsEventbusProtoTaskConfigArgs.cs @@ -109,14 +109,14 @@ public InputList NextTasks public Input? NextTasksExecutionPolicy { get; set; } [Input("parameters")] - private InputMap? _parameters; + private InputMap? _parameters; /// /// The customized parameters the user can pass to this task. /// - public InputMap Parameters + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Inputs/GoogleCloudIntegrationsV1alphaTaskConfigArgs.cs b/sdk/dotnet/Integrations/V1Alpha/Inputs/GoogleCloudIntegrationsV1alphaTaskConfigArgs.cs index 238d18b66d..162c76817d 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Inputs/GoogleCloudIntegrationsV1alphaTaskConfigArgs.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Inputs/GoogleCloudIntegrationsV1alphaTaskConfigArgs.cs @@ -70,14 +70,14 @@ public InputList NextTasks public Input? NextTasksExecutionPolicy { get; set; } [Input("parameters")] - private InputMap? _parameters; + private InputMap? _parameters; /// /// Optional. The customized parameters the user can pass to this task. /// - public InputMap Parameters + public InputMap Parameters { - get => _parameters ?? (_parameters = new InputMap()); + get => _parameters ?? (_parameters = new InputMap()); set => _parameters = value; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoParameterValueTypeResponse.cs b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoParameterValueTypeResponse.cs index 178ef6e249..e2dd793bf1 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoParameterValueTypeResponse.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoParameterValueTypeResponse.cs @@ -23,7 +23,7 @@ public sealed class EnterpriseCrmEventbusProtoParameterValueTypeResponse public readonly Outputs.EnterpriseCrmEventbusProtoIntParameterArrayResponse IntArray; public readonly string IntValue; public readonly Outputs.EnterpriseCrmEventbusProtoProtoParameterArrayResponse ProtoArray; - public readonly ImmutableDictionary ProtoValue; + public readonly ImmutableDictionary ProtoValue; public readonly Outputs.EnterpriseCrmEventbusProtoSerializedObjectParameterResponse SerializedObjectValue; public readonly Outputs.EnterpriseCrmEventbusProtoStringParameterArrayResponse StringArray; public readonly string StringValue; @@ -44,7 +44,7 @@ private EnterpriseCrmEventbusProtoParameterValueTypeResponse( Outputs.EnterpriseCrmEventbusProtoProtoParameterArrayResponse protoArray, - ImmutableDictionary protoValue, + ImmutableDictionary protoValue, Outputs.EnterpriseCrmEventbusProtoSerializedObjectParameterResponse serializedObjectValue, diff --git a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoProtoParameterArrayResponse.cs b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoProtoParameterArrayResponse.cs index abaca59181..4dc9608b7f 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoProtoParameterArrayResponse.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoProtoParameterArrayResponse.cs @@ -13,10 +13,10 @@ namespace Pulumi.GoogleNative.Integrations.V1Alpha.Outputs [OutputType] public sealed class EnterpriseCrmEventbusProtoProtoParameterArrayResponse { - public readonly ImmutableArray> ProtoValues; + public readonly ImmutableArray> ProtoValues; [OutputConstructor] - private EnterpriseCrmEventbusProtoProtoParameterArrayResponse(ImmutableArray> protoValues) + private EnterpriseCrmEventbusProtoProtoParameterArrayResponse(ImmutableArray> protoValues) { ProtoValues = protoValues; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoValueTypeResponse.cs b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoValueTypeResponse.cs index fca878f90c..66b9507454 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoValueTypeResponse.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmEventbusProtoValueTypeResponse.cs @@ -21,7 +21,7 @@ public sealed class EnterpriseCrmEventbusProtoValueTypeResponse public readonly double DoubleValue; public readonly Outputs.EnterpriseCrmEventbusProtoIntArrayResponse IntArray; public readonly string IntValue; - public readonly ImmutableDictionary ProtoValue; + public readonly ImmutableDictionary ProtoValue; public readonly Outputs.EnterpriseCrmEventbusProtoStringArrayResponse StringArray; public readonly string StringValue; @@ -37,7 +37,7 @@ private EnterpriseCrmEventbusProtoValueTypeResponse( string intValue, - ImmutableDictionary protoValue, + ImmutableDictionary protoValue, Outputs.EnterpriseCrmEventbusProtoStringArrayResponse stringArray, diff --git a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponse.cs b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponse.cs index b66c14e0a5..232648fdde 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponse.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponse.cs @@ -24,7 +24,7 @@ public sealed class EnterpriseCrmFrontendsEventbusProtoParameterValueTypeRespons public readonly string IntValue; public readonly string JsonValue; public readonly Outputs.EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse ProtoArray; - public readonly ImmutableDictionary ProtoValue; + public readonly ImmutableDictionary ProtoValue; public readonly Outputs.EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterResponse SerializedObjectValue; public readonly Outputs.EnterpriseCrmFrontendsEventbusProtoStringParameterArrayResponse StringArray; public readonly string StringValue; @@ -47,7 +47,7 @@ private EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponse( Outputs.EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse protoArray, - ImmutableDictionary protoValue, + ImmutableDictionary protoValue, Outputs.EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterResponse serializedObjectValue, diff --git a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse.cs b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse.cs index 191d6af768..7e34448857 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse.cs @@ -13,10 +13,10 @@ namespace Pulumi.GoogleNative.Integrations.V1Alpha.Outputs [OutputType] public sealed class EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse { - public readonly ImmutableArray> ProtoValues; + public readonly ImmutableArray> ProtoValues; [OutputConstructor] - private EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse(ImmutableArray> protoValues) + private EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse(ImmutableArray> protoValues) { ProtoValues = protoValues; } diff --git a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoTaskConfigResponse.cs b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoTaskConfigResponse.cs index 470e582524..e1935e95e3 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoTaskConfigResponse.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Outputs/EnterpriseCrmFrontendsEventbusProtoTaskConfigResponse.cs @@ -72,7 +72,7 @@ public sealed class EnterpriseCrmFrontendsEventbusProtoTaskConfigResponse /// /// The customized parameters the user can pass to this task. /// - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Parameters; /// /// Optional. Informs the front-end application where to draw this task config on the UI. /// @@ -156,7 +156,7 @@ private EnterpriseCrmFrontendsEventbusProtoTaskConfigResponse( string nextTasksExecutionPolicy, - ImmutableDictionary parameters, + ImmutableDictionary parameters, Outputs.EnterpriseCrmEventbusProtoCoordinateResponse position, diff --git a/sdk/dotnet/Integrations/V1Alpha/Outputs/GoogleCloudIntegrationsV1alphaTaskConfigResponse.cs b/sdk/dotnet/Integrations/V1Alpha/Outputs/GoogleCloudIntegrationsV1alphaTaskConfigResponse.cs index 97e90e733a..cd85f2d844 100644 --- a/sdk/dotnet/Integrations/V1Alpha/Outputs/GoogleCloudIntegrationsV1alphaTaskConfigResponse.cs +++ b/sdk/dotnet/Integrations/V1Alpha/Outputs/GoogleCloudIntegrationsV1alphaTaskConfigResponse.cs @@ -51,7 +51,7 @@ public sealed class GoogleCloudIntegrationsV1alphaTaskConfigResponse /// /// Optional. The customized parameters the user can pass to this task. /// - public readonly ImmutableDictionary Parameters; + public readonly ImmutableDictionary Parameters; /// /// Optional. Informs the front-end application where to draw this error catcher config on the UI. /// @@ -99,7 +99,7 @@ private GoogleCloudIntegrationsV1alphaTaskConfigResponse( string nextTasksExecutionPolicy, - ImmutableDictionary parameters, + ImmutableDictionary parameters, Outputs.GoogleCloudIntegrationsV1alphaCoordinateResponse position, diff --git a/sdk/dotnet/Jobs/V3/GetJob.cs b/sdk/dotnet/Jobs/V3/GetJob.cs index 9a7e959431..4834eb797a 100644 --- a/sdk/dotnet/Jobs/V3/GetJob.cs +++ b/sdk/dotnet/Jobs/V3/GetJob.cs @@ -80,7 +80,7 @@ public sealed class GetJobResult /// /// Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. /// - public readonly ImmutableDictionary CustomAttributes; + public readonly ImmutableDictionary CustomAttributes; /// /// Optional. The desired education degrees for the job, such as Bachelors, Masters. /// @@ -190,7 +190,7 @@ private GetJobResult( Outputs.CompensationInfoResponse compensationInfo, - ImmutableDictionary customAttributes, + ImmutableDictionary customAttributes, ImmutableArray degreeTypes, diff --git a/sdk/dotnet/Jobs/V3/Inputs/CustomAttributeArgs.cs b/sdk/dotnet/Jobs/V3/Inputs/CustomAttributeArgs.cs new file mode 100644 index 0000000000..6ac8fe7ae1 --- /dev/null +++ b/sdk/dotnet/Jobs/V3/Inputs/CustomAttributeArgs.cs @@ -0,0 +1,53 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Jobs.V3.Inputs +{ + + /// + /// Custom attribute values that are either filterable or non-filterable. + /// + public sealed class CustomAttributeArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + /// + [Input("filterable")] + public Input? Filterable { get; set; } + + [Input("longValues")] + private InputList? _longValues; + + /// + /// Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + /// + public InputList LongValues + { + get => _longValues ?? (_longValues = new InputList()); + set => _longValues = value; + } + + [Input("stringValues")] + private InputList? _stringValues; + + /// + /// Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + /// + public InputList StringValues + { + get => _stringValues ?? (_stringValues = new InputList()); + set => _stringValues = value; + } + + public CustomAttributeArgs() + { + } + public static new CustomAttributeArgs Empty => new CustomAttributeArgs(); + } +} diff --git a/sdk/dotnet/Jobs/V3/Job.cs b/sdk/dotnet/Jobs/V3/Job.cs index 2f7f9dd3ad..2bd3bc539a 100644 --- a/sdk/dotnet/Jobs/V3/Job.cs +++ b/sdk/dotnet/Jobs/V3/Job.cs @@ -49,7 +49,7 @@ public partial class Job : global::Pulumi.CustomResource /// Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. /// [Output("customAttributes")] - public Output> CustomAttributes { get; private set; } = null!; + public Output> CustomAttributes { get; private set; } = null!; /// /// Optional. The desired education degrees for the job, such as Bachelors, Masters. @@ -278,14 +278,14 @@ public InputList Addresses public Input? CompensationInfo { get; set; } [Input("customAttributes")] - private InputMap? _customAttributes; + private InputMap? _customAttributes; /// /// Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. /// - public InputMap CustomAttributes + public InputMap CustomAttributes { - get => _customAttributes ?? (_customAttributes = new InputMap()); + get => _customAttributes ?? (_customAttributes = new InputMap()); set => _customAttributes = value; } diff --git a/sdk/dotnet/Jobs/V3/Outputs/CustomAttributeResponse.cs b/sdk/dotnet/Jobs/V3/Outputs/CustomAttributeResponse.cs new file mode 100644 index 0000000000..fc1a3a14e7 --- /dev/null +++ b/sdk/dotnet/Jobs/V3/Outputs/CustomAttributeResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Jobs.V3.Outputs +{ + + /// + /// Custom attribute values that are either filterable or non-filterable. + /// + [OutputType] + public sealed class CustomAttributeResponse + { + /// + /// Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + /// + public readonly bool Filterable; + /// + /// Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + /// + public readonly ImmutableArray LongValues; + /// + /// Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + /// + public readonly ImmutableArray StringValues; + + [OutputConstructor] + private CustomAttributeResponse( + bool filterable, + + ImmutableArray longValues, + + ImmutableArray stringValues) + { + Filterable = filterable; + LongValues = longValues; + StringValues = stringValues; + } + } +} diff --git a/sdk/dotnet/Jobs/V4/GetJob.cs b/sdk/dotnet/Jobs/V4/GetJob.cs index 65fc9d0e98..2c2adaf0e7 100644 --- a/sdk/dotnet/Jobs/V4/GetJob.cs +++ b/sdk/dotnet/Jobs/V4/GetJob.cs @@ -86,7 +86,7 @@ public sealed class GetJobResult /// /// A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. /// - public readonly ImmutableDictionary CustomAttributes; + public readonly ImmutableDictionary CustomAttributes; /// /// The desired education degrees for the job, such as Bachelors, Masters. /// @@ -196,7 +196,7 @@ private GetJobResult( Outputs.CompensationInfoResponse compensationInfo, - ImmutableDictionary customAttributes, + ImmutableDictionary customAttributes, ImmutableArray degreeTypes, diff --git a/sdk/dotnet/Jobs/V4/Inputs/CustomAttributeArgs.cs b/sdk/dotnet/Jobs/V4/Inputs/CustomAttributeArgs.cs new file mode 100644 index 0000000000..f06d749972 --- /dev/null +++ b/sdk/dotnet/Jobs/V4/Inputs/CustomAttributeArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Jobs.V4.Inputs +{ + + /// + /// Custom attribute values that are either filterable or non-filterable. + /// + public sealed class CustomAttributeArgs : global::Pulumi.ResourceArgs + { + /// + /// If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + /// + [Input("filterable")] + public Input? Filterable { get; set; } + + /// + /// If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + /// + [Input("keywordSearchable")] + public Input? KeywordSearchable { get; set; } + + [Input("longValues")] + private InputList? _longValues; + + /// + /// Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + /// + public InputList LongValues + { + get => _longValues ?? (_longValues = new InputList()); + set => _longValues = value; + } + + [Input("stringValues")] + private InputList? _stringValues; + + /// + /// Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + /// + public InputList StringValues + { + get => _stringValues ?? (_stringValues = new InputList()); + set => _stringValues = value; + } + + public CustomAttributeArgs() + { + } + public static new CustomAttributeArgs Empty => new CustomAttributeArgs(); + } +} diff --git a/sdk/dotnet/Jobs/V4/Job.cs b/sdk/dotnet/Jobs/V4/Job.cs index a174618318..b0b400022b 100644 --- a/sdk/dotnet/Jobs/V4/Job.cs +++ b/sdk/dotnet/Jobs/V4/Job.cs @@ -49,7 +49,7 @@ public partial class Job : global::Pulumi.CustomResource /// A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. /// [Output("customAttributes")] - public Output> CustomAttributes { get; private set; } = null!; + public Output> CustomAttributes { get; private set; } = null!; /// /// The desired education degrees for the job, such as Bachelors, Masters. @@ -282,14 +282,14 @@ public InputList Addresses public Input? CompensationInfo { get; set; } [Input("customAttributes")] - private InputMap? _customAttributes; + private InputMap? _customAttributes; /// /// A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. /// - public InputMap CustomAttributes + public InputMap CustomAttributes { - get => _customAttributes ?? (_customAttributes = new InputMap()); + get => _customAttributes ?? (_customAttributes = new InputMap()); set => _customAttributes = value; } diff --git a/sdk/dotnet/Jobs/V4/Outputs/CustomAttributeResponse.cs b/sdk/dotnet/Jobs/V4/Outputs/CustomAttributeResponse.cs new file mode 100644 index 0000000000..8c8976ea21 --- /dev/null +++ b/sdk/dotnet/Jobs/V4/Outputs/CustomAttributeResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Jobs.V4.Outputs +{ + + /// + /// Custom attribute values that are either filterable or non-filterable. + /// + [OutputType] + public sealed class CustomAttributeResponse + { + /// + /// If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + /// + public readonly bool Filterable; + /// + /// If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + /// + public readonly bool KeywordSearchable; + /// + /// Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + /// + public readonly ImmutableArray LongValues; + /// + /// Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + /// + public readonly ImmutableArray StringValues; + + [OutputConstructor] + private CustomAttributeResponse( + bool filterable, + + bool keywordSearchable, + + ImmutableArray longValues, + + ImmutableArray stringValues) + { + Filterable = filterable; + KeywordSearchable = keywordSearchable; + LongValues = longValues; + StringValues = stringValues; + } + } +} diff --git a/sdk/dotnet/Metastore/V1/Enums.cs b/sdk/dotnet/Metastore/V1/Enums.cs index 385bb6e6f1..8814e4d8eb 100644 --- a/sdk/dotnet/Metastore/V1/Enums.cs +++ b/sdk/dotnet/Metastore/V1/Enums.cs @@ -52,6 +52,47 @@ private AuditLogConfigLogType(string value) public override string ToString() => _value; } + /// + /// The type of the backend metastore. + /// + [EnumType] + public readonly struct BackendMetastoreMetastoreType : IEquatable + { + private readonly string _value; + + private BackendMetastoreMetastoreType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The metastore type is not set. + /// + public static BackendMetastoreMetastoreType MetastoreTypeUnspecified { get; } = new BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED"); + /// + /// The backend metastore is BigQuery. + /// + public static BackendMetastoreMetastoreType Bigquery { get; } = new BackendMetastoreMetastoreType("BIGQUERY"); + /// + /// The backend metastore is Dataproc Metastore. + /// + public static BackendMetastoreMetastoreType DataprocMetastore { get; } = new BackendMetastoreMetastoreType("DATAPROC_METASTORE"); + + public static bool operator ==(BackendMetastoreMetastoreType left, BackendMetastoreMetastoreType right) => left.Equals(right); + public static bool operator !=(BackendMetastoreMetastoreType left, BackendMetastoreMetastoreType right) => !left.Equals(right); + + public static explicit operator string(BackendMetastoreMetastoreType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is BackendMetastoreMetastoreType other && Equals(other); + public bool Equals(BackendMetastoreMetastoreType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The type of the database. /// diff --git a/sdk/dotnet/Metastore/V1/Federation.cs b/sdk/dotnet/Metastore/V1/Federation.cs index 408c8118aa..f0f374b9e1 100644 --- a/sdk/dotnet/Metastore/V1/Federation.cs +++ b/sdk/dotnet/Metastore/V1/Federation.cs @@ -19,7 +19,7 @@ public partial class Federation : global::Pulumi.CustomResource /// A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. /// [Output("backendMetastores")] - public Output> BackendMetastores { get; private set; } = null!; + public Output> BackendMetastores { get; private set; } = null!; /// /// The time when the metastore federation was created. @@ -145,14 +145,14 @@ public static Federation Get(string name, Input id, CustomResourceOption public sealed class FederationArgs : global::Pulumi.ResourceArgs { [Input("backendMetastores")] - private InputMap? _backendMetastores; + private InputMap? _backendMetastores; /// /// A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. /// - public InputMap BackendMetastores + public InputMap BackendMetastores { - get => _backendMetastores ?? (_backendMetastores = new InputMap()); + get => _backendMetastores ?? (_backendMetastores = new InputMap()); set => _backendMetastores = value; } diff --git a/sdk/dotnet/Metastore/V1/GetFederation.cs b/sdk/dotnet/Metastore/V1/GetFederation.cs index b522cd97b8..f3502821fa 100644 --- a/sdk/dotnet/Metastore/V1/GetFederation.cs +++ b/sdk/dotnet/Metastore/V1/GetFederation.cs @@ -66,7 +66,7 @@ public sealed class GetFederationResult /// /// A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. /// - public readonly ImmutableDictionary BackendMetastores; + public readonly ImmutableDictionary BackendMetastores; /// /// The time when the metastore federation was created. /// @@ -106,7 +106,7 @@ public sealed class GetFederationResult [OutputConstructor] private GetFederationResult( - ImmutableDictionary backendMetastores, + ImmutableDictionary backendMetastores, string createTime, diff --git a/sdk/dotnet/Metastore/V1/Inputs/AuxiliaryVersionConfigArgs.cs b/sdk/dotnet/Metastore/V1/Inputs/AuxiliaryVersionConfigArgs.cs new file mode 100644 index 0000000000..09f804afd0 --- /dev/null +++ b/sdk/dotnet/Metastore/V1/Inputs/AuxiliaryVersionConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1.Inputs +{ + + /// + /// Configuration information for the auxiliary service versions. + /// + public sealed class AuxiliaryVersionConfigArgs : global::Pulumi.ResourceArgs + { + [Input("configOverrides")] + private InputMap? _configOverrides; + + /// + /// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + /// + public InputMap ConfigOverrides + { + get => _configOverrides ?? (_configOverrides = new InputMap()); + set => _configOverrides = value; + } + + /// + /// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + /// + [Input("version")] + public Input? Version { get; set; } + + public AuxiliaryVersionConfigArgs() + { + } + public static new AuxiliaryVersionConfigArgs Empty => new AuxiliaryVersionConfigArgs(); + } +} diff --git a/sdk/dotnet/Metastore/V1/Inputs/BackendMetastoreArgs.cs b/sdk/dotnet/Metastore/V1/Inputs/BackendMetastoreArgs.cs new file mode 100644 index 0000000000..826d52346a --- /dev/null +++ b/sdk/dotnet/Metastore/V1/Inputs/BackendMetastoreArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1.Inputs +{ + + /// + /// Represents a backend metastore for the federation. + /// + public sealed class BackendMetastoreArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of the backend metastore. + /// + [Input("metastoreType")] + public Input? MetastoreType { get; set; } + + /// + /// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + /// + [Input("name")] + public Input? Name { get; set; } + + public BackendMetastoreArgs() + { + } + public static new BackendMetastoreArgs Empty => new BackendMetastoreArgs(); + } +} diff --git a/sdk/dotnet/Metastore/V1/Inputs/HiveMetastoreConfigArgs.cs b/sdk/dotnet/Metastore/V1/Inputs/HiveMetastoreConfigArgs.cs index c2666a8268..e01af543f9 100644 --- a/sdk/dotnet/Metastore/V1/Inputs/HiveMetastoreConfigArgs.cs +++ b/sdk/dotnet/Metastore/V1/Inputs/HiveMetastoreConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Metastore.V1.Inputs public sealed class HiveMetastoreConfigArgs : global::Pulumi.ResourceArgs { [Input("auxiliaryVersions")] - private InputMap? _auxiliaryVersions; + private InputMap? _auxiliaryVersions; /// /// A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. /// - public InputMap AuxiliaryVersions + public InputMap AuxiliaryVersions { - get => _auxiliaryVersions ?? (_auxiliaryVersions = new InputMap()); + get => _auxiliaryVersions ?? (_auxiliaryVersions = new InputMap()); set => _auxiliaryVersions = value; } diff --git a/sdk/dotnet/Metastore/V1/Outputs/AuxiliaryVersionConfigResponse.cs b/sdk/dotnet/Metastore/V1/Outputs/AuxiliaryVersionConfigResponse.cs new file mode 100644 index 0000000000..eadf906e45 --- /dev/null +++ b/sdk/dotnet/Metastore/V1/Outputs/AuxiliaryVersionConfigResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1.Outputs +{ + + /// + /// Configuration information for the auxiliary service versions. + /// + [OutputType] + public sealed class AuxiliaryVersionConfigResponse + { + /// + /// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + /// + public readonly ImmutableDictionary ConfigOverrides; + /// + /// The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + /// + public readonly Outputs.NetworkConfigResponse NetworkConfig; + /// + /// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + /// + public readonly string Version; + + [OutputConstructor] + private AuxiliaryVersionConfigResponse( + ImmutableDictionary configOverrides, + + Outputs.NetworkConfigResponse networkConfig, + + string version) + { + ConfigOverrides = configOverrides; + NetworkConfig = networkConfig; + Version = version; + } + } +} diff --git a/sdk/dotnet/Metastore/V1/Outputs/BackendMetastoreResponse.cs b/sdk/dotnet/Metastore/V1/Outputs/BackendMetastoreResponse.cs new file mode 100644 index 0000000000..cf34e8e925 --- /dev/null +++ b/sdk/dotnet/Metastore/V1/Outputs/BackendMetastoreResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1.Outputs +{ + + /// + /// Represents a backend metastore for the federation. + /// + [OutputType] + public sealed class BackendMetastoreResponse + { + /// + /// The type of the backend metastore. + /// + public readonly string MetastoreType; + /// + /// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + /// + public readonly string Name; + + [OutputConstructor] + private BackendMetastoreResponse( + string metastoreType, + + string name) + { + MetastoreType = metastoreType; + Name = name; + } + } +} diff --git a/sdk/dotnet/Metastore/V1/Outputs/HiveMetastoreConfigResponse.cs b/sdk/dotnet/Metastore/V1/Outputs/HiveMetastoreConfigResponse.cs index 64154b34ed..27b1dbd72e 100644 --- a/sdk/dotnet/Metastore/V1/Outputs/HiveMetastoreConfigResponse.cs +++ b/sdk/dotnet/Metastore/V1/Outputs/HiveMetastoreConfigResponse.cs @@ -19,7 +19,7 @@ public sealed class HiveMetastoreConfigResponse /// /// A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. /// - public readonly ImmutableDictionary AuxiliaryVersions; + public readonly ImmutableDictionary AuxiliaryVersions; /// /// A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. /// @@ -39,7 +39,7 @@ public sealed class HiveMetastoreConfigResponse [OutputConstructor] private HiveMetastoreConfigResponse( - ImmutableDictionary auxiliaryVersions, + ImmutableDictionary auxiliaryVersions, ImmutableDictionary configOverrides, diff --git a/sdk/dotnet/Metastore/V1Alpha/Enums.cs b/sdk/dotnet/Metastore/V1Alpha/Enums.cs index fdbe16d460..b04f35196b 100644 --- a/sdk/dotnet/Metastore/V1Alpha/Enums.cs +++ b/sdk/dotnet/Metastore/V1Alpha/Enums.cs @@ -52,6 +52,51 @@ private AuditLogConfigLogType(string value) public override string ToString() => _value; } + /// + /// The type of the backend metastore. + /// + [EnumType] + public readonly struct BackendMetastoreMetastoreType : IEquatable + { + private readonly string _value; + + private BackendMetastoreMetastoreType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The metastore type is not set. + /// + public static BackendMetastoreMetastoreType MetastoreTypeUnspecified { get; } = new BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED"); + /// + /// The backend metastore is Dataplex. + /// + public static BackendMetastoreMetastoreType Dataplex { get; } = new BackendMetastoreMetastoreType("DATAPLEX"); + /// + /// The backend metastore is BigQuery. + /// + public static BackendMetastoreMetastoreType Bigquery { get; } = new BackendMetastoreMetastoreType("BIGQUERY"); + /// + /// The backend metastore is Dataproc Metastore. + /// + public static BackendMetastoreMetastoreType DataprocMetastore { get; } = new BackendMetastoreMetastoreType("DATAPROC_METASTORE"); + + public static bool operator ==(BackendMetastoreMetastoreType left, BackendMetastoreMetastoreType right) => left.Equals(right); + public static bool operator !=(BackendMetastoreMetastoreType left, BackendMetastoreMetastoreType right) => !left.Equals(right); + + public static explicit operator string(BackendMetastoreMetastoreType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is BackendMetastoreMetastoreType other && Equals(other); + public bool Equals(BackendMetastoreMetastoreType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The type of the database. /// diff --git a/sdk/dotnet/Metastore/V1Alpha/Federation.cs b/sdk/dotnet/Metastore/V1Alpha/Federation.cs index cde733857c..4a76114c83 100644 --- a/sdk/dotnet/Metastore/V1Alpha/Federation.cs +++ b/sdk/dotnet/Metastore/V1Alpha/Federation.cs @@ -19,7 +19,7 @@ public partial class Federation : global::Pulumi.CustomResource /// A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. /// [Output("backendMetastores")] - public Output> BackendMetastores { get; private set; } = null!; + public Output> BackendMetastores { get; private set; } = null!; /// /// The time when the metastore federation was created. @@ -145,14 +145,14 @@ public static Federation Get(string name, Input id, CustomResourceOption public sealed class FederationArgs : global::Pulumi.ResourceArgs { [Input("backendMetastores")] - private InputMap? _backendMetastores; + private InputMap? _backendMetastores; /// /// A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. /// - public InputMap BackendMetastores + public InputMap BackendMetastores { - get => _backendMetastores ?? (_backendMetastores = new InputMap()); + get => _backendMetastores ?? (_backendMetastores = new InputMap()); set => _backendMetastores = value; } diff --git a/sdk/dotnet/Metastore/V1Alpha/GetFederation.cs b/sdk/dotnet/Metastore/V1Alpha/GetFederation.cs index 9a345abaf2..19221569db 100644 --- a/sdk/dotnet/Metastore/V1Alpha/GetFederation.cs +++ b/sdk/dotnet/Metastore/V1Alpha/GetFederation.cs @@ -66,7 +66,7 @@ public sealed class GetFederationResult /// /// A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. /// - public readonly ImmutableDictionary BackendMetastores; + public readonly ImmutableDictionary BackendMetastores; /// /// The time when the metastore federation was created. /// @@ -106,7 +106,7 @@ public sealed class GetFederationResult [OutputConstructor] private GetFederationResult( - ImmutableDictionary backendMetastores, + ImmutableDictionary backendMetastores, string createTime, diff --git a/sdk/dotnet/Metastore/V1Alpha/Inputs/AuxiliaryVersionConfigArgs.cs b/sdk/dotnet/Metastore/V1Alpha/Inputs/AuxiliaryVersionConfigArgs.cs new file mode 100644 index 0000000000..e1f7f43885 --- /dev/null +++ b/sdk/dotnet/Metastore/V1Alpha/Inputs/AuxiliaryVersionConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Alpha.Inputs +{ + + /// + /// Configuration information for the auxiliary service versions. + /// + public sealed class AuxiliaryVersionConfigArgs : global::Pulumi.ResourceArgs + { + [Input("configOverrides")] + private InputMap? _configOverrides; + + /// + /// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + /// + public InputMap ConfigOverrides + { + get => _configOverrides ?? (_configOverrides = new InputMap()); + set => _configOverrides = value; + } + + /// + /// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + /// + [Input("version")] + public Input? Version { get; set; } + + public AuxiliaryVersionConfigArgs() + { + } + public static new AuxiliaryVersionConfigArgs Empty => new AuxiliaryVersionConfigArgs(); + } +} diff --git a/sdk/dotnet/Metastore/V1Alpha/Inputs/BackendMetastoreArgs.cs b/sdk/dotnet/Metastore/V1Alpha/Inputs/BackendMetastoreArgs.cs new file mode 100644 index 0000000000..5c64b725da --- /dev/null +++ b/sdk/dotnet/Metastore/V1Alpha/Inputs/BackendMetastoreArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Alpha.Inputs +{ + + /// + /// Represents a backend metastore for the federation. + /// + public sealed class BackendMetastoreArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of the backend metastore. + /// + [Input("metastoreType")] + public Input? MetastoreType { get; set; } + + /// + /// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + /// + [Input("name")] + public Input? Name { get; set; } + + public BackendMetastoreArgs() + { + } + public static new BackendMetastoreArgs Empty => new BackendMetastoreArgs(); + } +} diff --git a/sdk/dotnet/Metastore/V1Alpha/Inputs/DataplexConfigArgs.cs b/sdk/dotnet/Metastore/V1Alpha/Inputs/DataplexConfigArgs.cs index 4d377cd664..8917ad07f7 100644 --- a/sdk/dotnet/Metastore/V1Alpha/Inputs/DataplexConfigArgs.cs +++ b/sdk/dotnet/Metastore/V1Alpha/Inputs/DataplexConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Metastore.V1Alpha.Inputs public sealed class DataplexConfigArgs : global::Pulumi.ResourceArgs { [Input("lakeResources")] - private InputMap? _lakeResources; + private InputMap? _lakeResources; /// /// A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. /// - public InputMap LakeResources + public InputMap LakeResources { - get => _lakeResources ?? (_lakeResources = new InputMap()); + get => _lakeResources ?? (_lakeResources = new InputMap()); set => _lakeResources = value; } diff --git a/sdk/dotnet/Metastore/V1Alpha/Inputs/HiveMetastoreConfigArgs.cs b/sdk/dotnet/Metastore/V1Alpha/Inputs/HiveMetastoreConfigArgs.cs index c0bc297e98..a2fa9c5d8b 100644 --- a/sdk/dotnet/Metastore/V1Alpha/Inputs/HiveMetastoreConfigArgs.cs +++ b/sdk/dotnet/Metastore/V1Alpha/Inputs/HiveMetastoreConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Metastore.V1Alpha.Inputs public sealed class HiveMetastoreConfigArgs : global::Pulumi.ResourceArgs { [Input("auxiliaryVersions")] - private InputMap? _auxiliaryVersions; + private InputMap? _auxiliaryVersions; /// /// A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. /// - public InputMap AuxiliaryVersions + public InputMap AuxiliaryVersions { - get => _auxiliaryVersions ?? (_auxiliaryVersions = new InputMap()); + get => _auxiliaryVersions ?? (_auxiliaryVersions = new InputMap()); set => _auxiliaryVersions = value; } diff --git a/sdk/dotnet/Metastore/V1Alpha/Inputs/LakeArgs.cs b/sdk/dotnet/Metastore/V1Alpha/Inputs/LakeArgs.cs new file mode 100644 index 0000000000..cf7f553633 --- /dev/null +++ b/sdk/dotnet/Metastore/V1Alpha/Inputs/LakeArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Alpha.Inputs +{ + + /// + /// Represents a Lake resource + /// + public sealed class LakeArgs : global::Pulumi.ResourceArgs + { + /// + /// The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + /// + [Input("name")] + public Input? Name { get; set; } + + public LakeArgs() + { + } + public static new LakeArgs Empty => new LakeArgs(); + } +} diff --git a/sdk/dotnet/Metastore/V1Alpha/Outputs/AuxiliaryVersionConfigResponse.cs b/sdk/dotnet/Metastore/V1Alpha/Outputs/AuxiliaryVersionConfigResponse.cs new file mode 100644 index 0000000000..4ae325a3a2 --- /dev/null +++ b/sdk/dotnet/Metastore/V1Alpha/Outputs/AuxiliaryVersionConfigResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Alpha.Outputs +{ + + /// + /// Configuration information for the auxiliary service versions. + /// + [OutputType] + public sealed class AuxiliaryVersionConfigResponse + { + /// + /// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + /// + public readonly ImmutableDictionary ConfigOverrides; + /// + /// The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + /// + public readonly Outputs.NetworkConfigResponse NetworkConfig; + /// + /// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + /// + public readonly string Version; + + [OutputConstructor] + private AuxiliaryVersionConfigResponse( + ImmutableDictionary configOverrides, + + Outputs.NetworkConfigResponse networkConfig, + + string version) + { + ConfigOverrides = configOverrides; + NetworkConfig = networkConfig; + Version = version; + } + } +} diff --git a/sdk/dotnet/Metastore/V1Alpha/Outputs/BackendMetastoreResponse.cs b/sdk/dotnet/Metastore/V1Alpha/Outputs/BackendMetastoreResponse.cs new file mode 100644 index 0000000000..ffc9c3ea35 --- /dev/null +++ b/sdk/dotnet/Metastore/V1Alpha/Outputs/BackendMetastoreResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Alpha.Outputs +{ + + /// + /// Represents a backend metastore for the federation. + /// + [OutputType] + public sealed class BackendMetastoreResponse + { + /// + /// The type of the backend metastore. + /// + public readonly string MetastoreType; + /// + /// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + /// + public readonly string Name; + + [OutputConstructor] + private BackendMetastoreResponse( + string metastoreType, + + string name) + { + MetastoreType = metastoreType; + Name = name; + } + } +} diff --git a/sdk/dotnet/Metastore/V1Alpha/Outputs/DataplexConfigResponse.cs b/sdk/dotnet/Metastore/V1Alpha/Outputs/DataplexConfigResponse.cs index a19865cee6..fc92aa0cf0 100644 --- a/sdk/dotnet/Metastore/V1Alpha/Outputs/DataplexConfigResponse.cs +++ b/sdk/dotnet/Metastore/V1Alpha/Outputs/DataplexConfigResponse.cs @@ -19,10 +19,10 @@ public sealed class DataplexConfigResponse /// /// A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. /// - public readonly ImmutableDictionary LakeResources; + public readonly ImmutableDictionary LakeResources; [OutputConstructor] - private DataplexConfigResponse(ImmutableDictionary lakeResources) + private DataplexConfigResponse(ImmutableDictionary lakeResources) { LakeResources = lakeResources; } diff --git a/sdk/dotnet/Metastore/V1Alpha/Outputs/HiveMetastoreConfigResponse.cs b/sdk/dotnet/Metastore/V1Alpha/Outputs/HiveMetastoreConfigResponse.cs index f5725f64a2..3dfacc42b5 100644 --- a/sdk/dotnet/Metastore/V1Alpha/Outputs/HiveMetastoreConfigResponse.cs +++ b/sdk/dotnet/Metastore/V1Alpha/Outputs/HiveMetastoreConfigResponse.cs @@ -19,7 +19,7 @@ public sealed class HiveMetastoreConfigResponse /// /// A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. /// - public readonly ImmutableDictionary AuxiliaryVersions; + public readonly ImmutableDictionary AuxiliaryVersions; /// /// A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. /// @@ -39,7 +39,7 @@ public sealed class HiveMetastoreConfigResponse [OutputConstructor] private HiveMetastoreConfigResponse( - ImmutableDictionary auxiliaryVersions, + ImmutableDictionary auxiliaryVersions, ImmutableDictionary configOverrides, diff --git a/sdk/dotnet/Metastore/V1Alpha/Outputs/LakeResponse.cs b/sdk/dotnet/Metastore/V1Alpha/Outputs/LakeResponse.cs new file mode 100644 index 0000000000..0796b088f6 --- /dev/null +++ b/sdk/dotnet/Metastore/V1Alpha/Outputs/LakeResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Alpha.Outputs +{ + + /// + /// Represents a Lake resource + /// + [OutputType] + public sealed class LakeResponse + { + /// + /// The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + /// + public readonly string Name; + + [OutputConstructor] + private LakeResponse(string name) + { + Name = name; + } + } +} diff --git a/sdk/dotnet/Metastore/V1Beta/Enums.cs b/sdk/dotnet/Metastore/V1Beta/Enums.cs index e002a7da83..61b2117297 100644 --- a/sdk/dotnet/Metastore/V1Beta/Enums.cs +++ b/sdk/dotnet/Metastore/V1Beta/Enums.cs @@ -52,6 +52,51 @@ private AuditLogConfigLogType(string value) public override string ToString() => _value; } + /// + /// The type of the backend metastore. + /// + [EnumType] + public readonly struct BackendMetastoreMetastoreType : IEquatable + { + private readonly string _value; + + private BackendMetastoreMetastoreType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// The metastore type is not set. + /// + public static BackendMetastoreMetastoreType MetastoreTypeUnspecified { get; } = new BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED"); + /// + /// The backend metastore is Dataplex. + /// + public static BackendMetastoreMetastoreType Dataplex { get; } = new BackendMetastoreMetastoreType("DATAPLEX"); + /// + /// The backend metastore is BigQuery. + /// + public static BackendMetastoreMetastoreType Bigquery { get; } = new BackendMetastoreMetastoreType("BIGQUERY"); + /// + /// The backend metastore is Dataproc Metastore. + /// + public static BackendMetastoreMetastoreType DataprocMetastore { get; } = new BackendMetastoreMetastoreType("DATAPROC_METASTORE"); + + public static bool operator ==(BackendMetastoreMetastoreType left, BackendMetastoreMetastoreType right) => left.Equals(right); + public static bool operator !=(BackendMetastoreMetastoreType left, BackendMetastoreMetastoreType right) => !left.Equals(right); + + public static explicit operator string(BackendMetastoreMetastoreType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is BackendMetastoreMetastoreType other && Equals(other); + public bool Equals(BackendMetastoreMetastoreType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The type of the database. /// diff --git a/sdk/dotnet/Metastore/V1Beta/Federation.cs b/sdk/dotnet/Metastore/V1Beta/Federation.cs index 0ba20586ac..5f22c32525 100644 --- a/sdk/dotnet/Metastore/V1Beta/Federation.cs +++ b/sdk/dotnet/Metastore/V1Beta/Federation.cs @@ -19,7 +19,7 @@ public partial class Federation : global::Pulumi.CustomResource /// A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. /// [Output("backendMetastores")] - public Output> BackendMetastores { get; private set; } = null!; + public Output> BackendMetastores { get; private set; } = null!; /// /// The time when the metastore federation was created. @@ -145,14 +145,14 @@ public static Federation Get(string name, Input id, CustomResourceOption public sealed class FederationArgs : global::Pulumi.ResourceArgs { [Input("backendMetastores")] - private InputMap? _backendMetastores; + private InputMap? _backendMetastores; /// /// A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. /// - public InputMap BackendMetastores + public InputMap BackendMetastores { - get => _backendMetastores ?? (_backendMetastores = new InputMap()); + get => _backendMetastores ?? (_backendMetastores = new InputMap()); set => _backendMetastores = value; } diff --git a/sdk/dotnet/Metastore/V1Beta/GetFederation.cs b/sdk/dotnet/Metastore/V1Beta/GetFederation.cs index 4df697328d..be9fcb7538 100644 --- a/sdk/dotnet/Metastore/V1Beta/GetFederation.cs +++ b/sdk/dotnet/Metastore/V1Beta/GetFederation.cs @@ -66,7 +66,7 @@ public sealed class GetFederationResult /// /// A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. /// - public readonly ImmutableDictionary BackendMetastores; + public readonly ImmutableDictionary BackendMetastores; /// /// The time when the metastore federation was created. /// @@ -106,7 +106,7 @@ public sealed class GetFederationResult [OutputConstructor] private GetFederationResult( - ImmutableDictionary backendMetastores, + ImmutableDictionary backendMetastores, string createTime, diff --git a/sdk/dotnet/Metastore/V1Beta/Inputs/AuxiliaryVersionConfigArgs.cs b/sdk/dotnet/Metastore/V1Beta/Inputs/AuxiliaryVersionConfigArgs.cs new file mode 100644 index 0000000000..94fb7c7a2c --- /dev/null +++ b/sdk/dotnet/Metastore/V1Beta/Inputs/AuxiliaryVersionConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Beta.Inputs +{ + + /// + /// Configuration information for the auxiliary service versions. + /// + public sealed class AuxiliaryVersionConfigArgs : global::Pulumi.ResourceArgs + { + [Input("configOverrides")] + private InputMap? _configOverrides; + + /// + /// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + /// + public InputMap ConfigOverrides + { + get => _configOverrides ?? (_configOverrides = new InputMap()); + set => _configOverrides = value; + } + + /// + /// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + /// + [Input("version")] + public Input? Version { get; set; } + + public AuxiliaryVersionConfigArgs() + { + } + public static new AuxiliaryVersionConfigArgs Empty => new AuxiliaryVersionConfigArgs(); + } +} diff --git a/sdk/dotnet/Metastore/V1Beta/Inputs/BackendMetastoreArgs.cs b/sdk/dotnet/Metastore/V1Beta/Inputs/BackendMetastoreArgs.cs new file mode 100644 index 0000000000..0226540732 --- /dev/null +++ b/sdk/dotnet/Metastore/V1Beta/Inputs/BackendMetastoreArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Beta.Inputs +{ + + /// + /// Represents a backend metastore for the federation. + /// + public sealed class BackendMetastoreArgs : global::Pulumi.ResourceArgs + { + /// + /// The type of the backend metastore. + /// + [Input("metastoreType")] + public Input? MetastoreType { get; set; } + + /// + /// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + /// + [Input("name")] + public Input? Name { get; set; } + + public BackendMetastoreArgs() + { + } + public static new BackendMetastoreArgs Empty => new BackendMetastoreArgs(); + } +} diff --git a/sdk/dotnet/Metastore/V1Beta/Inputs/DataplexConfigArgs.cs b/sdk/dotnet/Metastore/V1Beta/Inputs/DataplexConfigArgs.cs index f7cf562a7b..66a9321c96 100644 --- a/sdk/dotnet/Metastore/V1Beta/Inputs/DataplexConfigArgs.cs +++ b/sdk/dotnet/Metastore/V1Beta/Inputs/DataplexConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Metastore.V1Beta.Inputs public sealed class DataplexConfigArgs : global::Pulumi.ResourceArgs { [Input("lakeResources")] - private InputMap? _lakeResources; + private InputMap? _lakeResources; /// /// A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. /// - public InputMap LakeResources + public InputMap LakeResources { - get => _lakeResources ?? (_lakeResources = new InputMap()); + get => _lakeResources ?? (_lakeResources = new InputMap()); set => _lakeResources = value; } diff --git a/sdk/dotnet/Metastore/V1Beta/Inputs/HiveMetastoreConfigArgs.cs b/sdk/dotnet/Metastore/V1Beta/Inputs/HiveMetastoreConfigArgs.cs index 9deeb190de..1253633232 100644 --- a/sdk/dotnet/Metastore/V1Beta/Inputs/HiveMetastoreConfigArgs.cs +++ b/sdk/dotnet/Metastore/V1Beta/Inputs/HiveMetastoreConfigArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.Metastore.V1Beta.Inputs public sealed class HiveMetastoreConfigArgs : global::Pulumi.ResourceArgs { [Input("auxiliaryVersions")] - private InputMap? _auxiliaryVersions; + private InputMap? _auxiliaryVersions; /// /// A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. /// - public InputMap AuxiliaryVersions + public InputMap AuxiliaryVersions { - get => _auxiliaryVersions ?? (_auxiliaryVersions = new InputMap()); + get => _auxiliaryVersions ?? (_auxiliaryVersions = new InputMap()); set => _auxiliaryVersions = value; } diff --git a/sdk/dotnet/Metastore/V1Beta/Inputs/LakeArgs.cs b/sdk/dotnet/Metastore/V1Beta/Inputs/LakeArgs.cs new file mode 100644 index 0000000000..3b15b39c7e --- /dev/null +++ b/sdk/dotnet/Metastore/V1Beta/Inputs/LakeArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Beta.Inputs +{ + + /// + /// Represents a Lake resource + /// + public sealed class LakeArgs : global::Pulumi.ResourceArgs + { + /// + /// The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + /// + [Input("name")] + public Input? Name { get; set; } + + public LakeArgs() + { + } + public static new LakeArgs Empty => new LakeArgs(); + } +} diff --git a/sdk/dotnet/Metastore/V1Beta/Outputs/AuxiliaryVersionConfigResponse.cs b/sdk/dotnet/Metastore/V1Beta/Outputs/AuxiliaryVersionConfigResponse.cs new file mode 100644 index 0000000000..fae95ecc0e --- /dev/null +++ b/sdk/dotnet/Metastore/V1Beta/Outputs/AuxiliaryVersionConfigResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Beta.Outputs +{ + + /// + /// Configuration information for the auxiliary service versions. + /// + [OutputType] + public sealed class AuxiliaryVersionConfigResponse + { + /// + /// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + /// + public readonly ImmutableDictionary ConfigOverrides; + /// + /// The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + /// + public readonly Outputs.NetworkConfigResponse NetworkConfig; + /// + /// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + /// + public readonly string Version; + + [OutputConstructor] + private AuxiliaryVersionConfigResponse( + ImmutableDictionary configOverrides, + + Outputs.NetworkConfigResponse networkConfig, + + string version) + { + ConfigOverrides = configOverrides; + NetworkConfig = networkConfig; + Version = version; + } + } +} diff --git a/sdk/dotnet/Metastore/V1Beta/Outputs/BackendMetastoreResponse.cs b/sdk/dotnet/Metastore/V1Beta/Outputs/BackendMetastoreResponse.cs new file mode 100644 index 0000000000..30bf57b4d4 --- /dev/null +++ b/sdk/dotnet/Metastore/V1Beta/Outputs/BackendMetastoreResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Beta.Outputs +{ + + /// + /// Represents a backend metastore for the federation. + /// + [OutputType] + public sealed class BackendMetastoreResponse + { + /// + /// The type of the backend metastore. + /// + public readonly string MetastoreType; + /// + /// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + /// + public readonly string Name; + + [OutputConstructor] + private BackendMetastoreResponse( + string metastoreType, + + string name) + { + MetastoreType = metastoreType; + Name = name; + } + } +} diff --git a/sdk/dotnet/Metastore/V1Beta/Outputs/DataplexConfigResponse.cs b/sdk/dotnet/Metastore/V1Beta/Outputs/DataplexConfigResponse.cs index 9226f51731..365ef5738c 100644 --- a/sdk/dotnet/Metastore/V1Beta/Outputs/DataplexConfigResponse.cs +++ b/sdk/dotnet/Metastore/V1Beta/Outputs/DataplexConfigResponse.cs @@ -19,10 +19,10 @@ public sealed class DataplexConfigResponse /// /// A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. /// - public readonly ImmutableDictionary LakeResources; + public readonly ImmutableDictionary LakeResources; [OutputConstructor] - private DataplexConfigResponse(ImmutableDictionary lakeResources) + private DataplexConfigResponse(ImmutableDictionary lakeResources) { LakeResources = lakeResources; } diff --git a/sdk/dotnet/Metastore/V1Beta/Outputs/HiveMetastoreConfigResponse.cs b/sdk/dotnet/Metastore/V1Beta/Outputs/HiveMetastoreConfigResponse.cs index 1ac4cf2ceb..b19cb858f0 100644 --- a/sdk/dotnet/Metastore/V1Beta/Outputs/HiveMetastoreConfigResponse.cs +++ b/sdk/dotnet/Metastore/V1Beta/Outputs/HiveMetastoreConfigResponse.cs @@ -19,7 +19,7 @@ public sealed class HiveMetastoreConfigResponse /// /// A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. /// - public readonly ImmutableDictionary AuxiliaryVersions; + public readonly ImmutableDictionary AuxiliaryVersions; /// /// A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. /// @@ -39,7 +39,7 @@ public sealed class HiveMetastoreConfigResponse [OutputConstructor] private HiveMetastoreConfigResponse( - ImmutableDictionary auxiliaryVersions, + ImmutableDictionary auxiliaryVersions, ImmutableDictionary configOverrides, diff --git a/sdk/dotnet/Metastore/V1Beta/Outputs/LakeResponse.cs b/sdk/dotnet/Metastore/V1Beta/Outputs/LakeResponse.cs new file mode 100644 index 0000000000..5b6a057c03 --- /dev/null +++ b/sdk/dotnet/Metastore/V1Beta/Outputs/LakeResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Metastore.V1Beta.Outputs +{ + + /// + /// Represents a Lake resource + /// + [OutputType] + public sealed class LakeResponse + { + /// + /// The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + /// + public readonly string Name; + + [OutputConstructor] + private LakeResponse(string name) + { + Name = name; + } + } +} diff --git a/sdk/dotnet/Monitoring/V3/Inputs/StatusArgs.cs b/sdk/dotnet/Monitoring/V3/Inputs/StatusArgs.cs index 5ab0dad30b..68d768a744 100644 --- a/sdk/dotnet/Monitoring/V3/Inputs/StatusArgs.cs +++ b/sdk/dotnet/Monitoring/V3/Inputs/StatusArgs.cs @@ -22,14 +22,14 @@ public sealed class StatusArgs : global::Pulumi.ResourceArgs public Input? Code { get; set; } [Input("details")] - private InputList>? _details; + private InputList>? _details; /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public InputList> Details + public InputList> Details { - get => _details ?? (_details = new InputList>()); + get => _details ?? (_details = new InputList>()); set => _details = value; } diff --git a/sdk/dotnet/Monitoring/V3/Outputs/StatusResponse.cs b/sdk/dotnet/Monitoring/V3/Outputs/StatusResponse.cs index 73c9ba3cce..0a8e4212dc 100644 --- a/sdk/dotnet/Monitoring/V3/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Monitoring/V3/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/NetworkConnectivity/V1/Outputs/GoogleRpcStatusResponse.cs b/sdk/dotnet/NetworkConnectivity/V1/Outputs/GoogleRpcStatusResponse.cs index 502577a580..0775058f16 100644 --- a/sdk/dotnet/NetworkConnectivity/V1/Outputs/GoogleRpcStatusResponse.cs +++ b/sdk/dotnet/NetworkConnectivity/V1/Outputs/GoogleRpcStatusResponse.cs @@ -23,7 +23,7 @@ public sealed class GoogleRpcStatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class GoogleRpcStatusResponse private GoogleRpcStatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/NetworkManagement/V1/Outputs/StatusResponse.cs b/sdk/dotnet/NetworkManagement/V1/Outputs/StatusResponse.cs index 5e76c5eca1..dd40acaa6a 100644 --- a/sdk/dotnet/NetworkManagement/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/NetworkManagement/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/NetworkManagement/V1Beta1/Outputs/StatusResponse.cs b/sdk/dotnet/NetworkManagement/V1Beta1/Outputs/StatusResponse.cs index b9cfd5e844..2a262d465a 100644 --- a/sdk/dotnet/NetworkManagement/V1Beta1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/NetworkManagement/V1Beta1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/PolicySimulator/V1/Enums.cs b/sdk/dotnet/PolicySimulator/V1/Enums.cs index 4e7fbd5fcd..749e1ac549 100644 --- a/sdk/dotnet/PolicySimulator/V1/Enums.cs +++ b/sdk/dotnet/PolicySimulator/V1/Enums.cs @@ -43,4 +43,49 @@ private GoogleCloudPolicysimulatorV1ReplayConfigLogSource(string value) public override string ToString() => _value; } + + /// + /// The log type that this config enables. + /// + [EnumType] + public readonly struct GoogleIamV1AuditLogConfigLogType : IEquatable + { + private readonly string _value; + + private GoogleIamV1AuditLogConfigLogType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default case. Should never be this. + /// + public static GoogleIamV1AuditLogConfigLogType LogTypeUnspecified { get; } = new GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED"); + /// + /// Admin reads. Example: CloudIAM getIamPolicy + /// + public static GoogleIamV1AuditLogConfigLogType AdminRead { get; } = new GoogleIamV1AuditLogConfigLogType("ADMIN_READ"); + /// + /// Data writes. Example: CloudSQL Users create + /// + public static GoogleIamV1AuditLogConfigLogType DataWrite { get; } = new GoogleIamV1AuditLogConfigLogType("DATA_WRITE"); + /// + /// Data reads. Example: CloudSQL Users list + /// + public static GoogleIamV1AuditLogConfigLogType DataRead { get; } = new GoogleIamV1AuditLogConfigLogType("DATA_READ"); + + public static bool operator ==(GoogleIamV1AuditLogConfigLogType left, GoogleIamV1AuditLogConfigLogType right) => left.Equals(right); + public static bool operator !=(GoogleIamV1AuditLogConfigLogType left, GoogleIamV1AuditLogConfigLogType right) => !left.Equals(right); + + public static explicit operator string(GoogleIamV1AuditLogConfigLogType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleIamV1AuditLogConfigLogType other && Equals(other); + public bool Equals(GoogleIamV1AuditLogConfigLogType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleCloudPolicysimulatorV1ReplayConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleCloudPolicysimulatorV1ReplayConfigArgs.cs index 6bc097de22..d26065f896 100644 --- a/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleCloudPolicysimulatorV1ReplayConfigArgs.cs +++ b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleCloudPolicysimulatorV1ReplayConfigArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudPolicysimulatorV1ReplayConfigArgs : global::Pulum public Input? LogSource { get; set; } [Input("policyOverlay")] - private InputMap? _policyOverlay; + private InputMap? _policyOverlay; /// /// A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. /// - public InputMap PolicyOverlay + public InputMap PolicyOverlay { - get => _policyOverlay ?? (_policyOverlay = new InputMap()); + get => _policyOverlay ?? (_policyOverlay = new InputMap()); set => _policyOverlay = value; } diff --git a/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1AuditConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1AuditConfigArgs.cs new file mode 100644 index 0000000000..a01c96392d --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1AuditConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Inputs +{ + + /// + /// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + /// + public sealed class GoogleIamV1AuditConfigArgs : global::Pulumi.ResourceArgs + { + [Input("auditLogConfigs")] + private InputList? _auditLogConfigs; + + /// + /// The configuration for logging of each type of permission. + /// + public InputList AuditLogConfigs + { + get => _auditLogConfigs ?? (_auditLogConfigs = new InputList()); + set => _auditLogConfigs = value; + } + + /// + /// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + /// + [Input("service")] + public Input? Service { get; set; } + + public GoogleIamV1AuditConfigArgs() + { + } + public static new GoogleIamV1AuditConfigArgs Empty => new GoogleIamV1AuditConfigArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1AuditLogConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1AuditLogConfigArgs.cs new file mode 100644 index 0000000000..4ced33880d --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1AuditLogConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Inputs +{ + + /// + /// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + /// + public sealed class GoogleIamV1AuditLogConfigArgs : global::Pulumi.ResourceArgs + { + [Input("exemptedMembers")] + private InputList? _exemptedMembers; + + /// + /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + /// + public InputList ExemptedMembers + { + get => _exemptedMembers ?? (_exemptedMembers = new InputList()); + set => _exemptedMembers = value; + } + + /// + /// The log type that this config enables. + /// + [Input("logType")] + public Input? LogType { get; set; } + + public GoogleIamV1AuditLogConfigArgs() + { + } + public static new GoogleIamV1AuditLogConfigArgs Empty => new GoogleIamV1AuditLogConfigArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1BindingArgs.cs b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1BindingArgs.cs new file mode 100644 index 0000000000..90b86b10e5 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1BindingArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Inputs +{ + + /// + /// Associates `members`, or principals, with a `role`. + /// + public sealed class GoogleIamV1BindingArgs : global::Pulumi.ResourceArgs + { + /// + /// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + [Input("condition")] + public Input? Condition { get; set; } + + [Input("members")] + private InputList? _members; + + /// + /// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + /// + public InputList Members + { + get => _members ?? (_members = new InputList()); + set => _members = value; + } + + /// + /// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + /// + [Input("role")] + public Input? Role { get; set; } + + public GoogleIamV1BindingArgs() + { + } + public static new GoogleIamV1BindingArgs Empty => new GoogleIamV1BindingArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1PolicyArgs.cs b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1PolicyArgs.cs new file mode 100644 index 0000000000..c3e3f62ae0 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleIamV1PolicyArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Inputs +{ + + /// + /// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + /// + public sealed class GoogleIamV1PolicyArgs : global::Pulumi.ResourceArgs + { + [Input("auditConfigs")] + private InputList? _auditConfigs; + + /// + /// Specifies cloud audit logging configuration for this policy. + /// + public InputList AuditConfigs + { + get => _auditConfigs ?? (_auditConfigs = new InputList()); + set => _auditConfigs = value; + } + + [Input("bindings")] + private InputList? _bindings; + + /// + /// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + /// + public InputList Bindings + { + get => _bindings ?? (_bindings = new InputList()); + set => _bindings = value; + } + + /// + /// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + /// + [Input("etag")] + public Input? Etag { get; set; } + + /// + /// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + [Input("version")] + public Input? Version { get; set; } + + public GoogleIamV1PolicyArgs() + { + } + public static new GoogleIamV1PolicyArgs Empty => new GoogleIamV1PolicyArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleTypeExprArgs.cs b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleTypeExprArgs.cs new file mode 100644 index 0000000000..8bd0b1b48b --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Inputs/GoogleTypeExprArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Inputs +{ + + /// + /// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + /// + public sealed class GoogleTypeExprArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Textual representation of an expression in Common Expression Language syntax. + /// + [Input("expression")] + public Input? Expression { get; set; } + + /// + /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + /// + [Input("title")] + public Input? Title { get; set; } + + public GoogleTypeExprArgs() + { + } + public static new GoogleTypeExprArgs Empty => new GoogleTypeExprArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleCloudPolicysimulatorV1ReplayConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleCloudPolicysimulatorV1ReplayConfigResponse.cs index a13e7c111b..c365497a41 100644 --- a/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleCloudPolicysimulatorV1ReplayConfigResponse.cs +++ b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleCloudPolicysimulatorV1ReplayConfigResponse.cs @@ -23,13 +23,13 @@ public sealed class GoogleCloudPolicysimulatorV1ReplayConfigResponse /// /// A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. /// - public readonly ImmutableDictionary PolicyOverlay; + public readonly ImmutableDictionary PolicyOverlay; [OutputConstructor] private GoogleCloudPolicysimulatorV1ReplayConfigResponse( string logSource, - ImmutableDictionary policyOverlay) + ImmutableDictionary policyOverlay) { LogSource = logSource; PolicyOverlay = policyOverlay; diff --git a/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1AuditConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1AuditConfigResponse.cs new file mode 100644 index 0000000000..285d5e2f0e --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1AuditConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Outputs +{ + + /// + /// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + /// + [OutputType] + public sealed class GoogleIamV1AuditConfigResponse + { + /// + /// The configuration for logging of each type of permission. + /// + public readonly ImmutableArray AuditLogConfigs; + /// + /// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + /// + public readonly string Service; + + [OutputConstructor] + private GoogleIamV1AuditConfigResponse( + ImmutableArray auditLogConfigs, + + string service) + { + AuditLogConfigs = auditLogConfigs; + Service = service; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1AuditLogConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1AuditLogConfigResponse.cs new file mode 100644 index 0000000000..a9b8f340b5 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1AuditLogConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Outputs +{ + + /// + /// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + /// + [OutputType] + public sealed class GoogleIamV1AuditLogConfigResponse + { + /// + /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + /// + public readonly ImmutableArray ExemptedMembers; + /// + /// The log type that this config enables. + /// + public readonly string LogType; + + [OutputConstructor] + private GoogleIamV1AuditLogConfigResponse( + ImmutableArray exemptedMembers, + + string logType) + { + ExemptedMembers = exemptedMembers; + LogType = logType; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1BindingResponse.cs b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1BindingResponse.cs new file mode 100644 index 0000000000..698c90330e --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1BindingResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Outputs +{ + + /// + /// Associates `members`, or principals, with a `role`. + /// + [OutputType] + public sealed class GoogleIamV1BindingResponse + { + /// + /// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + public readonly Outputs.GoogleTypeExprResponse Condition; + /// + /// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + /// + public readonly ImmutableArray Members; + /// + /// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + /// + public readonly string Role; + + [OutputConstructor] + private GoogleIamV1BindingResponse( + Outputs.GoogleTypeExprResponse condition, + + ImmutableArray members, + + string role) + { + Condition = condition; + Members = members; + Role = role; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1PolicyResponse.cs b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1PolicyResponse.cs new file mode 100644 index 0000000000..628bd2d5df --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleIamV1PolicyResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Outputs +{ + + /// + /// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + /// + [OutputType] + public sealed class GoogleIamV1PolicyResponse + { + /// + /// Specifies cloud audit logging configuration for this policy. + /// + public readonly ImmutableArray AuditConfigs; + /// + /// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + /// + public readonly ImmutableArray Bindings; + /// + /// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + /// + public readonly string Etag; + /// + /// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + public readonly int Version; + + [OutputConstructor] + private GoogleIamV1PolicyResponse( + ImmutableArray auditConfigs, + + ImmutableArray bindings, + + string etag, + + int version) + { + AuditConfigs = auditConfigs; + Bindings = bindings; + Etag = etag; + Version = version; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleTypeExprResponse.cs b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleTypeExprResponse.cs new file mode 100644 index 0000000000..8933cd681e --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1/Outputs/GoogleTypeExprResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1.Outputs +{ + + /// + /// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + /// + [OutputType] + public sealed class GoogleTypeExprResponse + { + /// + /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + /// + public readonly string Description; + /// + /// Textual representation of an expression in Common Expression Language syntax. + /// + public readonly string Expression; + /// + /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + /// + public readonly string Location; + /// + /// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + /// + public readonly string Title; + + [OutputConstructor] + private GoogleTypeExprResponse( + string description, + + string expression, + + string location, + + string title) + { + Description = description; + Expression = expression; + Location = location; + Title = title; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Enums.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Enums.cs index 406b034d68..89c90e6ffc 100644 --- a/sdk/dotnet/PolicySimulator/V1Alpha/Enums.cs +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Enums.cs @@ -43,4 +43,49 @@ private GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource(string value) public override string ToString() => _value; } + + /// + /// The log type that this config enables. + /// + [EnumType] + public readonly struct GoogleIamV1AuditLogConfigLogType : IEquatable + { + private readonly string _value; + + private GoogleIamV1AuditLogConfigLogType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default case. Should never be this. + /// + public static GoogleIamV1AuditLogConfigLogType LogTypeUnspecified { get; } = new GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED"); + /// + /// Admin reads. Example: CloudIAM getIamPolicy + /// + public static GoogleIamV1AuditLogConfigLogType AdminRead { get; } = new GoogleIamV1AuditLogConfigLogType("ADMIN_READ"); + /// + /// Data writes. Example: CloudSQL Users create + /// + public static GoogleIamV1AuditLogConfigLogType DataWrite { get; } = new GoogleIamV1AuditLogConfigLogType("DATA_WRITE"); + /// + /// Data reads. Example: CloudSQL Users list + /// + public static GoogleIamV1AuditLogConfigLogType DataRead { get; } = new GoogleIamV1AuditLogConfigLogType("DATA_READ"); + + public static bool operator ==(GoogleIamV1AuditLogConfigLogType left, GoogleIamV1AuditLogConfigLogType right) => left.Equals(right); + public static bool operator !=(GoogleIamV1AuditLogConfigLogType left, GoogleIamV1AuditLogConfigLogType right) => !left.Equals(right); + + public static explicit operator string(GoogleIamV1AuditLogConfigLogType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleIamV1AuditLogConfigLogType other && Equals(other); + public bool Equals(GoogleIamV1AuditLogConfigLogType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleCloudPolicysimulatorV1alphaReplayConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleCloudPolicysimulatorV1alphaReplayConfigArgs.cs index f649cfc89e..4be44be9cc 100644 --- a/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleCloudPolicysimulatorV1alphaReplayConfigArgs.cs +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleCloudPolicysimulatorV1alphaReplayConfigArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudPolicysimulatorV1alphaReplayConfigArgs : global:: public Input? LogSource { get; set; } [Input("policyOverlay")] - private InputMap? _policyOverlay; + private InputMap? _policyOverlay; /// /// A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. /// - public InputMap PolicyOverlay + public InputMap PolicyOverlay { - get => _policyOverlay ?? (_policyOverlay = new InputMap()); + get => _policyOverlay ?? (_policyOverlay = new InputMap()); set => _policyOverlay = value; } diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1AuditConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1AuditConfigArgs.cs new file mode 100644 index 0000000000..b0d09147a7 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1AuditConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Inputs +{ + + /// + /// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + /// + public sealed class GoogleIamV1AuditConfigArgs : global::Pulumi.ResourceArgs + { + [Input("auditLogConfigs")] + private InputList? _auditLogConfigs; + + /// + /// The configuration for logging of each type of permission. + /// + public InputList AuditLogConfigs + { + get => _auditLogConfigs ?? (_auditLogConfigs = new InputList()); + set => _auditLogConfigs = value; + } + + /// + /// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + /// + [Input("service")] + public Input? Service { get; set; } + + public GoogleIamV1AuditConfigArgs() + { + } + public static new GoogleIamV1AuditConfigArgs Empty => new GoogleIamV1AuditConfigArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1AuditLogConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1AuditLogConfigArgs.cs new file mode 100644 index 0000000000..387433c514 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1AuditLogConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Inputs +{ + + /// + /// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + /// + public sealed class GoogleIamV1AuditLogConfigArgs : global::Pulumi.ResourceArgs + { + [Input("exemptedMembers")] + private InputList? _exemptedMembers; + + /// + /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + /// + public InputList ExemptedMembers + { + get => _exemptedMembers ?? (_exemptedMembers = new InputList()); + set => _exemptedMembers = value; + } + + /// + /// The log type that this config enables. + /// + [Input("logType")] + public Input? LogType { get; set; } + + public GoogleIamV1AuditLogConfigArgs() + { + } + public static new GoogleIamV1AuditLogConfigArgs Empty => new GoogleIamV1AuditLogConfigArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1BindingArgs.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1BindingArgs.cs new file mode 100644 index 0000000000..aaf1335c4d --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1BindingArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Inputs +{ + + /// + /// Associates `members`, or principals, with a `role`. + /// + public sealed class GoogleIamV1BindingArgs : global::Pulumi.ResourceArgs + { + /// + /// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + [Input("condition")] + public Input? Condition { get; set; } + + [Input("members")] + private InputList? _members; + + /// + /// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + /// + public InputList Members + { + get => _members ?? (_members = new InputList()); + set => _members = value; + } + + /// + /// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + /// + [Input("role")] + public Input? Role { get; set; } + + public GoogleIamV1BindingArgs() + { + } + public static new GoogleIamV1BindingArgs Empty => new GoogleIamV1BindingArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1PolicyArgs.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1PolicyArgs.cs new file mode 100644 index 0000000000..76b2f9b234 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleIamV1PolicyArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Inputs +{ + + /// + /// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + /// + public sealed class GoogleIamV1PolicyArgs : global::Pulumi.ResourceArgs + { + [Input("auditConfigs")] + private InputList? _auditConfigs; + + /// + /// Specifies cloud audit logging configuration for this policy. + /// + public InputList AuditConfigs + { + get => _auditConfigs ?? (_auditConfigs = new InputList()); + set => _auditConfigs = value; + } + + [Input("bindings")] + private InputList? _bindings; + + /// + /// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + /// + public InputList Bindings + { + get => _bindings ?? (_bindings = new InputList()); + set => _bindings = value; + } + + /// + /// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + /// + [Input("etag")] + public Input? Etag { get; set; } + + /// + /// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + [Input("version")] + public Input? Version { get; set; } + + public GoogleIamV1PolicyArgs() + { + } + public static new GoogleIamV1PolicyArgs Empty => new GoogleIamV1PolicyArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleTypeExprArgs.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleTypeExprArgs.cs new file mode 100644 index 0000000000..58961c3253 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Inputs/GoogleTypeExprArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Inputs +{ + + /// + /// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + /// + public sealed class GoogleTypeExprArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Textual representation of an expression in Common Expression Language syntax. + /// + [Input("expression")] + public Input? Expression { get; set; } + + /// + /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + /// + [Input("title")] + public Input? Title { get; set; } + + public GoogleTypeExprArgs() + { + } + public static new GoogleTypeExprArgs Empty => new GoogleTypeExprArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleCloudPolicysimulatorV1alphaReplayConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleCloudPolicysimulatorV1alphaReplayConfigResponse.cs index 0d92754f3b..c12abae3ce 100644 --- a/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleCloudPolicysimulatorV1alphaReplayConfigResponse.cs +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleCloudPolicysimulatorV1alphaReplayConfigResponse.cs @@ -23,13 +23,13 @@ public sealed class GoogleCloudPolicysimulatorV1alphaReplayConfigResponse /// /// A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. /// - public readonly ImmutableDictionary PolicyOverlay; + public readonly ImmutableDictionary PolicyOverlay; [OutputConstructor] private GoogleCloudPolicysimulatorV1alphaReplayConfigResponse( string logSource, - ImmutableDictionary policyOverlay) + ImmutableDictionary policyOverlay) { LogSource = logSource; PolicyOverlay = policyOverlay; diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1AuditConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1AuditConfigResponse.cs new file mode 100644 index 0000000000..bba16efb06 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1AuditConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Outputs +{ + + /// + /// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + /// + [OutputType] + public sealed class GoogleIamV1AuditConfigResponse + { + /// + /// The configuration for logging of each type of permission. + /// + public readonly ImmutableArray AuditLogConfigs; + /// + /// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + /// + public readonly string Service; + + [OutputConstructor] + private GoogleIamV1AuditConfigResponse( + ImmutableArray auditLogConfigs, + + string service) + { + AuditLogConfigs = auditLogConfigs; + Service = service; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1AuditLogConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1AuditLogConfigResponse.cs new file mode 100644 index 0000000000..4f36e622cc --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1AuditLogConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Outputs +{ + + /// + /// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + /// + [OutputType] + public sealed class GoogleIamV1AuditLogConfigResponse + { + /// + /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + /// + public readonly ImmutableArray ExemptedMembers; + /// + /// The log type that this config enables. + /// + public readonly string LogType; + + [OutputConstructor] + private GoogleIamV1AuditLogConfigResponse( + ImmutableArray exemptedMembers, + + string logType) + { + ExemptedMembers = exemptedMembers; + LogType = logType; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1BindingResponse.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1BindingResponse.cs new file mode 100644 index 0000000000..6e0398786b --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1BindingResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Outputs +{ + + /// + /// Associates `members`, or principals, with a `role`. + /// + [OutputType] + public sealed class GoogleIamV1BindingResponse + { + /// + /// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + public readonly Outputs.GoogleTypeExprResponse Condition; + /// + /// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + /// + public readonly ImmutableArray Members; + /// + /// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + /// + public readonly string Role; + + [OutputConstructor] + private GoogleIamV1BindingResponse( + Outputs.GoogleTypeExprResponse condition, + + ImmutableArray members, + + string role) + { + Condition = condition; + Members = members; + Role = role; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1PolicyResponse.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1PolicyResponse.cs new file mode 100644 index 0000000000..c00492b080 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleIamV1PolicyResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Outputs +{ + + /// + /// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + /// + [OutputType] + public sealed class GoogleIamV1PolicyResponse + { + /// + /// Specifies cloud audit logging configuration for this policy. + /// + public readonly ImmutableArray AuditConfigs; + /// + /// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + /// + public readonly ImmutableArray Bindings; + /// + /// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + /// + public readonly string Etag; + /// + /// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + public readonly int Version; + + [OutputConstructor] + private GoogleIamV1PolicyResponse( + ImmutableArray auditConfigs, + + ImmutableArray bindings, + + string etag, + + int version) + { + AuditConfigs = auditConfigs; + Bindings = bindings; + Etag = etag; + Version = version; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleTypeExprResponse.cs b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleTypeExprResponse.cs new file mode 100644 index 0000000000..264c69675f --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Alpha/Outputs/GoogleTypeExprResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Alpha.Outputs +{ + + /// + /// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + /// + [OutputType] + public sealed class GoogleTypeExprResponse + { + /// + /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + /// + public readonly string Description; + /// + /// Textual representation of an expression in Common Expression Language syntax. + /// + public readonly string Expression; + /// + /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + /// + public readonly string Location; + /// + /// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + /// + public readonly string Title; + + [OutputConstructor] + private GoogleTypeExprResponse( + string description, + + string expression, + + string location, + + string title) + { + Description = description; + Expression = expression; + Location = location; + Title = title; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Enums.cs b/sdk/dotnet/PolicySimulator/V1Beta/Enums.cs index de03a4a4a4..2523d818e2 100644 --- a/sdk/dotnet/PolicySimulator/V1Beta/Enums.cs +++ b/sdk/dotnet/PolicySimulator/V1Beta/Enums.cs @@ -43,4 +43,49 @@ private GoogleCloudPolicysimulatorV1betaReplayConfigLogSource(string value) public override string ToString() => _value; } + + /// + /// The log type that this config enables. + /// + [EnumType] + public readonly struct GoogleIamV1AuditLogConfigLogType : IEquatable + { + private readonly string _value; + + private GoogleIamV1AuditLogConfigLogType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default case. Should never be this. + /// + public static GoogleIamV1AuditLogConfigLogType LogTypeUnspecified { get; } = new GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED"); + /// + /// Admin reads. Example: CloudIAM getIamPolicy + /// + public static GoogleIamV1AuditLogConfigLogType AdminRead { get; } = new GoogleIamV1AuditLogConfigLogType("ADMIN_READ"); + /// + /// Data writes. Example: CloudSQL Users create + /// + public static GoogleIamV1AuditLogConfigLogType DataWrite { get; } = new GoogleIamV1AuditLogConfigLogType("DATA_WRITE"); + /// + /// Data reads. Example: CloudSQL Users list + /// + public static GoogleIamV1AuditLogConfigLogType DataRead { get; } = new GoogleIamV1AuditLogConfigLogType("DATA_READ"); + + public static bool operator ==(GoogleIamV1AuditLogConfigLogType left, GoogleIamV1AuditLogConfigLogType right) => left.Equals(right); + public static bool operator !=(GoogleIamV1AuditLogConfigLogType left, GoogleIamV1AuditLogConfigLogType right) => !left.Equals(right); + + public static explicit operator string(GoogleIamV1AuditLogConfigLogType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleIamV1AuditLogConfigLogType other && Equals(other); + public bool Equals(GoogleIamV1AuditLogConfigLogType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleCloudPolicysimulatorV1betaReplayConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleCloudPolicysimulatorV1betaReplayConfigArgs.cs index 264e5a7481..b1df37066d 100644 --- a/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleCloudPolicysimulatorV1betaReplayConfigArgs.cs +++ b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleCloudPolicysimulatorV1betaReplayConfigArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudPolicysimulatorV1betaReplayConfigArgs : global::P public Input? LogSource { get; set; } [Input("policyOverlay")] - private InputMap? _policyOverlay; + private InputMap? _policyOverlay; /// /// A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. /// - public InputMap PolicyOverlay + public InputMap PolicyOverlay { - get => _policyOverlay ?? (_policyOverlay = new InputMap()); + get => _policyOverlay ?? (_policyOverlay = new InputMap()); set => _policyOverlay = value; } diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1AuditConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1AuditConfigArgs.cs new file mode 100644 index 0000000000..7797cc52f2 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1AuditConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Inputs +{ + + /// + /// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + /// + public sealed class GoogleIamV1AuditConfigArgs : global::Pulumi.ResourceArgs + { + [Input("auditLogConfigs")] + private InputList? _auditLogConfigs; + + /// + /// The configuration for logging of each type of permission. + /// + public InputList AuditLogConfigs + { + get => _auditLogConfigs ?? (_auditLogConfigs = new InputList()); + set => _auditLogConfigs = value; + } + + /// + /// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + /// + [Input("service")] + public Input? Service { get; set; } + + public GoogleIamV1AuditConfigArgs() + { + } + public static new GoogleIamV1AuditConfigArgs Empty => new GoogleIamV1AuditConfigArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1AuditLogConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1AuditLogConfigArgs.cs new file mode 100644 index 0000000000..8cb192f060 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1AuditLogConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Inputs +{ + + /// + /// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + /// + public sealed class GoogleIamV1AuditLogConfigArgs : global::Pulumi.ResourceArgs + { + [Input("exemptedMembers")] + private InputList? _exemptedMembers; + + /// + /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + /// + public InputList ExemptedMembers + { + get => _exemptedMembers ?? (_exemptedMembers = new InputList()); + set => _exemptedMembers = value; + } + + /// + /// The log type that this config enables. + /// + [Input("logType")] + public Input? LogType { get; set; } + + public GoogleIamV1AuditLogConfigArgs() + { + } + public static new GoogleIamV1AuditLogConfigArgs Empty => new GoogleIamV1AuditLogConfigArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1BindingArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1BindingArgs.cs new file mode 100644 index 0000000000..0513d4ab49 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1BindingArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Inputs +{ + + /// + /// Associates `members`, or principals, with a `role`. + /// + public sealed class GoogleIamV1BindingArgs : global::Pulumi.ResourceArgs + { + /// + /// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + [Input("condition")] + public Input? Condition { get; set; } + + [Input("members")] + private InputList? _members; + + /// + /// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + /// + public InputList Members + { + get => _members ?? (_members = new InputList()); + set => _members = value; + } + + /// + /// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + /// + [Input("role")] + public Input? Role { get; set; } + + public GoogleIamV1BindingArgs() + { + } + public static new GoogleIamV1BindingArgs Empty => new GoogleIamV1BindingArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1PolicyArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1PolicyArgs.cs new file mode 100644 index 0000000000..eed1f77c71 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleIamV1PolicyArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Inputs +{ + + /// + /// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + /// + public sealed class GoogleIamV1PolicyArgs : global::Pulumi.ResourceArgs + { + [Input("auditConfigs")] + private InputList? _auditConfigs; + + /// + /// Specifies cloud audit logging configuration for this policy. + /// + public InputList AuditConfigs + { + get => _auditConfigs ?? (_auditConfigs = new InputList()); + set => _auditConfigs = value; + } + + [Input("bindings")] + private InputList? _bindings; + + /// + /// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + /// + public InputList Bindings + { + get => _bindings ?? (_bindings = new InputList()); + set => _bindings = value; + } + + /// + /// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + /// + [Input("etag")] + public Input? Etag { get; set; } + + /// + /// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + [Input("version")] + public Input? Version { get; set; } + + public GoogleIamV1PolicyArgs() + { + } + public static new GoogleIamV1PolicyArgs Empty => new GoogleIamV1PolicyArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleTypeExprArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleTypeExprArgs.cs new file mode 100644 index 0000000000..bf2c48275e --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Inputs/GoogleTypeExprArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Inputs +{ + + /// + /// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + /// + public sealed class GoogleTypeExprArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Textual representation of an expression in Common Expression Language syntax. + /// + [Input("expression")] + public Input? Expression { get; set; } + + /// + /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + /// + [Input("title")] + public Input? Title { get; set; } + + public GoogleTypeExprArgs() + { + } + public static new GoogleTypeExprArgs Empty => new GoogleTypeExprArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleCloudPolicysimulatorV1betaReplayConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleCloudPolicysimulatorV1betaReplayConfigResponse.cs index f975e19546..e6bc4c62da 100644 --- a/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleCloudPolicysimulatorV1betaReplayConfigResponse.cs +++ b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleCloudPolicysimulatorV1betaReplayConfigResponse.cs @@ -23,13 +23,13 @@ public sealed class GoogleCloudPolicysimulatorV1betaReplayConfigResponse /// /// A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. /// - public readonly ImmutableDictionary PolicyOverlay; + public readonly ImmutableDictionary PolicyOverlay; [OutputConstructor] private GoogleCloudPolicysimulatorV1betaReplayConfigResponse( string logSource, - ImmutableDictionary policyOverlay) + ImmutableDictionary policyOverlay) { LogSource = logSource; PolicyOverlay = policyOverlay; diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1AuditConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1AuditConfigResponse.cs new file mode 100644 index 0000000000..9cde046552 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1AuditConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Outputs +{ + + /// + /// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + /// + [OutputType] + public sealed class GoogleIamV1AuditConfigResponse + { + /// + /// The configuration for logging of each type of permission. + /// + public readonly ImmutableArray AuditLogConfigs; + /// + /// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + /// + public readonly string Service; + + [OutputConstructor] + private GoogleIamV1AuditConfigResponse( + ImmutableArray auditLogConfigs, + + string service) + { + AuditLogConfigs = auditLogConfigs; + Service = service; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1AuditLogConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1AuditLogConfigResponse.cs new file mode 100644 index 0000000000..46242d726b --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1AuditLogConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Outputs +{ + + /// + /// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + /// + [OutputType] + public sealed class GoogleIamV1AuditLogConfigResponse + { + /// + /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + /// + public readonly ImmutableArray ExemptedMembers; + /// + /// The log type that this config enables. + /// + public readonly string LogType; + + [OutputConstructor] + private GoogleIamV1AuditLogConfigResponse( + ImmutableArray exemptedMembers, + + string logType) + { + ExemptedMembers = exemptedMembers; + LogType = logType; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1BindingResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1BindingResponse.cs new file mode 100644 index 0000000000..cc06ee0316 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1BindingResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Outputs +{ + + /// + /// Associates `members`, or principals, with a `role`. + /// + [OutputType] + public sealed class GoogleIamV1BindingResponse + { + /// + /// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + public readonly Outputs.GoogleTypeExprResponse Condition; + /// + /// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + /// + public readonly ImmutableArray Members; + /// + /// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + /// + public readonly string Role; + + [OutputConstructor] + private GoogleIamV1BindingResponse( + Outputs.GoogleTypeExprResponse condition, + + ImmutableArray members, + + string role) + { + Condition = condition; + Members = members; + Role = role; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1PolicyResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1PolicyResponse.cs new file mode 100644 index 0000000000..c620b2a692 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleIamV1PolicyResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Outputs +{ + + /// + /// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + /// + [OutputType] + public sealed class GoogleIamV1PolicyResponse + { + /// + /// Specifies cloud audit logging configuration for this policy. + /// + public readonly ImmutableArray AuditConfigs; + /// + /// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + /// + public readonly ImmutableArray Bindings; + /// + /// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + /// + public readonly string Etag; + /// + /// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + public readonly int Version; + + [OutputConstructor] + private GoogleIamV1PolicyResponse( + ImmutableArray auditConfigs, + + ImmutableArray bindings, + + string etag, + + int version) + { + AuditConfigs = auditConfigs; + Bindings = bindings; + Etag = etag; + Version = version; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleTypeExprResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleTypeExprResponse.cs new file mode 100644 index 0000000000..baa761456d --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta/Outputs/GoogleTypeExprResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta.Outputs +{ + + /// + /// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + /// + [OutputType] + public sealed class GoogleTypeExprResponse + { + /// + /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + /// + public readonly string Description; + /// + /// Textual representation of an expression in Common Expression Language syntax. + /// + public readonly string Expression; + /// + /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + /// + public readonly string Location; + /// + /// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + /// + public readonly string Title; + + [OutputConstructor] + private GoogleTypeExprResponse( + string description, + + string expression, + + string location, + + string title) + { + Description = description; + Expression = expression; + Location = location; + Title = title; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Enums.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Enums.cs index ee43f808d3..4abe89ccc9 100644 --- a/sdk/dotnet/PolicySimulator/V1Beta1/Enums.cs +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Enums.cs @@ -43,4 +43,49 @@ private GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource(string value) public override string ToString() => _value; } + + /// + /// The log type that this config enables. + /// + [EnumType] + public readonly struct GoogleIamV1AuditLogConfigLogType : IEquatable + { + private readonly string _value; + + private GoogleIamV1AuditLogConfigLogType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Default case. Should never be this. + /// + public static GoogleIamV1AuditLogConfigLogType LogTypeUnspecified { get; } = new GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED"); + /// + /// Admin reads. Example: CloudIAM getIamPolicy + /// + public static GoogleIamV1AuditLogConfigLogType AdminRead { get; } = new GoogleIamV1AuditLogConfigLogType("ADMIN_READ"); + /// + /// Data writes. Example: CloudSQL Users create + /// + public static GoogleIamV1AuditLogConfigLogType DataWrite { get; } = new GoogleIamV1AuditLogConfigLogType("DATA_WRITE"); + /// + /// Data reads. Example: CloudSQL Users list + /// + public static GoogleIamV1AuditLogConfigLogType DataRead { get; } = new GoogleIamV1AuditLogConfigLogType("DATA_READ"); + + public static bool operator ==(GoogleIamV1AuditLogConfigLogType left, GoogleIamV1AuditLogConfigLogType right) => left.Equals(right); + public static bool operator !=(GoogleIamV1AuditLogConfigLogType left, GoogleIamV1AuditLogConfigLogType right) => !left.Equals(right); + + public static explicit operator string(GoogleIamV1AuditLogConfigLogType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is GoogleIamV1AuditLogConfigLogType other && Equals(other); + public bool Equals(GoogleIamV1AuditLogConfigLogType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs.cs index e88d5f97ea..64912e8850 100644 --- a/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs.cs +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs.cs @@ -22,14 +22,14 @@ public sealed class GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs : global:: public Input? LogSource { get; set; } [Input("policyOverlay")] - private InputMap? _policyOverlay; + private InputMap? _policyOverlay; /// /// A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. /// - public InputMap PolicyOverlay + public InputMap PolicyOverlay { - get => _policyOverlay ?? (_policyOverlay = new InputMap()); + get => _policyOverlay ?? (_policyOverlay = new InputMap()); set => _policyOverlay = value; } diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1AuditConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1AuditConfigArgs.cs new file mode 100644 index 0000000000..1364e1e24a --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1AuditConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Inputs +{ + + /// + /// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + /// + public sealed class GoogleIamV1AuditConfigArgs : global::Pulumi.ResourceArgs + { + [Input("auditLogConfigs")] + private InputList? _auditLogConfigs; + + /// + /// The configuration for logging of each type of permission. + /// + public InputList AuditLogConfigs + { + get => _auditLogConfigs ?? (_auditLogConfigs = new InputList()); + set => _auditLogConfigs = value; + } + + /// + /// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + /// + [Input("service")] + public Input? Service { get; set; } + + public GoogleIamV1AuditConfigArgs() + { + } + public static new GoogleIamV1AuditConfigArgs Empty => new GoogleIamV1AuditConfigArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1AuditLogConfigArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1AuditLogConfigArgs.cs new file mode 100644 index 0000000000..b5dac0107f --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1AuditLogConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Inputs +{ + + /// + /// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + /// + public sealed class GoogleIamV1AuditLogConfigArgs : global::Pulumi.ResourceArgs + { + [Input("exemptedMembers")] + private InputList? _exemptedMembers; + + /// + /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + /// + public InputList ExemptedMembers + { + get => _exemptedMembers ?? (_exemptedMembers = new InputList()); + set => _exemptedMembers = value; + } + + /// + /// The log type that this config enables. + /// + [Input("logType")] + public Input? LogType { get; set; } + + public GoogleIamV1AuditLogConfigArgs() + { + } + public static new GoogleIamV1AuditLogConfigArgs Empty => new GoogleIamV1AuditLogConfigArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1BindingArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1BindingArgs.cs new file mode 100644 index 0000000000..acc37562d0 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1BindingArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Inputs +{ + + /// + /// Associates `members`, or principals, with a `role`. + /// + public sealed class GoogleIamV1BindingArgs : global::Pulumi.ResourceArgs + { + /// + /// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + [Input("condition")] + public Input? Condition { get; set; } + + [Input("members")] + private InputList? _members; + + /// + /// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + /// + public InputList Members + { + get => _members ?? (_members = new InputList()); + set => _members = value; + } + + /// + /// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + /// + [Input("role")] + public Input? Role { get; set; } + + public GoogleIamV1BindingArgs() + { + } + public static new GoogleIamV1BindingArgs Empty => new GoogleIamV1BindingArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1PolicyArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1PolicyArgs.cs new file mode 100644 index 0000000000..6531adae9b --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleIamV1PolicyArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Inputs +{ + + /// + /// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + /// + public sealed class GoogleIamV1PolicyArgs : global::Pulumi.ResourceArgs + { + [Input("auditConfigs")] + private InputList? _auditConfigs; + + /// + /// Specifies cloud audit logging configuration for this policy. + /// + public InputList AuditConfigs + { + get => _auditConfigs ?? (_auditConfigs = new InputList()); + set => _auditConfigs = value; + } + + [Input("bindings")] + private InputList? _bindings; + + /// + /// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + /// + public InputList Bindings + { + get => _bindings ?? (_bindings = new InputList()); + set => _bindings = value; + } + + /// + /// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + /// + [Input("etag")] + public Input? Etag { get; set; } + + /// + /// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + [Input("version")] + public Input? Version { get; set; } + + public GoogleIamV1PolicyArgs() + { + } + public static new GoogleIamV1PolicyArgs Empty => new GoogleIamV1PolicyArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleTypeExprArgs.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleTypeExprArgs.cs new file mode 100644 index 0000000000..d55932b241 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Inputs/GoogleTypeExprArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Inputs +{ + + /// + /// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + /// + public sealed class GoogleTypeExprArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Textual representation of an expression in Common Expression Language syntax. + /// + [Input("expression")] + public Input? Expression { get; set; } + + /// + /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + /// + [Input("location")] + public Input? Location { get; set; } + + /// + /// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + /// + [Input("title")] + public Input? Title { get; set; } + + public GoogleTypeExprArgs() + { + } + public static new GoogleTypeExprArgs Empty => new GoogleTypeExprArgs(); + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse.cs index b6990273a2..94daa7276d 100644 --- a/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse.cs +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse.cs @@ -23,13 +23,13 @@ public sealed class GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse /// /// A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. /// - public readonly ImmutableDictionary PolicyOverlay; + public readonly ImmutableDictionary PolicyOverlay; [OutputConstructor] private GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse( string logSource, - ImmutableDictionary policyOverlay) + ImmutableDictionary policyOverlay) { LogSource = logSource; PolicyOverlay = policyOverlay; diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1AuditConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1AuditConfigResponse.cs new file mode 100644 index 0000000000..c024c48023 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1AuditConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Outputs +{ + + /// + /// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + /// + [OutputType] + public sealed class GoogleIamV1AuditConfigResponse + { + /// + /// The configuration for logging of each type of permission. + /// + public readonly ImmutableArray AuditLogConfigs; + /// + /// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + /// + public readonly string Service; + + [OutputConstructor] + private GoogleIamV1AuditConfigResponse( + ImmutableArray auditLogConfigs, + + string service) + { + AuditLogConfigs = auditLogConfigs; + Service = service; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1AuditLogConfigResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1AuditLogConfigResponse.cs new file mode 100644 index 0000000000..cda7695c1c --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1AuditLogConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Outputs +{ + + /// + /// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + /// + [OutputType] + public sealed class GoogleIamV1AuditLogConfigResponse + { + /// + /// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + /// + public readonly ImmutableArray ExemptedMembers; + /// + /// The log type that this config enables. + /// + public readonly string LogType; + + [OutputConstructor] + private GoogleIamV1AuditLogConfigResponse( + ImmutableArray exemptedMembers, + + string logType) + { + ExemptedMembers = exemptedMembers; + LogType = logType; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1BindingResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1BindingResponse.cs new file mode 100644 index 0000000000..e446817e5f --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1BindingResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Outputs +{ + + /// + /// Associates `members`, or principals, with a `role`. + /// + [OutputType] + public sealed class GoogleIamV1BindingResponse + { + /// + /// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + public readonly Outputs.GoogleTypeExprResponse Condition; + /// + /// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + /// + public readonly ImmutableArray Members; + /// + /// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + /// + public readonly string Role; + + [OutputConstructor] + private GoogleIamV1BindingResponse( + Outputs.GoogleTypeExprResponse condition, + + ImmutableArray members, + + string role) + { + Condition = condition; + Members = members; + Role = role; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1PolicyResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1PolicyResponse.cs new file mode 100644 index 0000000000..6a431b6b08 --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleIamV1PolicyResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Outputs +{ + + /// + /// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + /// + [OutputType] + public sealed class GoogleIamV1PolicyResponse + { + /// + /// Specifies cloud audit logging configuration for this policy. + /// + public readonly ImmutableArray AuditConfigs; + /// + /// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + /// + public readonly ImmutableArray Bindings; + /// + /// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + /// + public readonly string Etag; + /// + /// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + /// + public readonly int Version; + + [OutputConstructor] + private GoogleIamV1PolicyResponse( + ImmutableArray auditConfigs, + + ImmutableArray bindings, + + string etag, + + int version) + { + AuditConfigs = auditConfigs; + Bindings = bindings; + Etag = etag; + Version = version; + } + } +} diff --git a/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleTypeExprResponse.cs b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleTypeExprResponse.cs new file mode 100644 index 0000000000..7a95b20b0f --- /dev/null +++ b/sdk/dotnet/PolicySimulator/V1Beta1/Outputs/GoogleTypeExprResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.PolicySimulator.V1Beta1.Outputs +{ + + /// + /// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + /// + [OutputType] + public sealed class GoogleTypeExprResponse + { + /// + /// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + /// + public readonly string Description; + /// + /// Textual representation of an expression in Common Expression Language syntax. + /// + public readonly string Expression; + /// + /// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + /// + public readonly string Location; + /// + /// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + /// + public readonly string Title; + + [OutputConstructor] + private GoogleTypeExprResponse( + string description, + + string expression, + + string location, + + string title) + { + Description = description; + Expression = expression; + Location = location; + Title = title; + } + } +} diff --git a/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapArgs.cs b/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapArgs.cs index ed25c4a5a3..02b6648766 100644 --- a/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapArgs.cs +++ b/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapArgs.cs @@ -16,26 +16,26 @@ namespace Pulumi.GoogleNative.Recommendationengine.V1Beta1.Inputs public sealed class GoogleCloudRecommendationengineV1beta1FeatureMapArgs : global::Pulumi.ResourceArgs { [Input("categoricalFeatures")] - private InputMap? _categoricalFeatures; + private InputMap? _categoricalFeatures; /// /// Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` /// - public InputMap CategoricalFeatures + public InputMap CategoricalFeatures { - get => _categoricalFeatures ?? (_categoricalFeatures = new InputMap()); + get => _categoricalFeatures ?? (_categoricalFeatures = new InputMap()); set => _categoricalFeatures = value; } [Input("numericalFeatures")] - private InputMap? _numericalFeatures; + private InputMap? _numericalFeatures; /// /// Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` /// - public InputMap NumericalFeatures + public InputMap NumericalFeatures { - get => _numericalFeatures ?? (_numericalFeatures = new InputMap()); + get => _numericalFeatures ?? (_numericalFeatures = new InputMap()); set => _numericalFeatures = value; } diff --git a/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs.cs b/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs.cs new file mode 100644 index 0000000000..65040f4d4d --- /dev/null +++ b/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Recommendationengine.V1Beta1.Inputs +{ + + /// + /// A list of float features. + /// + public sealed class GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs : global::Pulumi.ResourceArgs + { + [Input("value")] + private InputList? _value; + + /// + /// Float feature value. + /// + public InputList Value + { + get => _value ?? (_value = new InputList()); + set => _value = value; + } + + public GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs() + { + } + public static new GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs Empty => new GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs(); + } +} diff --git a/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs.cs b/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs.cs new file mode 100644 index 0000000000..7edbec8ba0 --- /dev/null +++ b/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Recommendationengine.V1Beta1.Inputs +{ + + /// + /// A list of string features. + /// + public sealed class GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs : global::Pulumi.ResourceArgs + { + [Input("value")] + private InputList? _value; + + /// + /// String feature value with a length limit of 128 bytes. + /// + public InputList Value + { + get => _value ?? (_value = new InputList()); + set => _value = value; + } + + public GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs() + { + } + public static new GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs Empty => new GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs(); + } +} diff --git a/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1ProductCatalogItemArgs.cs b/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1ProductCatalogItemArgs.cs index b39120ff3d..da3a012562 100644 --- a/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1ProductCatalogItemArgs.cs +++ b/sdk/dotnet/Recommendationengine/V1Beta1/Inputs/GoogleCloudRecommendationengineV1beta1ProductCatalogItemArgs.cs @@ -28,14 +28,14 @@ public sealed class GoogleCloudRecommendationengineV1beta1ProductCatalogItemArgs public Input? CanonicalProductUri { get; set; } [Input("costs")] - private InputMap? _costs; + private InputMap? _costs; /// /// Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) /// - public InputMap Costs + public InputMap Costs { - get => _costs ?? (_costs = new InputMap()); + get => _costs ?? (_costs = new InputMap()); set => _costs = value; } diff --git a/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse.cs b/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse.cs new file mode 100644 index 0000000000..d76491d7c1 --- /dev/null +++ b/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Recommendationengine.V1Beta1.Outputs +{ + + /// + /// A list of float features. + /// + [OutputType] + public sealed class GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse + { + /// + /// Float feature value. + /// + public readonly ImmutableArray Value; + + [OutputConstructor] + private GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse(ImmutableArray value) + { + Value = value; + } + } +} diff --git a/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapResponse.cs b/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapResponse.cs index 6fb26e87dc..711ebb1c54 100644 --- a/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapResponse.cs +++ b/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapResponse.cs @@ -19,17 +19,17 @@ public sealed class GoogleCloudRecommendationengineV1beta1FeatureMapResponse /// /// Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` /// - public readonly ImmutableDictionary CategoricalFeatures; + public readonly ImmutableDictionary CategoricalFeatures; /// /// Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` /// - public readonly ImmutableDictionary NumericalFeatures; + public readonly ImmutableDictionary NumericalFeatures; [OutputConstructor] private GoogleCloudRecommendationengineV1beta1FeatureMapResponse( - ImmutableDictionary categoricalFeatures, + ImmutableDictionary categoricalFeatures, - ImmutableDictionary numericalFeatures) + ImmutableDictionary numericalFeatures) { CategoricalFeatures = categoricalFeatures; NumericalFeatures = numericalFeatures; diff --git a/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse.cs b/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse.cs new file mode 100644 index 0000000000..e103ffdbbb --- /dev/null +++ b/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Recommendationengine.V1Beta1.Outputs +{ + + /// + /// A list of string features. + /// + [OutputType] + public sealed class GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse + { + /// + /// String feature value with a length limit of 128 bytes. + /// + public readonly ImmutableArray Value; + + [OutputConstructor] + private GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse(ImmutableArray value) + { + Value = value; + } + } +} diff --git a/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponse.cs b/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponse.cs index 67b4d5845b..94e1d95810 100644 --- a/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponse.cs +++ b/sdk/dotnet/Recommendationengine/V1Beta1/Outputs/GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponse.cs @@ -27,7 +27,7 @@ public sealed class GoogleCloudRecommendationengineV1beta1ProductCatalogItemResp /// /// Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) /// - public readonly ImmutableDictionary Costs; + public readonly ImmutableDictionary Costs; /// /// Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. /// @@ -55,7 +55,7 @@ private GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponse( string canonicalProductUri, - ImmutableDictionary costs, + ImmutableDictionary costs, string currencyCode, diff --git a/sdk/dotnet/Retail/V2/GetProduct.cs b/sdk/dotnet/Retail/V2/GetProduct.cs index 91f731cbde..5fcf67e1ad 100644 --- a/sdk/dotnet/Retail/V2/GetProduct.cs +++ b/sdk/dotnet/Retail/V2/GetProduct.cs @@ -78,7 +78,7 @@ public sealed class GetProductResult /// /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. /// @@ -210,7 +210,7 @@ public sealed class GetProductResult [OutputConstructor] private GetProductResult( - ImmutableDictionary attributes, + ImmutableDictionary attributes, Outputs.GoogleCloudRetailV2AudienceResponse audience, diff --git a/sdk/dotnet/Retail/V2/Inputs/GoogleCloudRetailV2CustomAttributeArgs.cs b/sdk/dotnet/Retail/V2/Inputs/GoogleCloudRetailV2CustomAttributeArgs.cs new file mode 100644 index 0000000000..fc9d63328e --- /dev/null +++ b/sdk/dotnet/Retail/V2/Inputs/GoogleCloudRetailV2CustomAttributeArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Retail.V2.Inputs +{ + + /// + /// A custom attribute that is not explicitly modeled in Product. + /// + public sealed class GoogleCloudRetailV2CustomAttributeArgs : global::Pulumi.ResourceArgs + { + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + /// + [Input("indexable")] + public Input? Indexable { get; set; } + + [Input("numbers")] + private InputList? _numbers; + + /// + /// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public InputList Numbers + { + get => _numbers ?? (_numbers = new InputList()); + set => _numbers = value; + } + + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + /// + [Input("searchable")] + public Input? Searchable { get; set; } + + [Input("text")] + private InputList? _text; + + /// + /// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public InputList Text + { + get => _text ?? (_text = new InputList()); + set => _text = value; + } + + public GoogleCloudRetailV2CustomAttributeArgs() + { + } + public static new GoogleCloudRetailV2CustomAttributeArgs Empty => new GoogleCloudRetailV2CustomAttributeArgs(); + } +} diff --git a/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2CustomAttributeResponse.cs b/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2CustomAttributeResponse.cs new file mode 100644 index 0000000000..6d1fa98d43 --- /dev/null +++ b/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2CustomAttributeResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Retail.V2.Outputs +{ + + /// + /// A custom attribute that is not explicitly modeled in Product. + /// + [OutputType] + public sealed class GoogleCloudRetailV2CustomAttributeResponse + { + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + /// + public readonly bool Indexable; + /// + /// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public readonly ImmutableArray Numbers; + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + /// + public readonly bool Searchable; + /// + /// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public readonly ImmutableArray Text; + + [OutputConstructor] + private GoogleCloudRetailV2CustomAttributeResponse( + bool indexable, + + ImmutableArray numbers, + + bool searchable, + + ImmutableArray text) + { + Indexable = indexable; + Numbers = numbers; + Searchable = searchable; + Text = text; + } + } +} diff --git a/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2LocalInventoryResponse.cs b/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2LocalInventoryResponse.cs index cdf9e0e7f0..d60e9f5d55 100644 --- a/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2LocalInventoryResponse.cs +++ b/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2LocalInventoryResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudRetailV2LocalInventoryResponse /// /// Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. /// @@ -35,7 +35,7 @@ public sealed class GoogleCloudRetailV2LocalInventoryResponse [OutputConstructor] private GoogleCloudRetailV2LocalInventoryResponse( - ImmutableDictionary attributes, + ImmutableDictionary attributes, ImmutableArray fulfillmentTypes, diff --git a/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2ProductResponse.cs b/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2ProductResponse.cs index b96f45c69c..adb88ddff3 100644 --- a/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2ProductResponse.cs +++ b/sdk/dotnet/Retail/V2/Outputs/GoogleCloudRetailV2ProductResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudRetailV2ProductResponse /// /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. /// @@ -151,7 +151,7 @@ public sealed class GoogleCloudRetailV2ProductResponse [OutputConstructor] private GoogleCloudRetailV2ProductResponse( - ImmutableDictionary attributes, + ImmutableDictionary attributes, Outputs.GoogleCloudRetailV2AudienceResponse audience, diff --git a/sdk/dotnet/Retail/V2/Product.cs b/sdk/dotnet/Retail/V2/Product.cs index f25665d541..7a79fd35cf 100644 --- a/sdk/dotnet/Retail/V2/Product.cs +++ b/sdk/dotnet/Retail/V2/Product.cs @@ -19,7 +19,7 @@ public partial class Product : global::Pulumi.CustomResource /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// [Output("attributes")] - public Output> Attributes { get; private set; } = null!; + public Output> Attributes { get; private set; } = null!; /// /// The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. @@ -285,14 +285,14 @@ public static Product Get(string name, Input id, CustomResourceOptions? public sealed class ProductArgs : global::Pulumi.ResourceArgs { [Input("attributes")] - private InputMap? _attributes; + private InputMap? _attributes; /// /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// - public InputMap Attributes + public InputMap Attributes { - get => _attributes ?? (_attributes = new InputMap()); + get => _attributes ?? (_attributes = new InputMap()); set => _attributes = value; } diff --git a/sdk/dotnet/Retail/V2Alpha/GetProduct.cs b/sdk/dotnet/Retail/V2Alpha/GetProduct.cs index ac3aba2139..0b20f37f74 100644 --- a/sdk/dotnet/Retail/V2Alpha/GetProduct.cs +++ b/sdk/dotnet/Retail/V2Alpha/GetProduct.cs @@ -78,7 +78,7 @@ public sealed class GetProductResult /// /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. /// @@ -210,7 +210,7 @@ public sealed class GetProductResult [OutputConstructor] private GetProductResult( - ImmutableDictionary attributes, + ImmutableDictionary attributes, Outputs.GoogleCloudRetailV2alphaAudienceResponse audience, diff --git a/sdk/dotnet/Retail/V2Alpha/Inputs/GoogleCloudRetailV2alphaCustomAttributeArgs.cs b/sdk/dotnet/Retail/V2Alpha/Inputs/GoogleCloudRetailV2alphaCustomAttributeArgs.cs new file mode 100644 index 0000000000..0d18145412 --- /dev/null +++ b/sdk/dotnet/Retail/V2Alpha/Inputs/GoogleCloudRetailV2alphaCustomAttributeArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Retail.V2Alpha.Inputs +{ + + /// + /// A custom attribute that is not explicitly modeled in Product. + /// + public sealed class GoogleCloudRetailV2alphaCustomAttributeArgs : global::Pulumi.ResourceArgs + { + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + /// + [Input("indexable")] + public Input? Indexable { get; set; } + + [Input("numbers")] + private InputList? _numbers; + + /// + /// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public InputList Numbers + { + get => _numbers ?? (_numbers = new InputList()); + set => _numbers = value; + } + + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + /// + [Input("searchable")] + public Input? Searchable { get; set; } + + [Input("text")] + private InputList? _text; + + /// + /// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public InputList Text + { + get => _text ?? (_text = new InputList()); + set => _text = value; + } + + public GoogleCloudRetailV2alphaCustomAttributeArgs() + { + } + public static new GoogleCloudRetailV2alphaCustomAttributeArgs Empty => new GoogleCloudRetailV2alphaCustomAttributeArgs(); + } +} diff --git a/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaCustomAttributeResponse.cs b/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaCustomAttributeResponse.cs new file mode 100644 index 0000000000..413eefccfb --- /dev/null +++ b/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaCustomAttributeResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Retail.V2Alpha.Outputs +{ + + /// + /// A custom attribute that is not explicitly modeled in Product. + /// + [OutputType] + public sealed class GoogleCloudRetailV2alphaCustomAttributeResponse + { + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + /// + public readonly bool Indexable; + /// + /// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public readonly ImmutableArray Numbers; + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + /// + public readonly bool Searchable; + /// + /// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public readonly ImmutableArray Text; + + [OutputConstructor] + private GoogleCloudRetailV2alphaCustomAttributeResponse( + bool indexable, + + ImmutableArray numbers, + + bool searchable, + + ImmutableArray text) + { + Indexable = indexable; + Numbers = numbers; + Searchable = searchable; + Text = text; + } + } +} diff --git a/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaLocalInventoryResponse.cs b/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaLocalInventoryResponse.cs index 5fc169e25c..e30ea2825d 100644 --- a/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaLocalInventoryResponse.cs +++ b/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaLocalInventoryResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudRetailV2alphaLocalInventoryResponse /// /// Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. /// @@ -35,7 +35,7 @@ public sealed class GoogleCloudRetailV2alphaLocalInventoryResponse [OutputConstructor] private GoogleCloudRetailV2alphaLocalInventoryResponse( - ImmutableDictionary attributes, + ImmutableDictionary attributes, ImmutableArray fulfillmentTypes, diff --git a/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaProductResponse.cs b/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaProductResponse.cs index c240544d58..eff05d65e6 100644 --- a/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaProductResponse.cs +++ b/sdk/dotnet/Retail/V2Alpha/Outputs/GoogleCloudRetailV2alphaProductResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudRetailV2alphaProductResponse /// /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. /// @@ -151,7 +151,7 @@ public sealed class GoogleCloudRetailV2alphaProductResponse [OutputConstructor] private GoogleCloudRetailV2alphaProductResponse( - ImmutableDictionary attributes, + ImmutableDictionary attributes, Outputs.GoogleCloudRetailV2alphaAudienceResponse audience, diff --git a/sdk/dotnet/Retail/V2Alpha/Product.cs b/sdk/dotnet/Retail/V2Alpha/Product.cs index 91d428ab20..f4878dfedc 100644 --- a/sdk/dotnet/Retail/V2Alpha/Product.cs +++ b/sdk/dotnet/Retail/V2Alpha/Product.cs @@ -19,7 +19,7 @@ public partial class Product : global::Pulumi.CustomResource /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// [Output("attributes")] - public Output> Attributes { get; private set; } = null!; + public Output> Attributes { get; private set; } = null!; /// /// The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. @@ -285,14 +285,14 @@ public static Product Get(string name, Input id, CustomResourceOptions? public sealed class ProductArgs : global::Pulumi.ResourceArgs { [Input("attributes")] - private InputMap? _attributes; + private InputMap? _attributes; /// /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// - public InputMap Attributes + public InputMap Attributes { - get => _attributes ?? (_attributes = new InputMap()); + get => _attributes ?? (_attributes = new InputMap()); set => _attributes = value; } diff --git a/sdk/dotnet/Retail/V2Beta/GetProduct.cs b/sdk/dotnet/Retail/V2Beta/GetProduct.cs index 9d25531b41..1031bdd2dc 100644 --- a/sdk/dotnet/Retail/V2Beta/GetProduct.cs +++ b/sdk/dotnet/Retail/V2Beta/GetProduct.cs @@ -78,7 +78,7 @@ public sealed class GetProductResult /// /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. /// @@ -210,7 +210,7 @@ public sealed class GetProductResult [OutputConstructor] private GetProductResult( - ImmutableDictionary attributes, + ImmutableDictionary attributes, Outputs.GoogleCloudRetailV2betaAudienceResponse audience, diff --git a/sdk/dotnet/Retail/V2Beta/Inputs/GoogleCloudRetailV2betaCustomAttributeArgs.cs b/sdk/dotnet/Retail/V2Beta/Inputs/GoogleCloudRetailV2betaCustomAttributeArgs.cs new file mode 100644 index 0000000000..de0596e27b --- /dev/null +++ b/sdk/dotnet/Retail/V2Beta/Inputs/GoogleCloudRetailV2betaCustomAttributeArgs.cs @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Retail.V2Beta.Inputs +{ + + /// + /// A custom attribute that is not explicitly modeled in Product. + /// + public sealed class GoogleCloudRetailV2betaCustomAttributeArgs : global::Pulumi.ResourceArgs + { + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + /// + [Input("indexable")] + public Input? Indexable { get; set; } + + [Input("numbers")] + private InputList? _numbers; + + /// + /// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public InputList Numbers + { + get => _numbers ?? (_numbers = new InputList()); + set => _numbers = value; + } + + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + /// + [Input("searchable")] + public Input? Searchable { get; set; } + + [Input("text")] + private InputList? _text; + + /// + /// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public InputList Text + { + get => _text ?? (_text = new InputList()); + set => _text = value; + } + + public GoogleCloudRetailV2betaCustomAttributeArgs() + { + } + public static new GoogleCloudRetailV2betaCustomAttributeArgs Empty => new GoogleCloudRetailV2betaCustomAttributeArgs(); + } +} diff --git a/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaCustomAttributeResponse.cs b/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaCustomAttributeResponse.cs new file mode 100644 index 0000000000..42552635a6 --- /dev/null +++ b/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaCustomAttributeResponse.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.Retail.V2Beta.Outputs +{ + + /// + /// A custom attribute that is not explicitly modeled in Product. + /// + [OutputType] + public sealed class GoogleCloudRetailV2betaCustomAttributeResponse + { + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + /// + public readonly bool Indexable; + /// + /// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public readonly ImmutableArray Numbers; + /// + /// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + /// + public readonly bool Searchable; + /// + /// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + /// + public readonly ImmutableArray Text; + + [OutputConstructor] + private GoogleCloudRetailV2betaCustomAttributeResponse( + bool indexable, + + ImmutableArray numbers, + + bool searchable, + + ImmutableArray text) + { + Indexable = indexable; + Numbers = numbers; + Searchable = searchable; + Text = text; + } + } +} diff --git a/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaLocalInventoryResponse.cs b/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaLocalInventoryResponse.cs index 36bf0f8082..7ad8cf5c52 100644 --- a/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaLocalInventoryResponse.cs +++ b/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaLocalInventoryResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudRetailV2betaLocalInventoryResponse /// /// Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. /// @@ -35,7 +35,7 @@ public sealed class GoogleCloudRetailV2betaLocalInventoryResponse [OutputConstructor] private GoogleCloudRetailV2betaLocalInventoryResponse( - ImmutableDictionary attributes, + ImmutableDictionary attributes, ImmutableArray fulfillmentTypes, diff --git a/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaProductResponse.cs b/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaProductResponse.cs index 9bfc7227d5..168508c48d 100644 --- a/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaProductResponse.cs +++ b/sdk/dotnet/Retail/V2Beta/Outputs/GoogleCloudRetailV2betaProductResponse.cs @@ -19,7 +19,7 @@ public sealed class GoogleCloudRetailV2betaProductResponse /// /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// - public readonly ImmutableDictionary Attributes; + public readonly ImmutableDictionary Attributes; /// /// The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. /// @@ -151,7 +151,7 @@ public sealed class GoogleCloudRetailV2betaProductResponse [OutputConstructor] private GoogleCloudRetailV2betaProductResponse( - ImmutableDictionary attributes, + ImmutableDictionary attributes, Outputs.GoogleCloudRetailV2betaAudienceResponse audience, diff --git a/sdk/dotnet/Retail/V2Beta/Product.cs b/sdk/dotnet/Retail/V2Beta/Product.cs index 965ec43866..4c75c6bf3c 100644 --- a/sdk/dotnet/Retail/V2Beta/Product.cs +++ b/sdk/dotnet/Retail/V2Beta/Product.cs @@ -19,7 +19,7 @@ public partial class Product : global::Pulumi.CustomResource /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// [Output("attributes")] - public Output> Attributes { get; private set; } = null!; + public Output> Attributes { get; private set; } = null!; /// /// The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. @@ -285,14 +285,14 @@ public static Product Get(string name, Input id, CustomResourceOptions? public sealed class ProductArgs : global::Pulumi.ResourceArgs { [Input("attributes")] - private InputMap? _attributes; + private InputMap? _attributes; /// /// Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. /// - public InputMap Attributes + public InputMap Attributes { - get => _attributes ?? (_attributes = new InputMap()); + get => _attributes ?? (_attributes = new InputMap()); set => _attributes = value; } diff --git a/sdk/dotnet/RuntimeConfig/V1Beta1/Outputs/StatusResponse.cs b/sdk/dotnet/RuntimeConfig/V1Beta1/Outputs/StatusResponse.cs index a549bf18b3..7c27fdfd5b 100644 --- a/sdk/dotnet/RuntimeConfig/V1Beta1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/RuntimeConfig/V1Beta1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Securitycenter/V1/GetOrganizationEventThreatDetectionSettingCustomModule.cs b/sdk/dotnet/Securitycenter/V1/GetOrganizationEventThreatDetectionSettingCustomModule.cs index e3581e7d7a..309ddfb8ce 100644 --- a/sdk/dotnet/Securitycenter/V1/GetOrganizationEventThreatDetectionSettingCustomModule.cs +++ b/sdk/dotnet/Securitycenter/V1/GetOrganizationEventThreatDetectionSettingCustomModule.cs @@ -60,7 +60,7 @@ public sealed class GetOrganizationEventThreatDetectionSettingCustomModuleResult /// /// Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. /// - public readonly ImmutableDictionary Config; + public readonly ImmutableDictionary Config; /// /// The description for the module. /// @@ -92,7 +92,7 @@ public sealed class GetOrganizationEventThreatDetectionSettingCustomModuleResult [OutputConstructor] private GetOrganizationEventThreatDetectionSettingCustomModuleResult( - ImmutableDictionary config, + ImmutableDictionary config, string description, diff --git a/sdk/dotnet/Securitycenter/V1/OrganizationEventThreatDetectionSettingCustomModule.cs b/sdk/dotnet/Securitycenter/V1/OrganizationEventThreatDetectionSettingCustomModule.cs index c315a9a492..1fe2fbdbfa 100644 --- a/sdk/dotnet/Securitycenter/V1/OrganizationEventThreatDetectionSettingCustomModule.cs +++ b/sdk/dotnet/Securitycenter/V1/OrganizationEventThreatDetectionSettingCustomModule.cs @@ -20,7 +20,7 @@ public partial class OrganizationEventThreatDetectionSettingCustomModule : globa /// Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. /// [Output("config")] - public Output> Config { get; private set; } = null!; + public Output> Config { get; private set; } = null!; /// /// The description for the module. @@ -117,14 +117,14 @@ public static OrganizationEventThreatDetectionSettingCustomModule Get(string nam public sealed class OrganizationEventThreatDetectionSettingCustomModuleArgs : global::Pulumi.ResourceArgs { [Input("config")] - private InputMap? _config; + private InputMap? _config; /// /// Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. /// - public InputMap Config + public InputMap Config { - get => _config ?? (_config = new InputMap()); + get => _config ?? (_config = new InputMap()); set => _config = value; } diff --git a/sdk/dotnet/ServiceManagement/V1/Inputs/BackendRuleArgs.cs b/sdk/dotnet/ServiceManagement/V1/Inputs/BackendRuleArgs.cs index d0f78cee43..07bc630421 100644 --- a/sdk/dotnet/ServiceManagement/V1/Inputs/BackendRuleArgs.cs +++ b/sdk/dotnet/ServiceManagement/V1/Inputs/BackendRuleArgs.cs @@ -51,18 +51,6 @@ public sealed class BackendRuleArgs : global::Pulumi.ResourceArgs [Input("operationDeadline")] public Input? OperationDeadline { get; set; } - [Input("overridesByRequestProtocol")] - private InputMap? _overridesByRequestProtocol; - - /// - /// The map between request protocol and the backend address. - /// - public InputMap OverridesByRequestProtocol - { - get => _overridesByRequestProtocol ?? (_overridesByRequestProtocol = new InputMap()); - set => _overridesByRequestProtocol = value; - } - [Input("pathTranslation")] public Input? PathTranslation { get; set; } diff --git a/sdk/dotnet/ServiceManagement/V1/Inputs/OptionArgs.cs b/sdk/dotnet/ServiceManagement/V1/Inputs/OptionArgs.cs index 519b979b97..47794845c7 100644 --- a/sdk/dotnet/ServiceManagement/V1/Inputs/OptionArgs.cs +++ b/sdk/dotnet/ServiceManagement/V1/Inputs/OptionArgs.cs @@ -22,14 +22,14 @@ public sealed class OptionArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } [Input("value")] - private InputMap? _value; + private InputMap? _value; /// /// The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. /// - public InputMap Value + public InputMap Value { - get => _value ?? (_value = new InputMap()); + get => _value ?? (_value = new InputMap()); set => _value = value; } diff --git a/sdk/dotnet/ServiceManagement/V1/Inputs/TrafficPercentStrategyArgs.cs b/sdk/dotnet/ServiceManagement/V1/Inputs/TrafficPercentStrategyArgs.cs index d8a0272ff0..6d29f43203 100644 --- a/sdk/dotnet/ServiceManagement/V1/Inputs/TrafficPercentStrategyArgs.cs +++ b/sdk/dotnet/ServiceManagement/V1/Inputs/TrafficPercentStrategyArgs.cs @@ -16,14 +16,14 @@ namespace Pulumi.GoogleNative.ServiceManagement.V1.Inputs public sealed class TrafficPercentStrategyArgs : global::Pulumi.ResourceArgs { [Input("percentages")] - private InputMap? _percentages; + private InputMap? _percentages; /// /// Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. /// - public InputMap Percentages + public InputMap Percentages { - get => _percentages ?? (_percentages = new InputMap()); + get => _percentages ?? (_percentages = new InputMap()); set => _percentages = value; } diff --git a/sdk/dotnet/ServiceManagement/V1/Outputs/BackendRuleResponse.cs b/sdk/dotnet/ServiceManagement/V1/Outputs/BackendRuleResponse.cs index 0710252a20..2c698df7c6 100644 --- a/sdk/dotnet/ServiceManagement/V1/Outputs/BackendRuleResponse.cs +++ b/sdk/dotnet/ServiceManagement/V1/Outputs/BackendRuleResponse.cs @@ -40,10 +40,6 @@ public sealed class BackendRuleResponse /// The number of seconds to wait for the completion of a long running operation. The default is no deadline. /// public readonly double OperationDeadline; - /// - /// The map between request protocol and the backend address. - /// - public readonly ImmutableDictionary OverridesByRequestProtocol; public readonly string PathTranslation; /// /// The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. @@ -68,8 +64,6 @@ private BackendRuleResponse( double operationDeadline, - ImmutableDictionary overridesByRequestProtocol, - string pathTranslation, string protocol, @@ -82,7 +76,6 @@ private BackendRuleResponse( JwtAudience = jwtAudience; MinDeadline = minDeadline; OperationDeadline = operationDeadline; - OverridesByRequestProtocol = overridesByRequestProtocol; PathTranslation = pathTranslation; Protocol = protocol; Selector = selector; diff --git a/sdk/dotnet/ServiceManagement/V1/Outputs/OptionResponse.cs b/sdk/dotnet/ServiceManagement/V1/Outputs/OptionResponse.cs index b16d7735fc..911660c44f 100644 --- a/sdk/dotnet/ServiceManagement/V1/Outputs/OptionResponse.cs +++ b/sdk/dotnet/ServiceManagement/V1/Outputs/OptionResponse.cs @@ -23,13 +23,13 @@ public sealed class OptionResponse /// /// The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. /// - public readonly ImmutableDictionary Value; + public readonly ImmutableDictionary Value; [OutputConstructor] private OptionResponse( string name, - ImmutableDictionary value) + ImmutableDictionary value) { Name = name; Value = value; diff --git a/sdk/dotnet/ServiceManagement/V1/Outputs/SourceInfoResponse.cs b/sdk/dotnet/ServiceManagement/V1/Outputs/SourceInfoResponse.cs index 542fe2696a..fbcfa6f551 100644 --- a/sdk/dotnet/ServiceManagement/V1/Outputs/SourceInfoResponse.cs +++ b/sdk/dotnet/ServiceManagement/V1/Outputs/SourceInfoResponse.cs @@ -19,10 +19,10 @@ public sealed class SourceInfoResponse /// /// All files used during config generation. /// - public readonly ImmutableArray> SourceFiles; + public readonly ImmutableArray> SourceFiles; [OutputConstructor] - private SourceInfoResponse(ImmutableArray> sourceFiles) + private SourceInfoResponse(ImmutableArray> sourceFiles) { SourceFiles = sourceFiles; } diff --git a/sdk/dotnet/ServiceManagement/V1/Outputs/TrafficPercentStrategyResponse.cs b/sdk/dotnet/ServiceManagement/V1/Outputs/TrafficPercentStrategyResponse.cs index f188eae564..cc5f8dcae6 100644 --- a/sdk/dotnet/ServiceManagement/V1/Outputs/TrafficPercentStrategyResponse.cs +++ b/sdk/dotnet/ServiceManagement/V1/Outputs/TrafficPercentStrategyResponse.cs @@ -19,10 +19,10 @@ public sealed class TrafficPercentStrategyResponse /// /// Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. /// - public readonly ImmutableDictionary Percentages; + public readonly ImmutableDictionary Percentages; [OutputConstructor] - private TrafficPercentStrategyResponse(ImmutableDictionary percentages) + private TrafficPercentStrategyResponse(ImmutableDictionary percentages) { Percentages = percentages; } diff --git a/sdk/dotnet/SourceRepo/V1/Enums.cs b/sdk/dotnet/SourceRepo/V1/Enums.cs index 616fc4ea25..9d9886a55c 100644 --- a/sdk/dotnet/SourceRepo/V1/Enums.cs +++ b/sdk/dotnet/SourceRepo/V1/Enums.cs @@ -51,4 +51,45 @@ private AuditLogConfigLogType(string value) public override string ToString() => _value; } + + /// + /// The format of the Cloud Pub/Sub messages. + /// + [EnumType] + public readonly struct PubsubConfigMessageFormat : IEquatable + { + private readonly string _value; + + private PubsubConfigMessageFormat(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + /// + /// Unspecified. + /// + public static PubsubConfigMessageFormat MessageFormatUnspecified { get; } = new PubsubConfigMessageFormat("MESSAGE_FORMAT_UNSPECIFIED"); + /// + /// The message payload is a serialized protocol buffer of SourceRepoEvent. + /// + public static PubsubConfigMessageFormat Protobuf { get; } = new PubsubConfigMessageFormat("PROTOBUF"); + /// + /// The message payload is a JSON string of SourceRepoEvent. + /// + public static PubsubConfigMessageFormat Json { get; } = new PubsubConfigMessageFormat("JSON"); + + public static bool operator ==(PubsubConfigMessageFormat left, PubsubConfigMessageFormat right) => left.Equals(right); + public static bool operator !=(PubsubConfigMessageFormat left, PubsubConfigMessageFormat right) => !left.Equals(right); + + public static explicit operator string(PubsubConfigMessageFormat value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is PubsubConfigMessageFormat other && Equals(other); + public bool Equals(PubsubConfigMessageFormat other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/SourceRepo/V1/GetRepo.cs b/sdk/dotnet/SourceRepo/V1/GetRepo.cs index bbe84de299..fe4a49d526 100644 --- a/sdk/dotnet/SourceRepo/V1/GetRepo.cs +++ b/sdk/dotnet/SourceRepo/V1/GetRepo.cs @@ -68,7 +68,7 @@ public sealed class GetRepoResult /// /// How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. /// - public readonly ImmutableDictionary PubsubConfigs; + public readonly ImmutableDictionary PubsubConfigs; /// /// The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. /// @@ -84,7 +84,7 @@ private GetRepoResult( string name, - ImmutableDictionary pubsubConfigs, + ImmutableDictionary pubsubConfigs, string size, diff --git a/sdk/dotnet/SourceRepo/V1/Inputs/PubsubConfigArgs.cs b/sdk/dotnet/SourceRepo/V1/Inputs/PubsubConfigArgs.cs new file mode 100644 index 0000000000..2b8d2106df --- /dev/null +++ b/sdk/dotnet/SourceRepo/V1/Inputs/PubsubConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.SourceRepo.V1.Inputs +{ + + /// + /// Configuration to publish a Cloud Pub/Sub message. + /// + public sealed class PubsubConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The format of the Cloud Pub/Sub messages. + /// + [Input("messageFormat")] + public Input? MessageFormat { get; set; } + + /// + /// Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + /// + [Input("serviceAccountEmail")] + public Input? ServiceAccountEmail { get; set; } + + /// + /// A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + /// + [Input("topic")] + public Input? Topic { get; set; } + + public PubsubConfigArgs() + { + } + public static new PubsubConfigArgs Empty => new PubsubConfigArgs(); + } +} diff --git a/sdk/dotnet/SourceRepo/V1/Outputs/PubsubConfigResponse.cs b/sdk/dotnet/SourceRepo/V1/Outputs/PubsubConfigResponse.cs new file mode 100644 index 0000000000..bffac37462 --- /dev/null +++ b/sdk/dotnet/SourceRepo/V1/Outputs/PubsubConfigResponse.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.SourceRepo.V1.Outputs +{ + + /// + /// Configuration to publish a Cloud Pub/Sub message. + /// + [OutputType] + public sealed class PubsubConfigResponse + { + /// + /// The format of the Cloud Pub/Sub messages. + /// + public readonly string MessageFormat; + /// + /// Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + /// + public readonly string ServiceAccountEmail; + /// + /// A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + /// + public readonly string Topic; + + [OutputConstructor] + private PubsubConfigResponse( + string messageFormat, + + string serviceAccountEmail, + + string topic) + { + MessageFormat = messageFormat; + ServiceAccountEmail = serviceAccountEmail; + Topic = topic; + } + } +} diff --git a/sdk/dotnet/SourceRepo/V1/Repo.cs b/sdk/dotnet/SourceRepo/V1/Repo.cs index 4190e89d2a..a301fd45d7 100644 --- a/sdk/dotnet/SourceRepo/V1/Repo.cs +++ b/sdk/dotnet/SourceRepo/V1/Repo.cs @@ -34,7 +34,7 @@ public partial class Repo : global::Pulumi.CustomResource /// How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. /// [Output("pubsubConfigs")] - public Output> PubsubConfigs { get; private set; } = null!; + public Output> PubsubConfigs { get; private set; } = null!; /// /// The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. @@ -113,14 +113,14 @@ public sealed class RepoArgs : global::Pulumi.ResourceArgs public Input? Project { get; set; } [Input("pubsubConfigs")] - private InputMap? _pubsubConfigs; + private InputMap? _pubsubConfigs; /// /// How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. /// - public InputMap PubsubConfigs + public InputMap PubsubConfigs { - get => _pubsubConfigs ?? (_pubsubConfigs = new InputMap()); + get => _pubsubConfigs ?? (_pubsubConfigs = new InputMap()); set => _pubsubConfigs = value; } diff --git a/sdk/dotnet/Spanner/V1/Outputs/StatusResponse.cs b/sdk/dotnet/Spanner/V1/Outputs/StatusResponse.cs index b1e162b587..3a7122ab82 100644 --- a/sdk/dotnet/Spanner/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Spanner/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/TPU/V2Alpha1/Outputs/StatusResponse.cs b/sdk/dotnet/TPU/V2Alpha1/Outputs/StatusResponse.cs index c3737b0ffa..007482d497 100644 --- a/sdk/dotnet/TPU/V2Alpha1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/TPU/V2Alpha1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Transcoder/V1/Outputs/StatusResponse.cs b/sdk/dotnet/Transcoder/V1/Outputs/StatusResponse.cs index a12f18e7a1..000ad545ba 100644 --- a/sdk/dotnet/Transcoder/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Transcoder/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/VMMigration/V1/Outputs/StatusResponse.cs b/sdk/dotnet/VMMigration/V1/Outputs/StatusResponse.cs index 10c8ecc788..bcdc56996f 100644 --- a/sdk/dotnet/VMMigration/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/VMMigration/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/VMMigration/V1Alpha1/Outputs/StatusResponse.cs b/sdk/dotnet/VMMigration/V1Alpha1/Outputs/StatusResponse.cs index 5651310564..dd294ea66c 100644 --- a/sdk/dotnet/VMMigration/V1Alpha1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/VMMigration/V1Alpha1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/VMwareEngine/V1/Cluster.cs b/sdk/dotnet/VMwareEngine/V1/Cluster.cs index a703c2ebf7..8a5963b204 100644 --- a/sdk/dotnet/VMwareEngine/V1/Cluster.cs +++ b/sdk/dotnet/VMwareEngine/V1/Cluster.cs @@ -47,7 +47,7 @@ public partial class Cluster : global::Pulumi.CustomResource /// The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). /// [Output("nodeTypeConfigs")] - public Output> NodeTypeConfigs { get; private set; } = null!; + public Output> NodeTypeConfigs { get; private set; } = null!; [Output("privateCloudId")] public Output PrivateCloudId { get; private set; } = null!; @@ -147,14 +147,14 @@ public sealed class ClusterArgs : global::Pulumi.ResourceArgs public Input? Location { get; set; } [Input("nodeTypeConfigs", required: true)] - private InputMap? _nodeTypeConfigs; + private InputMap? _nodeTypeConfigs; /// /// The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). /// - public InputMap NodeTypeConfigs + public InputMap NodeTypeConfigs { - get => _nodeTypeConfigs ?? (_nodeTypeConfigs = new InputMap()); + get => _nodeTypeConfigs ?? (_nodeTypeConfigs = new InputMap()); set => _nodeTypeConfigs = value; } diff --git a/sdk/dotnet/VMwareEngine/V1/GetCluster.cs b/sdk/dotnet/VMwareEngine/V1/GetCluster.cs index 016b99bede..6ebbcfd2fb 100644 --- a/sdk/dotnet/VMwareEngine/V1/GetCluster.cs +++ b/sdk/dotnet/VMwareEngine/V1/GetCluster.cs @@ -84,7 +84,7 @@ public sealed class GetClusterResult /// /// The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). /// - public readonly ImmutableDictionary NodeTypeConfigs; + public readonly ImmutableDictionary NodeTypeConfigs; /// /// State of the resource. /// @@ -110,7 +110,7 @@ private GetClusterResult( string name, - ImmutableDictionary nodeTypeConfigs, + ImmutableDictionary nodeTypeConfigs, string state, diff --git a/sdk/dotnet/VMwareEngine/V1/Inputs/ManagementClusterArgs.cs b/sdk/dotnet/VMwareEngine/V1/Inputs/ManagementClusterArgs.cs index d4be703eb9..1c7ad21040 100644 --- a/sdk/dotnet/VMwareEngine/V1/Inputs/ManagementClusterArgs.cs +++ b/sdk/dotnet/VMwareEngine/V1/Inputs/ManagementClusterArgs.cs @@ -22,14 +22,14 @@ public sealed class ManagementClusterArgs : global::Pulumi.ResourceArgs public Input ClusterId { get; set; } = null!; [Input("nodeTypeConfigs", required: true)] - private InputMap? _nodeTypeConfigs; + private InputMap? _nodeTypeConfigs; /// /// The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). /// - public InputMap NodeTypeConfigs + public InputMap NodeTypeConfigs { - get => _nodeTypeConfigs ?? (_nodeTypeConfigs = new InputMap()); + get => _nodeTypeConfigs ?? (_nodeTypeConfigs = new InputMap()); set => _nodeTypeConfigs = value; } diff --git a/sdk/dotnet/VMwareEngine/V1/Inputs/NodeTypeConfigArgs.cs b/sdk/dotnet/VMwareEngine/V1/Inputs/NodeTypeConfigArgs.cs new file mode 100644 index 0000000000..c22afcc7d0 --- /dev/null +++ b/sdk/dotnet/VMwareEngine/V1/Inputs/NodeTypeConfigArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.VMwareEngine.V1.Inputs +{ + + /// + /// Information about the type and number of nodes associated with the cluster. + /// + public sealed class NodeTypeConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + /// + [Input("customCoreCount")] + public Input? CustomCoreCount { get; set; } + + /// + /// The number of nodes of this type in the cluster + /// + [Input("nodeCount", required: true)] + public Input NodeCount { get; set; } = null!; + + public NodeTypeConfigArgs() + { + } + public static new NodeTypeConfigArgs Empty => new NodeTypeConfigArgs(); + } +} diff --git a/sdk/dotnet/VMwareEngine/V1/Outputs/ManagementClusterResponse.cs b/sdk/dotnet/VMwareEngine/V1/Outputs/ManagementClusterResponse.cs index 94cb94ab28..50cc01ee36 100644 --- a/sdk/dotnet/VMwareEngine/V1/Outputs/ManagementClusterResponse.cs +++ b/sdk/dotnet/VMwareEngine/V1/Outputs/ManagementClusterResponse.cs @@ -23,7 +23,7 @@ public sealed class ManagementClusterResponse /// /// The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). /// - public readonly ImmutableDictionary NodeTypeConfigs; + public readonly ImmutableDictionary NodeTypeConfigs; /// /// Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. /// @@ -33,7 +33,7 @@ public sealed class ManagementClusterResponse private ManagementClusterResponse( string clusterId, - ImmutableDictionary nodeTypeConfigs, + ImmutableDictionary nodeTypeConfigs, Outputs.StretchedClusterConfigResponse stretchedClusterConfig) { diff --git a/sdk/dotnet/VMwareEngine/V1/Outputs/NodeTypeConfigResponse.cs b/sdk/dotnet/VMwareEngine/V1/Outputs/NodeTypeConfigResponse.cs new file mode 100644 index 0000000000..1ec99a2adc --- /dev/null +++ b/sdk/dotnet/VMwareEngine/V1/Outputs/NodeTypeConfigResponse.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** 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.GoogleNative.VMwareEngine.V1.Outputs +{ + + /// + /// Information about the type and number of nodes associated with the cluster. + /// + [OutputType] + public sealed class NodeTypeConfigResponse + { + /// + /// Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + /// + public readonly int CustomCoreCount; + /// + /// The number of nodes of this type in the cluster + /// + public readonly int NodeCount; + + [OutputConstructor] + private NodeTypeConfigResponse( + int customCoreCount, + + int nodeCount) + { + CustomCoreCount = customCoreCount; + NodeCount = nodeCount; + } + } +} diff --git a/sdk/dotnet/Vision/V1/Outputs/StatusResponse.cs b/sdk/dotnet/Vision/V1/Outputs/StatusResponse.cs index d12ecb6f44..ca0944bafc 100644 --- a/sdk/dotnet/Vision/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Vision/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Workstations/V1/Outputs/StatusResponse.cs b/sdk/dotnet/Workstations/V1/Outputs/StatusResponse.cs index 2b05a44cae..68fdee2c68 100644 --- a/sdk/dotnet/Workstations/V1/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Workstations/V1/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/dotnet/Workstations/V1Beta/Outputs/StatusResponse.cs b/sdk/dotnet/Workstations/V1Beta/Outputs/StatusResponse.cs index 3f570d50d8..6c6fad7205 100644 --- a/sdk/dotnet/Workstations/V1Beta/Outputs/StatusResponse.cs +++ b/sdk/dotnet/Workstations/V1Beta/Outputs/StatusResponse.cs @@ -23,7 +23,7 @@ public sealed class StatusResponse /// /// A list of messages that carry the error details. There is a common set of message types for APIs to use. /// - public readonly ImmutableArray> Details; + public readonly ImmutableArray> Details; /// /// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. /// @@ -33,7 +33,7 @@ public sealed class StatusResponse private StatusResponse( int code, - ImmutableArray> details, + ImmutableArray> details, string message) { diff --git a/sdk/go/google/aiplatform/v1/artifact.go b/sdk/go/google/aiplatform/v1/artifact.go index 0198bda82c..ceb627c5f1 100644 --- a/sdk/go/google/aiplatform/v1/artifact.go +++ b/sdk/go/google/aiplatform/v1/artifact.go @@ -31,8 +31,8 @@ type Artifact struct { Labels pulumi.StringMapOutput `pulumi:"labels"` Location pulumi.StringOutput `pulumi:"location"` // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapOutput `pulumi:"metadata"` - MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` + Metadata pulumi.MapOutput `pulumi:"metadata"` + MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` // The resource name of the Artifact. Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` @@ -109,9 +109,9 @@ type artifactArgs struct { Labels map[string]string `pulumi:"labels"` Location *string `pulumi:"location"` // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` - MetadataStoreId string `pulumi:"metadataStoreId"` - Project *string `pulumi:"project"` + Metadata map[string]interface{} `pulumi:"metadata"` + MetadataStoreId string `pulumi:"metadataStoreId"` + Project *string `pulumi:"project"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. SchemaTitle *string `pulumi:"schemaTitle"` // The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -136,7 +136,7 @@ type ArtifactArgs struct { Labels pulumi.StringMapInput Location pulumi.StringPtrInput // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapInput + Metadata pulumi.MapInput MetadataStoreId pulumi.StringInput Project pulumi.StringPtrInput // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -221,8 +221,8 @@ func (o ArtifactOutput) Location() pulumi.StringOutput { } // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o ArtifactOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *Artifact) pulumi.StringMapOutput { return v.Metadata }).(pulumi.StringMapOutput) +func (o ArtifactOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *Artifact) pulumi.MapOutput { return v.Metadata }).(pulumi.MapOutput) } func (o ArtifactOutput) MetadataStoreId() pulumi.StringOutput { diff --git a/sdk/go/google/aiplatform/v1/context.go b/sdk/go/google/aiplatform/v1/context.go index c5e434ea25..4322347a67 100644 --- a/sdk/go/google/aiplatform/v1/context.go +++ b/sdk/go/google/aiplatform/v1/context.go @@ -30,8 +30,8 @@ type Context struct { Labels pulumi.StringMapOutput `pulumi:"labels"` Location pulumi.StringOutput `pulumi:"location"` // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapOutput `pulumi:"metadata"` - MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` + Metadata pulumi.MapOutput `pulumi:"metadata"` + MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` // Immutable. The resource name of the Context. Name pulumi.StringOutput `pulumi:"name"` // A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts. @@ -106,8 +106,8 @@ type contextArgs struct { Labels map[string]string `pulumi:"labels"` Location *string `pulumi:"location"` // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` - MetadataStoreId string `pulumi:"metadataStoreId"` + Metadata map[string]interface{} `pulumi:"metadata"` + MetadataStoreId string `pulumi:"metadataStoreId"` // Immutable. The resource name of the Context. Name *string `pulumi:"name"` Project *string `pulumi:"project"` @@ -131,7 +131,7 @@ type ContextArgs struct { Labels pulumi.StringMapInput Location pulumi.StringPtrInput // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapInput + Metadata pulumi.MapInput MetadataStoreId pulumi.StringInput // Immutable. The resource name of the Context. Name pulumi.StringPtrInput @@ -214,8 +214,8 @@ func (o ContextOutput) Location() pulumi.StringOutput { } // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o ContextOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *Context) pulumi.StringMapOutput { return v.Metadata }).(pulumi.StringMapOutput) +func (o ContextOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *Context) pulumi.MapOutput { return v.Metadata }).(pulumi.MapOutput) } func (o ContextOutput) MetadataStoreId() pulumi.StringOutput { diff --git a/sdk/go/google/aiplatform/v1/endpoint.go b/sdk/go/google/aiplatform/v1/endpoint.go index a268ebdbf9..4ff3b44ed9 100644 --- a/sdk/go/google/aiplatform/v1/endpoint.go +++ b/sdk/go/google/aiplatform/v1/endpoint.go @@ -48,7 +48,7 @@ type Endpoint struct { PredictRequestResponseLoggingConfig GoogleCloudAiplatformV1PredictRequestResponseLoggingConfigResponseOutput `pulumi:"predictRequestResponseLoggingConfig"` Project pulumi.StringOutput `pulumi:"project"` // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. - TrafficSplit pulumi.StringMapOutput `pulumi:"trafficSplit"` + TrafficSplit pulumi.IntMapOutput `pulumi:"trafficSplit"` // Timestamp when this Endpoint was last updated. UpdateTime pulumi.StringOutput `pulumi:"updateTime"` } @@ -124,7 +124,7 @@ type endpointArgs struct { PredictRequestResponseLoggingConfig *GoogleCloudAiplatformV1PredictRequestResponseLoggingConfig `pulumi:"predictRequestResponseLoggingConfig"` Project *string `pulumi:"project"` // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. - TrafficSplit map[string]string `pulumi:"trafficSplit"` + TrafficSplit map[string]int `pulumi:"trafficSplit"` } // The set of arguments for constructing a Endpoint resource. @@ -152,7 +152,7 @@ type EndpointArgs struct { PredictRequestResponseLoggingConfig GoogleCloudAiplatformV1PredictRequestResponseLoggingConfigPtrInput Project pulumi.StringPtrInput // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. - TrafficSplit pulumi.StringMapInput + TrafficSplit pulumi.IntMapInput } func (EndpointArgs) ElementType() reflect.Type { @@ -270,8 +270,8 @@ func (o EndpointOutput) Project() pulumi.StringOutput { } // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. -func (o EndpointOutput) TrafficSplit() pulumi.StringMapOutput { - return o.ApplyT(func(v *Endpoint) pulumi.StringMapOutput { return v.TrafficSplit }).(pulumi.StringMapOutput) +func (o EndpointOutput) TrafficSplit() pulumi.IntMapOutput { + return o.ApplyT(func(v *Endpoint) pulumi.IntMapOutput { return v.TrafficSplit }).(pulumi.IntMapOutput) } // Timestamp when this Endpoint was last updated. diff --git a/sdk/go/google/aiplatform/v1/execution.go b/sdk/go/google/aiplatform/v1/execution.go index ef22f8e5c5..9d2a41ed68 100644 --- a/sdk/go/google/aiplatform/v1/execution.go +++ b/sdk/go/google/aiplatform/v1/execution.go @@ -31,8 +31,8 @@ type Execution struct { Labels pulumi.StringMapOutput `pulumi:"labels"` Location pulumi.StringOutput `pulumi:"location"` // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapOutput `pulumi:"metadata"` - MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` + Metadata pulumi.MapOutput `pulumi:"metadata"` + MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` // The resource name of the Execution. Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` @@ -107,9 +107,9 @@ type executionArgs struct { Labels map[string]string `pulumi:"labels"` Location *string `pulumi:"location"` // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` - MetadataStoreId string `pulumi:"metadataStoreId"` - Project *string `pulumi:"project"` + Metadata map[string]interface{} `pulumi:"metadata"` + MetadataStoreId string `pulumi:"metadataStoreId"` + Project *string `pulumi:"project"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. SchemaTitle *string `pulumi:"schemaTitle"` // The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -132,7 +132,7 @@ type ExecutionArgs struct { Labels pulumi.StringMapInput Location pulumi.StringPtrInput // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapInput + Metadata pulumi.MapInput MetadataStoreId pulumi.StringInput Project pulumi.StringPtrInput // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -215,8 +215,8 @@ func (o ExecutionOutput) Location() pulumi.StringOutput { } // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o ExecutionOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *Execution) pulumi.StringMapOutput { return v.Metadata }).(pulumi.StringMapOutput) +func (o ExecutionOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *Execution) pulumi.MapOutput { return v.Metadata }).(pulumi.MapOutput) } func (o ExecutionOutput) MetadataStoreId() pulumi.StringOutput { diff --git a/sdk/go/google/aiplatform/v1/getArtifact.go b/sdk/go/google/aiplatform/v1/getArtifact.go index 86d6bb3372..61eb3db044 100644 --- a/sdk/go/google/aiplatform/v1/getArtifact.go +++ b/sdk/go/google/aiplatform/v1/getArtifact.go @@ -41,7 +41,7 @@ type LookupArtifactResult struct { // The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // The resource name of the Artifact. Name string `pulumi:"name"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -120,8 +120,8 @@ func (o LookupArtifactResultOutput) Labels() pulumi.StringMapOutput { } // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o LookupArtifactResultOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupArtifactResult) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o LookupArtifactResultOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupArtifactResult) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // The resource name of the Artifact. diff --git a/sdk/go/google/aiplatform/v1/getContext.go b/sdk/go/google/aiplatform/v1/getContext.go index b9ad17be38..970c916b68 100644 --- a/sdk/go/google/aiplatform/v1/getContext.go +++ b/sdk/go/google/aiplatform/v1/getContext.go @@ -41,7 +41,7 @@ type LookupContextResult struct { // The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // Immutable. The resource name of the Context. Name string `pulumi:"name"` // A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts. @@ -118,8 +118,8 @@ func (o LookupContextResultOutput) Labels() pulumi.StringMapOutput { } // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o LookupContextResultOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupContextResult) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o LookupContextResultOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupContextResult) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // Immutable. The resource name of the Context. diff --git a/sdk/go/google/aiplatform/v1/getEndpoint.go b/sdk/go/google/aiplatform/v1/getEndpoint.go index 932a9b9e12..d4abfe79de 100644 --- a/sdk/go/google/aiplatform/v1/getEndpoint.go +++ b/sdk/go/google/aiplatform/v1/getEndpoint.go @@ -56,7 +56,7 @@ type LookupEndpointResult struct { // Configures the request-response logging for online prediction. PredictRequestResponseLoggingConfig GoogleCloudAiplatformV1PredictRequestResponseLoggingConfigResponse `pulumi:"predictRequestResponseLoggingConfig"` // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. - TrafficSplit map[string]string `pulumi:"trafficSplit"` + TrafficSplit map[string]int `pulumi:"trafficSplit"` // Timestamp when this Endpoint was last updated. UpdateTime string `pulumi:"updateTime"` } @@ -163,8 +163,8 @@ func (o LookupEndpointResultOutput) PredictRequestResponseLoggingConfig() Google } // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. -func (o LookupEndpointResultOutput) TrafficSplit() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupEndpointResult) map[string]string { return v.TrafficSplit }).(pulumi.StringMapOutput) +func (o LookupEndpointResultOutput) TrafficSplit() pulumi.IntMapOutput { + return o.ApplyT(func(v LookupEndpointResult) map[string]int { return v.TrafficSplit }).(pulumi.IntMapOutput) } // Timestamp when this Endpoint was last updated. diff --git a/sdk/go/google/aiplatform/v1/getExecution.go b/sdk/go/google/aiplatform/v1/getExecution.go index ccf984a3ca..0860940adb 100644 --- a/sdk/go/google/aiplatform/v1/getExecution.go +++ b/sdk/go/google/aiplatform/v1/getExecution.go @@ -41,7 +41,7 @@ type LookupExecutionResult struct { // The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // The resource name of the Execution. Name string `pulumi:"name"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -118,8 +118,8 @@ func (o LookupExecutionResultOutput) Labels() pulumi.StringMapOutput { } // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o LookupExecutionResultOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupExecutionResult) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o LookupExecutionResultOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupExecutionResult) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // The resource name of the Execution. diff --git a/sdk/go/google/aiplatform/v1/getPipelineJob.go b/sdk/go/google/aiplatform/v1/getPipelineJob.go index a7aebb5905..85ef59b175 100644 --- a/sdk/go/google/aiplatform/v1/getPipelineJob.go +++ b/sdk/go/google/aiplatform/v1/getPipelineJob.go @@ -48,7 +48,7 @@ type LookupPipelineJobResult struct { // The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. Network string `pulumi:"network"` // The spec of the pipeline. - PipelineSpec map[string]string `pulumi:"pipelineSpec"` + PipelineSpec map[string]interface{} `pulumi:"pipelineSpec"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges []string `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -152,8 +152,8 @@ func (o LookupPipelineJobResultOutput) Network() pulumi.StringOutput { } // The spec of the pipeline. -func (o LookupPipelineJobResultOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupPipelineJobResult) map[string]string { return v.PipelineSpec }).(pulumi.StringMapOutput) +func (o LookupPipelineJobResultOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v LookupPipelineJobResult) map[string]interface{} { return v.PipelineSpec }).(pulumi.MapOutput) } // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. diff --git a/sdk/go/google/aiplatform/v1/pipelineJob.go b/sdk/go/google/aiplatform/v1/pipelineJob.go index 4eddab17a8..7a288e32b3 100644 --- a/sdk/go/google/aiplatform/v1/pipelineJob.go +++ b/sdk/go/google/aiplatform/v1/pipelineJob.go @@ -38,8 +38,8 @@ type PipelineJob struct { // The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. PipelineJobId pulumi.StringPtrOutput `pulumi:"pipelineJobId"` // The spec of the pipeline. - PipelineSpec pulumi.StringMapOutput `pulumi:"pipelineSpec"` - Project pulumi.StringOutput `pulumi:"project"` + PipelineSpec pulumi.MapOutput `pulumi:"pipelineSpec"` + Project pulumi.StringOutput `pulumi:"project"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges pulumi.StringArrayOutput `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -117,8 +117,8 @@ type pipelineJobArgs struct { // The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. PipelineJobId *string `pulumi:"pipelineJobId"` // The spec of the pipeline. - PipelineSpec map[string]string `pulumi:"pipelineSpec"` - Project *string `pulumi:"project"` + PipelineSpec map[string]interface{} `pulumi:"pipelineSpec"` + Project *string `pulumi:"project"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges []string `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -143,7 +143,7 @@ type PipelineJobArgs struct { // The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. PipelineJobId pulumi.StringPtrInput // The spec of the pipeline. - PipelineSpec pulumi.StringMapInput + PipelineSpec pulumi.MapInput Project pulumi.StringPtrInput // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges pulumi.StringArrayInput @@ -247,8 +247,8 @@ func (o PipelineJobOutput) PipelineJobId() pulumi.StringPtrOutput { } // The spec of the pipeline. -func (o PipelineJobOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v *PipelineJob) pulumi.StringMapOutput { return v.PipelineSpec }).(pulumi.StringMapOutput) +func (o PipelineJobOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v *PipelineJob) pulumi.MapOutput { return v.PipelineSpec }).(pulumi.MapOutput) } func (o PipelineJobOutput) Project() pulumi.StringOutput { diff --git a/sdk/go/google/aiplatform/v1/pulumiEnums.go b/sdk/go/google/aiplatform/v1/pulumiEnums.go index 1761868d29..52b19a0d39 100644 --- a/sdk/go/google/aiplatform/v1/pulumiEnums.go +++ b/sdk/go/google/aiplatform/v1/pulumiEnums.go @@ -916,6 +916,894 @@ func (in *googleCloudAiplatformV1ExamplesExampleGcsSourceDataFormatPtr) ToGoogle return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormatPtrOutput) } +// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding string + +const ( + // Default value. This is the same as IDENTITY. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingEncodingUnspecified = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("ENCODING_UNSPECIFIED") + // The tensor represents one feature. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingIdentity = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("IDENTITY") + // The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ```input = [27, 6.0, 150] index_feature_mapping = ["age", "height", "weight"]``` + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingBagOfFeatures = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("BAG_OF_FEATURES") + // The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ```input = [2, 0, 5, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"]``` + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingBagOfFeaturesSparse = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("BAG_OF_FEATURES_SPARSE") + // The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ```input = [1, 0, 1, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"]``` + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingIndicator = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("INDICATOR") + // The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ```input = ["This", "is", "a", "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5]``` + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingCombinedEmbedding = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("COMBINED_EMBEDDING") + // Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ```input = ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]]``` + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingConcatEmbedding = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("CONCAT_EMBEDDING") +) + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput { + return e.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput { + return GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding(e).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutputWithContext(ctx).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding { + return &v + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) Elem() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding + return ret + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingInput is an input type that accepts values of the GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding enum +// A concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingInput` can be one of the following: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingEncodingUnspecified +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingIdentity +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingBagOfFeatures +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingBagOfFeaturesSparse +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingIndicator +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingCombinedEmbedding +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingConcatEmbedding +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput +} + +var googleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrType = reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding)(nil)).Elem() + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput +} + +type googleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtr string + +func GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtr(v string) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrInput { + return (*googleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtr)(&v) +} + +func (*googleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtr) ElementType() reflect.Type { + return googleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrType +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) +} + +// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap string + +const ( + // Should not be used. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapColorMapUnspecified = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("COLOR_MAP_UNSPECIFIED") + // Positive: green. Negative: pink. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPinkGreen = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("PINK_GREEN") + // Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapViridis = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("VIRIDIS") + // Positive: red. Negative: red. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapRed = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("RED") + // Positive: green. Negative: green. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapGreen = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("GREEN") + // Positive: green. Negative: red. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapRedGreen = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("RED_GREEN") + // PiYG palette. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPinkWhiteGreen = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("PINK_WHITE_GREEN") +) + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return e.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap(e).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutputWithContext(ctx).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap { + return &v + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) Elem() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap + return ret + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapInput is an input type that accepts values of the GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap enum +// A concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapInput` can be one of the following: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapColorMapUnspecified +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPinkGreen +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapViridis +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapRed +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapGreen +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapRedGreen +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPinkWhiteGreen +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput +} + +var googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrType = reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap)(nil)).Elem() + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput +} + +type googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtr string + +func GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtr(v string) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrInput { + return (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtr)(&v) +} + +func (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtr) ElementType() reflect.Type { + return googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrType +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType string + +const ( + // Default value. This is the same as NONE. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOverlayTypeUnspecified = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("OVERLAY_TYPE_UNSPECIFIED") + // No overlay. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeNone = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("NONE") + // The attributions are shown on top of the original image. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOriginal = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("ORIGINAL") + // The attributions are shown on top of grayscaled version of the original image. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeGrayscale = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("GRAYSCALE") + // The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeMaskBlack = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("MASK_BLACK") +) + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return e.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType(e).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutputWithContext(ctx).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType { + return &v + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) Elem() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType + return ret + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeInput is an input type that accepts values of the GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType enum +// A concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeInput` can be one of the following: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOverlayTypeUnspecified +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeNone +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOriginal +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeGrayscale +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeMaskBlack +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput +} + +var googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrType = reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType)(nil)).Elem() + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput +} + +type googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr string + +func GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr(v string) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrInput { + return (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr)(&v) +} + +func (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr) ElementType() reflect.Type { + return googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrType +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity string + +const ( + // Default value. This is the same as POSITIVE. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPolarityUnspecified = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("POLARITY_UNSPECIFIED") + // Highlights the pixels/outlines that were most influential to the model's prediction. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPositive = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("POSITIVE") + // Setting polarity to negative highlights areas that does not lead to the models's current prediction. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityNegative = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("NEGATIVE") + // Shows both positive and negative attributions. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityBoth = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("BOTH") +) + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return e.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity(e).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutputWithContext(ctx).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity { + return &v + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) Elem() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity + return ret + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityInput is an input type that accepts values of the GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity enum +// A concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityInput` can be one of the following: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPolarityUnspecified +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPositive +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityNegative +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityBoth +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput +} + +var googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrType = reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity)(nil)).Elem() + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput +} + +type googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtr string + +func GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtr(v string) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrInput { + return (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtr)(&v) +} + +func (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtr) ElementType() reflect.Type { + return googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrType +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType string + +const ( + // Should not be used. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeTypeUnspecified = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType("TYPE_UNSPECIFIED") + // Shows which pixel contributed to the image prediction. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePixels = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType("PIXELS") + // Shows which region contributed to the image prediction by outlining the region. + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutlines = GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType("OUTLINES") +) + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return e.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType(e).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutputWithContext(ctx).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType { + return &v + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) Elem() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType + return ret + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeInput is an input type that accepts values of the GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType enum +// A concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeInput` can be one of the following: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeTypeUnspecified +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePixels +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutlines +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput +} + +var googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrType = reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType)(nil)).Elem() + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput +} + +type googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtr string + +func GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtr(v string) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrInput { + return (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtr)(&v) +} + +func (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtr) ElementType() reflect.Type { + return googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrType +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + +func (in *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtr) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + // The baseline used to do anomaly detection for the statistics generated by import features analysis. type GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline string @@ -4215,6 +5103,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FeatureStoreFeatureValueTypePtrInput)(nil)).Elem(), FeatureStoreFeatureValueType("VALUE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormatInput)(nil)).Elem(), GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat("DATA_FORMAT_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormatPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat("DATA_FORMAT_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("ENCODING_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding("ENCODING_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("COLOR_MAP_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap("COLOR_MAP_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("OVERLAY_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType("OVERLAY_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("POLARITY_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity("POLARITY_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType("TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType("TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaselineInput)(nil)).Elem(), GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline("BASELINE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaselinePtrInput)(nil)).Elem(), GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline("BASELINE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisStateInput)(nil)).Elem(), GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisState("STATE_UNSPECIFIED")) @@ -4263,6 +5161,16 @@ func init() { pulumi.RegisterOutputType(FeatureStoreFeatureValueTypePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormatOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormatPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaselineOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaselinePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisStateOutput{}) diff --git a/sdk/go/google/aiplatform/v1/pulumiTypes.go b/sdk/go/google/aiplatform/v1/pulumiTypes.go index eb50bc99c0..d765b4a902 100644 --- a/sdk/go/google/aiplatform/v1/pulumiTypes.go +++ b/sdk/go/google/aiplatform/v1/pulumiTypes.go @@ -265,6 +265,129 @@ func (o GoogleCloudAiplatformV1ActiveLearningConfigResponseOutput) TrainingConfi }).(GoogleCloudAiplatformV1TrainingConfigResponseOutput) } +// Instance of a general artifact. +type GoogleCloudAiplatformV1ArtifactResponse struct { + // Timestamp when this Artifact was created. + CreateTime string `pulumi:"createTime"` + // Description of the Artifact + Description string `pulumi:"description"` + // User provided display name of the Artifact. May be up to 128 Unicode characters. + DisplayName string `pulumi:"displayName"` + // An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + Etag string `pulumi:"etag"` + // The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + Labels map[string]string `pulumi:"labels"` + // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + Metadata map[string]interface{} `pulumi:"metadata"` + // The resource name of the Artifact. + Name string `pulumi:"name"` + // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + SchemaTitle string `pulumi:"schemaTitle"` + // The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + SchemaVersion string `pulumi:"schemaVersion"` + // The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + State string `pulumi:"state"` + // Timestamp when this Artifact was last updated. + UpdateTime string `pulumi:"updateTime"` + // The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + Uri string `pulumi:"uri"` +} + +// Instance of a general artifact. +type GoogleCloudAiplatformV1ArtifactResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ArtifactResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ArtifactResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) ToGoogleCloudAiplatformV1ArtifactResponseOutput() GoogleCloudAiplatformV1ArtifactResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) ToGoogleCloudAiplatformV1ArtifactResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ArtifactResponseOutput { + return o +} + +// Timestamp when this Artifact was created. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// Description of the Artifact +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// User provided display name of the Artifact. May be up to 128 Unicode characters. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) +} + +// The resource name of the Artifact. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) SchemaTitle() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.SchemaTitle }).(pulumi.StringOutput) +} + +// The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) SchemaVersion() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.SchemaVersion }).(pulumi.StringOutput) +} + +// The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.State }).(pulumi.StringOutput) +} + +// Timestamp when this Artifact was last updated. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.UpdateTime }).(pulumi.StringOutput) +} + +// The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. +func (o GoogleCloudAiplatformV1ArtifactResponseOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ArtifactResponse) string { return v.Uri }).(pulumi.StringOutput) +} + +type GoogleCloudAiplatformV1ArtifactResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ArtifactResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleCloudAiplatformV1ArtifactResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ArtifactResponseArrayOutput) ToGoogleCloudAiplatformV1ArtifactResponseArrayOutput() GoogleCloudAiplatformV1ArtifactResponseArrayOutput { + return o +} + +func (o GoogleCloudAiplatformV1ArtifactResponseArrayOutput) ToGoogleCloudAiplatformV1ArtifactResponseArrayOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ArtifactResponseArrayOutput { + return o +} + +func (o GoogleCloudAiplatformV1ArtifactResponseArrayOutput) Index(i pulumi.IntInput) GoogleCloudAiplatformV1ArtifactResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1ArtifactResponse { + return vs[0].([]GoogleCloudAiplatformV1ArtifactResponse)[vs[1].(int)] + }).(GoogleCloudAiplatformV1ArtifactResponseOutput) +} + // A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. type GoogleCloudAiplatformV1AutomaticResourcesResponse struct { // Immutable. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. @@ -2024,7 +2147,7 @@ type GoogleCloudAiplatformV1ContextResponse struct { // The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // Immutable. The resource name of the Context. Name string `pulumi:"name"` // A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts. @@ -2078,8 +2201,8 @@ func (o GoogleCloudAiplatformV1ContextResponseOutput) Labels() pulumi.StringMapO } // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o GoogleCloudAiplatformV1ContextResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ContextResponse) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1ContextResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ContextResponse) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // Immutable. The resource name of the Context. @@ -4328,7 +4451,7 @@ type GoogleCloudAiplatformV1ExecutionResponse struct { // The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // The resource name of the Execution. Name string `pulumi:"name"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -4382,8 +4505,8 @@ func (o GoogleCloudAiplatformV1ExecutionResponseOutput) Labels() pulumi.StringMa } // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o GoogleCloudAiplatformV1ExecutionResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ExecutionResponse) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1ExecutionResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExecutionResponse) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // The resource name of the Execution. @@ -4416,11 +4539,11 @@ type GoogleCloudAiplatformV1ExplanationMetadata struct { // Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. FeatureAttributionsSchemaUri *string `pulumi:"featureAttributionsSchemaUri"` // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. - Inputs map[string]string `pulumi:"inputs"` + Inputs map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadata `pulumi:"inputs"` // Name of the source to generate embeddings for example based explanations. LatentSpaceSource *string `pulumi:"latentSpaceSource"` // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. - Outputs map[string]string `pulumi:"outputs"` + Outputs map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata `pulumi:"outputs"` } // GoogleCloudAiplatformV1ExplanationMetadataInput is an input type that accepts GoogleCloudAiplatformV1ExplanationMetadataArgs and GoogleCloudAiplatformV1ExplanationMetadataOutput values. @@ -4439,11 +4562,11 @@ type GoogleCloudAiplatformV1ExplanationMetadataArgs struct { // Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. FeatureAttributionsSchemaUri pulumi.StringPtrInput `pulumi:"featureAttributionsSchemaUri"` // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. - Inputs pulumi.StringMapInput `pulumi:"inputs"` + Inputs GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapInput `pulumi:"inputs"` // Name of the source to generate embeddings for example based explanations. LatentSpaceSource pulumi.StringPtrInput `pulumi:"latentSpaceSource"` // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. - Outputs pulumi.StringMapInput `pulumi:"outputs"` + Outputs GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapInput `pulumi:"outputs"` } func (GoogleCloudAiplatformV1ExplanationMetadataArgs) ElementType() reflect.Type { @@ -4530,8 +4653,10 @@ func (o GoogleCloudAiplatformV1ExplanationMetadataOutput) FeatureAttributionsSch } // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. -func (o GoogleCloudAiplatformV1ExplanationMetadataOutput) Inputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadata) map[string]string { return v.Inputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1ExplanationMetadataOutput) Inputs() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadata) map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadata { + return v.Inputs + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput) } // Name of the source to generate embeddings for example based explanations. @@ -4540,8 +4665,10 @@ func (o GoogleCloudAiplatformV1ExplanationMetadataOutput) LatentSpaceSource() pu } // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. -func (o GoogleCloudAiplatformV1ExplanationMetadataOutput) Outputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadata) map[string]string { return v.Outputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1ExplanationMetadataOutput) Outputs() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadata) map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata { + return v.Outputs + }).(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput) } type GoogleCloudAiplatformV1ExplanationMetadataPtrOutput struct{ *pulumi.OutputState } @@ -4579,13 +4706,13 @@ func (o GoogleCloudAiplatformV1ExplanationMetadataPtrOutput) FeatureAttributions } // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. -func (o GoogleCloudAiplatformV1ExplanationMetadataPtrOutput) Inputs() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadata) map[string]string { +func (o GoogleCloudAiplatformV1ExplanationMetadataPtrOutput) Inputs() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadata) map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadata { if v == nil { return nil } return v.Inputs - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput) } // Name of the source to generate embeddings for example based explanations. @@ -4598,14 +4725,1130 @@ func (o GoogleCloudAiplatformV1ExplanationMetadataPtrOutput) LatentSpaceSource() }).(pulumi.StringPtrOutput) } -// Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. -func (o GoogleCloudAiplatformV1ExplanationMetadataPtrOutput) Outputs() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadata) map[string]string { - if v == nil { - return nil - } - return v.Outputs - }).(pulumi.StringMapOutput) +// Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. +func (o GoogleCloudAiplatformV1ExplanationMetadataPtrOutput) Outputs() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadata) map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata { + if v == nil { + return nil + } + return v.Outputs + }).(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput) +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadata struct { + // Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + DenseShapeTensorName *string `pulumi:"denseShapeTensorName"` + // A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + EncodedBaselines []interface{} `pulumi:"encodedBaselines"` + // Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + EncodedTensorName *string `pulumi:"encodedTensorName"` + // Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + Encoding *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding `pulumi:"encoding"` + // The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + FeatureValueDomain *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain `pulumi:"featureValueDomain"` + // Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + GroupName *string `pulumi:"groupName"` + // A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + IndexFeatureMapping []string `pulumi:"indexFeatureMapping"` + // Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + IndicesTensorName *string `pulumi:"indicesTensorName"` + // Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + InputBaselines []interface{} `pulumi:"inputBaselines"` + // Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + InputTensorName *string `pulumi:"inputTensorName"` + // Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + Modality *string `pulumi:"modality"` + // Visualization configurations for image explanation. + Visualization *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization `pulumi:"visualization"` +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataInput is an input type that accepts GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs and GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataInput` via: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs{...} +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs struct { + // Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + DenseShapeTensorName pulumi.StringPtrInput `pulumi:"denseShapeTensorName"` + // A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + EncodedBaselines pulumi.ArrayInput `pulumi:"encodedBaselines"` + // Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + EncodedTensorName pulumi.StringPtrInput `pulumi:"encodedTensorName"` + // Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + Encoding GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrInput `pulumi:"encoding"` + // The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + FeatureValueDomain GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput `pulumi:"featureValueDomain"` + // Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + GroupName pulumi.StringPtrInput `pulumi:"groupName"` + // A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + IndexFeatureMapping pulumi.StringArrayInput `pulumi:"indexFeatureMapping"` + // Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + IndicesTensorName pulumi.StringPtrInput `pulumi:"indicesTensorName"` + // Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + InputBaselines pulumi.ArrayInput `pulumi:"inputBaselines"` + // Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + InputTensorName pulumi.StringPtrInput `pulumi:"inputTensorName"` + // Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + Modality pulumi.StringPtrInput `pulumi:"modality"` + // Visualization configurations for image explanation. + Visualization GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrInput `pulumi:"visualization"` +} + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadata)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapInput is an input type that accepts GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMap and GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapInput` via: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMap{ "key": GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs{...} } +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMap map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadataInput + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadata)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMap) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMap) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput) +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadata)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput { + return o +} + +// Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) DenseShapeTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) *string { return v.DenseShapeTensorName }).(pulumi.StringPtrOutput) +} + +// A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) EncodedBaselines() pulumi.ArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) []interface{} { + return v.EncodedBaselines + }).(pulumi.ArrayOutput) +} + +// Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) EncodedTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) *string { return v.EncodedTensorName }).(pulumi.StringPtrOutput) +} + +// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) Encoding() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding { + return v.Encoding + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncodingPtrOutput) +} + +// The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) FeatureValueDomain() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain { + return v.FeatureValueDomain + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) +} + +// Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) GroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) *string { return v.GroupName }).(pulumi.StringPtrOutput) +} + +// A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) IndexFeatureMapping() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) []string { return v.IndexFeatureMapping }).(pulumi.StringArrayOutput) +} + +// Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) IndicesTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) *string { return v.IndicesTensorName }).(pulumi.StringPtrOutput) +} + +// Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) InputBaselines() pulumi.ArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) []interface{} { return v.InputBaselines }).(pulumi.ArrayOutput) +} + +// Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) InputTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) *string { return v.InputTensorName }).(pulumi.StringPtrOutput) +} + +// Modality of the feature. Valid values are: numeric, image. Defaults to numeric. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) Modality() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) *string { return v.Modality }).(pulumi.StringPtrOutput) +} + +// Visualization configurations for image explanation. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) Visualization() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadata) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization { + return v.Visualization + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadata)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1ExplanationMetadataInputMetadata { + return vs[0].(map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadata)[vs[1].(string)] + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput) +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain struct { + // The maximum permissible value for this feature. + MaxValue *float64 `pulumi:"maxValue"` + // The minimum permissible value for this feature. + MinValue *float64 `pulumi:"minValue"` + // If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + OriginalMean *float64 `pulumi:"originalMean"` + // If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + OriginalStddev *float64 `pulumi:"originalStddev"` +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainInput is an input type that accepts GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs and GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainInput` via: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs{...} +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs struct { + // The maximum permissible value for this feature. + MaxValue pulumi.Float64PtrInput `pulumi:"maxValue"` + // The minimum permissible value for this feature. + MinValue pulumi.Float64PtrInput `pulumi:"minValue"` + // If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + OriginalMean pulumi.Float64PtrInput `pulumi:"originalMean"` + // If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + OriginalStddev pulumi.Float64PtrInput `pulumi:"originalStddev"` +} + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx) +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput is an input type that accepts GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtr and GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput` via: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs{...} +// +// or: +// +// nil +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput +} + +type googleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrType GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs + +func GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtr(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput { + return (*googleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrType)(v) +} + +func (*googleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain)(nil)).Elem() +} + +func (i *googleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(context.Background()) +} + +func (i *googleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain { + return &v + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) +} + +// The maximum permissible value for this feature. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) MaxValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + return v.MaxValue + }).(pulumi.Float64PtrOutput) +} + +// The minimum permissible value for this feature. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) MinValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + return v.MinValue + }).(pulumi.Float64PtrOutput) +} + +// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) OriginalMean() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + return v.OriginalMean + }).(pulumi.Float64PtrOutput) +} + +// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) OriginalStddev() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + return v.OriginalStddev + }).(pulumi.Float64PtrOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) Elem() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain + return ret + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput) +} + +// The maximum permissible value for this feature. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) MaxValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + if v == nil { + return nil + } + return v.MaxValue + }).(pulumi.Float64PtrOutput) +} + +// The minimum permissible value for this feature. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) MinValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + if v == nil { + return nil + } + return v.MinValue + }).(pulumi.Float64PtrOutput) +} + +// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) OriginalMean() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + if v == nil { + return nil + } + return v.OriginalMean + }).(pulumi.Float64PtrOutput) +} + +// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) OriginalStddev() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + if v == nil { + return nil + } + return v.OriginalStddev + }).(pulumi.Float64PtrOutput) +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse struct { + // The maximum permissible value for this feature. + MaxValue float64 `pulumi:"maxValue"` + // The minimum permissible value for this feature. + MinValue float64 `pulumi:"minValue"` + // If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + OriginalMean float64 `pulumi:"originalMean"` + // If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + OriginalStddev float64 `pulumi:"originalStddev"` +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput { + return o +} + +// The maximum permissible value for this feature. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) MaxValue() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse) float64 { + return v.MaxValue + }).(pulumi.Float64Output) +} + +// The minimum permissible value for this feature. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) MinValue() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse) float64 { + return v.MinValue + }).(pulumi.Float64Output) +} + +// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) OriginalMean() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse) float64 { + return v.OriginalMean + }).(pulumi.Float64Output) +} + +// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) OriginalStddev() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse) float64 { + return v.OriginalStddev + }).(pulumi.Float64Output) +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse struct { + // Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + DenseShapeTensorName string `pulumi:"denseShapeTensorName"` + // A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + EncodedBaselines []interface{} `pulumi:"encodedBaselines"` + // Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + EncodedTensorName string `pulumi:"encodedTensorName"` + // Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + Encoding string `pulumi:"encoding"` + // The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + FeatureValueDomain GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse `pulumi:"featureValueDomain"` + // Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + GroupName string `pulumi:"groupName"` + // A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + IndexFeatureMapping []string `pulumi:"indexFeatureMapping"` + // Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + IndicesTensorName string `pulumi:"indicesTensorName"` + // Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + InputBaselines []interface{} `pulumi:"inputBaselines"` + // Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + InputTensorName string `pulumi:"inputTensorName"` + // Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + Modality string `pulumi:"modality"` + // Visualization configurations for image explanation. + Visualization GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse `pulumi:"visualization"` +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput { + return o +} + +// Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) DenseShapeTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) string { + return v.DenseShapeTensorName + }).(pulumi.StringOutput) +} + +// A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) EncodedBaselines() pulumi.ArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) []interface{} { + return v.EncodedBaselines + }).(pulumi.ArrayOutput) +} + +// Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) EncodedTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) string { + return v.EncodedTensorName + }).(pulumi.StringOutput) +} + +// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) Encoding() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) string { return v.Encoding }).(pulumi.StringOutput) +} + +// The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) FeatureValueDomain() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse { + return v.FeatureValueDomain + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) +} + +// Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) string { return v.GroupName }).(pulumi.StringOutput) +} + +// A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) IndexFeatureMapping() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) []string { + return v.IndexFeatureMapping + }).(pulumi.StringArrayOutput) +} + +// Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) IndicesTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) string { + return v.IndicesTensorName + }).(pulumi.StringOutput) +} + +// Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) InputBaselines() pulumi.ArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) []interface{} { + return v.InputBaselines + }).(pulumi.ArrayOutput) +} + +// Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) InputTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) string { + return v.InputTensorName + }).(pulumi.StringOutput) +} + +// Modality of the feature. Valid values are: numeric, image. Defaults to numeric. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) Modality() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) string { return v.Modality }).(pulumi.StringOutput) +} + +// Visualization configurations for image explanation. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) Visualization() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse { + return v.Visualization + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput) +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization struct { + // Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + ClipPercentLowerbound *float64 `pulumi:"clipPercentLowerbound"` + // Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + ClipPercentUpperbound *float64 `pulumi:"clipPercentUpperbound"` + // The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + ColorMap *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap `pulumi:"colorMap"` + // How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + OverlayType *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType `pulumi:"overlayType"` + // Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + Polarity *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity `pulumi:"polarity"` + // Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + Type *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType `pulumi:"type"` +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationInput is an input type that accepts GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs and GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationInput` via: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs{...} +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs struct { + // Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + ClipPercentLowerbound pulumi.Float64PtrInput `pulumi:"clipPercentLowerbound"` + // Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + ClipPercentUpperbound pulumi.Float64PtrInput `pulumi:"clipPercentUpperbound"` + // The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + ColorMap GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrInput `pulumi:"colorMap"` + // How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + OverlayType GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrInput `pulumi:"overlayType"` + // Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + Polarity GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrInput `pulumi:"polarity"` + // Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + Type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrInput `pulumi:"type"` +} + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput).ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx) +} + +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrInput is an input type that accepts GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs, GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtr and GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrInput` via: +// +// GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs{...} +// +// or: +// +// nil +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput + ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput +} + +type googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrType GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs + +func GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtr(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrInput { + return (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrType)(v) +} + +func (*googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization)(nil)).Elem() +} + +func (i *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(context.Background()) +} + +func (i *googleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrType) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o.ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization { + return &v + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) +} + +// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) ClipPercentLowerbound() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *float64 { + return v.ClipPercentLowerbound + }).(pulumi.Float64PtrOutput) +} + +// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) ClipPercentUpperbound() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *float64 { + return v.ClipPercentUpperbound + }).(pulumi.Float64PtrOutput) +} + +// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) ColorMap() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap { + return v.ColorMap + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) OverlayType() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType { + return v.OverlayType + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) Polarity() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity { + return v.Polarity + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) Type() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType { + return v.Type + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) Elem() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization + return ret + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput) +} + +// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) ClipPercentLowerbound() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *float64 { + if v == nil { + return nil + } + return v.ClipPercentLowerbound + }).(pulumi.Float64PtrOutput) +} + +// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) ClipPercentUpperbound() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *float64 { + if v == nil { + return nil + } + return v.ClipPercentUpperbound + }).(pulumi.Float64PtrOutput) +} + +// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) ColorMap() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap { + if v == nil { + return nil + } + return v.ColorMap + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) OverlayType() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType { + if v == nil { + return nil + } + return v.OverlayType + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) Polarity() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity { + if v == nil { + return nil + } + return v.Polarity + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput) Type() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType { + if v == nil { + return nil + } + return v.Type + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse struct { + // Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + ClipPercentLowerbound float64 `pulumi:"clipPercentLowerbound"` + // Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + ClipPercentUpperbound float64 `pulumi:"clipPercentUpperbound"` + // The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + ColorMap string `pulumi:"colorMap"` + // How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + OverlayType string `pulumi:"overlayType"` + // Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + Polarity string `pulumi:"polarity"` + // Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + Type string `pulumi:"type"` +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) ToGoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput { + return o +} + +// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) ClipPercentLowerbound() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse) float64 { + return v.ClipPercentLowerbound + }).(pulumi.Float64Output) +} + +// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) ClipPercentUpperbound() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse) float64 { + return v.ClipPercentUpperbound + }).(pulumi.Float64Output) +} + +// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) ColorMap() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse) string { + return v.ColorMap + }).(pulumi.StringOutput) +} + +// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) OverlayType() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse) string { + return v.OverlayType + }).(pulumi.StringOutput) +} + +// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) Polarity() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse) string { + return v.Polarity + }).(pulumi.StringOutput) +} + +// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. +func (o GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse) string { + return v.Type + }).(pulumi.StringOutput) +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata struct { + // Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + DisplayNameMappingKey *string `pulumi:"displayNameMappingKey"` + // Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + IndexDisplayNameMapping interface{} `pulumi:"indexDisplayNameMapping"` + // Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + OutputTensorName *string `pulumi:"outputTensorName"` +} + +// GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataInput is an input type that accepts GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs and GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataInput` via: +// +// GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs{...} +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput + ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs struct { + // Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + DisplayNameMappingKey pulumi.StringPtrInput `pulumi:"displayNameMappingKey"` + // Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + IndexDisplayNameMapping pulumi.Input `pulumi:"indexDisplayNameMapping"` + // Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + OutputTensorName pulumi.StringPtrInput `pulumi:"outputTensorName"` +} + +func (GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput) +} + +// GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapInput is an input type that accepts GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMap and GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapInput` via: +// +// GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMap{ "key": GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs{...} } +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput + ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutputWithContext(context.Context) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput +} + +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMap map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataInput + +func (GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMap) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput { + return i.ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMap) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput) +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput { + return o +} + +// Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput) DisplayNameMappingKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata) *string { + return v.DisplayNameMappingKey + }).(pulumi.StringPtrOutput) +} + +// Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput) IndexDisplayNameMapping() pulumi.AnyOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata) interface{} { + return v.IndexDisplayNameMapping + }).(pulumi.AnyOutput) +} + +// Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput) OutputTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata) *string { return v.OutputTensorName }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata { + return vs[0].(map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadata)[vs[1].(string)] + }).(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput) +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse struct { + // Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + DisplayNameMappingKey string `pulumi:"displayNameMappingKey"` + // Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + IndexDisplayNameMapping interface{} `pulumi:"indexDisplayNameMapping"` + // Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + OutputTensorName string `pulumi:"outputTensorName"` +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput { + return o +} + +// Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput) DisplayNameMappingKey() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse) string { + return v.DisplayNameMappingKey + }).(pulumi.StringOutput) +} + +// Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput) IndexDisplayNameMapping() pulumi.AnyOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse) interface{} { + return v.IndexDisplayNameMapping + }).(pulumi.AnyOutput) +} + +// Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput) OutputTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse) string { + return v.OutputTensorName + }).(pulumi.StringOutput) +} + +type GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput) ToGoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput) } // Metadata describing the Model's input and output for explanation. @@ -4613,11 +5856,11 @@ type GoogleCloudAiplatformV1ExplanationMetadataResponse struct { // Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. FeatureAttributionsSchemaUri string `pulumi:"featureAttributionsSchemaUri"` // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. - Inputs map[string]string `pulumi:"inputs"` + Inputs map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse `pulumi:"inputs"` // Name of the source to generate embeddings for example based explanations. LatentSpaceSource string `pulumi:"latentSpaceSource"` // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. - Outputs map[string]string `pulumi:"outputs"` + Outputs map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse `pulumi:"outputs"` } // Metadata describing the Model's input and output for explanation. @@ -4643,8 +5886,10 @@ func (o GoogleCloudAiplatformV1ExplanationMetadataResponseOutput) FeatureAttribu } // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. -func (o GoogleCloudAiplatformV1ExplanationMetadataResponseOutput) Inputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataResponse) map[string]string { return v.Inputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1ExplanationMetadataResponseOutput) Inputs() GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataResponse) map[string]GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse { + return v.Inputs + }).(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput) } // Name of the source to generate embeddings for example based explanations. @@ -4653,8 +5898,10 @@ func (o GoogleCloudAiplatformV1ExplanationMetadataResponseOutput) LatentSpaceSou } // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. -func (o GoogleCloudAiplatformV1ExplanationMetadataResponseOutput) Outputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataResponse) map[string]string { return v.Outputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1ExplanationMetadataResponseOutput) Outputs() GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ExplanationMetadataResponse) map[string]GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse { + return v.Outputs + }).(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput) } // Parameters to configure explaining for Model's predictions. @@ -12556,11 +13803,11 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigExplanationConfigRe // The config for Prediction data drift detection. type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. - AttributionScoreDriftThresholds map[string]string `pulumi:"attributionScoreDriftThresholds"` + AttributionScoreDriftThresholds map[string]GoogleCloudAiplatformV1ThresholdConfig `pulumi:"attributionScoreDriftThresholds"` // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultDriftThreshold *GoogleCloudAiplatformV1ThresholdConfig `pulumi:"defaultDriftThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. - DriftThresholds map[string]string `pulumi:"driftThresholds"` + DriftThresholds map[string]GoogleCloudAiplatformV1ThresholdConfig `pulumi:"driftThresholds"` } // GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigInput is an input type that accepts GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs and GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput values. @@ -12577,11 +13824,11 @@ type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetecti // The config for Prediction data drift detection. type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. - AttributionScoreDriftThresholds pulumi.StringMapInput `pulumi:"attributionScoreDriftThresholds"` + AttributionScoreDriftThresholds GoogleCloudAiplatformV1ThresholdConfigMapInput `pulumi:"attributionScoreDriftThresholds"` // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultDriftThreshold GoogleCloudAiplatformV1ThresholdConfigPtrInput `pulumi:"defaultDriftThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. - DriftThresholds pulumi.StringMapInput `pulumi:"driftThresholds"` + DriftThresholds GoogleCloudAiplatformV1ThresholdConfigMapInput `pulumi:"driftThresholds"` } func (GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs) ElementType() reflect.Type { @@ -12663,10 +13910,10 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDete } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput) AttributionScoreDriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput) AttributionScoreDriftThresholds() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]GoogleCloudAiplatformV1ThresholdConfig { return v.AttributionScoreDriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigMapOutput) } // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -12677,10 +13924,10 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDete } // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput) DriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput) DriftThresholds() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]GoogleCloudAiplatformV1ThresholdConfig { return v.DriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigMapOutput) } type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput struct{ *pulumi.OutputState } @@ -12708,13 +13955,13 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDete } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput) AttributionScoreDriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput) AttributionScoreDriftThresholds() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]GoogleCloudAiplatformV1ThresholdConfig { if v == nil { return nil } return v.AttributionScoreDriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigMapOutput) } // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -12728,23 +13975,23 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDete } // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput) DriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput) DriftThresholds() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]GoogleCloudAiplatformV1ThresholdConfig { if v == nil { return nil } return v.DriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigMapOutput) } // The config for Prediction data drift detection. type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. - AttributionScoreDriftThresholds map[string]string `pulumi:"attributionScoreDriftThresholds"` + AttributionScoreDriftThresholds map[string]GoogleCloudAiplatformV1ThresholdConfigResponse `pulumi:"attributionScoreDriftThresholds"` // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultDriftThreshold GoogleCloudAiplatformV1ThresholdConfigResponse `pulumi:"defaultDriftThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. - DriftThresholds map[string]string `pulumi:"driftThresholds"` + DriftThresholds map[string]GoogleCloudAiplatformV1ThresholdConfigResponse `pulumi:"driftThresholds"` } // The config for Prediction data drift detection. @@ -12763,10 +14010,10 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDete } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponseOutput) AttributionScoreDriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponseOutput) AttributionScoreDriftThresholds() GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse) map[string]GoogleCloudAiplatformV1ThresholdConfigResponse { return v.AttributionScoreDriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput) } // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -12777,10 +14024,10 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDete } // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponseOutput) DriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponseOutput) DriftThresholds() GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse) map[string]GoogleCloudAiplatformV1ThresholdConfigResponse { return v.DriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput) } // The objective configuration for model monitoring, including the information needed to detect anomalies for one particular model. @@ -13159,11 +14406,11 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingDatasetResp // The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. - AttributionScoreSkewThresholds map[string]string `pulumi:"attributionScoreSkewThresholds"` + AttributionScoreSkewThresholds map[string]GoogleCloudAiplatformV1ThresholdConfig `pulumi:"attributionScoreSkewThresholds"` // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultSkewThreshold *GoogleCloudAiplatformV1ThresholdConfig `pulumi:"defaultSkewThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. - SkewThresholds map[string]string `pulumi:"skewThresholds"` + SkewThresholds map[string]GoogleCloudAiplatformV1ThresholdConfig `pulumi:"skewThresholds"` } // GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigInput is an input type that accepts GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs and GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput values. @@ -13180,11 +14427,11 @@ type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkew // The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. - AttributionScoreSkewThresholds pulumi.StringMapInput `pulumi:"attributionScoreSkewThresholds"` + AttributionScoreSkewThresholds GoogleCloudAiplatformV1ThresholdConfigMapInput `pulumi:"attributionScoreSkewThresholds"` // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultSkewThreshold GoogleCloudAiplatformV1ThresholdConfigPtrInput `pulumi:"defaultSkewThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. - SkewThresholds pulumi.StringMapInput `pulumi:"skewThresholds"` + SkewThresholds GoogleCloudAiplatformV1ThresholdConfigMapInput `pulumi:"skewThresholds"` } func (GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs) ElementType() reflect.Type { @@ -13266,10 +14513,10 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionS } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput) AttributionScoreSkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput) AttributionScoreSkewThresholds() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]GoogleCloudAiplatformV1ThresholdConfig { return v.AttributionScoreSkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigMapOutput) } // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -13280,10 +14527,10 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionS } // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput) SkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput) SkewThresholds() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]GoogleCloudAiplatformV1ThresholdConfig { return v.SkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigMapOutput) } type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput struct{ *pulumi.OutputState } @@ -13311,13 +14558,13 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionS } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput) AttributionScoreSkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput) AttributionScoreSkewThresholds() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]GoogleCloudAiplatformV1ThresholdConfig { if v == nil { return nil } return v.AttributionScoreSkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigMapOutput) } // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -13331,23 +14578,23 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionS } // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput) SkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput) SkewThresholds() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]GoogleCloudAiplatformV1ThresholdConfig { if v == nil { return nil } return v.SkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigMapOutput) } // The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. type GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. - AttributionScoreSkewThresholds map[string]string `pulumi:"attributionScoreSkewThresholds"` + AttributionScoreSkewThresholds map[string]GoogleCloudAiplatformV1ThresholdConfigResponse `pulumi:"attributionScoreSkewThresholds"` // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultSkewThreshold GoogleCloudAiplatformV1ThresholdConfigResponse `pulumi:"defaultSkewThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. - SkewThresholds map[string]string `pulumi:"skewThresholds"` + SkewThresholds map[string]GoogleCloudAiplatformV1ThresholdConfigResponse `pulumi:"skewThresholds"` } // The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. @@ -13366,10 +14613,10 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionS } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponseOutput) AttributionScoreSkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponseOutput) AttributionScoreSkewThresholds() GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse) map[string]GoogleCloudAiplatformV1ThresholdConfigResponse { return v.AttributionScoreSkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput) } // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -13380,10 +14627,10 @@ func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionS } // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponseOutput) SkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponseOutput) SkewThresholds() GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse) map[string]GoogleCloudAiplatformV1ThresholdConfigResponse { return v.SkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput) } // Contains information about the original Model if this Model is a copy. @@ -15844,7 +17091,7 @@ type GoogleCloudAiplatformV1PipelineJob struct { // The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. Network *string `pulumi:"network"` // The spec of the pipeline. - PipelineSpec map[string]string `pulumi:"pipelineSpec"` + PipelineSpec map[string]interface{} `pulumi:"pipelineSpec"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges []string `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -15877,7 +17124,7 @@ type GoogleCloudAiplatformV1PipelineJobArgs struct { // The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. Network pulumi.StringPtrInput `pulumi:"network"` // The spec of the pipeline. - PipelineSpec pulumi.StringMapInput `pulumi:"pipelineSpec"` + PipelineSpec pulumi.MapInput `pulumi:"pipelineSpec"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges pulumi.StringArrayInput `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -15989,8 +17236,8 @@ func (o GoogleCloudAiplatformV1PipelineJobOutput) Network() pulumi.StringPtrOutp } // The spec of the pipeline. -func (o GoogleCloudAiplatformV1PipelineJobOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJob) map[string]string { return v.PipelineSpec }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1PipelineJobOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJob) map[string]interface{} { return v.PipelineSpec }).(pulumi.MapOutput) } // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. @@ -16080,13 +17327,13 @@ func (o GoogleCloudAiplatformV1PipelineJobPtrOutput) Network() pulumi.StringPtrO } // The spec of the pipeline. -func (o GoogleCloudAiplatformV1PipelineJobPtrOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1PipelineJob) map[string]string { +func (o GoogleCloudAiplatformV1PipelineJobPtrOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1PipelineJob) map[string]interface{} { if v == nil { return nil } return v.PipelineSpec - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. @@ -16196,7 +17443,7 @@ type GoogleCloudAiplatformV1PipelineJobResponse struct { // The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. Network string `pulumi:"network"` // The spec of the pipeline. - PipelineSpec map[string]string `pulumi:"pipelineSpec"` + PipelineSpec map[string]interface{} `pulumi:"pipelineSpec"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges []string `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -16282,8 +17529,8 @@ func (o GoogleCloudAiplatformV1PipelineJobResponseOutput) Network() pulumi.Strin } // The spec of the pipeline. -func (o GoogleCloudAiplatformV1PipelineJobResponseOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobResponse) map[string]string { return v.PipelineSpec }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1PipelineJobResponseOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobResponse) map[string]interface{} { return v.PipelineSpec }).(pulumi.MapOutput) } // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. @@ -16342,13 +17589,13 @@ type GoogleCloudAiplatformV1PipelineJobRuntimeConfig struct { // A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. GcsOutputDirectory string `pulumi:"gcsOutputDirectory"` // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - InputArtifacts map[string]string `pulumi:"inputArtifacts"` + InputArtifacts map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact `pulumi:"inputArtifacts"` // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - ParameterValues map[string]string `pulumi:"parameterValues"` + ParameterValues map[string]interface{} `pulumi:"parameterValues"` // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]GoogleCloudAiplatformV1Value `pulumi:"parameters"` } // GoogleCloudAiplatformV1PipelineJobRuntimeConfigInput is an input type that accepts GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs and GoogleCloudAiplatformV1PipelineJobRuntimeConfigOutput values. @@ -16369,13 +17616,13 @@ type GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs struct { // A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. GcsOutputDirectory pulumi.StringInput `pulumi:"gcsOutputDirectory"` // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - InputArtifacts pulumi.StringMapInput `pulumi:"inputArtifacts"` + InputArtifacts GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapInput `pulumi:"inputArtifacts"` // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - ParameterValues pulumi.StringMapInput `pulumi:"parameterValues"` + ParameterValues pulumi.MapInput `pulumi:"parameterValues"` // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. - Parameters pulumi.StringMapInput `pulumi:"parameters"` + Parameters GoogleCloudAiplatformV1ValueMapInput `pulumi:"parameters"` } func (GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs) ElementType() reflect.Type { @@ -16469,20 +17716,26 @@ func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigOutput) GcsOutputDirector } // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. -func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigOutput) InputArtifacts() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]string { return v.InputArtifacts }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigOutput) InputArtifacts() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact { + return v.InputArtifacts + }).(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput) } // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. -func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigOutput) ParameterValues() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]string { return v.ParameterValues }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigOutput) ParameterValues() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]interface{} { + return v.ParameterValues + }).(pulumi.MapOutput) } // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. -func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigOutput) Parameters() GoogleCloudAiplatformV1ValueMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]GoogleCloudAiplatformV1Value { + return v.Parameters + }).(GoogleCloudAiplatformV1ValueMapOutput) } type GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrOutput struct{ *pulumi.OutputState } @@ -16530,35 +17783,183 @@ func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrOutput) GcsOutputDirec } // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. -func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrOutput) InputArtifacts() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]string { +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrOutput) InputArtifacts() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact { if v == nil { return nil } return v.InputArtifacts - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput) } // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. -func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrOutput) ParameterValues() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]string { +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrOutput) ParameterValues() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]interface{} { if v == nil { return nil } return v.ParameterValues - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. -func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]string { +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrOutput) Parameters() GoogleCloudAiplatformV1ValueMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1PipelineJobRuntimeConfig) map[string]GoogleCloudAiplatformV1Value { if v == nil { return nil } return v.Parameters - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1ValueMapOutput) +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact struct { + // Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + ArtifactId *string `pulumi:"artifactId"` +} + +// GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactInput is an input type that accepts GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs and GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactInput` via: +// +// GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs{...} +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput + ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutputWithContext(context.Context) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs struct { + // Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + ArtifactId pulumi.StringPtrInput `pulumi:"artifactId"` +} + +func (GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput { + return i.ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput) +} + +// GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapInput is an input type that accepts GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMap and GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapInput` via: +// +// GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMap{ "key": GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs{...} } +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput + ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutputWithContext(context.Context) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput +} + +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMap map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactInput + +func (GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMap) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput { + return i.ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMap) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput) +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput { + return o +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput { + return o +} + +// Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput) ArtifactId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact) *string { return v.ArtifactId }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact { + return vs[0].(map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifact)[vs[1].(string)] + }).(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput) +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse struct { + // Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + ArtifactId string `pulumi:"artifactId"` +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput { + return o +} + +// Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput) ArtifactId() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse) string { + return v.ArtifactId + }).(pulumi.StringOutput) +} + +type GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) ToGoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput) } // The runtime config of a PipelineJob. @@ -16568,13 +17969,13 @@ type GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse struct { // A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. GcsOutputDirectory string `pulumi:"gcsOutputDirectory"` // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - InputArtifacts map[string]string `pulumi:"inputArtifacts"` + InputArtifacts map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse `pulumi:"inputArtifacts"` // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - ParameterValues map[string]string `pulumi:"parameterValues"` + ParameterValues map[string]interface{} `pulumi:"parameterValues"` // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]GoogleCloudAiplatformV1ValueResponse `pulumi:"parameters"` } // The runtime config of a PipelineJob. @@ -16603,24 +18004,74 @@ func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponseOutput) GcsOutput } // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. -func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponseOutput) InputArtifacts() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponseOutput) InputArtifacts() GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse) map[string]GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse { return v.InputArtifacts - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) } // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. -func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponseOutput) ParameterValues() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponseOutput) ParameterValues() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse) map[string]interface{} { return v.ParameterValues - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. -func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponseOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponseOutput) Parameters() GoogleCloudAiplatformV1ValueResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse) map[string]GoogleCloudAiplatformV1ValueResponse { + return v.Parameters + }).(GoogleCloudAiplatformV1ValueResponseMapOutput) +} + +// A list of artifact metadata. +type GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse struct { + // A list of artifact metadata. + Artifacts []GoogleCloudAiplatformV1ArtifactResponse `pulumi:"artifacts"` +} + +// A list of artifact metadata. +type GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput) ToGoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput() GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput) ToGoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput { + return o +} + +// A list of artifact metadata. +func (o GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput) Artifacts() GoogleCloudAiplatformV1ArtifactResponseArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse) []GoogleCloudAiplatformV1ArtifactResponse { + return v.Artifacts + }).(GoogleCloudAiplatformV1ArtifactResponseArrayOutput) +} + +type GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput) ToGoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput() GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput) ToGoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput) } // A single record of the task status. @@ -16700,9 +18151,9 @@ type GoogleCloudAiplatformV1PipelineTaskDetailResponse struct { // The detailed execution info. ExecutorDetail GoogleCloudAiplatformV1PipelineTaskExecutorDetailResponse `pulumi:"executorDetail"` // The runtime input artifacts of the task. - Inputs map[string]string `pulumi:"inputs"` + Inputs map[string]GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse `pulumi:"inputs"` // The runtime output artifacts of the task. - Outputs map[string]string `pulumi:"outputs"` + Outputs map[string]GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse `pulumi:"outputs"` // The id of the parent task if the task is within a component scope. Empty if the task is at the root level. ParentTaskId string `pulumi:"parentTaskId"` // A list of task status. This field keeps a record of task status evolving over time. @@ -16762,13 +18213,17 @@ func (o GoogleCloudAiplatformV1PipelineTaskDetailResponseOutput) ExecutorDetail( } // The runtime input artifacts of the task. -func (o GoogleCloudAiplatformV1PipelineTaskDetailResponseOutput) Inputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineTaskDetailResponse) map[string]string { return v.Inputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1PipelineTaskDetailResponseOutput) Inputs() GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineTaskDetailResponse) map[string]GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse { + return v.Inputs + }).(GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput) } // The runtime output artifacts of the task. -func (o GoogleCloudAiplatformV1PipelineTaskDetailResponseOutput) Outputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineTaskDetailResponse) map[string]string { return v.Outputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1PipelineTaskDetailResponseOutput) Outputs() GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1PipelineTaskDetailResponse) map[string]GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse { + return v.Outputs + }).(GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput) } // The id of the parent task if the task is within a component scope. Empty if the task is at the root level. @@ -24267,6 +25722,31 @@ func (i *googleCloudAiplatformV1ThresholdConfigPtrType) ToGoogleCloudAiplatformV return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ThresholdConfigPtrOutput) } +// GoogleCloudAiplatformV1ThresholdConfigMapInput is an input type that accepts GoogleCloudAiplatformV1ThresholdConfigMap and GoogleCloudAiplatformV1ThresholdConfigMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ThresholdConfigMapInput` via: +// +// GoogleCloudAiplatformV1ThresholdConfigMap{ "key": GoogleCloudAiplatformV1ThresholdConfigArgs{...} } +type GoogleCloudAiplatformV1ThresholdConfigMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ThresholdConfigMapOutput() GoogleCloudAiplatformV1ThresholdConfigMapOutput + ToGoogleCloudAiplatformV1ThresholdConfigMapOutputWithContext(context.Context) GoogleCloudAiplatformV1ThresholdConfigMapOutput +} + +type GoogleCloudAiplatformV1ThresholdConfigMap map[string]GoogleCloudAiplatformV1ThresholdConfigInput + +func (GoogleCloudAiplatformV1ThresholdConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ThresholdConfig)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1ThresholdConfigMap) ToGoogleCloudAiplatformV1ThresholdConfigMapOutput() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return i.ToGoogleCloudAiplatformV1ThresholdConfigMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ThresholdConfigMap) ToGoogleCloudAiplatformV1ThresholdConfigMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ThresholdConfigMapOutput) +} + // The config for feature monitoring threshold. type GoogleCloudAiplatformV1ThresholdConfigOutput struct{ *pulumi.OutputState } @@ -24331,6 +25811,26 @@ func (o GoogleCloudAiplatformV1ThresholdConfigPtrOutput) Value() pulumi.Float64P }).(pulumi.Float64PtrOutput) } +type GoogleCloudAiplatformV1ThresholdConfigMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ThresholdConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ThresholdConfig)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ThresholdConfigMapOutput) ToGoogleCloudAiplatformV1ThresholdConfigMapOutput() GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ThresholdConfigMapOutput) ToGoogleCloudAiplatformV1ThresholdConfigMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ThresholdConfigMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ThresholdConfigMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1ThresholdConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1ThresholdConfig { + return vs[0].(map[string]GoogleCloudAiplatformV1ThresholdConfig)[vs[1].(string)] + }).(GoogleCloudAiplatformV1ThresholdConfigOutput) +} + // The config for feature monitoring threshold. type GoogleCloudAiplatformV1ThresholdConfigResponse struct { // Specify a threshold value that can trigger the alert. If this threshold config is for feature distribution distance: 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature. @@ -24357,6 +25857,26 @@ func (o GoogleCloudAiplatformV1ThresholdConfigResponseOutput) Value() pulumi.Flo return o.ApplyT(func(v GoogleCloudAiplatformV1ThresholdConfigResponse) float64 { return v.Value }).(pulumi.Float64Output) } +type GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ThresholdConfigResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput) ToGoogleCloudAiplatformV1ThresholdConfigResponseMapOutput() GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput) ToGoogleCloudAiplatformV1ThresholdConfigResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1ThresholdConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1ThresholdConfigResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1ThresholdConfigResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1ThresholdConfigResponseOutput) +} + // Assigns input data to training, validation, and test sets based on a provided timestamps. The youngest data pieces are assigned to training set, next to validation set, and the oldest to the test set. Supported only for tabular Datasets. type GoogleCloudAiplatformV1TimestampSplit struct { // The key is a name of one of the Dataset's data columns. The values of the key (the values in the column) must be in RFC 3339 `date-time` format, where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z). If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline. @@ -25168,6 +26688,184 @@ func (o GoogleCloudAiplatformV1UnmanagedContainerModelResponseOutput) PredictSch }).(GoogleCloudAiplatformV1PredictSchemataResponseOutput) } +// Value is the value of the field. +type GoogleCloudAiplatformV1Value struct { + // A double value. + DoubleValue *float64 `pulumi:"doubleValue"` + // An integer value. + IntValue *string `pulumi:"intValue"` + // A string value. + StringValue *string `pulumi:"stringValue"` +} + +// GoogleCloudAiplatformV1ValueInput is an input type that accepts GoogleCloudAiplatformV1ValueArgs and GoogleCloudAiplatformV1ValueOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ValueInput` via: +// +// GoogleCloudAiplatformV1ValueArgs{...} +type GoogleCloudAiplatformV1ValueInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ValueOutput() GoogleCloudAiplatformV1ValueOutput + ToGoogleCloudAiplatformV1ValueOutputWithContext(context.Context) GoogleCloudAiplatformV1ValueOutput +} + +// Value is the value of the field. +type GoogleCloudAiplatformV1ValueArgs struct { + // A double value. + DoubleValue pulumi.Float64PtrInput `pulumi:"doubleValue"` + // An integer value. + IntValue pulumi.StringPtrInput `pulumi:"intValue"` + // A string value. + StringValue pulumi.StringPtrInput `pulumi:"stringValue"` +} + +func (GoogleCloudAiplatformV1ValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1Value)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1ValueArgs) ToGoogleCloudAiplatformV1ValueOutput() GoogleCloudAiplatformV1ValueOutput { + return i.ToGoogleCloudAiplatformV1ValueOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ValueArgs) ToGoogleCloudAiplatformV1ValueOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ValueOutput) +} + +// GoogleCloudAiplatformV1ValueMapInput is an input type that accepts GoogleCloudAiplatformV1ValueMap and GoogleCloudAiplatformV1ValueMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1ValueMapInput` via: +// +// GoogleCloudAiplatformV1ValueMap{ "key": GoogleCloudAiplatformV1ValueArgs{...} } +type GoogleCloudAiplatformV1ValueMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1ValueMapOutput() GoogleCloudAiplatformV1ValueMapOutput + ToGoogleCloudAiplatformV1ValueMapOutputWithContext(context.Context) GoogleCloudAiplatformV1ValueMapOutput +} + +type GoogleCloudAiplatformV1ValueMap map[string]GoogleCloudAiplatformV1ValueInput + +func (GoogleCloudAiplatformV1ValueMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1Value)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1ValueMap) ToGoogleCloudAiplatformV1ValueMapOutput() GoogleCloudAiplatformV1ValueMapOutput { + return i.ToGoogleCloudAiplatformV1ValueMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1ValueMap) ToGoogleCloudAiplatformV1ValueMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ValueMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1ValueMapOutput) +} + +// Value is the value of the field. +type GoogleCloudAiplatformV1ValueOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1Value)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ValueOutput) ToGoogleCloudAiplatformV1ValueOutput() GoogleCloudAiplatformV1ValueOutput { + return o +} + +func (o GoogleCloudAiplatformV1ValueOutput) ToGoogleCloudAiplatformV1ValueOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ValueOutput { + return o +} + +// A double value. +func (o GoogleCloudAiplatformV1ValueOutput) DoubleValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1Value) *float64 { return v.DoubleValue }).(pulumi.Float64PtrOutput) +} + +// An integer value. +func (o GoogleCloudAiplatformV1ValueOutput) IntValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1Value) *string { return v.IntValue }).(pulumi.StringPtrOutput) +} + +// A string value. +func (o GoogleCloudAiplatformV1ValueOutput) StringValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1Value) *string { return v.StringValue }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1ValueMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ValueMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1Value)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ValueMapOutput) ToGoogleCloudAiplatformV1ValueMapOutput() GoogleCloudAiplatformV1ValueMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ValueMapOutput) ToGoogleCloudAiplatformV1ValueMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ValueMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ValueMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1ValueOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1Value { + return vs[0].(map[string]GoogleCloudAiplatformV1Value)[vs[1].(string)] + }).(GoogleCloudAiplatformV1ValueOutput) +} + +// Value is the value of the field. +type GoogleCloudAiplatformV1ValueResponse struct { + // A double value. + DoubleValue float64 `pulumi:"doubleValue"` + // An integer value. + IntValue string `pulumi:"intValue"` + // A string value. + StringValue string `pulumi:"stringValue"` +} + +// Value is the value of the field. +type GoogleCloudAiplatformV1ValueResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ValueResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1ValueResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ValueResponseOutput) ToGoogleCloudAiplatformV1ValueResponseOutput() GoogleCloudAiplatformV1ValueResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1ValueResponseOutput) ToGoogleCloudAiplatformV1ValueResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ValueResponseOutput { + return o +} + +// A double value. +func (o GoogleCloudAiplatformV1ValueResponseOutput) DoubleValue() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1ValueResponse) float64 { return v.DoubleValue }).(pulumi.Float64Output) +} + +// An integer value. +func (o GoogleCloudAiplatformV1ValueResponseOutput) IntValue() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ValueResponse) string { return v.IntValue }).(pulumi.StringOutput) +} + +// A string value. +func (o GoogleCloudAiplatformV1ValueResponseOutput) StringValue() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1ValueResponse) string { return v.StringValue }).(pulumi.StringOutput) +} + +type GoogleCloudAiplatformV1ValueResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1ValueResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1ValueResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1ValueResponseMapOutput) ToGoogleCloudAiplatformV1ValueResponseMapOutput() GoogleCloudAiplatformV1ValueResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ValueResponseMapOutput) ToGoogleCloudAiplatformV1ValueResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1ValueResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1ValueResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1ValueResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1ValueResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1ValueResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1ValueResponseOutput) +} + // Represents the spec of a worker pool in a job. type GoogleCloudAiplatformV1WorkerPoolSpec struct { // The custom container task. @@ -25819,7 +27517,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -25845,8 +27543,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -26194,6 +27892,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExamplesExampleGcsSourcePtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExamplesExampleGcsSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationParametersInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationParametersPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ExplanationSpecInput)(nil)).Elem(), GoogleCloudAiplatformV1ExplanationSpecArgs{}) @@ -26290,6 +27996,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1PipelineJobPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1PipelineJobArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1PipelineJobRuntimeConfigInput)(nil)).Elem(), GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactInput)(nil)).Elem(), GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapInput)(nil)).Elem(), GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1PortInput)(nil)).Elem(), GoogleCloudAiplatformV1PortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1PortArrayInput)(nil)).Elem(), GoogleCloudAiplatformV1PortArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1PredefinedSplitInput)(nil)).Elem(), GoogleCloudAiplatformV1PredefinedSplitArgs{}) @@ -26359,12 +28067,15 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1StudyTimeConstraintPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1StudyTimeConstraintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ThresholdConfigInput)(nil)).Elem(), GoogleCloudAiplatformV1ThresholdConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ThresholdConfigPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1ThresholdConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ThresholdConfigMapInput)(nil)).Elem(), GoogleCloudAiplatformV1ThresholdConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1TimestampSplitInput)(nil)).Elem(), GoogleCloudAiplatformV1TimestampSplitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1TimestampSplitPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1TimestampSplitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1TrainingConfigInput)(nil)).Elem(), GoogleCloudAiplatformV1TrainingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1TrainingConfigPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1TrainingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1UnmanagedContainerModelInput)(nil)).Elem(), GoogleCloudAiplatformV1UnmanagedContainerModelArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1UnmanagedContainerModelPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1UnmanagedContainerModelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ValueInput)(nil)).Elem(), GoogleCloudAiplatformV1ValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1ValueMapInput)(nil)).Elem(), GoogleCloudAiplatformV1ValueMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1WorkerPoolSpecInput)(nil)).Elem(), GoogleCloudAiplatformV1WorkerPoolSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1WorkerPoolSpecArrayInput)(nil)).Elem(), GoogleCloudAiplatformV1WorkerPoolSpecArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1XraiAttributionInput)(nil)).Elem(), GoogleCloudAiplatformV1XraiAttributionArgs{}) @@ -26376,6 +28087,8 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1ActiveLearningConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ActiveLearningConfigPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ActiveLearningConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ArtifactResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ArtifactResponseArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1AutomaticResourcesResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1AutoscalingMetricSpecOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1AutoscalingMetricSpecArrayOutput{}) @@ -26443,6 +28156,20 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExecutionResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponseMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationMetadataResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationParametersOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ExplanationParametersPtrOutput{}) @@ -26614,7 +28341,13 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineJobResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineJobRuntimeConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineJobRuntimeConfigPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatusResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatusResponseArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1PipelineTaskDetailResponseOutput{}) @@ -26735,7 +28468,9 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1TensorboardTimeSeriesMetadataResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ThresholdConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ThresholdConfigPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ThresholdConfigMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1ThresholdConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ThresholdConfigResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1TimestampSplitOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1TimestampSplitPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1TimestampSplitResponseOutput{}) @@ -26749,6 +28484,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1UnmanagedContainerModelOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1UnmanagedContainerModelPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1UnmanagedContainerModelResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ValueOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ValueMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ValueResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1ValueResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1WorkerPoolSpecOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1WorkerPoolSpecArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1WorkerPoolSpecResponseOutput{}) diff --git a/sdk/go/google/aiplatform/v1beta1/artifact.go b/sdk/go/google/aiplatform/v1beta1/artifact.go index 801a018ccf..c39b88913a 100644 --- a/sdk/go/google/aiplatform/v1beta1/artifact.go +++ b/sdk/go/google/aiplatform/v1beta1/artifact.go @@ -31,8 +31,8 @@ type Artifact struct { Labels pulumi.StringMapOutput `pulumi:"labels"` Location pulumi.StringOutput `pulumi:"location"` // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapOutput `pulumi:"metadata"` - MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` + Metadata pulumi.MapOutput `pulumi:"metadata"` + MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` // The resource name of the Artifact. Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` @@ -109,9 +109,9 @@ type artifactArgs struct { Labels map[string]string `pulumi:"labels"` Location *string `pulumi:"location"` // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` - MetadataStoreId string `pulumi:"metadataStoreId"` - Project *string `pulumi:"project"` + Metadata map[string]interface{} `pulumi:"metadata"` + MetadataStoreId string `pulumi:"metadataStoreId"` + Project *string `pulumi:"project"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. SchemaTitle *string `pulumi:"schemaTitle"` // The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -136,7 +136,7 @@ type ArtifactArgs struct { Labels pulumi.StringMapInput Location pulumi.StringPtrInput // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapInput + Metadata pulumi.MapInput MetadataStoreId pulumi.StringInput Project pulumi.StringPtrInput // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -221,8 +221,8 @@ func (o ArtifactOutput) Location() pulumi.StringOutput { } // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o ArtifactOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *Artifact) pulumi.StringMapOutput { return v.Metadata }).(pulumi.StringMapOutput) +func (o ArtifactOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *Artifact) pulumi.MapOutput { return v.Metadata }).(pulumi.MapOutput) } func (o ArtifactOutput) MetadataStoreId() pulumi.StringOutput { diff --git a/sdk/go/google/aiplatform/v1beta1/context.go b/sdk/go/google/aiplatform/v1beta1/context.go index 4e86f29285..91e3645a21 100644 --- a/sdk/go/google/aiplatform/v1beta1/context.go +++ b/sdk/go/google/aiplatform/v1beta1/context.go @@ -30,8 +30,8 @@ type Context struct { Labels pulumi.StringMapOutput `pulumi:"labels"` Location pulumi.StringOutput `pulumi:"location"` // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapOutput `pulumi:"metadata"` - MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` + Metadata pulumi.MapOutput `pulumi:"metadata"` + MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` // Immutable. The resource name of the Context. Name pulumi.StringOutput `pulumi:"name"` // A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts. @@ -106,8 +106,8 @@ type contextArgs struct { Labels map[string]string `pulumi:"labels"` Location *string `pulumi:"location"` // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` - MetadataStoreId string `pulumi:"metadataStoreId"` + Metadata map[string]interface{} `pulumi:"metadata"` + MetadataStoreId string `pulumi:"metadataStoreId"` // Immutable. The resource name of the Context. Name *string `pulumi:"name"` Project *string `pulumi:"project"` @@ -131,7 +131,7 @@ type ContextArgs struct { Labels pulumi.StringMapInput Location pulumi.StringPtrInput // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapInput + Metadata pulumi.MapInput MetadataStoreId pulumi.StringInput // Immutable. The resource name of the Context. Name pulumi.StringPtrInput @@ -214,8 +214,8 @@ func (o ContextOutput) Location() pulumi.StringOutput { } // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o ContextOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *Context) pulumi.StringMapOutput { return v.Metadata }).(pulumi.StringMapOutput) +func (o ContextOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *Context) pulumi.MapOutput { return v.Metadata }).(pulumi.MapOutput) } func (o ContextOutput) MetadataStoreId() pulumi.StringOutput { diff --git a/sdk/go/google/aiplatform/v1beta1/endpoint.go b/sdk/go/google/aiplatform/v1beta1/endpoint.go index 3b58a837e3..b873d7f3df 100644 --- a/sdk/go/google/aiplatform/v1beta1/endpoint.go +++ b/sdk/go/google/aiplatform/v1beta1/endpoint.go @@ -48,7 +48,7 @@ type Endpoint struct { PredictRequestResponseLoggingConfig GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfigResponseOutput `pulumi:"predictRequestResponseLoggingConfig"` Project pulumi.StringOutput `pulumi:"project"` // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. - TrafficSplit pulumi.StringMapOutput `pulumi:"trafficSplit"` + TrafficSplit pulumi.IntMapOutput `pulumi:"trafficSplit"` // Timestamp when this Endpoint was last updated. UpdateTime pulumi.StringOutput `pulumi:"updateTime"` } @@ -124,7 +124,7 @@ type endpointArgs struct { PredictRequestResponseLoggingConfig *GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfig `pulumi:"predictRequestResponseLoggingConfig"` Project *string `pulumi:"project"` // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. - TrafficSplit map[string]string `pulumi:"trafficSplit"` + TrafficSplit map[string]int `pulumi:"trafficSplit"` } // The set of arguments for constructing a Endpoint resource. @@ -152,7 +152,7 @@ type EndpointArgs struct { PredictRequestResponseLoggingConfig GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfigPtrInput Project pulumi.StringPtrInput // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. - TrafficSplit pulumi.StringMapInput + TrafficSplit pulumi.IntMapInput } func (EndpointArgs) ElementType() reflect.Type { @@ -272,8 +272,8 @@ func (o EndpointOutput) Project() pulumi.StringOutput { } // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. -func (o EndpointOutput) TrafficSplit() pulumi.StringMapOutput { - return o.ApplyT(func(v *Endpoint) pulumi.StringMapOutput { return v.TrafficSplit }).(pulumi.StringMapOutput) +func (o EndpointOutput) TrafficSplit() pulumi.IntMapOutput { + return o.ApplyT(func(v *Endpoint) pulumi.IntMapOutput { return v.TrafficSplit }).(pulumi.IntMapOutput) } // Timestamp when this Endpoint was last updated. diff --git a/sdk/go/google/aiplatform/v1beta1/execution.go b/sdk/go/google/aiplatform/v1beta1/execution.go index 67fa4cadba..3d46f67345 100644 --- a/sdk/go/google/aiplatform/v1beta1/execution.go +++ b/sdk/go/google/aiplatform/v1beta1/execution.go @@ -31,8 +31,8 @@ type Execution struct { Labels pulumi.StringMapOutput `pulumi:"labels"` Location pulumi.StringOutput `pulumi:"location"` // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapOutput `pulumi:"metadata"` - MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` + Metadata pulumi.MapOutput `pulumi:"metadata"` + MetadataStoreId pulumi.StringOutput `pulumi:"metadataStoreId"` // The resource name of the Execution. Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` @@ -107,9 +107,9 @@ type executionArgs struct { Labels map[string]string `pulumi:"labels"` Location *string `pulumi:"location"` // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` - MetadataStoreId string `pulumi:"metadataStoreId"` - Project *string `pulumi:"project"` + Metadata map[string]interface{} `pulumi:"metadata"` + MetadataStoreId string `pulumi:"metadataStoreId"` + Project *string `pulumi:"project"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. SchemaTitle *string `pulumi:"schemaTitle"` // The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -132,7 +132,7 @@ type ExecutionArgs struct { Labels pulumi.StringMapInput Location pulumi.StringPtrInput // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata pulumi.StringMapInput + Metadata pulumi.MapInput MetadataStoreId pulumi.StringInput Project pulumi.StringPtrInput // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -215,8 +215,8 @@ func (o ExecutionOutput) Location() pulumi.StringOutput { } // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o ExecutionOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *Execution) pulumi.StringMapOutput { return v.Metadata }).(pulumi.StringMapOutput) +func (o ExecutionOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *Execution) pulumi.MapOutput { return v.Metadata }).(pulumi.MapOutput) } func (o ExecutionOutput) MetadataStoreId() pulumi.StringOutput { diff --git a/sdk/go/google/aiplatform/v1beta1/getArtifact.go b/sdk/go/google/aiplatform/v1beta1/getArtifact.go index d7cd1523b0..277c57cfe9 100644 --- a/sdk/go/google/aiplatform/v1beta1/getArtifact.go +++ b/sdk/go/google/aiplatform/v1beta1/getArtifact.go @@ -41,7 +41,7 @@ type LookupArtifactResult struct { // The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // The resource name of the Artifact. Name string `pulumi:"name"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -120,8 +120,8 @@ func (o LookupArtifactResultOutput) Labels() pulumi.StringMapOutput { } // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o LookupArtifactResultOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupArtifactResult) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o LookupArtifactResultOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupArtifactResult) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // The resource name of the Artifact. diff --git a/sdk/go/google/aiplatform/v1beta1/getContext.go b/sdk/go/google/aiplatform/v1beta1/getContext.go index 41ecaa0022..d1f2b518c6 100644 --- a/sdk/go/google/aiplatform/v1beta1/getContext.go +++ b/sdk/go/google/aiplatform/v1beta1/getContext.go @@ -41,7 +41,7 @@ type LookupContextResult struct { // The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // Immutable. The resource name of the Context. Name string `pulumi:"name"` // A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts. @@ -118,8 +118,8 @@ func (o LookupContextResultOutput) Labels() pulumi.StringMapOutput { } // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o LookupContextResultOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupContextResult) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o LookupContextResultOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupContextResult) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // Immutable. The resource name of the Context. diff --git a/sdk/go/google/aiplatform/v1beta1/getEndpoint.go b/sdk/go/google/aiplatform/v1beta1/getEndpoint.go index 66d838d7d8..4326aa083d 100644 --- a/sdk/go/google/aiplatform/v1beta1/getEndpoint.go +++ b/sdk/go/google/aiplatform/v1beta1/getEndpoint.go @@ -56,7 +56,7 @@ type LookupEndpointResult struct { // Configures the request-response logging for online prediction. PredictRequestResponseLoggingConfig GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfigResponse `pulumi:"predictRequestResponseLoggingConfig"` // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. - TrafficSplit map[string]string `pulumi:"trafficSplit"` + TrafficSplit map[string]int `pulumi:"trafficSplit"` // Timestamp when this Endpoint was last updated. UpdateTime string `pulumi:"updateTime"` } @@ -167,8 +167,8 @@ func (o LookupEndpointResultOutput) PredictRequestResponseLoggingConfig() Google } // A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. -func (o LookupEndpointResultOutput) TrafficSplit() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupEndpointResult) map[string]string { return v.TrafficSplit }).(pulumi.StringMapOutput) +func (o LookupEndpointResultOutput) TrafficSplit() pulumi.IntMapOutput { + return o.ApplyT(func(v LookupEndpointResult) map[string]int { return v.TrafficSplit }).(pulumi.IntMapOutput) } // Timestamp when this Endpoint was last updated. diff --git a/sdk/go/google/aiplatform/v1beta1/getExecution.go b/sdk/go/google/aiplatform/v1beta1/getExecution.go index 0466cf6363..0e03f587ac 100644 --- a/sdk/go/google/aiplatform/v1beta1/getExecution.go +++ b/sdk/go/google/aiplatform/v1beta1/getExecution.go @@ -41,7 +41,7 @@ type LookupExecutionResult struct { // The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // The resource name of the Execution. Name string `pulumi:"name"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -118,8 +118,8 @@ func (o LookupExecutionResultOutput) Labels() pulumi.StringMapOutput { } // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o LookupExecutionResultOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupExecutionResult) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o LookupExecutionResultOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupExecutionResult) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // The resource name of the Execution. diff --git a/sdk/go/google/aiplatform/v1beta1/getPipelineJob.go b/sdk/go/google/aiplatform/v1beta1/getPipelineJob.go index 1b7b8dcc7a..b8dcb13f1e 100644 --- a/sdk/go/google/aiplatform/v1beta1/getPipelineJob.go +++ b/sdk/go/google/aiplatform/v1beta1/getPipelineJob.go @@ -48,7 +48,7 @@ type LookupPipelineJobResult struct { // The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. Network string `pulumi:"network"` // The spec of the pipeline. - PipelineSpec map[string]string `pulumi:"pipelineSpec"` + PipelineSpec map[string]interface{} `pulumi:"pipelineSpec"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges []string `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -156,8 +156,8 @@ func (o LookupPipelineJobResultOutput) Network() pulumi.StringOutput { } // The spec of the pipeline. -func (o LookupPipelineJobResultOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupPipelineJobResult) map[string]string { return v.PipelineSpec }).(pulumi.StringMapOutput) +func (o LookupPipelineJobResultOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v LookupPipelineJobResult) map[string]interface{} { return v.PipelineSpec }).(pulumi.MapOutput) } // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. diff --git a/sdk/go/google/aiplatform/v1beta1/pipelineJob.go b/sdk/go/google/aiplatform/v1beta1/pipelineJob.go index 295c7dd8e3..aeecb80ce9 100644 --- a/sdk/go/google/aiplatform/v1beta1/pipelineJob.go +++ b/sdk/go/google/aiplatform/v1beta1/pipelineJob.go @@ -38,8 +38,8 @@ type PipelineJob struct { // The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. PipelineJobId pulumi.StringPtrOutput `pulumi:"pipelineJobId"` // The spec of the pipeline. - PipelineSpec pulumi.StringMapOutput `pulumi:"pipelineSpec"` - Project pulumi.StringOutput `pulumi:"project"` + PipelineSpec pulumi.MapOutput `pulumi:"pipelineSpec"` + Project pulumi.StringOutput `pulumi:"project"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges pulumi.StringArrayOutput `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -117,8 +117,8 @@ type pipelineJobArgs struct { // The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. PipelineJobId *string `pulumi:"pipelineJobId"` // The spec of the pipeline. - PipelineSpec map[string]string `pulumi:"pipelineSpec"` - Project *string `pulumi:"project"` + PipelineSpec map[string]interface{} `pulumi:"pipelineSpec"` + Project *string `pulumi:"project"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges []string `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -143,7 +143,7 @@ type PipelineJobArgs struct { // The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. PipelineJobId pulumi.StringPtrInput // The spec of the pipeline. - PipelineSpec pulumi.StringMapInput + PipelineSpec pulumi.MapInput Project pulumi.StringPtrInput // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges pulumi.StringArrayInput @@ -247,8 +247,8 @@ func (o PipelineJobOutput) PipelineJobId() pulumi.StringPtrOutput { } // The spec of the pipeline. -func (o PipelineJobOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v *PipelineJob) pulumi.StringMapOutput { return v.PipelineSpec }).(pulumi.StringMapOutput) +func (o PipelineJobOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v *PipelineJob) pulumi.MapOutput { return v.PipelineSpec }).(pulumi.MapOutput) } func (o PipelineJobOutput) Project() pulumi.StringOutput { diff --git a/sdk/go/google/aiplatform/v1beta1/pulumiEnums.go b/sdk/go/google/aiplatform/v1beta1/pulumiEnums.go index 650e79e6cb..e111bdd9b8 100644 --- a/sdk/go/google/aiplatform/v1beta1/pulumiEnums.go +++ b/sdk/go/google/aiplatform/v1beta1/pulumiEnums.go @@ -916,6 +916,894 @@ func (in *googleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormatPtr) ToG return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormatPtrOutput) } +// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding string + +const ( + // Default value. This is the same as IDENTITY. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingEncodingUnspecified = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("ENCODING_UNSPECIFIED") + // The tensor represents one feature. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingIdentity = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("IDENTITY") + // The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ```input = [27, 6.0, 150] index_feature_mapping = ["age", "height", "weight"]``` + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingBagOfFeatures = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("BAG_OF_FEATURES") + // The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ```input = [2, 0, 5, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"]``` + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingBagOfFeaturesSparse = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("BAG_OF_FEATURES_SPARSE") + // The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ```input = [1, 0, 1, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"]``` + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingIndicator = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("INDICATOR") + // The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ```input = ["This", "is", "a", "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5]``` + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingCombinedEmbedding = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("COMBINED_EMBEDDING") + // Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ```input = ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]]``` + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingConcatEmbedding = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("CONCAT_EMBEDDING") +) + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput { + return e.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput { + return GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding(e).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutputWithContext(ctx).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding { + return &v + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) Elem() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding + return ret + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingInput is an input type that accepts values of the GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding enum +// A concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingInput` can be one of the following: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingEncodingUnspecified +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingIdentity +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingBagOfFeatures +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingBagOfFeaturesSparse +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingIndicator +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingCombinedEmbedding +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingConcatEmbedding +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput +} + +var googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrType = reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding)(nil)).Elem() + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput +} + +type googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtr string + +func GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtr(v string) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrInput { + return (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtr)(&v) +} + +func (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtr) ElementType() reflect.Type { + return googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrType +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) +} + +// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap string + +const ( + // Should not be used. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapColorMapUnspecified = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("COLOR_MAP_UNSPECIFIED") + // Positive: green. Negative: pink. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPinkGreen = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("PINK_GREEN") + // Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapViridis = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("VIRIDIS") + // Positive: red. Negative: red. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapRed = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("RED") + // Positive: green. Negative: green. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapGreen = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("GREEN") + // Positive: green. Negative: red. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapRedGreen = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("RED_GREEN") + // PiYG palette. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPinkWhiteGreen = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("PINK_WHITE_GREEN") +) + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return e.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap(e).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutputWithContext(ctx).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap { + return &v + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) Elem() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap + return ret + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapInput is an input type that accepts values of the GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap enum +// A concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapInput` can be one of the following: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapColorMapUnspecified +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPinkGreen +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapViridis +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapRed +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapGreen +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapRedGreen +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPinkWhiteGreen +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput +} + +var googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrType = reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap)(nil)).Elem() + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput +} + +type googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtr string + +func GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtr(v string) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrInput { + return (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtr)(&v) +} + +func (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtr) ElementType() reflect.Type { + return googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrType +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType string + +const ( + // Default value. This is the same as NONE. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOverlayTypeUnspecified = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("OVERLAY_TYPE_UNSPECIFIED") + // No overlay. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeNone = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("NONE") + // The attributions are shown on top of the original image. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOriginal = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("ORIGINAL") + // The attributions are shown on top of grayscaled version of the original image. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeGrayscale = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("GRAYSCALE") + // The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeMaskBlack = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("MASK_BLACK") +) + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return e.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType(e).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutputWithContext(ctx).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType { + return &v + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) Elem() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType + return ret + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeInput is an input type that accepts values of the GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType enum +// A concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeInput` can be one of the following: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOverlayTypeUnspecified +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeNone +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOriginal +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeGrayscale +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeMaskBlack +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput +} + +var googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrType = reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType)(nil)).Elem() + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput +} + +type googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr string + +func GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr(v string) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrInput { + return (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr)(&v) +} + +func (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr) ElementType() reflect.Type { + return googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrType +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity string + +const ( + // Default value. This is the same as POSITIVE. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPolarityUnspecified = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("POLARITY_UNSPECIFIED") + // Highlights the pixels/outlines that were most influential to the model's prediction. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPositive = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("POSITIVE") + // Setting polarity to negative highlights areas that does not lead to the models's current prediction. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityNegative = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("NEGATIVE") + // Shows both positive and negative attributions. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityBoth = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("BOTH") +) + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return e.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity(e).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutputWithContext(ctx).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity { + return &v + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) Elem() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity + return ret + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityInput is an input type that accepts values of the GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity enum +// A concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityInput` can be one of the following: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPolarityUnspecified +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPositive +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityNegative +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityBoth +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput +} + +var googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrType = reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity)(nil)).Elem() + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput +} + +type googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtr string + +func GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtr(v string) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrInput { + return (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtr)(&v) +} + +func (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtr) ElementType() reflect.Type { + return googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrType +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType string + +const ( + // Should not be used. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeTypeUnspecified = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType("TYPE_UNSPECIFIED") + // Shows which pixel contributed to the image prediction. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePixels = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType("PIXELS") + // Shows which region contributed to the image prediction by outlining the region. + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutlines = GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType("OUTLINES") +) + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType)(nil)).Elem() +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return pulumi.ToOutput(e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return e.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType(e).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutputWithContext(ctx).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType { + return &v + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) Elem() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType + return ret + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeInput is an input type that accepts values of the GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType enum +// A concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeInput` can be one of the following: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeTypeUnspecified +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePixels +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutlines +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput +} + +var googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrType = reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType)(nil)).Elem() + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput +} + +type googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtr string + +func GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtr(v string) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrInput { + return (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtr)(&v) +} + +func (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtr) ElementType() reflect.Type { + return googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrType +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return pulumi.ToOutput(in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + +func (in *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtr) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + // Optional. The distance measure used in nearest neighbor search. type GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureType string @@ -4572,6 +5460,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FeatureStoreFeatureValueTypePtrInput)(nil)).Elem(), FeatureStoreFeatureValueType("VALUE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormatInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat("DATA_FORMAT_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormatPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat("DATA_FORMAT_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("ENCODING_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding("ENCODING_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("COLOR_MAP_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap("COLOR_MAP_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("OVERLAY_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType("OVERLAY_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("POLARITY_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity("POLARITY_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType("TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType("TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureTypeInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureType("DISTANCE_MEASURE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureTypePtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureType("DISTANCE_MEASURE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaselineInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline("BASELINE_UNSPECIFIED")) @@ -4624,6 +5522,16 @@ func init() { pulumi.RegisterOutputType(FeatureStoreFeatureValueTypePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormatOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormatPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureTypeOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureTypePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaselineOutput{}) diff --git a/sdk/go/google/aiplatform/v1beta1/pulumiTypes.go b/sdk/go/google/aiplatform/v1beta1/pulumiTypes.go index df06bf6b46..7d02aed16d 100644 --- a/sdk/go/google/aiplatform/v1beta1/pulumiTypes.go +++ b/sdk/go/google/aiplatform/v1beta1/pulumiTypes.go @@ -265,6 +265,129 @@ func (o GoogleCloudAiplatformV1beta1ActiveLearningConfigResponseOutput) Training }).(GoogleCloudAiplatformV1beta1TrainingConfigResponseOutput) } +// Instance of a general artifact. +type GoogleCloudAiplatformV1beta1ArtifactResponse struct { + // Timestamp when this Artifact was created. + CreateTime string `pulumi:"createTime"` + // Description of the Artifact + Description string `pulumi:"description"` + // User provided display name of the Artifact. May be up to 128 Unicode characters. + DisplayName string `pulumi:"displayName"` + // An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + Etag string `pulumi:"etag"` + // The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + Labels map[string]string `pulumi:"labels"` + // Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + Metadata map[string]interface{} `pulumi:"metadata"` + // The resource name of the Artifact. + Name string `pulumi:"name"` + // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + SchemaTitle string `pulumi:"schemaTitle"` + // The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + SchemaVersion string `pulumi:"schemaVersion"` + // The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + State string `pulumi:"state"` + // Timestamp when this Artifact was last updated. + UpdateTime string `pulumi:"updateTime"` + // The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + Uri string `pulumi:"uri"` +} + +// Instance of a general artifact. +type GoogleCloudAiplatformV1beta1ArtifactResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ArtifactResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ArtifactResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) ToGoogleCloudAiplatformV1beta1ArtifactResponseOutput() GoogleCloudAiplatformV1beta1ArtifactResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) ToGoogleCloudAiplatformV1beta1ArtifactResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ArtifactResponseOutput { + return o +} + +// Timestamp when this Artifact was created. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// Description of the Artifact +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// User provided display name of the Artifact. May be up to 128 Unicode characters. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) +} + +// The resource name of the Artifact. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) SchemaTitle() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.SchemaTitle }).(pulumi.StringOutput) +} + +// The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) SchemaVersion() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.SchemaVersion }).(pulumi.StringOutput) +} + +// The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.State }).(pulumi.StringOutput) +} + +// Timestamp when this Artifact was last updated. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.UpdateTime }).(pulumi.StringOutput) +} + +// The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. +func (o GoogleCloudAiplatformV1beta1ArtifactResponseOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ArtifactResponse) string { return v.Uri }).(pulumi.StringOutput) +} + +type GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleCloudAiplatformV1beta1ArtifactResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput) ToGoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput() GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput) ToGoogleCloudAiplatformV1beta1ArtifactResponseArrayOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput) Index(i pulumi.IntInput) GoogleCloudAiplatformV1beta1ArtifactResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1ArtifactResponse { + return vs[0].([]GoogleCloudAiplatformV1beta1ArtifactResponse)[vs[1].(int)] + }).(GoogleCloudAiplatformV1beta1ArtifactResponseOutput) +} + // A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. type GoogleCloudAiplatformV1beta1AutomaticResourcesResponse struct { // Immutable. The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number. @@ -2030,7 +2153,7 @@ type GoogleCloudAiplatformV1beta1ContextResponse struct { // The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // Immutable. The resource name of the Context. Name string `pulumi:"name"` // A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts. @@ -2084,8 +2207,8 @@ func (o GoogleCloudAiplatformV1beta1ContextResponseOutput) Labels() pulumi.Strin } // Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o GoogleCloudAiplatformV1beta1ContextResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ContextResponse) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1ContextResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ContextResponse) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // Immutable. The resource name of the Context. @@ -4406,7 +4529,7 @@ type GoogleCloudAiplatformV1beta1ExecutionResponse struct { // The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). Labels map[string]string `pulumi:"labels"` // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // The resource name of the Execution. Name string `pulumi:"name"` // The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -4460,8 +4583,8 @@ func (o GoogleCloudAiplatformV1beta1ExecutionResponseOutput) Labels() pulumi.Str } // Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. -func (o GoogleCloudAiplatformV1beta1ExecutionResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExecutionResponse) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1ExecutionResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExecutionResponse) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // The resource name of the Execution. @@ -4494,11 +4617,11 @@ type GoogleCloudAiplatformV1beta1ExplanationMetadata struct { // Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. FeatureAttributionsSchemaUri *string `pulumi:"featureAttributionsSchemaUri"` // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. - Inputs map[string]string `pulumi:"inputs"` + Inputs map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata `pulumi:"inputs"` // Name of the source to generate embeddings for example based explanations. LatentSpaceSource *string `pulumi:"latentSpaceSource"` // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. - Outputs map[string]string `pulumi:"outputs"` + Outputs map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata `pulumi:"outputs"` } // GoogleCloudAiplatformV1beta1ExplanationMetadataInput is an input type that accepts GoogleCloudAiplatformV1beta1ExplanationMetadataArgs and GoogleCloudAiplatformV1beta1ExplanationMetadataOutput values. @@ -4517,11 +4640,11 @@ type GoogleCloudAiplatformV1beta1ExplanationMetadataArgs struct { // Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. FeatureAttributionsSchemaUri pulumi.StringPtrInput `pulumi:"featureAttributionsSchemaUri"` // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. - Inputs pulumi.StringMapInput `pulumi:"inputs"` + Inputs GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapInput `pulumi:"inputs"` // Name of the source to generate embeddings for example based explanations. LatentSpaceSource pulumi.StringPtrInput `pulumi:"latentSpaceSource"` // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. - Outputs pulumi.StringMapInput `pulumi:"outputs"` + Outputs GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapInput `pulumi:"outputs"` } func (GoogleCloudAiplatformV1beta1ExplanationMetadataArgs) ElementType() reflect.Type { @@ -4608,8 +4731,10 @@ func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutput) FeatureAttributio } // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. -func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutput) Inputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadata) map[string]string { return v.Inputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutput) Inputs() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadata) map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata { + return v.Inputs + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput) } // Name of the source to generate embeddings for example based explanations. @@ -4618,8 +4743,10 @@ func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutput) LatentSpaceSource } // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. -func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutput) Outputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadata) map[string]string { return v.Outputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutput) Outputs() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadata) map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata { + return v.Outputs + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput) } type GoogleCloudAiplatformV1beta1ExplanationMetadataPtrOutput struct{ *pulumi.OutputState } @@ -4657,13 +4784,13 @@ func (o GoogleCloudAiplatformV1beta1ExplanationMetadataPtrOutput) FeatureAttribu } // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. -func (o GoogleCloudAiplatformV1beta1ExplanationMetadataPtrOutput) Inputs() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadata) map[string]string { +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataPtrOutput) Inputs() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadata) map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata { if v == nil { return nil } return v.Inputs - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput) } // Name of the source to generate embeddings for example based explanations. @@ -4676,14 +4803,1144 @@ func (o GoogleCloudAiplatformV1beta1ExplanationMetadataPtrOutput) LatentSpaceSou }).(pulumi.StringPtrOutput) } -// Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. -func (o GoogleCloudAiplatformV1beta1ExplanationMetadataPtrOutput) Outputs() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadata) map[string]string { - if v == nil { - return nil - } - return v.Outputs - }).(pulumi.StringMapOutput) +// Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataPtrOutput) Outputs() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadata) map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata { + if v == nil { + return nil + } + return v.Outputs + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput) +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata struct { + // Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + DenseShapeTensorName *string `pulumi:"denseShapeTensorName"` + // A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + EncodedBaselines []interface{} `pulumi:"encodedBaselines"` + // Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + EncodedTensorName *string `pulumi:"encodedTensorName"` + // Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + Encoding *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding `pulumi:"encoding"` + // The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + FeatureValueDomain *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain `pulumi:"featureValueDomain"` + // Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + GroupName *string `pulumi:"groupName"` + // A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + IndexFeatureMapping []string `pulumi:"indexFeatureMapping"` + // Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + IndicesTensorName *string `pulumi:"indicesTensorName"` + // Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + InputBaselines []interface{} `pulumi:"inputBaselines"` + // Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + InputTensorName *string `pulumi:"inputTensorName"` + // Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + Modality *string `pulumi:"modality"` + // Visualization configurations for image explanation. + Visualization *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization `pulumi:"visualization"` +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataInput is an input type that accepts GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs and GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataInput` via: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs{...} +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs struct { + // Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + DenseShapeTensorName pulumi.StringPtrInput `pulumi:"denseShapeTensorName"` + // A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + EncodedBaselines pulumi.ArrayInput `pulumi:"encodedBaselines"` + // Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + EncodedTensorName pulumi.StringPtrInput `pulumi:"encodedTensorName"` + // Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + Encoding GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrInput `pulumi:"encoding"` + // The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + FeatureValueDomain GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput `pulumi:"featureValueDomain"` + // Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + GroupName pulumi.StringPtrInput `pulumi:"groupName"` + // A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + IndexFeatureMapping pulumi.StringArrayInput `pulumi:"indexFeatureMapping"` + // Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + IndicesTensorName pulumi.StringPtrInput `pulumi:"indicesTensorName"` + // Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + InputBaselines pulumi.ArrayInput `pulumi:"inputBaselines"` + // Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + InputTensorName pulumi.StringPtrInput `pulumi:"inputTensorName"` + // Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + Modality pulumi.StringPtrInput `pulumi:"modality"` + // Visualization configurations for image explanation. + Visualization GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrInput `pulumi:"visualization"` +} + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapInput is an input type that accepts GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMap and GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapInput` via: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMap{ "key": GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs{...} } +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMap map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataInput + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMap) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMap) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput) +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput { + return o +} + +// Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) DenseShapeTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) *string { + return v.DenseShapeTensorName + }).(pulumi.StringPtrOutput) +} + +// A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) EncodedBaselines() pulumi.ArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) []interface{} { + return v.EncodedBaselines + }).(pulumi.ArrayOutput) +} + +// Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) EncodedTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) *string { + return v.EncodedTensorName + }).(pulumi.StringPtrOutput) +} + +// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) Encoding() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding { + return v.Encoding + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncodingPtrOutput) +} + +// The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) FeatureValueDomain() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain { + return v.FeatureValueDomain + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) +} + +// Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) GroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) *string { return v.GroupName }).(pulumi.StringPtrOutput) +} + +// A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) IndexFeatureMapping() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) []string { + return v.IndexFeatureMapping + }).(pulumi.StringArrayOutput) +} + +// Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) IndicesTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) *string { + return v.IndicesTensorName + }).(pulumi.StringPtrOutput) +} + +// Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) InputBaselines() pulumi.ArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) []interface{} { + return v.InputBaselines + }).(pulumi.ArrayOutput) +} + +// Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) InputTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) *string { return v.InputTensorName }).(pulumi.StringPtrOutput) +} + +// Modality of the feature. Valid values are: numeric, image. Defaults to numeric. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) Modality() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) *string { return v.Modality }).(pulumi.StringPtrOutput) +} + +// Visualization configurations for image explanation. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) Visualization() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization { + return v.Visualization + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadata)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput) +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain struct { + // The maximum permissible value for this feature. + MaxValue *float64 `pulumi:"maxValue"` + // The minimum permissible value for this feature. + MinValue *float64 `pulumi:"minValue"` + // If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + OriginalMean *float64 `pulumi:"originalMean"` + // If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + OriginalStddev *float64 `pulumi:"originalStddev"` +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainInput is an input type that accepts GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs and GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainInput` via: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs{...} +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs struct { + // The maximum permissible value for this feature. + MaxValue pulumi.Float64PtrInput `pulumi:"maxValue"` + // The minimum permissible value for this feature. + MinValue pulumi.Float64PtrInput `pulumi:"minValue"` + // If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + OriginalMean pulumi.Float64PtrInput `pulumi:"originalMean"` + // If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + OriginalStddev pulumi.Float64PtrInput `pulumi:"originalStddev"` +} + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx) +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput is an input type that accepts GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtr and GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput` via: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs{...} +// +// or: +// +// nil +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput +} + +type googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrType GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs + +func GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtr(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput { + return (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrType)(v) +} + +func (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain)(nil)).Elem() +} + +func (i *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(context.Background()) +} + +func (i *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain { + return &v + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) +} + +// The maximum permissible value for this feature. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) MaxValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + return v.MaxValue + }).(pulumi.Float64PtrOutput) +} + +// The minimum permissible value for this feature. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) MinValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + return v.MinValue + }).(pulumi.Float64PtrOutput) +} + +// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) OriginalMean() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + return v.OriginalMean + }).(pulumi.Float64PtrOutput) +} + +// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) OriginalStddev() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + return v.OriginalStddev + }).(pulumi.Float64PtrOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) Elem() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain + return ret + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput) +} + +// The maximum permissible value for this feature. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) MaxValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + if v == nil { + return nil + } + return v.MaxValue + }).(pulumi.Float64PtrOutput) +} + +// The minimum permissible value for this feature. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) MinValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + if v == nil { + return nil + } + return v.MinValue + }).(pulumi.Float64PtrOutput) +} + +// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) OriginalMean() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + if v == nil { + return nil + } + return v.OriginalMean + }).(pulumi.Float64PtrOutput) +} + +// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput) OriginalStddev() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomain) *float64 { + if v == nil { + return nil + } + return v.OriginalStddev + }).(pulumi.Float64PtrOutput) +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse struct { + // The maximum permissible value for this feature. + MaxValue float64 `pulumi:"maxValue"` + // The minimum permissible value for this feature. + MinValue float64 `pulumi:"minValue"` + // If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + OriginalMean float64 `pulumi:"originalMean"` + // If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + OriginalStddev float64 `pulumi:"originalStddev"` +} + +// Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput { + return o +} + +// The maximum permissible value for this feature. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) MaxValue() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse) float64 { + return v.MaxValue + }).(pulumi.Float64Output) +} + +// The minimum permissible value for this feature. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) MinValue() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse) float64 { + return v.MinValue + }).(pulumi.Float64Output) +} + +// If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) OriginalMean() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse) float64 { + return v.OriginalMean + }).(pulumi.Float64Output) +} + +// If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) OriginalStddev() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse) float64 { + return v.OriginalStddev + }).(pulumi.Float64Output) +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse struct { + // Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + DenseShapeTensorName string `pulumi:"denseShapeTensorName"` + // A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + EncodedBaselines []interface{} `pulumi:"encodedBaselines"` + // Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + EncodedTensorName string `pulumi:"encodedTensorName"` + // Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + Encoding string `pulumi:"encoding"` + // The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + FeatureValueDomain GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse `pulumi:"featureValueDomain"` + // Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + GroupName string `pulumi:"groupName"` + // A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + IndexFeatureMapping []string `pulumi:"indexFeatureMapping"` + // Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + IndicesTensorName string `pulumi:"indicesTensorName"` + // Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + InputBaselines []interface{} `pulumi:"inputBaselines"` + // Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + InputTensorName string `pulumi:"inputTensorName"` + // Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + Modality string `pulumi:"modality"` + // Visualization configurations for image explanation. + Visualization GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse `pulumi:"visualization"` +} + +// Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput { + return o +} + +// Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) DenseShapeTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) string { + return v.DenseShapeTensorName + }).(pulumi.StringOutput) +} + +// A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) EncodedBaselines() pulumi.ArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) []interface{} { + return v.EncodedBaselines + }).(pulumi.ArrayOutput) +} + +// Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) EncodedTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) string { + return v.EncodedTensorName + }).(pulumi.StringOutput) +} + +// Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) Encoding() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) string { return v.Encoding }).(pulumi.StringOutput) +} + +// The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) FeatureValueDomain() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse { + return v.FeatureValueDomain + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput) +} + +// Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) GroupName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) string { + return v.GroupName + }).(pulumi.StringOutput) +} + +// A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) IndexFeatureMapping() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) []string { + return v.IndexFeatureMapping + }).(pulumi.StringArrayOutput) +} + +// Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) IndicesTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) string { + return v.IndicesTensorName + }).(pulumi.StringOutput) +} + +// Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) InputBaselines() pulumi.ArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) []interface{} { + return v.InputBaselines + }).(pulumi.ArrayOutput) +} + +// Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) InputTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) string { + return v.InputTensorName + }).(pulumi.StringOutput) +} + +// Modality of the feature. Valid values are: numeric, image. Defaults to numeric. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) Modality() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) string { return v.Modality }).(pulumi.StringOutput) +} + +// Visualization configurations for image explanation. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) Visualization() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse { + return v.Visualization + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput) +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization struct { + // Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + ClipPercentLowerbound *float64 `pulumi:"clipPercentLowerbound"` + // Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + ClipPercentUpperbound *float64 `pulumi:"clipPercentUpperbound"` + // The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + ColorMap *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap `pulumi:"colorMap"` + // How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + OverlayType *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType `pulumi:"overlayType"` + // Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + Polarity *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity `pulumi:"polarity"` + // Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + Type *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType `pulumi:"type"` +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationInput is an input type that accepts GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs and GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationInput` via: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs{...} +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs struct { + // Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + ClipPercentLowerbound pulumi.Float64PtrInput `pulumi:"clipPercentLowerbound"` + // Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + ClipPercentUpperbound pulumi.Float64PtrInput `pulumi:"clipPercentUpperbound"` + // The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + ColorMap GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrInput `pulumi:"colorMap"` + // How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + OverlayType GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrInput `pulumi:"overlayType"` + // Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + Polarity GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrInput `pulumi:"polarity"` + // Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + Type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrInput `pulumi:"type"` +} + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput).ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx) +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrInput is an input type that accepts GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs, GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtr and GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrInput` via: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs{...} +// +// or: +// +// nil +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput +} + +type googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrType GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs + +func GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtr(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrInput { + return (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrType)(v) +} + +func (*googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization)(nil)).Elem() +} + +func (i *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(context.Background()) +} + +func (i *googleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrType) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o.ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization { + return &v + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) +} + +// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) ClipPercentLowerbound() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *float64 { + return v.ClipPercentLowerbound + }).(pulumi.Float64PtrOutput) +} + +// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) ClipPercentUpperbound() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *float64 { + return v.ClipPercentUpperbound + }).(pulumi.Float64PtrOutput) +} + +// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) ColorMap() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap { + return v.ColorMap + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) OverlayType() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType { + return v.OverlayType + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) Polarity() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity { + return v.Polarity + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) Type() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType { + return v.Type + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) Elem() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization { + if v != nil { + return *v + } + var ret GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization + return ret + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput) +} + +// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) ClipPercentLowerbound() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *float64 { + if v == nil { + return nil + } + return v.ClipPercentLowerbound + }).(pulumi.Float64PtrOutput) +} + +// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) ClipPercentUpperbound() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *float64 { + if v == nil { + return nil + } + return v.ClipPercentUpperbound + }).(pulumi.Float64PtrOutput) +} + +// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) ColorMap() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap { + if v == nil { + return nil + } + return v.ColorMap + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMapPtrOutput) +} + +// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) OverlayType() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType { + if v == nil { + return nil + } + return v.OverlayType + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayTypePtrOutput) +} + +// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) Polarity() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity { + if v == nil { + return nil + } + return v.Polarity + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarityPtrOutput) +} + +// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput) Type() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualization) *GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType { + if v == nil { + return nil + } + return v.Type + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationTypePtrOutput) +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse struct { + // Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + ClipPercentLowerbound float64 `pulumi:"clipPercentLowerbound"` + // Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + ClipPercentUpperbound float64 `pulumi:"clipPercentUpperbound"` + // The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + ColorMap string `pulumi:"colorMap"` + // How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + OverlayType string `pulumi:"overlayType"` + // Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + Polarity string `pulumi:"polarity"` + // Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + Type string `pulumi:"type"` +} + +// Visualization configurations for image explanation. +type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput { + return o +} + +// Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) ClipPercentLowerbound() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse) float64 { + return v.ClipPercentLowerbound + }).(pulumi.Float64Output) +} + +// Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) ClipPercentUpperbound() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse) float64 { + return v.ClipPercentUpperbound + }).(pulumi.Float64Output) +} + +// The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) ColorMap() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse) string { + return v.ColorMap + }).(pulumi.StringOutput) +} + +// How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) OverlayType() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse) string { + return v.OverlayType + }).(pulumi.StringOutput) +} + +// Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) Polarity() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse) string { + return v.Polarity + }).(pulumi.StringOutput) +} + +// Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse) string { + return v.Type + }).(pulumi.StringOutput) +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata struct { + // Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + DisplayNameMappingKey *string `pulumi:"displayNameMappingKey"` + // Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + IndexDisplayNameMapping interface{} `pulumi:"indexDisplayNameMapping"` + // Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + OutputTensorName *string `pulumi:"outputTensorName"` +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataInput is an input type that accepts GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs and GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataInput` via: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs{...} +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs struct { + // Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + DisplayNameMappingKey pulumi.StringPtrInput `pulumi:"displayNameMappingKey"` + // Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + IndexDisplayNameMapping pulumi.Input `pulumi:"indexDisplayNameMapping"` + // Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + OutputTensorName pulumi.StringPtrInput `pulumi:"outputTensorName"` +} + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput) +} + +// GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapInput is an input type that accepts GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMap and GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapInput` via: +// +// GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMap{ "key": GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs{...} } +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput + ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMap map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataInput + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMap) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput { + return i.ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMap) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput) +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput { + return o +} + +// Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput) DisplayNameMappingKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata) *string { + return v.DisplayNameMappingKey + }).(pulumi.StringPtrOutput) +} + +// Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput) IndexDisplayNameMapping() pulumi.AnyOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata) interface{} { + return v.IndexDisplayNameMapping + }).(pulumi.AnyOutput) +} + +// Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput) OutputTensorName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata) *string { + return v.OutputTensorName + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadata)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput) +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse struct { + // Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + DisplayNameMappingKey string `pulumi:"displayNameMappingKey"` + // Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + IndexDisplayNameMapping interface{} `pulumi:"indexDisplayNameMapping"` + // Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + OutputTensorName string `pulumi:"outputTensorName"` +} + +// Metadata of the prediction output to be explained. +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput { + return o +} + +// Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput) DisplayNameMappingKey() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse) string { + return v.DisplayNameMappingKey + }).(pulumi.StringOutput) +} + +// Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput) IndexDisplayNameMapping() pulumi.AnyOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse) interface{} { + return v.IndexDisplayNameMapping + }).(pulumi.AnyOutput) +} + +// Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput) OutputTensorName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse) string { + return v.OutputTensorName + }).(pulumi.StringOutput) +} + +type GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput) ToGoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput) } // Metadata describing the Model's input and output for explanation. @@ -4691,11 +5948,11 @@ type GoogleCloudAiplatformV1beta1ExplanationMetadataResponse struct { // Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. FeatureAttributionsSchemaUri string `pulumi:"featureAttributionsSchemaUri"` // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. - Inputs map[string]string `pulumi:"inputs"` + Inputs map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse `pulumi:"inputs"` // Name of the source to generate embeddings for example based explanations. LatentSpaceSource string `pulumi:"latentSpaceSource"` // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. - Outputs map[string]string `pulumi:"outputs"` + Outputs map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse `pulumi:"outputs"` } // Metadata describing the Model's input and output for explanation. @@ -4721,8 +5978,10 @@ func (o GoogleCloudAiplatformV1beta1ExplanationMetadataResponseOutput) FeatureAt } // Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. -func (o GoogleCloudAiplatformV1beta1ExplanationMetadataResponseOutput) Inputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataResponse) map[string]string { return v.Inputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataResponseOutput) Inputs() GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataResponse) map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse { + return v.Inputs + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput) } // Name of the source to generate embeddings for example based explanations. @@ -4731,8 +5990,10 @@ func (o GoogleCloudAiplatformV1beta1ExplanationMetadataResponseOutput) LatentSpa } // Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. -func (o GoogleCloudAiplatformV1beta1ExplanationMetadataResponseOutput) Outputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataResponse) map[string]string { return v.Outputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1ExplanationMetadataResponseOutput) Outputs() GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ExplanationMetadataResponse) map[string]GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse { + return v.Outputs + }).(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput) } // Parameters to configure explaining for Model's predictions. @@ -14441,11 +15702,11 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigExplanationCon // The config for Prediction data drift detection. type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. - AttributionScoreDriftThresholds map[string]string `pulumi:"attributionScoreDriftThresholds"` + AttributionScoreDriftThresholds map[string]GoogleCloudAiplatformV1beta1ThresholdConfig `pulumi:"attributionScoreDriftThresholds"` // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultDriftThreshold *GoogleCloudAiplatformV1beta1ThresholdConfig `pulumi:"defaultDriftThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. - DriftThresholds map[string]string `pulumi:"driftThresholds"` + DriftThresholds map[string]GoogleCloudAiplatformV1beta1ThresholdConfig `pulumi:"driftThresholds"` } // GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigInput is an input type that accepts GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs and GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput values. @@ -14462,11 +15723,11 @@ type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDe // The config for Prediction data drift detection. type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. - AttributionScoreDriftThresholds pulumi.StringMapInput `pulumi:"attributionScoreDriftThresholds"` + AttributionScoreDriftThresholds GoogleCloudAiplatformV1beta1ThresholdConfigMapInput `pulumi:"attributionScoreDriftThresholds"` // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultDriftThreshold GoogleCloudAiplatformV1beta1ThresholdConfigPtrInput `pulumi:"defaultDriftThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. - DriftThresholds pulumi.StringMapInput `pulumi:"driftThresholds"` + DriftThresholds GoogleCloudAiplatformV1beta1ThresholdConfigMapInput `pulumi:"driftThresholds"` } func (GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs) ElementType() reflect.Type { @@ -14548,10 +15809,10 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDrif } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput) AttributionScoreDriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput) AttributionScoreDriftThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]GoogleCloudAiplatformV1beta1ThresholdConfig { return v.AttributionScoreDriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) } // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -14562,10 +15823,10 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDrif } // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput) DriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigOutput) DriftThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]GoogleCloudAiplatformV1beta1ThresholdConfig { return v.DriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) } type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput struct{ *pulumi.OutputState } @@ -14593,13 +15854,13 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDrif } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput) AttributionScoreDriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput) AttributionScoreDriftThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]GoogleCloudAiplatformV1beta1ThresholdConfig { if v == nil { return nil } return v.AttributionScoreDriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) } // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -14613,23 +15874,23 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDrif } // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput) DriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigPtrOutput) DriftThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfig) map[string]GoogleCloudAiplatformV1beta1ThresholdConfig { if v == nil { return nil } return v.DriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) } // The config for Prediction data drift detection. type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. - AttributionScoreDriftThresholds map[string]string `pulumi:"attributionScoreDriftThresholds"` + AttributionScoreDriftThresholds map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse `pulumi:"attributionScoreDriftThresholds"` // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultDriftThreshold GoogleCloudAiplatformV1beta1ThresholdConfigResponse `pulumi:"defaultDriftThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. - DriftThresholds map[string]string `pulumi:"driftThresholds"` + DriftThresholds map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse `pulumi:"driftThresholds"` } // The config for Prediction data drift detection. @@ -14648,10 +15909,10 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDrif } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponseOutput) AttributionScoreDriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponseOutput) AttributionScoreDriftThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse) map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse { return v.AttributionScoreDriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput) } // Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -14662,10 +15923,10 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDrif } // Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponseOutput) DriftThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponseOutput) DriftThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigResponse) map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse { return v.DriftThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput) } // The objective configuration for model monitoring, including the information needed to detect anomalies for one particular model. @@ -15066,11 +16327,11 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingDatase // The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. - AttributionScoreSkewThresholds map[string]string `pulumi:"attributionScoreSkewThresholds"` + AttributionScoreSkewThresholds map[string]GoogleCloudAiplatformV1beta1ThresholdConfig `pulumi:"attributionScoreSkewThresholds"` // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultSkewThreshold *GoogleCloudAiplatformV1beta1ThresholdConfig `pulumi:"defaultSkewThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. - SkewThresholds map[string]string `pulumi:"skewThresholds"` + SkewThresholds map[string]GoogleCloudAiplatformV1beta1ThresholdConfig `pulumi:"skewThresholds"` } // GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigInput is an input type that accepts GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs and GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput values. @@ -15087,11 +16348,11 @@ type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictio // The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. - AttributionScoreSkewThresholds pulumi.StringMapInput `pulumi:"attributionScoreSkewThresholds"` + AttributionScoreSkewThresholds GoogleCloudAiplatformV1beta1ThresholdConfigMapInput `pulumi:"attributionScoreSkewThresholds"` // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultSkewThreshold GoogleCloudAiplatformV1beta1ThresholdConfigPtrInput `pulumi:"defaultSkewThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. - SkewThresholds pulumi.StringMapInput `pulumi:"skewThresholds"` + SkewThresholds GoogleCloudAiplatformV1beta1ThresholdConfigMapInput `pulumi:"skewThresholds"` } func (GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs) ElementType() reflect.Type { @@ -15173,10 +16434,10 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredic } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput) AttributionScoreSkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput) AttributionScoreSkewThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]GoogleCloudAiplatformV1beta1ThresholdConfig { return v.AttributionScoreSkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) } // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -15187,10 +16448,10 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredic } // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput) SkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigOutput) SkewThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]GoogleCloudAiplatformV1beta1ThresholdConfig { return v.SkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) } type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput struct{ *pulumi.OutputState } @@ -15218,13 +16479,13 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredic } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput) AttributionScoreSkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput) AttributionScoreSkewThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]GoogleCloudAiplatformV1beta1ThresholdConfig { if v == nil { return nil } return v.AttributionScoreSkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) } // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -15238,23 +16499,23 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredic } // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput) SkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigPtrOutput) SkewThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfig) map[string]GoogleCloudAiplatformV1beta1ThresholdConfig { if v == nil { return nil } return v.SkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) } // The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. type GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse struct { // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. - AttributionScoreSkewThresholds map[string]string `pulumi:"attributionScoreSkewThresholds"` + AttributionScoreSkewThresholds map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse `pulumi:"attributionScoreSkewThresholds"` // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. DefaultSkewThreshold GoogleCloudAiplatformV1beta1ThresholdConfigResponse `pulumi:"defaultSkewThreshold"` // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. - SkewThresholds map[string]string `pulumi:"skewThresholds"` + SkewThresholds map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse `pulumi:"skewThresholds"` } // The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. @@ -15273,10 +16534,10 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredic } // Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponseOutput) AttributionScoreSkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponseOutput) AttributionScoreSkewThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse) map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse { return v.AttributionScoreSkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput) } // Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. @@ -15287,10 +16548,10 @@ func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredic } // Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. -func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponseOutput) SkewThresholds() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponseOutput) SkewThresholds() GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigResponse) map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse { return v.SkewThresholds - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput) } // Statistics and anomalies generated by Model Monitoring. @@ -18162,7 +19423,7 @@ type GoogleCloudAiplatformV1beta1PipelineJob struct { // The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. Network *string `pulumi:"network"` // The spec of the pipeline. - PipelineSpec map[string]string `pulumi:"pipelineSpec"` + PipelineSpec map[string]interface{} `pulumi:"pipelineSpec"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges []string `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -18195,7 +19456,7 @@ type GoogleCloudAiplatformV1beta1PipelineJobArgs struct { // The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. Network pulumi.StringPtrInput `pulumi:"network"` // The spec of the pipeline. - PipelineSpec pulumi.StringMapInput `pulumi:"pipelineSpec"` + PipelineSpec pulumi.MapInput `pulumi:"pipelineSpec"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges pulumi.StringArrayInput `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -18307,8 +19568,8 @@ func (o GoogleCloudAiplatformV1beta1PipelineJobOutput) Network() pulumi.StringPt } // The spec of the pipeline. -func (o GoogleCloudAiplatformV1beta1PipelineJobOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJob) map[string]string { return v.PipelineSpec }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1PipelineJobOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJob) map[string]interface{} { return v.PipelineSpec }).(pulumi.MapOutput) } // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. @@ -18398,13 +19659,13 @@ func (o GoogleCloudAiplatformV1beta1PipelineJobPtrOutput) Network() pulumi.Strin } // The spec of the pipeline. -func (o GoogleCloudAiplatformV1beta1PipelineJobPtrOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1PipelineJob) map[string]string { +func (o GoogleCloudAiplatformV1beta1PipelineJobPtrOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1PipelineJob) map[string]interface{} { if v == nil { return nil } return v.PipelineSpec - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. @@ -18514,7 +19775,7 @@ type GoogleCloudAiplatformV1beta1PipelineJobResponse struct { // The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. Network string `pulumi:"network"` // The spec of the pipeline. - PipelineSpec map[string]string `pulumi:"pipelineSpec"` + PipelineSpec map[string]interface{} `pulumi:"pipelineSpec"` // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. ReservedIpRanges []string `pulumi:"reservedIpRanges"` // Runtime config of the pipeline. @@ -18600,8 +19861,8 @@ func (o GoogleCloudAiplatformV1beta1PipelineJobResponseOutput) Network() pulumi. } // The spec of the pipeline. -func (o GoogleCloudAiplatformV1beta1PipelineJobResponseOutput) PipelineSpec() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobResponse) map[string]string { return v.PipelineSpec }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1PipelineJobResponseOutput) PipelineSpec() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobResponse) map[string]interface{} { return v.PipelineSpec }).(pulumi.MapOutput) } // A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. @@ -18660,13 +19921,13 @@ type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig struct { // A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. GcsOutputDirectory string `pulumi:"gcsOutputDirectory"` // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - InputArtifacts map[string]string `pulumi:"inputArtifacts"` + InputArtifacts map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact `pulumi:"inputArtifacts"` // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - ParameterValues map[string]string `pulumi:"parameterValues"` + ParameterValues map[string]interface{} `pulumi:"parameterValues"` // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]GoogleCloudAiplatformV1beta1Value `pulumi:"parameters"` } // GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInput is an input type that accepts GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs and GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigOutput values. @@ -18687,13 +19948,13 @@ type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs struct { // A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. GcsOutputDirectory pulumi.StringInput `pulumi:"gcsOutputDirectory"` // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - InputArtifacts pulumi.StringMapInput `pulumi:"inputArtifacts"` + InputArtifacts GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapInput `pulumi:"inputArtifacts"` // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - ParameterValues pulumi.StringMapInput `pulumi:"parameterValues"` + ParameterValues pulumi.MapInput `pulumi:"parameterValues"` // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. - Parameters pulumi.StringMapInput `pulumi:"parameters"` + Parameters GoogleCloudAiplatformV1beta1ValueMapInput `pulumi:"parameters"` } func (GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs) ElementType() reflect.Type { @@ -18787,24 +20048,26 @@ func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigOutput) GcsOutputDir } // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. -func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigOutput) InputArtifacts() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigOutput) InputArtifacts() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact { return v.InputArtifacts - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput) } // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. -func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigOutput) ParameterValues() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigOutput) ParameterValues() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]interface{} { return v.ParameterValues - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. -func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigOutput) Parameters() GoogleCloudAiplatformV1beta1ValueMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]GoogleCloudAiplatformV1beta1Value { + return v.Parameters + }).(GoogleCloudAiplatformV1beta1ValueMapOutput) } type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrOutput struct{ *pulumi.OutputState } @@ -18852,35 +20115,183 @@ func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrOutput) GcsOutput } // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. -func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrOutput) InputArtifacts() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrOutput) InputArtifacts() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact { if v == nil { return nil } return v.InputArtifacts - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput) } // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. -func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrOutput) ParameterValues() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrOutput) ParameterValues() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]interface{} { if v == nil { return nil } return v.ParameterValues - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. -func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]string { +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrOutput) Parameters() GoogleCloudAiplatformV1beta1ValueMapOutput { + return o.ApplyT(func(v *GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig) map[string]GoogleCloudAiplatformV1beta1Value { if v == nil { return nil } return v.Parameters - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ValueMapOutput) +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact struct { + // Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + ArtifactId *string `pulumi:"artifactId"` +} + +// GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactInput is an input type that accepts GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs and GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactInput` via: +// +// GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs{...} +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput + ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs struct { + // Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + ArtifactId pulumi.StringPtrInput `pulumi:"artifactId"` +} + +func (GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput { + return i.ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput) +} + +// GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapInput is an input type that accepts GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMap and GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapInput` via: +// +// GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMap{ "key": GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs{...} } +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput + ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput +} + +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMap map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactInput + +func (GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMap) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput { + return i.ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMap) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput) +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput { + return o +} + +// Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput) ArtifactId() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact) *string { return v.ArtifactId }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput) +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse struct { + // Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + ArtifactId string `pulumi:"artifactId"` +} + +// The type of an input artifact. +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput { + return o +} + +// Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput) ArtifactId() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse) string { + return v.ArtifactId + }).(pulumi.StringOutput) +} + +type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) ToGoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput) } // The runtime config of a PipelineJob. @@ -18890,13 +20301,13 @@ type GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse struct { // A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. GcsOutputDirectory string `pulumi:"gcsOutputDirectory"` // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - InputArtifacts map[string]string `pulumi:"inputArtifacts"` + InputArtifacts map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse `pulumi:"inputArtifacts"` // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - ParameterValues map[string]string `pulumi:"parameterValues"` + ParameterValues map[string]interface{} `pulumi:"parameterValues"` // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]GoogleCloudAiplatformV1beta1ValueResponse `pulumi:"parameters"` } // The runtime config of a PipelineJob. @@ -18927,26 +20338,74 @@ func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponseOutput) GcsO } // The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. -func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponseOutput) InputArtifacts() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponseOutput) InputArtifacts() GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse) map[string]GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse { return v.InputArtifacts - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput) } // The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. -func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponseOutput) ParameterValues() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponseOutput) ParameterValues() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse) map[string]interface{} { return v.ParameterValues - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. // // Deprecated: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. -func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponseOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse) map[string]string { +func (o GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponseOutput) Parameters() GoogleCloudAiplatformV1beta1ValueResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse) map[string]GoogleCloudAiplatformV1beta1ValueResponse { return v.Parameters - }).(pulumi.StringMapOutput) + }).(GoogleCloudAiplatformV1beta1ValueResponseMapOutput) +} + +// A list of artifact metadata. +type GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse struct { + // A list of artifact metadata. + Artifacts []GoogleCloudAiplatformV1beta1ArtifactResponse `pulumi:"artifacts"` +} + +// A list of artifact metadata. +type GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput) ToGoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput() GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput) ToGoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput { + return o +} + +// A list of artifact metadata. +func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput) Artifacts() GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse) []GoogleCloudAiplatformV1beta1ArtifactResponse { + return v.Artifacts + }).(GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput) +} + +type GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput) ToGoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput() GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput) ToGoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput) } // A single record of the task status. @@ -19028,9 +20487,9 @@ type GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse struct { // The detailed execution info. ExecutorDetail GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailResponse `pulumi:"executorDetail"` // The runtime input artifacts of the task. - Inputs map[string]string `pulumi:"inputs"` + Inputs map[string]GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse `pulumi:"inputs"` // The runtime output artifacts of the task. - Outputs map[string]string `pulumi:"outputs"` + Outputs map[string]GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse `pulumi:"outputs"` // The id of the parent task if the task is within a component scope. Empty if the task is at the root level. ParentTaskId string `pulumi:"parentTaskId"` // A list of task status. This field keeps a record of task status evolving over time. @@ -19090,13 +20549,17 @@ func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailResponseOutput) ExecutorDe } // The runtime input artifacts of the task. -func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailResponseOutput) Inputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse) map[string]string { return v.Inputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailResponseOutput) Inputs() GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse) map[string]GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse { + return v.Inputs + }).(GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput) } // The runtime output artifacts of the task. -func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailResponseOutput) Outputs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse) map[string]string { return v.Outputs }).(pulumi.StringMapOutput) +func (o GoogleCloudAiplatformV1beta1PipelineTaskDetailResponseOutput) Outputs() GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse) map[string]GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse { + return v.Outputs + }).(GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput) } // The id of the parent task if the task is within a component scope. Empty if the task is at the root level. @@ -28195,6 +29658,31 @@ func (i *googleCloudAiplatformV1beta1ThresholdConfigPtrType) ToGoogleCloudAiplat return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ThresholdConfigPtrOutput) } +// GoogleCloudAiplatformV1beta1ThresholdConfigMapInput is an input type that accepts GoogleCloudAiplatformV1beta1ThresholdConfigMap and GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ThresholdConfigMapInput` via: +// +// GoogleCloudAiplatformV1beta1ThresholdConfigMap{ "key": GoogleCloudAiplatformV1beta1ThresholdConfigArgs{...} } +type GoogleCloudAiplatformV1beta1ThresholdConfigMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ThresholdConfigMapOutput() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput + ToGoogleCloudAiplatformV1beta1ThresholdConfigMapOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput +} + +type GoogleCloudAiplatformV1beta1ThresholdConfigMap map[string]GoogleCloudAiplatformV1beta1ThresholdConfigInput + +func (GoogleCloudAiplatformV1beta1ThresholdConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ThresholdConfig)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1ThresholdConfigMap) ToGoogleCloudAiplatformV1beta1ThresholdConfigMapOutput() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return i.ToGoogleCloudAiplatformV1beta1ThresholdConfigMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ThresholdConfigMap) ToGoogleCloudAiplatformV1beta1ThresholdConfigMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) +} + // The config for feature monitoring threshold. type GoogleCloudAiplatformV1beta1ThresholdConfigOutput struct{ *pulumi.OutputState } @@ -28259,6 +29747,26 @@ func (o GoogleCloudAiplatformV1beta1ThresholdConfigPtrOutput) Value() pulumi.Flo }).(pulumi.Float64PtrOutput) } +type GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ThresholdConfig)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) ToGoogleCloudAiplatformV1beta1ThresholdConfigMapOutput() GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) ToGoogleCloudAiplatformV1beta1ThresholdConfigMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1ThresholdConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1ThresholdConfig { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1ThresholdConfig)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1ThresholdConfigOutput) +} + // The config for feature monitoring threshold. type GoogleCloudAiplatformV1beta1ThresholdConfigResponse struct { // Specify a threshold value that can trigger the alert. If this threshold config is for feature distribution distance: 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence. Each feature must have a non-zero threshold if they need to be monitored. Otherwise no alert will be triggered for that feature. @@ -28285,6 +29793,26 @@ func (o GoogleCloudAiplatformV1beta1ThresholdConfigResponseOutput) Value() pulum return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ThresholdConfigResponse) float64 { return v.Value }).(pulumi.Float64Output) } +type GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput) ToGoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput() GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput) ToGoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1ThresholdConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1ThresholdConfigResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1ThresholdConfigResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1ThresholdConfigResponseOutput) +} + // Assigns input data to training, validation, and test sets based on a provided timestamps. The youngest data pieces are assigned to training set, next to validation set, and the oldest to the test set. Supported only for tabular Datasets. type GoogleCloudAiplatformV1beta1TimestampSplit struct { // The key is a name of one of the Dataset's data columns. The values of the key (the values in the column) must be in RFC 3339 `date-time` format, where `time-offset` = `"Z"` (e.g. 1985-04-12T23:20:50.52Z). If for a piece of data the key is not present or has an invalid value, that piece is ignored by the pipeline. @@ -29096,6 +30624,184 @@ func (o GoogleCloudAiplatformV1beta1UnmanagedContainerModelResponseOutput) Predi }).(GoogleCloudAiplatformV1beta1PredictSchemataResponseOutput) } +// Value is the value of the field. +type GoogleCloudAiplatformV1beta1Value struct { + // A double value. + DoubleValue *float64 `pulumi:"doubleValue"` + // An integer value. + IntValue *string `pulumi:"intValue"` + // A string value. + StringValue *string `pulumi:"stringValue"` +} + +// GoogleCloudAiplatformV1beta1ValueInput is an input type that accepts GoogleCloudAiplatformV1beta1ValueArgs and GoogleCloudAiplatformV1beta1ValueOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ValueInput` via: +// +// GoogleCloudAiplatformV1beta1ValueArgs{...} +type GoogleCloudAiplatformV1beta1ValueInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ValueOutput() GoogleCloudAiplatformV1beta1ValueOutput + ToGoogleCloudAiplatformV1beta1ValueOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ValueOutput +} + +// Value is the value of the field. +type GoogleCloudAiplatformV1beta1ValueArgs struct { + // A double value. + DoubleValue pulumi.Float64PtrInput `pulumi:"doubleValue"` + // An integer value. + IntValue pulumi.StringPtrInput `pulumi:"intValue"` + // A string value. + StringValue pulumi.StringPtrInput `pulumi:"stringValue"` +} + +func (GoogleCloudAiplatformV1beta1ValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1Value)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1ValueArgs) ToGoogleCloudAiplatformV1beta1ValueOutput() GoogleCloudAiplatformV1beta1ValueOutput { + return i.ToGoogleCloudAiplatformV1beta1ValueOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ValueArgs) ToGoogleCloudAiplatformV1beta1ValueOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ValueOutput) +} + +// GoogleCloudAiplatformV1beta1ValueMapInput is an input type that accepts GoogleCloudAiplatformV1beta1ValueMap and GoogleCloudAiplatformV1beta1ValueMapOutput values. +// You can construct a concrete instance of `GoogleCloudAiplatformV1beta1ValueMapInput` via: +// +// GoogleCloudAiplatformV1beta1ValueMap{ "key": GoogleCloudAiplatformV1beta1ValueArgs{...} } +type GoogleCloudAiplatformV1beta1ValueMapInput interface { + pulumi.Input + + ToGoogleCloudAiplatformV1beta1ValueMapOutput() GoogleCloudAiplatformV1beta1ValueMapOutput + ToGoogleCloudAiplatformV1beta1ValueMapOutputWithContext(context.Context) GoogleCloudAiplatformV1beta1ValueMapOutput +} + +type GoogleCloudAiplatformV1beta1ValueMap map[string]GoogleCloudAiplatformV1beta1ValueInput + +func (GoogleCloudAiplatformV1beta1ValueMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1Value)(nil)).Elem() +} + +func (i GoogleCloudAiplatformV1beta1ValueMap) ToGoogleCloudAiplatformV1beta1ValueMapOutput() GoogleCloudAiplatformV1beta1ValueMapOutput { + return i.ToGoogleCloudAiplatformV1beta1ValueMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudAiplatformV1beta1ValueMap) ToGoogleCloudAiplatformV1beta1ValueMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ValueMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudAiplatformV1beta1ValueMapOutput) +} + +// Value is the value of the field. +type GoogleCloudAiplatformV1beta1ValueOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1Value)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ValueOutput) ToGoogleCloudAiplatformV1beta1ValueOutput() GoogleCloudAiplatformV1beta1ValueOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ValueOutput) ToGoogleCloudAiplatformV1beta1ValueOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ValueOutput { + return o +} + +// A double value. +func (o GoogleCloudAiplatformV1beta1ValueOutput) DoubleValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1Value) *float64 { return v.DoubleValue }).(pulumi.Float64PtrOutput) +} + +// An integer value. +func (o GoogleCloudAiplatformV1beta1ValueOutput) IntValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1Value) *string { return v.IntValue }).(pulumi.StringPtrOutput) +} + +// A string value. +func (o GoogleCloudAiplatformV1beta1ValueOutput) StringValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1Value) *string { return v.StringValue }).(pulumi.StringPtrOutput) +} + +type GoogleCloudAiplatformV1beta1ValueMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ValueMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1Value)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ValueMapOutput) ToGoogleCloudAiplatformV1beta1ValueMapOutput() GoogleCloudAiplatformV1beta1ValueMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ValueMapOutput) ToGoogleCloudAiplatformV1beta1ValueMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ValueMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ValueMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1ValueOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1Value { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1Value)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1ValueOutput) +} + +// Value is the value of the field. +type GoogleCloudAiplatformV1beta1ValueResponse struct { + // A double value. + DoubleValue float64 `pulumi:"doubleValue"` + // An integer value. + IntValue string `pulumi:"intValue"` + // A string value. + StringValue string `pulumi:"stringValue"` +} + +// Value is the value of the field. +type GoogleCloudAiplatformV1beta1ValueResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ValueResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudAiplatformV1beta1ValueResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ValueResponseOutput) ToGoogleCloudAiplatformV1beta1ValueResponseOutput() GoogleCloudAiplatformV1beta1ValueResponseOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ValueResponseOutput) ToGoogleCloudAiplatformV1beta1ValueResponseOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ValueResponseOutput { + return o +} + +// A double value. +func (o GoogleCloudAiplatformV1beta1ValueResponseOutput) DoubleValue() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ValueResponse) float64 { return v.DoubleValue }).(pulumi.Float64Output) +} + +// An integer value. +func (o GoogleCloudAiplatformV1beta1ValueResponseOutput) IntValue() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ValueResponse) string { return v.IntValue }).(pulumi.StringOutput) +} + +// A string value. +func (o GoogleCloudAiplatformV1beta1ValueResponseOutput) StringValue() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudAiplatformV1beta1ValueResponse) string { return v.StringValue }).(pulumi.StringOutput) +} + +type GoogleCloudAiplatformV1beta1ValueResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudAiplatformV1beta1ValueResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudAiplatformV1beta1ValueResponse)(nil)).Elem() +} + +func (o GoogleCloudAiplatformV1beta1ValueResponseMapOutput) ToGoogleCloudAiplatformV1beta1ValueResponseMapOutput() GoogleCloudAiplatformV1beta1ValueResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ValueResponseMapOutput) ToGoogleCloudAiplatformV1beta1ValueResponseMapOutputWithContext(ctx context.Context) GoogleCloudAiplatformV1beta1ValueResponseMapOutput { + return o +} + +func (o GoogleCloudAiplatformV1beta1ValueResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudAiplatformV1beta1ValueResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudAiplatformV1beta1ValueResponse { + return vs[0].(map[string]GoogleCloudAiplatformV1beta1ValueResponse)[vs[1].(string)] + }).(GoogleCloudAiplatformV1beta1ValueResponseOutput) +} + // Represents the spec of a worker pool in a job. type GoogleCloudAiplatformV1beta1WorkerPoolSpec struct { // The custom container task. @@ -29751,7 +31457,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -29777,8 +31483,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -30126,6 +31832,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourcePtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationParametersInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationParametersPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ExplanationSpecInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ExplanationSpecArgs{}) @@ -30244,6 +31958,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1PipelineJobPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1PipelineJobArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1PortInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1PortArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1PortArrayInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1PortArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1PredefinedSplitInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1PredefinedSplitArgs{}) @@ -30327,12 +32043,15 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1StudyTimeConstraintPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1StudyTimeConstraintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ThresholdConfigInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ThresholdConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ThresholdConfigPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ThresholdConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ThresholdConfigMapInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ThresholdConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1TimestampSplitInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1TimestampSplitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1TimestampSplitPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1TimestampSplitArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1TrainingConfigInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1TrainingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1TrainingConfigPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1TrainingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1UnmanagedContainerModelInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1UnmanagedContainerModelArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1UnmanagedContainerModelPtrInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1UnmanagedContainerModelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ValueInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1ValueMapInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1ValueMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1WorkerPoolSpecInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1WorkerPoolSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1WorkerPoolSpecArrayInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1WorkerPoolSpecArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudAiplatformV1beta1XraiAttributionInput)(nil)).Elem(), GoogleCloudAiplatformV1beta1XraiAttributionArgs{}) @@ -30344,6 +32063,8 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ActiveLearningConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ActiveLearningConfigPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ActiveLearningConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ArtifactResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ArtifactResponseArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1AutomaticResourcesResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1AutoscalingMetricSpecOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1AutoscalingMetricSpecArrayOutput{}) @@ -30411,6 +32132,20 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExecutionResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponseMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationMetadataResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationParametersOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ExplanationParametersPtrOutput{}) @@ -30617,7 +32352,13 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineJobResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatusResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatusResponseArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1PipelineTaskDetailResponseOutput{}) @@ -30761,7 +32502,9 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1TensorboardTimeSeriesMetadataResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ThresholdConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ThresholdConfigPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ThresholdConfigMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ThresholdConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ThresholdConfigResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1TimestampSplitOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1TimestampSplitPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1TimestampSplitResponseOutput{}) @@ -30775,6 +32518,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1UnmanagedContainerModelOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1UnmanagedContainerModelPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1UnmanagedContainerModelResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ValueOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ValueMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ValueResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1ValueResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1WorkerPoolSpecOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1WorkerPoolSpecArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudAiplatformV1beta1WorkerPoolSpecResponseOutput{}) diff --git a/sdk/go/google/apigee/v1/alias.go b/sdk/go/google/apigee/v1/alias.go index 56a29f99af..56f1fda288 100644 --- a/sdk/go/google/apigee/v1/alias.go +++ b/sdk/go/google/apigee/v1/alias.go @@ -103,7 +103,7 @@ type aliasArgs struct { Data *string `pulumi:"data"` EnvironmentId string `pulumi:"environmentId"` // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions []map[string]string `pulumi:"extensions"` + Extensions []map[string]interface{} `pulumi:"extensions"` // File to upload. File pulumi.AssetOrArchive `pulumi:"file"` // Required. Format of the data. Valid values include: `selfsignedcert`, `keycertfile`, or `pkcs12` @@ -128,7 +128,7 @@ type AliasArgs struct { Data pulumi.StringPtrInput EnvironmentId pulumi.StringInput // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions pulumi.StringMapArrayInput + Extensions pulumi.MapArrayInput // File to upload. File pulumi.AssetOrArchiveInput // Required. Format of the data. Valid values include: `selfsignedcert`, `keycertfile`, or `pkcs12` diff --git a/sdk/go/google/apigee/v1/api.go b/sdk/go/google/apigee/v1/api.go index ccbddc0f09..51077a0ce5 100644 --- a/sdk/go/google/apigee/v1/api.go +++ b/sdk/go/google/apigee/v1/api.go @@ -91,7 +91,7 @@ type apiArgs struct { // The HTTP request/response body as raw binary. Data *string `pulumi:"data"` // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions []map[string]string `pulumi:"extensions"` + Extensions []map[string]interface{} `pulumi:"extensions"` // File to upload. File pulumi.AssetOrArchive `pulumi:"file"` // Name of the API proxy. Restrict the characters used to: A-Za-z0-9._- @@ -110,7 +110,7 @@ type ApiArgs struct { // The HTTP request/response body as raw binary. Data pulumi.StringPtrInput // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions pulumi.StringMapArrayInput + Extensions pulumi.MapArrayInput // File to upload. File pulumi.AssetOrArchiveInput // Name of the API proxy. Restrict the characters used to: A-Za-z0-9._- diff --git a/sdk/go/google/apigee/v1/getResourcefile.go b/sdk/go/google/apigee/v1/getResourcefile.go index c2b844e13c..70e33e6db5 100644 --- a/sdk/go/google/apigee/v1/getResourcefile.go +++ b/sdk/go/google/apigee/v1/getResourcefile.go @@ -35,7 +35,7 @@ type LookupResourcefileResult struct { // The HTTP request/response body as raw binary. Data string `pulumi:"data"` // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions []map[string]string `pulumi:"extensions"` + Extensions []map[string]interface{} `pulumi:"extensions"` } func LookupResourcefileOutput(ctx *pulumi.Context, args LookupResourcefileOutputArgs, opts ...pulumi.InvokeOption) LookupResourcefileResultOutput { @@ -87,8 +87,8 @@ func (o LookupResourcefileResultOutput) Data() pulumi.StringOutput { } // Application specific response metadata. Must be set in the first response for streaming APIs. -func (o LookupResourcefileResultOutput) Extensions() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v LookupResourcefileResult) []map[string]string { return v.Extensions }).(pulumi.StringMapArrayOutput) +func (o LookupResourcefileResultOutput) Extensions() pulumi.MapArrayOutput { + return o.ApplyT(func(v LookupResourcefileResult) []map[string]interface{} { return v.Extensions }).(pulumi.MapArrayOutput) } func init() { diff --git a/sdk/go/google/apigee/v1/resourcefile.go b/sdk/go/google/apigee/v1/resourcefile.go index 29530355be..7a6df9490e 100644 --- a/sdk/go/google/apigee/v1/resourcefile.go +++ b/sdk/go/google/apigee/v1/resourcefile.go @@ -23,7 +23,7 @@ type Resourcefile struct { Data pulumi.StringOutput `pulumi:"data"` EnvironmentId pulumi.StringOutput `pulumi:"environmentId"` // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions pulumi.StringMapArrayOutput `pulumi:"extensions"` + Extensions pulumi.MapArrayOutput `pulumi:"extensions"` // Required. Name of the resource file. Must match the regular expression: [a-zA-Z0-9:/\\!@#$%^&{}\[\]()+\-=,.~'` ]{1,255} Name pulumi.StringOutput `pulumi:"name"` OrganizationId pulumi.StringOutput `pulumi:"organizationId"` @@ -96,7 +96,7 @@ type resourcefileArgs struct { Data *string `pulumi:"data"` EnvironmentId string `pulumi:"environmentId"` // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions []map[string]string `pulumi:"extensions"` + Extensions []map[string]interface{} `pulumi:"extensions"` // File to upload. File pulumi.AssetOrArchive `pulumi:"file"` // Required. Name of the resource file. Must match the regular expression: [a-zA-Z0-9:/\\!@#$%^&{}\[\]()+\-=,.~'` ]{1,255} @@ -114,7 +114,7 @@ type ResourcefileArgs struct { Data pulumi.StringPtrInput EnvironmentId pulumi.StringInput // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions pulumi.StringMapArrayInput + Extensions pulumi.MapArrayInput // File to upload. File pulumi.AssetOrArchiveInput // Required. Name of the resource file. Must match the regular expression: [a-zA-Z0-9:/\\!@#$%^&{}\[\]()+\-=,.~'` ]{1,255} @@ -176,8 +176,8 @@ func (o ResourcefileOutput) EnvironmentId() pulumi.StringOutput { } // Application specific response metadata. Must be set in the first response for streaming APIs. -func (o ResourcefileOutput) Extensions() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *Resourcefile) pulumi.StringMapArrayOutput { return v.Extensions }).(pulumi.StringMapArrayOutput) +func (o ResourcefileOutput) Extensions() pulumi.MapArrayOutput { + return o.ApplyT(func(v *Resourcefile) pulumi.MapArrayOutput { return v.Extensions }).(pulumi.MapArrayOutput) } // Required. Name of the resource file. Must match the regular expression: [a-zA-Z0-9:/\\!@#$%^&{}\[\]()+\-=,.~'` ]{1,255} diff --git a/sdk/go/google/apigee/v1/sharedflow.go b/sdk/go/google/apigee/v1/sharedflow.go index 01fdb36b07..6f10451ea2 100644 --- a/sdk/go/google/apigee/v1/sharedflow.go +++ b/sdk/go/google/apigee/v1/sharedflow.go @@ -88,7 +88,7 @@ type sharedflowArgs struct { // The HTTP request/response body as raw binary. Data *string `pulumi:"data"` // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions []map[string]string `pulumi:"extensions"` + Extensions []map[string]interface{} `pulumi:"extensions"` // Required. The name to give the shared flow Name *string `pulumi:"name"` OrganizationId string `pulumi:"organizationId"` @@ -103,7 +103,7 @@ type SharedflowArgs struct { // The HTTP request/response body as raw binary. Data pulumi.StringPtrInput // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions pulumi.StringMapArrayInput + Extensions pulumi.MapArrayInput // Required. The name to give the shared flow Name pulumi.StringPtrInput OrganizationId pulumi.StringInput diff --git a/sdk/go/google/appengine/v1/app.go b/sdk/go/google/appengine/v1/app.go index 3f5c2ba8f9..81b703a8c3 100644 --- a/sdk/go/google/appengine/v1/app.go +++ b/sdk/go/google/appengine/v1/app.go @@ -37,7 +37,7 @@ type App struct { // The Google Container Registry domain used for storing managed build docker images for this application. GcrDomain pulumi.StringOutput `pulumi:"gcrDomain"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest - GeneratedCustomerMetadata pulumi.StringMapOutput `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata pulumi.MapOutput `pulumi:"generatedCustomerMetadata"` Iap IdentityAwareProxyResponseOutput `pulumi:"iap"` // Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). Location pulumi.StringOutput `pulumi:"location"` @@ -100,8 +100,8 @@ type appArgs struct { // The feature specific settings to be used in the application. FeatureSettings *FeatureSettings `pulumi:"featureSettings"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest - GeneratedCustomerMetadata map[string]string `pulumi:"generatedCustomerMetadata"` - Iap *IdentityAwareProxy `pulumi:"iap"` + GeneratedCustomerMetadata map[string]interface{} `pulumi:"generatedCustomerMetadata"` + Iap *IdentityAwareProxy `pulumi:"iap"` // Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. Id *string `pulumi:"id"` // Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). @@ -125,7 +125,7 @@ type AppArgs struct { // The feature specific settings to be used in the application. FeatureSettings FeatureSettingsPtrInput // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest - GeneratedCustomerMetadata pulumi.StringMapInput + GeneratedCustomerMetadata pulumi.MapInput Iap IdentityAwareProxyPtrInput // Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. Id pulumi.StringPtrInput @@ -220,8 +220,8 @@ func (o AppOutput) GcrDomain() pulumi.StringOutput { } // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest -func (o AppOutput) GeneratedCustomerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *App) pulumi.StringMapOutput { return v.GeneratedCustomerMetadata }).(pulumi.StringMapOutput) +func (o AppOutput) GeneratedCustomerMetadata() pulumi.MapOutput { + return o.ApplyT(func(v *App) pulumi.MapOutput { return v.GeneratedCustomerMetadata }).(pulumi.MapOutput) } func (o AppOutput) Iap() IdentityAwareProxyResponseOutput { diff --git a/sdk/go/google/appengine/v1/getApp.go b/sdk/go/google/appengine/v1/getApp.go index 9c936bbefe..b66fd03c90 100644 --- a/sdk/go/google/appengine/v1/getApp.go +++ b/sdk/go/google/appengine/v1/getApp.go @@ -47,7 +47,7 @@ type LookupAppResult struct { // The Google Container Registry domain used for storing managed build docker images for this application. GcrDomain string `pulumi:"gcrDomain"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest - GeneratedCustomerMetadata map[string]string `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata map[string]interface{} `pulumi:"generatedCustomerMetadata"` Iap IdentityAwareProxyResponse `pulumi:"iap"` // Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). Location string `pulumi:"location"` @@ -141,8 +141,8 @@ func (o LookupAppResultOutput) GcrDomain() pulumi.StringOutput { } // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest -func (o LookupAppResultOutput) GeneratedCustomerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupAppResult) map[string]string { return v.GeneratedCustomerMetadata }).(pulumi.StringMapOutput) +func (o LookupAppResultOutput) GeneratedCustomerMetadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupAppResult) map[string]interface{} { return v.GeneratedCustomerMetadata }).(pulumi.MapOutput) } func (o LookupAppResultOutput) Iap() IdentityAwareProxyResponseOutput { diff --git a/sdk/go/google/appengine/v1/getVersion.go b/sdk/go/google/appengine/v1/getVersion.go index 89f1cc3e83..d35fd72926 100644 --- a/sdk/go/google/appengine/v1/getVersion.go +++ b/sdk/go/google/appengine/v1/getVersion.go @@ -65,7 +65,7 @@ type LookupVersionResult struct { // Settings for App Engine flexible runtimes. FlexibleRuntimeSettings FlexibleRuntimeSettingsResponse `pulumi:"flexibleRuntimeSettings"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest - GeneratedCustomerMetadata map[string]string `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata map[string]interface{} `pulumi:"generatedCustomerMetadata"` // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. Handlers []UrlMapResponse `pulumi:"handlers"` // Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. @@ -240,8 +240,8 @@ func (o LookupVersionResultOutput) FlexibleRuntimeSettings() FlexibleRuntimeSett } // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest -func (o LookupVersionResultOutput) GeneratedCustomerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupVersionResult) map[string]string { return v.GeneratedCustomerMetadata }).(pulumi.StringMapOutput) +func (o LookupVersionResultOutput) GeneratedCustomerMetadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupVersionResult) map[string]interface{} { return v.GeneratedCustomerMetadata }).(pulumi.MapOutput) } // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. diff --git a/sdk/go/google/appengine/v1/pulumiTypes.go b/sdk/go/google/appengine/v1/pulumiTypes.go index 3fc0e616a5..58e3ffdc0e 100644 --- a/sdk/go/google/appengine/v1/pulumiTypes.go +++ b/sdk/go/google/appengine/v1/pulumiTypes.go @@ -1868,7 +1868,7 @@ type Deployment struct { // The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. Container *ContainerInfo `pulumi:"container"` // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. - Files map[string]string `pulumi:"files"` + Files map[string]FileInfo `pulumi:"files"` // The zip file for this deployment, if this is a zip deployment. Zip *ZipInfo `pulumi:"zip"` } @@ -1891,7 +1891,7 @@ type DeploymentArgs struct { // The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. Container ContainerInfoPtrInput `pulumi:"container"` // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. - Files pulumi.StringMapInput `pulumi:"files"` + Files FileInfoMapInput `pulumi:"files"` // The zip file for this deployment, if this is a zip deployment. Zip ZipInfoPtrInput `pulumi:"zip"` } @@ -1985,8 +1985,8 @@ func (o DeploymentOutput) Container() ContainerInfoPtrOutput { } // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. -func (o DeploymentOutput) Files() pulumi.StringMapOutput { - return o.ApplyT(func(v Deployment) map[string]string { return v.Files }).(pulumi.StringMapOutput) +func (o DeploymentOutput) Files() FileInfoMapOutput { + return o.ApplyT(func(v Deployment) map[string]FileInfo { return v.Files }).(FileInfoMapOutput) } // The zip file for this deployment, if this is a zip deployment. @@ -2039,13 +2039,13 @@ func (o DeploymentPtrOutput) Container() ContainerInfoPtrOutput { } // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. -func (o DeploymentPtrOutput) Files() pulumi.StringMapOutput { - return o.ApplyT(func(v *Deployment) map[string]string { +func (o DeploymentPtrOutput) Files() FileInfoMapOutput { + return o.ApplyT(func(v *Deployment) map[string]FileInfo { if v == nil { return nil } return v.Files - }).(pulumi.StringMapOutput) + }).(FileInfoMapOutput) } // The zip file for this deployment, if this is a zip deployment. @@ -2065,7 +2065,7 @@ type DeploymentResponse struct { // The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. Container ContainerInfoResponse `pulumi:"container"` // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. - Files map[string]string `pulumi:"files"` + Files map[string]FileInfoResponse `pulumi:"files"` // The zip file for this deployment, if this is a zip deployment. Zip ZipInfoResponse `pulumi:"zip"` } @@ -2096,8 +2096,8 @@ func (o DeploymentResponseOutput) Container() ContainerInfoResponseOutput { } // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. -func (o DeploymentResponseOutput) Files() pulumi.StringMapOutput { - return o.ApplyT(func(v DeploymentResponse) map[string]string { return v.Files }).(pulumi.StringMapOutput) +func (o DeploymentResponseOutput) Files() FileInfoResponseMapOutput { + return o.ApplyT(func(v DeploymentResponse) map[string]FileInfoResponse { return v.Files }).(FileInfoResponseMapOutput) } // The zip file for this deployment, if this is a zip deployment. @@ -3129,6 +3129,184 @@ func (o FeatureSettingsResponseOutput) UseContainerOptimizedOs() pulumi.BoolOutp return o.ApplyT(func(v FeatureSettingsResponse) bool { return v.UseContainerOptimizedOs }).(pulumi.BoolOutput) } +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfo struct { + // The MIME type of the file.Defaults to the value from Google Cloud Storage. + MimeType *string `pulumi:"mimeType"` + // The SHA1 hash of the file, in hex. + Sha1Sum *string `pulumi:"sha1Sum"` + // URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + SourceUrl *string `pulumi:"sourceUrl"` +} + +// FileInfoInput is an input type that accepts FileInfoArgs and FileInfoOutput values. +// You can construct a concrete instance of `FileInfoInput` via: +// +// FileInfoArgs{...} +type FileInfoInput interface { + pulumi.Input + + ToFileInfoOutput() FileInfoOutput + ToFileInfoOutputWithContext(context.Context) FileInfoOutput +} + +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfoArgs struct { + // The MIME type of the file.Defaults to the value from Google Cloud Storage. + MimeType pulumi.StringPtrInput `pulumi:"mimeType"` + // The SHA1 hash of the file, in hex. + Sha1Sum pulumi.StringPtrInput `pulumi:"sha1Sum"` + // URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + SourceUrl pulumi.StringPtrInput `pulumi:"sourceUrl"` +} + +func (FileInfoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FileInfo)(nil)).Elem() +} + +func (i FileInfoArgs) ToFileInfoOutput() FileInfoOutput { + return i.ToFileInfoOutputWithContext(context.Background()) +} + +func (i FileInfoArgs) ToFileInfoOutputWithContext(ctx context.Context) FileInfoOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileInfoOutput) +} + +// FileInfoMapInput is an input type that accepts FileInfoMap and FileInfoMapOutput values. +// You can construct a concrete instance of `FileInfoMapInput` via: +// +// FileInfoMap{ "key": FileInfoArgs{...} } +type FileInfoMapInput interface { + pulumi.Input + + ToFileInfoMapOutput() FileInfoMapOutput + ToFileInfoMapOutputWithContext(context.Context) FileInfoMapOutput +} + +type FileInfoMap map[string]FileInfoInput + +func (FileInfoMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileInfo)(nil)).Elem() +} + +func (i FileInfoMap) ToFileInfoMapOutput() FileInfoMapOutput { + return i.ToFileInfoMapOutputWithContext(context.Background()) +} + +func (i FileInfoMap) ToFileInfoMapOutputWithContext(ctx context.Context) FileInfoMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileInfoMapOutput) +} + +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfoOutput struct{ *pulumi.OutputState } + +func (FileInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileInfo)(nil)).Elem() +} + +func (o FileInfoOutput) ToFileInfoOutput() FileInfoOutput { + return o +} + +func (o FileInfoOutput) ToFileInfoOutputWithContext(ctx context.Context) FileInfoOutput { + return o +} + +// The MIME type of the file.Defaults to the value from Google Cloud Storage. +func (o FileInfoOutput) MimeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v FileInfo) *string { return v.MimeType }).(pulumi.StringPtrOutput) +} + +// The SHA1 hash of the file, in hex. +func (o FileInfoOutput) Sha1Sum() pulumi.StringPtrOutput { + return o.ApplyT(func(v FileInfo) *string { return v.Sha1Sum }).(pulumi.StringPtrOutput) +} + +// URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. +func (o FileInfoOutput) SourceUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v FileInfo) *string { return v.SourceUrl }).(pulumi.StringPtrOutput) +} + +type FileInfoMapOutput struct{ *pulumi.OutputState } + +func (FileInfoMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileInfo)(nil)).Elem() +} + +func (o FileInfoMapOutput) ToFileInfoMapOutput() FileInfoMapOutput { + return o +} + +func (o FileInfoMapOutput) ToFileInfoMapOutputWithContext(ctx context.Context) FileInfoMapOutput { + return o +} + +func (o FileInfoMapOutput) MapIndex(k pulumi.StringInput) FileInfoOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileInfo { + return vs[0].(map[string]FileInfo)[vs[1].(string)] + }).(FileInfoOutput) +} + +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfoResponse struct { + // The MIME type of the file.Defaults to the value from Google Cloud Storage. + MimeType string `pulumi:"mimeType"` + // The SHA1 hash of the file, in hex. + Sha1Sum string `pulumi:"sha1Sum"` + // URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + SourceUrl string `pulumi:"sourceUrl"` +} + +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfoResponseOutput struct{ *pulumi.OutputState } + +func (FileInfoResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileInfoResponse)(nil)).Elem() +} + +func (o FileInfoResponseOutput) ToFileInfoResponseOutput() FileInfoResponseOutput { + return o +} + +func (o FileInfoResponseOutput) ToFileInfoResponseOutputWithContext(ctx context.Context) FileInfoResponseOutput { + return o +} + +// The MIME type of the file.Defaults to the value from Google Cloud Storage. +func (o FileInfoResponseOutput) MimeType() pulumi.StringOutput { + return o.ApplyT(func(v FileInfoResponse) string { return v.MimeType }).(pulumi.StringOutput) +} + +// The SHA1 hash of the file, in hex. +func (o FileInfoResponseOutput) Sha1Sum() pulumi.StringOutput { + return o.ApplyT(func(v FileInfoResponse) string { return v.Sha1Sum }).(pulumi.StringOutput) +} + +// URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. +func (o FileInfoResponseOutput) SourceUrl() pulumi.StringOutput { + return o.ApplyT(func(v FileInfoResponse) string { return v.SourceUrl }).(pulumi.StringOutput) +} + +type FileInfoResponseMapOutput struct{ *pulumi.OutputState } + +func (FileInfoResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileInfoResponse)(nil)).Elem() +} + +func (o FileInfoResponseMapOutput) ToFileInfoResponseMapOutput() FileInfoResponseMapOutput { + return o +} + +func (o FileInfoResponseMapOutput) ToFileInfoResponseMapOutputWithContext(ctx context.Context) FileInfoResponseMapOutput { + return o +} + +func (o FileInfoResponseMapOutput) MapIndex(k pulumi.StringInput) FileInfoResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileInfoResponse { + return vs[0].(map[string]FileInfoResponse)[vs[1].(string)] + }).(FileInfoResponseOutput) +} + // Runtime settings for the App Engine flexible environment. type FlexibleRuntimeSettings struct { // The operating system of the application runtime. @@ -7893,6 +8071,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ErrorHandlerArrayInput)(nil)).Elem(), ErrorHandlerArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FeatureSettingsInput)(nil)).Elem(), FeatureSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FeatureSettingsPtrInput)(nil)).Elem(), FeatureSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileInfoInput)(nil)).Elem(), FileInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileInfoMapInput)(nil)).Elem(), FileInfoMap{}) pulumi.RegisterInputType(reflect.TypeOf((*FlexibleRuntimeSettingsInput)(nil)).Elem(), FlexibleRuntimeSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlexibleRuntimeSettingsPtrInput)(nil)).Elem(), FlexibleRuntimeSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HealthCheckInput)(nil)).Elem(), HealthCheckArgs{}) @@ -7976,6 +8156,10 @@ func init() { pulumi.RegisterOutputType(FeatureSettingsOutput{}) pulumi.RegisterOutputType(FeatureSettingsPtrOutput{}) pulumi.RegisterOutputType(FeatureSettingsResponseOutput{}) + pulumi.RegisterOutputType(FileInfoOutput{}) + pulumi.RegisterOutputType(FileInfoMapOutput{}) + pulumi.RegisterOutputType(FileInfoResponseOutput{}) + pulumi.RegisterOutputType(FileInfoResponseMapOutput{}) pulumi.RegisterOutputType(FlexibleRuntimeSettingsOutput{}) pulumi.RegisterOutputType(FlexibleRuntimeSettingsPtrOutput{}) pulumi.RegisterOutputType(FlexibleRuntimeSettingsResponseOutput{}) diff --git a/sdk/go/google/appengine/v1/version.go b/sdk/go/google/appengine/v1/version.go index 89bda7e6b6..bae3e35225 100644 --- a/sdk/go/google/appengine/v1/version.go +++ b/sdk/go/google/appengine/v1/version.go @@ -53,7 +53,7 @@ type Version struct { // Settings for App Engine flexible runtimes. FlexibleRuntimeSettings FlexibleRuntimeSettingsResponseOutput `pulumi:"flexibleRuntimeSettings"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest - GeneratedCustomerMetadata pulumi.StringMapOutput `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata pulumi.MapOutput `pulumi:"generatedCustomerMetadata"` // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. Handlers UrlMapResponseArrayOutput `pulumi:"handlers"` // Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. @@ -186,7 +186,7 @@ type versionArgs struct { // Settings for App Engine flexible runtimes. FlexibleRuntimeSettings *FlexibleRuntimeSettings `pulumi:"flexibleRuntimeSettings"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest - GeneratedCustomerMetadata map[string]string `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata map[string]interface{} `pulumi:"generatedCustomerMetadata"` // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. Handlers []UrlMap `pulumi:"handlers"` // Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. @@ -268,7 +268,7 @@ type VersionArgs struct { // Settings for App Engine flexible runtimes. FlexibleRuntimeSettings FlexibleRuntimeSettingsPtrInput // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest - GeneratedCustomerMetadata pulumi.StringMapInput + GeneratedCustomerMetadata pulumi.MapInput // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. Handlers UrlMapArrayInput // Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. @@ -445,8 +445,8 @@ func (o VersionOutput) FlexibleRuntimeSettings() FlexibleRuntimeSettingsResponse } // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest -func (o VersionOutput) GeneratedCustomerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *Version) pulumi.StringMapOutput { return v.GeneratedCustomerMetadata }).(pulumi.StringMapOutput) +func (o VersionOutput) GeneratedCustomerMetadata() pulumi.MapOutput { + return o.ApplyT(func(v *Version) pulumi.MapOutput { return v.GeneratedCustomerMetadata }).(pulumi.MapOutput) } // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. diff --git a/sdk/go/google/appengine/v1beta/app.go b/sdk/go/google/appengine/v1beta/app.go index 2c42bc09cc..fd36d87197 100644 --- a/sdk/go/google/appengine/v1beta/app.go +++ b/sdk/go/google/appengine/v1beta/app.go @@ -37,7 +37,7 @@ type App struct { // The Google Container Registry domain used for storing managed build docker images for this application. GcrDomain pulumi.StringOutput `pulumi:"gcrDomain"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest - GeneratedCustomerMetadata pulumi.StringMapOutput `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata pulumi.MapOutput `pulumi:"generatedCustomerMetadata"` Iap IdentityAwareProxyResponseOutput `pulumi:"iap"` // Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). Location pulumi.StringOutput `pulumi:"location"` @@ -100,8 +100,8 @@ type appArgs struct { // The feature specific settings to be used in the application. FeatureSettings *FeatureSettings `pulumi:"featureSettings"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest - GeneratedCustomerMetadata map[string]string `pulumi:"generatedCustomerMetadata"` - Iap *IdentityAwareProxy `pulumi:"iap"` + GeneratedCustomerMetadata map[string]interface{} `pulumi:"generatedCustomerMetadata"` + Iap *IdentityAwareProxy `pulumi:"iap"` // Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. Id *string `pulumi:"id"` // Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). @@ -125,7 +125,7 @@ type AppArgs struct { // The feature specific settings to be used in the application. FeatureSettings FeatureSettingsPtrInput // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest - GeneratedCustomerMetadata pulumi.StringMapInput + GeneratedCustomerMetadata pulumi.MapInput Iap IdentityAwareProxyPtrInput // Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. Id pulumi.StringPtrInput @@ -220,8 +220,8 @@ func (o AppOutput) GcrDomain() pulumi.StringOutput { } // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest -func (o AppOutput) GeneratedCustomerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *App) pulumi.StringMapOutput { return v.GeneratedCustomerMetadata }).(pulumi.StringMapOutput) +func (o AppOutput) GeneratedCustomerMetadata() pulumi.MapOutput { + return o.ApplyT(func(v *App) pulumi.MapOutput { return v.GeneratedCustomerMetadata }).(pulumi.MapOutput) } func (o AppOutput) Iap() IdentityAwareProxyResponseOutput { diff --git a/sdk/go/google/appengine/v1beta/getApp.go b/sdk/go/google/appengine/v1beta/getApp.go index dad8596280..832f016f7a 100644 --- a/sdk/go/google/appengine/v1beta/getApp.go +++ b/sdk/go/google/appengine/v1beta/getApp.go @@ -47,7 +47,7 @@ type LookupAppResult struct { // The Google Container Registry domain used for storing managed build docker images for this application. GcrDomain string `pulumi:"gcrDomain"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest - GeneratedCustomerMetadata map[string]string `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata map[string]interface{} `pulumi:"generatedCustomerMetadata"` Iap IdentityAwareProxyResponse `pulumi:"iap"` // Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). Location string `pulumi:"location"` @@ -141,8 +141,8 @@ func (o LookupAppResultOutput) GcrDomain() pulumi.StringOutput { } // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest -func (o LookupAppResultOutput) GeneratedCustomerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupAppResult) map[string]string { return v.GeneratedCustomerMetadata }).(pulumi.StringMapOutput) +func (o LookupAppResultOutput) GeneratedCustomerMetadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupAppResult) map[string]interface{} { return v.GeneratedCustomerMetadata }).(pulumi.MapOutput) } func (o LookupAppResultOutput) Iap() IdentityAwareProxyResponseOutput { diff --git a/sdk/go/google/appengine/v1beta/getVersion.go b/sdk/go/google/appengine/v1beta/getVersion.go index 94a8d65dd6..53e8802387 100644 --- a/sdk/go/google/appengine/v1beta/getVersion.go +++ b/sdk/go/google/appengine/v1beta/getVersion.go @@ -66,7 +66,7 @@ type LookupVersionResult struct { // Settings for App Engine flexible runtimes. FlexibleRuntimeSettings FlexibleRuntimeSettingsResponse `pulumi:"flexibleRuntimeSettings"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest - GeneratedCustomerMetadata map[string]string `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata map[string]interface{} `pulumi:"generatedCustomerMetadata"` // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. Handlers []UrlMapResponse `pulumi:"handlers"` // Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. @@ -242,8 +242,8 @@ func (o LookupVersionResultOutput) FlexibleRuntimeSettings() FlexibleRuntimeSett } // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest -func (o LookupVersionResultOutput) GeneratedCustomerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupVersionResult) map[string]string { return v.GeneratedCustomerMetadata }).(pulumi.StringMapOutput) +func (o LookupVersionResultOutput) GeneratedCustomerMetadata() pulumi.MapOutput { + return o.ApplyT(func(v LookupVersionResult) map[string]interface{} { return v.GeneratedCustomerMetadata }).(pulumi.MapOutput) } // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. diff --git a/sdk/go/google/appengine/v1beta/pulumiTypes.go b/sdk/go/google/appengine/v1beta/pulumiTypes.go index 7800b1fe81..494fc5b183 100644 --- a/sdk/go/google/appengine/v1beta/pulumiTypes.go +++ b/sdk/go/google/appengine/v1beta/pulumiTypes.go @@ -2272,7 +2272,7 @@ type Deployment struct { // The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. Container *ContainerInfo `pulumi:"container"` // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. - Files map[string]string `pulumi:"files"` + Files map[string]FileInfo `pulumi:"files"` // The zip file for this deployment, if this is a zip deployment. Zip *ZipInfo `pulumi:"zip"` } @@ -2297,7 +2297,7 @@ type DeploymentArgs struct { // The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. Container ContainerInfoPtrInput `pulumi:"container"` // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. - Files pulumi.StringMapInput `pulumi:"files"` + Files FileInfoMapInput `pulumi:"files"` // The zip file for this deployment, if this is a zip deployment. Zip ZipInfoPtrInput `pulumi:"zip"` } @@ -2396,8 +2396,8 @@ func (o DeploymentOutput) Container() ContainerInfoPtrOutput { } // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. -func (o DeploymentOutput) Files() pulumi.StringMapOutput { - return o.ApplyT(func(v Deployment) map[string]string { return v.Files }).(pulumi.StringMapOutput) +func (o DeploymentOutput) Files() FileInfoMapOutput { + return o.ApplyT(func(v Deployment) map[string]FileInfo { return v.Files }).(FileInfoMapOutput) } // The zip file for this deployment, if this is a zip deployment. @@ -2460,13 +2460,13 @@ func (o DeploymentPtrOutput) Container() ContainerInfoPtrOutput { } // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. -func (o DeploymentPtrOutput) Files() pulumi.StringMapOutput { - return o.ApplyT(func(v *Deployment) map[string]string { +func (o DeploymentPtrOutput) Files() FileInfoMapOutput { + return o.ApplyT(func(v *Deployment) map[string]FileInfo { if v == nil { return nil } return v.Files - }).(pulumi.StringMapOutput) + }).(FileInfoMapOutput) } // The zip file for this deployment, if this is a zip deployment. @@ -2488,7 +2488,7 @@ type DeploymentResponse struct { // The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. Container ContainerInfoResponse `pulumi:"container"` // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. - Files map[string]string `pulumi:"files"` + Files map[string]FileInfoResponse `pulumi:"files"` // The zip file for this deployment, if this is a zip deployment. Zip ZipInfoResponse `pulumi:"zip"` } @@ -2524,8 +2524,8 @@ func (o DeploymentResponseOutput) Container() ContainerInfoResponseOutput { } // Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. -func (o DeploymentResponseOutput) Files() pulumi.StringMapOutput { - return o.ApplyT(func(v DeploymentResponse) map[string]string { return v.Files }).(pulumi.StringMapOutput) +func (o DeploymentResponseOutput) Files() FileInfoResponseMapOutput { + return o.ApplyT(func(v DeploymentResponse) map[string]FileInfoResponse { return v.Files }).(FileInfoResponseMapOutput) } // The zip file for this deployment, if this is a zip deployment. @@ -3557,6 +3557,184 @@ func (o FeatureSettingsResponseOutput) UseContainerOptimizedOs() pulumi.BoolOutp return o.ApplyT(func(v FeatureSettingsResponse) bool { return v.UseContainerOptimizedOs }).(pulumi.BoolOutput) } +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfo struct { + // The MIME type of the file.Defaults to the value from Google Cloud Storage. + MimeType *string `pulumi:"mimeType"` + // The SHA1 hash of the file, in hex. + Sha1Sum *string `pulumi:"sha1Sum"` + // URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + SourceUrl *string `pulumi:"sourceUrl"` +} + +// FileInfoInput is an input type that accepts FileInfoArgs and FileInfoOutput values. +// You can construct a concrete instance of `FileInfoInput` via: +// +// FileInfoArgs{...} +type FileInfoInput interface { + pulumi.Input + + ToFileInfoOutput() FileInfoOutput + ToFileInfoOutputWithContext(context.Context) FileInfoOutput +} + +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfoArgs struct { + // The MIME type of the file.Defaults to the value from Google Cloud Storage. + MimeType pulumi.StringPtrInput `pulumi:"mimeType"` + // The SHA1 hash of the file, in hex. + Sha1Sum pulumi.StringPtrInput `pulumi:"sha1Sum"` + // URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + SourceUrl pulumi.StringPtrInput `pulumi:"sourceUrl"` +} + +func (FileInfoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FileInfo)(nil)).Elem() +} + +func (i FileInfoArgs) ToFileInfoOutput() FileInfoOutput { + return i.ToFileInfoOutputWithContext(context.Background()) +} + +func (i FileInfoArgs) ToFileInfoOutputWithContext(ctx context.Context) FileInfoOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileInfoOutput) +} + +// FileInfoMapInput is an input type that accepts FileInfoMap and FileInfoMapOutput values. +// You can construct a concrete instance of `FileInfoMapInput` via: +// +// FileInfoMap{ "key": FileInfoArgs{...} } +type FileInfoMapInput interface { + pulumi.Input + + ToFileInfoMapOutput() FileInfoMapOutput + ToFileInfoMapOutputWithContext(context.Context) FileInfoMapOutput +} + +type FileInfoMap map[string]FileInfoInput + +func (FileInfoMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileInfo)(nil)).Elem() +} + +func (i FileInfoMap) ToFileInfoMapOutput() FileInfoMapOutput { + return i.ToFileInfoMapOutputWithContext(context.Background()) +} + +func (i FileInfoMap) ToFileInfoMapOutputWithContext(ctx context.Context) FileInfoMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileInfoMapOutput) +} + +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfoOutput struct{ *pulumi.OutputState } + +func (FileInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileInfo)(nil)).Elem() +} + +func (o FileInfoOutput) ToFileInfoOutput() FileInfoOutput { + return o +} + +func (o FileInfoOutput) ToFileInfoOutputWithContext(ctx context.Context) FileInfoOutput { + return o +} + +// The MIME type of the file.Defaults to the value from Google Cloud Storage. +func (o FileInfoOutput) MimeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v FileInfo) *string { return v.MimeType }).(pulumi.StringPtrOutput) +} + +// The SHA1 hash of the file, in hex. +func (o FileInfoOutput) Sha1Sum() pulumi.StringPtrOutput { + return o.ApplyT(func(v FileInfo) *string { return v.Sha1Sum }).(pulumi.StringPtrOutput) +} + +// URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. +func (o FileInfoOutput) SourceUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v FileInfo) *string { return v.SourceUrl }).(pulumi.StringPtrOutput) +} + +type FileInfoMapOutput struct{ *pulumi.OutputState } + +func (FileInfoMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileInfo)(nil)).Elem() +} + +func (o FileInfoMapOutput) ToFileInfoMapOutput() FileInfoMapOutput { + return o +} + +func (o FileInfoMapOutput) ToFileInfoMapOutputWithContext(ctx context.Context) FileInfoMapOutput { + return o +} + +func (o FileInfoMapOutput) MapIndex(k pulumi.StringInput) FileInfoOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileInfo { + return vs[0].(map[string]FileInfo)[vs[1].(string)] + }).(FileInfoOutput) +} + +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfoResponse struct { + // The MIME type of the file.Defaults to the value from Google Cloud Storage. + MimeType string `pulumi:"mimeType"` + // The SHA1 hash of the file, in hex. + Sha1Sum string `pulumi:"sha1Sum"` + // URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + SourceUrl string `pulumi:"sourceUrl"` +} + +// Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. +type FileInfoResponseOutput struct{ *pulumi.OutputState } + +func (FileInfoResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileInfoResponse)(nil)).Elem() +} + +func (o FileInfoResponseOutput) ToFileInfoResponseOutput() FileInfoResponseOutput { + return o +} + +func (o FileInfoResponseOutput) ToFileInfoResponseOutputWithContext(ctx context.Context) FileInfoResponseOutput { + return o +} + +// The MIME type of the file.Defaults to the value from Google Cloud Storage. +func (o FileInfoResponseOutput) MimeType() pulumi.StringOutput { + return o.ApplyT(func(v FileInfoResponse) string { return v.MimeType }).(pulumi.StringOutput) +} + +// The SHA1 hash of the file, in hex. +func (o FileInfoResponseOutput) Sha1Sum() pulumi.StringOutput { + return o.ApplyT(func(v FileInfoResponse) string { return v.Sha1Sum }).(pulumi.StringOutput) +} + +// URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. +func (o FileInfoResponseOutput) SourceUrl() pulumi.StringOutput { + return o.ApplyT(func(v FileInfoResponse) string { return v.SourceUrl }).(pulumi.StringOutput) +} + +type FileInfoResponseMapOutput struct{ *pulumi.OutputState } + +func (FileInfoResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileInfoResponse)(nil)).Elem() +} + +func (o FileInfoResponseMapOutput) ToFileInfoResponseMapOutput() FileInfoResponseMapOutput { + return o +} + +func (o FileInfoResponseMapOutput) ToFileInfoResponseMapOutputWithContext(ctx context.Context) FileInfoResponseMapOutput { + return o +} + +func (o FileInfoResponseMapOutput) MapIndex(k pulumi.StringInput) FileInfoResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileInfoResponse { + return vs[0].(map[string]FileInfoResponse)[vs[1].(string)] + }).(FileInfoResponseOutput) +} + // Runtime settings for the App Engine flexible environment. type FlexibleRuntimeSettings struct { // The operating system of the application runtime. @@ -8325,6 +8503,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ErrorHandlerArrayInput)(nil)).Elem(), ErrorHandlerArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FeatureSettingsInput)(nil)).Elem(), FeatureSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FeatureSettingsPtrInput)(nil)).Elem(), FeatureSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileInfoInput)(nil)).Elem(), FileInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileInfoMapInput)(nil)).Elem(), FileInfoMap{}) pulumi.RegisterInputType(reflect.TypeOf((*FlexibleRuntimeSettingsInput)(nil)).Elem(), FlexibleRuntimeSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlexibleRuntimeSettingsPtrInput)(nil)).Elem(), FlexibleRuntimeSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HealthCheckInput)(nil)).Elem(), HealthCheckArgs{}) @@ -8415,6 +8595,10 @@ func init() { pulumi.RegisterOutputType(FeatureSettingsOutput{}) pulumi.RegisterOutputType(FeatureSettingsPtrOutput{}) pulumi.RegisterOutputType(FeatureSettingsResponseOutput{}) + pulumi.RegisterOutputType(FileInfoOutput{}) + pulumi.RegisterOutputType(FileInfoMapOutput{}) + pulumi.RegisterOutputType(FileInfoResponseOutput{}) + pulumi.RegisterOutputType(FileInfoResponseMapOutput{}) pulumi.RegisterOutputType(FlexibleRuntimeSettingsOutput{}) pulumi.RegisterOutputType(FlexibleRuntimeSettingsPtrOutput{}) pulumi.RegisterOutputType(FlexibleRuntimeSettingsResponseOutput{}) diff --git a/sdk/go/google/appengine/v1beta/version.go b/sdk/go/google/appengine/v1beta/version.go index a1f22ccbdb..af768b45d7 100644 --- a/sdk/go/google/appengine/v1beta/version.go +++ b/sdk/go/google/appengine/v1beta/version.go @@ -53,7 +53,7 @@ type Version struct { // Settings for App Engine flexible runtimes. FlexibleRuntimeSettings FlexibleRuntimeSettingsResponseOutput `pulumi:"flexibleRuntimeSettings"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest - GeneratedCustomerMetadata pulumi.StringMapOutput `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata pulumi.MapOutput `pulumi:"generatedCustomerMetadata"` // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. Handlers UrlMapResponseArrayOutput `pulumi:"handlers"` // Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. @@ -186,7 +186,7 @@ type versionArgs struct { // Settings for App Engine flexible runtimes. FlexibleRuntimeSettings *FlexibleRuntimeSettings `pulumi:"flexibleRuntimeSettings"` // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest - GeneratedCustomerMetadata map[string]string `pulumi:"generatedCustomerMetadata"` + GeneratedCustomerMetadata map[string]interface{} `pulumi:"generatedCustomerMetadata"` // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. Handlers []UrlMap `pulumi:"handlers"` // Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. @@ -268,7 +268,7 @@ type VersionArgs struct { // Settings for App Engine flexible runtimes. FlexibleRuntimeSettings FlexibleRuntimeSettingsPtrInput // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest - GeneratedCustomerMetadata pulumi.StringMapInput + GeneratedCustomerMetadata pulumi.MapInput // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. Handlers UrlMapArrayInput // Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. @@ -445,8 +445,8 @@ func (o VersionOutput) FlexibleRuntimeSettings() FlexibleRuntimeSettingsResponse } // Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest -func (o VersionOutput) GeneratedCustomerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *Version) pulumi.StringMapOutput { return v.GeneratedCustomerMetadata }).(pulumi.StringMapOutput) +func (o VersionOutput) GeneratedCustomerMetadata() pulumi.MapOutput { + return o.ApplyT(func(v *Version) pulumi.MapOutput { return v.GeneratedCustomerMetadata }).(pulumi.MapOutput) } // An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. diff --git a/sdk/go/google/artifactregistry/v1/getRepository.go b/sdk/go/google/artifactregistry/v1/getRepository.go index 611fbf0d2b..b89afeb4ed 100644 --- a/sdk/go/google/artifactregistry/v1/getRepository.go +++ b/sdk/go/google/artifactregistry/v1/getRepository.go @@ -30,7 +30,7 @@ type LookupRepositoryArgs struct { type LookupRepositoryResult struct { // Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. - CleanupPolicies map[string]string `pulumi:"cleanupPolicies"` + CleanupPolicies map[string]CleanupPolicyResponse `pulumi:"cleanupPolicies"` // Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. CleanupPolicyDryRun bool `pulumi:"cleanupPolicyDryRun"` // The time when the repository was created. @@ -101,8 +101,8 @@ func (o LookupRepositoryResultOutput) ToLookupRepositoryResultOutputWithContext( } // Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. -func (o LookupRepositoryResultOutput) CleanupPolicies() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupRepositoryResult) map[string]string { return v.CleanupPolicies }).(pulumi.StringMapOutput) +func (o LookupRepositoryResultOutput) CleanupPolicies() CleanupPolicyResponseMapOutput { + return o.ApplyT(func(v LookupRepositoryResult) map[string]CleanupPolicyResponse { return v.CleanupPolicies }).(CleanupPolicyResponseMapOutput) } // Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. diff --git a/sdk/go/google/artifactregistry/v1/pulumiEnums.go b/sdk/go/google/artifactregistry/v1/pulumiEnums.go index facf2a9ee3..97ea83967f 100644 --- a/sdk/go/google/artifactregistry/v1/pulumiEnums.go +++ b/sdk/go/google/artifactregistry/v1/pulumiEnums.go @@ -10,6 +10,351 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// Policy action. +type CleanupPolicyAction string + +const ( + // Action not specified. + CleanupPolicyActionActionUnspecified = CleanupPolicyAction("ACTION_UNSPECIFIED") + // Delete action. + CleanupPolicyActionDelete = CleanupPolicyAction("DELETE") + // Keep action. + CleanupPolicyActionKeep = CleanupPolicyAction("KEEP") +) + +func (CleanupPolicyAction) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyAction)(nil)).Elem() +} + +func (e CleanupPolicyAction) ToCleanupPolicyActionOutput() CleanupPolicyActionOutput { + return pulumi.ToOutput(e).(CleanupPolicyActionOutput) +} + +func (e CleanupPolicyAction) ToCleanupPolicyActionOutputWithContext(ctx context.Context) CleanupPolicyActionOutput { + return pulumi.ToOutputWithContext(ctx, e).(CleanupPolicyActionOutput) +} + +func (e CleanupPolicyAction) ToCleanupPolicyActionPtrOutput() CleanupPolicyActionPtrOutput { + return e.ToCleanupPolicyActionPtrOutputWithContext(context.Background()) +} + +func (e CleanupPolicyAction) ToCleanupPolicyActionPtrOutputWithContext(ctx context.Context) CleanupPolicyActionPtrOutput { + return CleanupPolicyAction(e).ToCleanupPolicyActionOutputWithContext(ctx).ToCleanupPolicyActionPtrOutputWithContext(ctx) +} + +func (e CleanupPolicyAction) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CleanupPolicyAction) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CleanupPolicyAction) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CleanupPolicyAction) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CleanupPolicyActionOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyAction)(nil)).Elem() +} + +func (o CleanupPolicyActionOutput) ToCleanupPolicyActionOutput() CleanupPolicyActionOutput { + return o +} + +func (o CleanupPolicyActionOutput) ToCleanupPolicyActionOutputWithContext(ctx context.Context) CleanupPolicyActionOutput { + return o +} + +func (o CleanupPolicyActionOutput) ToCleanupPolicyActionPtrOutput() CleanupPolicyActionPtrOutput { + return o.ToCleanupPolicyActionPtrOutputWithContext(context.Background()) +} + +func (o CleanupPolicyActionOutput) ToCleanupPolicyActionPtrOutputWithContext(ctx context.Context) CleanupPolicyActionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CleanupPolicyAction) *CleanupPolicyAction { + return &v + }).(CleanupPolicyActionPtrOutput) +} + +func (o CleanupPolicyActionOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CleanupPolicyActionOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CleanupPolicyAction) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CleanupPolicyActionOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CleanupPolicyActionOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CleanupPolicyAction) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CleanupPolicyActionPtrOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CleanupPolicyAction)(nil)).Elem() +} + +func (o CleanupPolicyActionPtrOutput) ToCleanupPolicyActionPtrOutput() CleanupPolicyActionPtrOutput { + return o +} + +func (o CleanupPolicyActionPtrOutput) ToCleanupPolicyActionPtrOutputWithContext(ctx context.Context) CleanupPolicyActionPtrOutput { + return o +} + +func (o CleanupPolicyActionPtrOutput) Elem() CleanupPolicyActionOutput { + return o.ApplyT(func(v *CleanupPolicyAction) CleanupPolicyAction { + if v != nil { + return *v + } + var ret CleanupPolicyAction + return ret + }).(CleanupPolicyActionOutput) +} + +func (o CleanupPolicyActionPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CleanupPolicyActionPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CleanupPolicyAction) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CleanupPolicyActionInput is an input type that accepts values of the CleanupPolicyAction enum +// A concrete instance of `CleanupPolicyActionInput` can be one of the following: +// +// CleanupPolicyActionActionUnspecified +// CleanupPolicyActionDelete +// CleanupPolicyActionKeep +type CleanupPolicyActionInput interface { + pulumi.Input + + ToCleanupPolicyActionOutput() CleanupPolicyActionOutput + ToCleanupPolicyActionOutputWithContext(context.Context) CleanupPolicyActionOutput +} + +var cleanupPolicyActionPtrType = reflect.TypeOf((**CleanupPolicyAction)(nil)).Elem() + +type CleanupPolicyActionPtrInput interface { + pulumi.Input + + ToCleanupPolicyActionPtrOutput() CleanupPolicyActionPtrOutput + ToCleanupPolicyActionPtrOutputWithContext(context.Context) CleanupPolicyActionPtrOutput +} + +type cleanupPolicyActionPtr string + +func CleanupPolicyActionPtr(v string) CleanupPolicyActionPtrInput { + return (*cleanupPolicyActionPtr)(&v) +} + +func (*cleanupPolicyActionPtr) ElementType() reflect.Type { + return cleanupPolicyActionPtrType +} + +func (in *cleanupPolicyActionPtr) ToCleanupPolicyActionPtrOutput() CleanupPolicyActionPtrOutput { + return pulumi.ToOutput(in).(CleanupPolicyActionPtrOutput) +} + +func (in *cleanupPolicyActionPtr) ToCleanupPolicyActionPtrOutputWithContext(ctx context.Context) CleanupPolicyActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CleanupPolicyActionPtrOutput) +} + +// Match versions by tag status. +type CleanupPolicyConditionTagState string + +const ( + // Tag status not specified. + CleanupPolicyConditionTagStateTagStateUnspecified = CleanupPolicyConditionTagState("TAG_STATE_UNSPECIFIED") + // Applies to tagged versions only. + CleanupPolicyConditionTagStateTagged = CleanupPolicyConditionTagState("TAGGED") + // Applies to untagged versions only. + CleanupPolicyConditionTagStateUntagged = CleanupPolicyConditionTagState("UNTAGGED") + // Applies to all versions. + CleanupPolicyConditionTagStateAny = CleanupPolicyConditionTagState("ANY") +) + +func (CleanupPolicyConditionTagState) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyConditionTagState)(nil)).Elem() +} + +func (e CleanupPolicyConditionTagState) ToCleanupPolicyConditionTagStateOutput() CleanupPolicyConditionTagStateOutput { + return pulumi.ToOutput(e).(CleanupPolicyConditionTagStateOutput) +} + +func (e CleanupPolicyConditionTagState) ToCleanupPolicyConditionTagStateOutputWithContext(ctx context.Context) CleanupPolicyConditionTagStateOutput { + return pulumi.ToOutputWithContext(ctx, e).(CleanupPolicyConditionTagStateOutput) +} + +func (e CleanupPolicyConditionTagState) ToCleanupPolicyConditionTagStatePtrOutput() CleanupPolicyConditionTagStatePtrOutput { + return e.ToCleanupPolicyConditionTagStatePtrOutputWithContext(context.Background()) +} + +func (e CleanupPolicyConditionTagState) ToCleanupPolicyConditionTagStatePtrOutputWithContext(ctx context.Context) CleanupPolicyConditionTagStatePtrOutput { + return CleanupPolicyConditionTagState(e).ToCleanupPolicyConditionTagStateOutputWithContext(ctx).ToCleanupPolicyConditionTagStatePtrOutputWithContext(ctx) +} + +func (e CleanupPolicyConditionTagState) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CleanupPolicyConditionTagState) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CleanupPolicyConditionTagState) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CleanupPolicyConditionTagState) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CleanupPolicyConditionTagStateOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyConditionTagStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyConditionTagState)(nil)).Elem() +} + +func (o CleanupPolicyConditionTagStateOutput) ToCleanupPolicyConditionTagStateOutput() CleanupPolicyConditionTagStateOutput { + return o +} + +func (o CleanupPolicyConditionTagStateOutput) ToCleanupPolicyConditionTagStateOutputWithContext(ctx context.Context) CleanupPolicyConditionTagStateOutput { + return o +} + +func (o CleanupPolicyConditionTagStateOutput) ToCleanupPolicyConditionTagStatePtrOutput() CleanupPolicyConditionTagStatePtrOutput { + return o.ToCleanupPolicyConditionTagStatePtrOutputWithContext(context.Background()) +} + +func (o CleanupPolicyConditionTagStateOutput) ToCleanupPolicyConditionTagStatePtrOutputWithContext(ctx context.Context) CleanupPolicyConditionTagStatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CleanupPolicyConditionTagState) *CleanupPolicyConditionTagState { + return &v + }).(CleanupPolicyConditionTagStatePtrOutput) +} + +func (o CleanupPolicyConditionTagStateOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CleanupPolicyConditionTagStateOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CleanupPolicyConditionTagState) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CleanupPolicyConditionTagStateOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CleanupPolicyConditionTagStateOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CleanupPolicyConditionTagState) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CleanupPolicyConditionTagStatePtrOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyConditionTagStatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CleanupPolicyConditionTagState)(nil)).Elem() +} + +func (o CleanupPolicyConditionTagStatePtrOutput) ToCleanupPolicyConditionTagStatePtrOutput() CleanupPolicyConditionTagStatePtrOutput { + return o +} + +func (o CleanupPolicyConditionTagStatePtrOutput) ToCleanupPolicyConditionTagStatePtrOutputWithContext(ctx context.Context) CleanupPolicyConditionTagStatePtrOutput { + return o +} + +func (o CleanupPolicyConditionTagStatePtrOutput) Elem() CleanupPolicyConditionTagStateOutput { + return o.ApplyT(func(v *CleanupPolicyConditionTagState) CleanupPolicyConditionTagState { + if v != nil { + return *v + } + var ret CleanupPolicyConditionTagState + return ret + }).(CleanupPolicyConditionTagStateOutput) +} + +func (o CleanupPolicyConditionTagStatePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CleanupPolicyConditionTagStatePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CleanupPolicyConditionTagState) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CleanupPolicyConditionTagStateInput is an input type that accepts values of the CleanupPolicyConditionTagState enum +// A concrete instance of `CleanupPolicyConditionTagStateInput` can be one of the following: +// +// CleanupPolicyConditionTagStateTagStateUnspecified +// CleanupPolicyConditionTagStateTagged +// CleanupPolicyConditionTagStateUntagged +// CleanupPolicyConditionTagStateAny +type CleanupPolicyConditionTagStateInput interface { + pulumi.Input + + ToCleanupPolicyConditionTagStateOutput() CleanupPolicyConditionTagStateOutput + ToCleanupPolicyConditionTagStateOutputWithContext(context.Context) CleanupPolicyConditionTagStateOutput +} + +var cleanupPolicyConditionTagStatePtrType = reflect.TypeOf((**CleanupPolicyConditionTagState)(nil)).Elem() + +type CleanupPolicyConditionTagStatePtrInput interface { + pulumi.Input + + ToCleanupPolicyConditionTagStatePtrOutput() CleanupPolicyConditionTagStatePtrOutput + ToCleanupPolicyConditionTagStatePtrOutputWithContext(context.Context) CleanupPolicyConditionTagStatePtrOutput +} + +type cleanupPolicyConditionTagStatePtr string + +func CleanupPolicyConditionTagStatePtr(v string) CleanupPolicyConditionTagStatePtrInput { + return (*cleanupPolicyConditionTagStatePtr)(&v) +} + +func (*cleanupPolicyConditionTagStatePtr) ElementType() reflect.Type { + return cleanupPolicyConditionTagStatePtrType +} + +func (in *cleanupPolicyConditionTagStatePtr) ToCleanupPolicyConditionTagStatePtrOutput() CleanupPolicyConditionTagStatePtrOutput { + return pulumi.ToOutput(in).(CleanupPolicyConditionTagStatePtrOutput) +} + +func (in *cleanupPolicyConditionTagStatePtr) ToCleanupPolicyConditionTagStatePtrOutputWithContext(ctx context.Context) CleanupPolicyConditionTagStatePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CleanupPolicyConditionTagStatePtrOutput) +} + // One of the publicly available Docker repositories supported by Artifact Registry. type DockerRepositoryPublicRepository string @@ -1577,6 +1922,10 @@ func (in *repositoryModePtr) ToRepositoryModePtrOutputWithContext(ctx context.Co } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyActionInput)(nil)).Elem(), CleanupPolicyAction("ACTION_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyActionPtrInput)(nil)).Elem(), CleanupPolicyAction("ACTION_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyConditionTagStateInput)(nil)).Elem(), CleanupPolicyConditionTagState("TAG_STATE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyConditionTagStatePtrInput)(nil)).Elem(), CleanupPolicyConditionTagState("TAG_STATE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DockerRepositoryPublicRepositoryInput)(nil)).Elem(), DockerRepositoryPublicRepository("PUBLIC_REPOSITORY_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DockerRepositoryPublicRepositoryPtrInput)(nil)).Elem(), DockerRepositoryPublicRepository("PUBLIC_REPOSITORY_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBaseInput)(nil)).Elem(), GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase("REPOSITORY_BASE_UNSPECIFIED")) @@ -1595,6 +1944,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RepositoryFormatPtrInput)(nil)).Elem(), RepositoryFormat("FORMAT_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*RepositoryModeInput)(nil)).Elem(), RepositoryMode("MODE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*RepositoryModePtrInput)(nil)).Elem(), RepositoryMode("MODE_UNSPECIFIED")) + pulumi.RegisterOutputType(CleanupPolicyActionOutput{}) + pulumi.RegisterOutputType(CleanupPolicyActionPtrOutput{}) + pulumi.RegisterOutputType(CleanupPolicyConditionTagStateOutput{}) + pulumi.RegisterOutputType(CleanupPolicyConditionTagStatePtrOutput{}) pulumi.RegisterOutputType(DockerRepositoryPublicRepositoryOutput{}) pulumi.RegisterOutputType(DockerRepositoryPublicRepositoryPtrOutput{}) pulumi.RegisterOutputType(GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBaseOutput{}) diff --git a/sdk/go/google/artifactregistry/v1/pulumiTypes.go b/sdk/go/google/artifactregistry/v1/pulumiTypes.go index eac5b1ec5d..ab3fe04df1 100644 --- a/sdk/go/google/artifactregistry/v1/pulumiTypes.go +++ b/sdk/go/google/artifactregistry/v1/pulumiTypes.go @@ -361,6 +361,719 @@ func (o BindingResponseArrayOutput) Index(i pulumi.IntInput) BindingResponseOutp }).(BindingResponseOutput) } +// Artifact policy configuration for repository cleanup policies. +type CleanupPolicy struct { + // Policy action. + Action *CleanupPolicyAction `pulumi:"action"` + // Policy condition for matching versions. + Condition *CleanupPolicyCondition `pulumi:"condition"` + // The user-provided ID of the cleanup policy. + Id *string `pulumi:"id"` + // Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + MostRecentVersions *CleanupPolicyMostRecentVersions `pulumi:"mostRecentVersions"` +} + +// CleanupPolicyInput is an input type that accepts CleanupPolicyArgs and CleanupPolicyOutput values. +// You can construct a concrete instance of `CleanupPolicyInput` via: +// +// CleanupPolicyArgs{...} +type CleanupPolicyInput interface { + pulumi.Input + + ToCleanupPolicyOutput() CleanupPolicyOutput + ToCleanupPolicyOutputWithContext(context.Context) CleanupPolicyOutput +} + +// Artifact policy configuration for repository cleanup policies. +type CleanupPolicyArgs struct { + // Policy action. + Action CleanupPolicyActionPtrInput `pulumi:"action"` + // Policy condition for matching versions. + Condition CleanupPolicyConditionPtrInput `pulumi:"condition"` + // The user-provided ID of the cleanup policy. + Id pulumi.StringPtrInput `pulumi:"id"` + // Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + MostRecentVersions CleanupPolicyMostRecentVersionsPtrInput `pulumi:"mostRecentVersions"` +} + +func (CleanupPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicy)(nil)).Elem() +} + +func (i CleanupPolicyArgs) ToCleanupPolicyOutput() CleanupPolicyOutput { + return i.ToCleanupPolicyOutputWithContext(context.Background()) +} + +func (i CleanupPolicyArgs) ToCleanupPolicyOutputWithContext(ctx context.Context) CleanupPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CleanupPolicyOutput) +} + +// CleanupPolicyMapInput is an input type that accepts CleanupPolicyMap and CleanupPolicyMapOutput values. +// You can construct a concrete instance of `CleanupPolicyMapInput` via: +// +// CleanupPolicyMap{ "key": CleanupPolicyArgs{...} } +type CleanupPolicyMapInput interface { + pulumi.Input + + ToCleanupPolicyMapOutput() CleanupPolicyMapOutput + ToCleanupPolicyMapOutputWithContext(context.Context) CleanupPolicyMapOutput +} + +type CleanupPolicyMap map[string]CleanupPolicyInput + +func (CleanupPolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]CleanupPolicy)(nil)).Elem() +} + +func (i CleanupPolicyMap) ToCleanupPolicyMapOutput() CleanupPolicyMapOutput { + return i.ToCleanupPolicyMapOutputWithContext(context.Background()) +} + +func (i CleanupPolicyMap) ToCleanupPolicyMapOutputWithContext(ctx context.Context) CleanupPolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CleanupPolicyMapOutput) +} + +// Artifact policy configuration for repository cleanup policies. +type CleanupPolicyOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicy)(nil)).Elem() +} + +func (o CleanupPolicyOutput) ToCleanupPolicyOutput() CleanupPolicyOutput { + return o +} + +func (o CleanupPolicyOutput) ToCleanupPolicyOutputWithContext(ctx context.Context) CleanupPolicyOutput { + return o +} + +// Policy action. +func (o CleanupPolicyOutput) Action() CleanupPolicyActionPtrOutput { + return o.ApplyT(func(v CleanupPolicy) *CleanupPolicyAction { return v.Action }).(CleanupPolicyActionPtrOutput) +} + +// Policy condition for matching versions. +func (o CleanupPolicyOutput) Condition() CleanupPolicyConditionPtrOutput { + return o.ApplyT(func(v CleanupPolicy) *CleanupPolicyCondition { return v.Condition }).(CleanupPolicyConditionPtrOutput) +} + +// The user-provided ID of the cleanup policy. +func (o CleanupPolicyOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v CleanupPolicy) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. +func (o CleanupPolicyOutput) MostRecentVersions() CleanupPolicyMostRecentVersionsPtrOutput { + return o.ApplyT(func(v CleanupPolicy) *CleanupPolicyMostRecentVersions { return v.MostRecentVersions }).(CleanupPolicyMostRecentVersionsPtrOutput) +} + +type CleanupPolicyMapOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]CleanupPolicy)(nil)).Elem() +} + +func (o CleanupPolicyMapOutput) ToCleanupPolicyMapOutput() CleanupPolicyMapOutput { + return o +} + +func (o CleanupPolicyMapOutput) ToCleanupPolicyMapOutputWithContext(ctx context.Context) CleanupPolicyMapOutput { + return o +} + +func (o CleanupPolicyMapOutput) MapIndex(k pulumi.StringInput) CleanupPolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) CleanupPolicy { + return vs[0].(map[string]CleanupPolicy)[vs[1].(string)] + }).(CleanupPolicyOutput) +} + +// CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. +type CleanupPolicyCondition struct { + // Match versions newer than a duration. + NewerThan *string `pulumi:"newerThan"` + // Match versions older than a duration. + OlderThan *string `pulumi:"olderThan"` + // Match versions by package prefix. Applied on any prefix match. + PackageNamePrefixes []string `pulumi:"packageNamePrefixes"` + // Match versions by tag prefix. Applied on any prefix match. + TagPrefixes []string `pulumi:"tagPrefixes"` + // Match versions by tag status. + TagState *CleanupPolicyConditionTagState `pulumi:"tagState"` + // DEPRECATED: Use older_than. + // + // Deprecated: DEPRECATED: Use older_than. + VersionAge *string `pulumi:"versionAge"` + // Match versions by version name prefix. Applied on any prefix match. + VersionNamePrefixes []string `pulumi:"versionNamePrefixes"` +} + +// CleanupPolicyConditionInput is an input type that accepts CleanupPolicyConditionArgs and CleanupPolicyConditionOutput values. +// You can construct a concrete instance of `CleanupPolicyConditionInput` via: +// +// CleanupPolicyConditionArgs{...} +type CleanupPolicyConditionInput interface { + pulumi.Input + + ToCleanupPolicyConditionOutput() CleanupPolicyConditionOutput + ToCleanupPolicyConditionOutputWithContext(context.Context) CleanupPolicyConditionOutput +} + +// CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. +type CleanupPolicyConditionArgs struct { + // Match versions newer than a duration. + NewerThan pulumi.StringPtrInput `pulumi:"newerThan"` + // Match versions older than a duration. + OlderThan pulumi.StringPtrInput `pulumi:"olderThan"` + // Match versions by package prefix. Applied on any prefix match. + PackageNamePrefixes pulumi.StringArrayInput `pulumi:"packageNamePrefixes"` + // Match versions by tag prefix. Applied on any prefix match. + TagPrefixes pulumi.StringArrayInput `pulumi:"tagPrefixes"` + // Match versions by tag status. + TagState CleanupPolicyConditionTagStatePtrInput `pulumi:"tagState"` + // DEPRECATED: Use older_than. + // + // Deprecated: DEPRECATED: Use older_than. + VersionAge pulumi.StringPtrInput `pulumi:"versionAge"` + // Match versions by version name prefix. Applied on any prefix match. + VersionNamePrefixes pulumi.StringArrayInput `pulumi:"versionNamePrefixes"` +} + +func (CleanupPolicyConditionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyCondition)(nil)).Elem() +} + +func (i CleanupPolicyConditionArgs) ToCleanupPolicyConditionOutput() CleanupPolicyConditionOutput { + return i.ToCleanupPolicyConditionOutputWithContext(context.Background()) +} + +func (i CleanupPolicyConditionArgs) ToCleanupPolicyConditionOutputWithContext(ctx context.Context) CleanupPolicyConditionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CleanupPolicyConditionOutput) +} + +func (i CleanupPolicyConditionArgs) ToCleanupPolicyConditionPtrOutput() CleanupPolicyConditionPtrOutput { + return i.ToCleanupPolicyConditionPtrOutputWithContext(context.Background()) +} + +func (i CleanupPolicyConditionArgs) ToCleanupPolicyConditionPtrOutputWithContext(ctx context.Context) CleanupPolicyConditionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CleanupPolicyConditionOutput).ToCleanupPolicyConditionPtrOutputWithContext(ctx) +} + +// CleanupPolicyConditionPtrInput is an input type that accepts CleanupPolicyConditionArgs, CleanupPolicyConditionPtr and CleanupPolicyConditionPtrOutput values. +// You can construct a concrete instance of `CleanupPolicyConditionPtrInput` via: +// +// CleanupPolicyConditionArgs{...} +// +// or: +// +// nil +type CleanupPolicyConditionPtrInput interface { + pulumi.Input + + ToCleanupPolicyConditionPtrOutput() CleanupPolicyConditionPtrOutput + ToCleanupPolicyConditionPtrOutputWithContext(context.Context) CleanupPolicyConditionPtrOutput +} + +type cleanupPolicyConditionPtrType CleanupPolicyConditionArgs + +func CleanupPolicyConditionPtr(v *CleanupPolicyConditionArgs) CleanupPolicyConditionPtrInput { + return (*cleanupPolicyConditionPtrType)(v) +} + +func (*cleanupPolicyConditionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CleanupPolicyCondition)(nil)).Elem() +} + +func (i *cleanupPolicyConditionPtrType) ToCleanupPolicyConditionPtrOutput() CleanupPolicyConditionPtrOutput { + return i.ToCleanupPolicyConditionPtrOutputWithContext(context.Background()) +} + +func (i *cleanupPolicyConditionPtrType) ToCleanupPolicyConditionPtrOutputWithContext(ctx context.Context) CleanupPolicyConditionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CleanupPolicyConditionPtrOutput) +} + +// CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. +type CleanupPolicyConditionOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyConditionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyCondition)(nil)).Elem() +} + +func (o CleanupPolicyConditionOutput) ToCleanupPolicyConditionOutput() CleanupPolicyConditionOutput { + return o +} + +func (o CleanupPolicyConditionOutput) ToCleanupPolicyConditionOutputWithContext(ctx context.Context) CleanupPolicyConditionOutput { + return o +} + +func (o CleanupPolicyConditionOutput) ToCleanupPolicyConditionPtrOutput() CleanupPolicyConditionPtrOutput { + return o.ToCleanupPolicyConditionPtrOutputWithContext(context.Background()) +} + +func (o CleanupPolicyConditionOutput) ToCleanupPolicyConditionPtrOutputWithContext(ctx context.Context) CleanupPolicyConditionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CleanupPolicyCondition) *CleanupPolicyCondition { + return &v + }).(CleanupPolicyConditionPtrOutput) +} + +// Match versions newer than a duration. +func (o CleanupPolicyConditionOutput) NewerThan() pulumi.StringPtrOutput { + return o.ApplyT(func(v CleanupPolicyCondition) *string { return v.NewerThan }).(pulumi.StringPtrOutput) +} + +// Match versions older than a duration. +func (o CleanupPolicyConditionOutput) OlderThan() pulumi.StringPtrOutput { + return o.ApplyT(func(v CleanupPolicyCondition) *string { return v.OlderThan }).(pulumi.StringPtrOutput) +} + +// Match versions by package prefix. Applied on any prefix match. +func (o CleanupPolicyConditionOutput) PackageNamePrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v CleanupPolicyCondition) []string { return v.PackageNamePrefixes }).(pulumi.StringArrayOutput) +} + +// Match versions by tag prefix. Applied on any prefix match. +func (o CleanupPolicyConditionOutput) TagPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v CleanupPolicyCondition) []string { return v.TagPrefixes }).(pulumi.StringArrayOutput) +} + +// Match versions by tag status. +func (o CleanupPolicyConditionOutput) TagState() CleanupPolicyConditionTagStatePtrOutput { + return o.ApplyT(func(v CleanupPolicyCondition) *CleanupPolicyConditionTagState { return v.TagState }).(CleanupPolicyConditionTagStatePtrOutput) +} + +// DEPRECATED: Use older_than. +// +// Deprecated: DEPRECATED: Use older_than. +func (o CleanupPolicyConditionOutput) VersionAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v CleanupPolicyCondition) *string { return v.VersionAge }).(pulumi.StringPtrOutput) +} + +// Match versions by version name prefix. Applied on any prefix match. +func (o CleanupPolicyConditionOutput) VersionNamePrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v CleanupPolicyCondition) []string { return v.VersionNamePrefixes }).(pulumi.StringArrayOutput) +} + +type CleanupPolicyConditionPtrOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyConditionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CleanupPolicyCondition)(nil)).Elem() +} + +func (o CleanupPolicyConditionPtrOutput) ToCleanupPolicyConditionPtrOutput() CleanupPolicyConditionPtrOutput { + return o +} + +func (o CleanupPolicyConditionPtrOutput) ToCleanupPolicyConditionPtrOutputWithContext(ctx context.Context) CleanupPolicyConditionPtrOutput { + return o +} + +func (o CleanupPolicyConditionPtrOutput) Elem() CleanupPolicyConditionOutput { + return o.ApplyT(func(v *CleanupPolicyCondition) CleanupPolicyCondition { + if v != nil { + return *v + } + var ret CleanupPolicyCondition + return ret + }).(CleanupPolicyConditionOutput) +} + +// Match versions newer than a duration. +func (o CleanupPolicyConditionPtrOutput) NewerThan() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CleanupPolicyCondition) *string { + if v == nil { + return nil + } + return v.NewerThan + }).(pulumi.StringPtrOutput) +} + +// Match versions older than a duration. +func (o CleanupPolicyConditionPtrOutput) OlderThan() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CleanupPolicyCondition) *string { + if v == nil { + return nil + } + return v.OlderThan + }).(pulumi.StringPtrOutput) +} + +// Match versions by package prefix. Applied on any prefix match. +func (o CleanupPolicyConditionPtrOutput) PackageNamePrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CleanupPolicyCondition) []string { + if v == nil { + return nil + } + return v.PackageNamePrefixes + }).(pulumi.StringArrayOutput) +} + +// Match versions by tag prefix. Applied on any prefix match. +func (o CleanupPolicyConditionPtrOutput) TagPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CleanupPolicyCondition) []string { + if v == nil { + return nil + } + return v.TagPrefixes + }).(pulumi.StringArrayOutput) +} + +// Match versions by tag status. +func (o CleanupPolicyConditionPtrOutput) TagState() CleanupPolicyConditionTagStatePtrOutput { + return o.ApplyT(func(v *CleanupPolicyCondition) *CleanupPolicyConditionTagState { + if v == nil { + return nil + } + return v.TagState + }).(CleanupPolicyConditionTagStatePtrOutput) +} + +// DEPRECATED: Use older_than. +// +// Deprecated: DEPRECATED: Use older_than. +func (o CleanupPolicyConditionPtrOutput) VersionAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CleanupPolicyCondition) *string { + if v == nil { + return nil + } + return v.VersionAge + }).(pulumi.StringPtrOutput) +} + +// Match versions by version name prefix. Applied on any prefix match. +func (o CleanupPolicyConditionPtrOutput) VersionNamePrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CleanupPolicyCondition) []string { + if v == nil { + return nil + } + return v.VersionNamePrefixes + }).(pulumi.StringArrayOutput) +} + +// CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. +type CleanupPolicyConditionResponse struct { + // Match versions newer than a duration. + NewerThan string `pulumi:"newerThan"` + // Match versions older than a duration. + OlderThan string `pulumi:"olderThan"` + // Match versions by package prefix. Applied on any prefix match. + PackageNamePrefixes []string `pulumi:"packageNamePrefixes"` + // Match versions by tag prefix. Applied on any prefix match. + TagPrefixes []string `pulumi:"tagPrefixes"` + // Match versions by tag status. + TagState string `pulumi:"tagState"` + // DEPRECATED: Use older_than. + // + // Deprecated: DEPRECATED: Use older_than. + VersionAge string `pulumi:"versionAge"` + // Match versions by version name prefix. Applied on any prefix match. + VersionNamePrefixes []string `pulumi:"versionNamePrefixes"` +} + +// CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. +type CleanupPolicyConditionResponseOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyConditionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyConditionResponse)(nil)).Elem() +} + +func (o CleanupPolicyConditionResponseOutput) ToCleanupPolicyConditionResponseOutput() CleanupPolicyConditionResponseOutput { + return o +} + +func (o CleanupPolicyConditionResponseOutput) ToCleanupPolicyConditionResponseOutputWithContext(ctx context.Context) CleanupPolicyConditionResponseOutput { + return o +} + +// Match versions newer than a duration. +func (o CleanupPolicyConditionResponseOutput) NewerThan() pulumi.StringOutput { + return o.ApplyT(func(v CleanupPolicyConditionResponse) string { return v.NewerThan }).(pulumi.StringOutput) +} + +// Match versions older than a duration. +func (o CleanupPolicyConditionResponseOutput) OlderThan() pulumi.StringOutput { + return o.ApplyT(func(v CleanupPolicyConditionResponse) string { return v.OlderThan }).(pulumi.StringOutput) +} + +// Match versions by package prefix. Applied on any prefix match. +func (o CleanupPolicyConditionResponseOutput) PackageNamePrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v CleanupPolicyConditionResponse) []string { return v.PackageNamePrefixes }).(pulumi.StringArrayOutput) +} + +// Match versions by tag prefix. Applied on any prefix match. +func (o CleanupPolicyConditionResponseOutput) TagPrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v CleanupPolicyConditionResponse) []string { return v.TagPrefixes }).(pulumi.StringArrayOutput) +} + +// Match versions by tag status. +func (o CleanupPolicyConditionResponseOutput) TagState() pulumi.StringOutput { + return o.ApplyT(func(v CleanupPolicyConditionResponse) string { return v.TagState }).(pulumi.StringOutput) +} + +// DEPRECATED: Use older_than. +// +// Deprecated: DEPRECATED: Use older_than. +func (o CleanupPolicyConditionResponseOutput) VersionAge() pulumi.StringOutput { + return o.ApplyT(func(v CleanupPolicyConditionResponse) string { return v.VersionAge }).(pulumi.StringOutput) +} + +// Match versions by version name prefix. Applied on any prefix match. +func (o CleanupPolicyConditionResponseOutput) VersionNamePrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v CleanupPolicyConditionResponse) []string { return v.VersionNamePrefixes }).(pulumi.StringArrayOutput) +} + +// CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. +type CleanupPolicyMostRecentVersions struct { + // Minimum number of versions to keep. + KeepCount *int `pulumi:"keepCount"` + // List of package name prefixes that will apply this rule. + PackageNamePrefixes []string `pulumi:"packageNamePrefixes"` +} + +// CleanupPolicyMostRecentVersionsInput is an input type that accepts CleanupPolicyMostRecentVersionsArgs and CleanupPolicyMostRecentVersionsOutput values. +// You can construct a concrete instance of `CleanupPolicyMostRecentVersionsInput` via: +// +// CleanupPolicyMostRecentVersionsArgs{...} +type CleanupPolicyMostRecentVersionsInput interface { + pulumi.Input + + ToCleanupPolicyMostRecentVersionsOutput() CleanupPolicyMostRecentVersionsOutput + ToCleanupPolicyMostRecentVersionsOutputWithContext(context.Context) CleanupPolicyMostRecentVersionsOutput +} + +// CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. +type CleanupPolicyMostRecentVersionsArgs struct { + // Minimum number of versions to keep. + KeepCount pulumi.IntPtrInput `pulumi:"keepCount"` + // List of package name prefixes that will apply this rule. + PackageNamePrefixes pulumi.StringArrayInput `pulumi:"packageNamePrefixes"` +} + +func (CleanupPolicyMostRecentVersionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyMostRecentVersions)(nil)).Elem() +} + +func (i CleanupPolicyMostRecentVersionsArgs) ToCleanupPolicyMostRecentVersionsOutput() CleanupPolicyMostRecentVersionsOutput { + return i.ToCleanupPolicyMostRecentVersionsOutputWithContext(context.Background()) +} + +func (i CleanupPolicyMostRecentVersionsArgs) ToCleanupPolicyMostRecentVersionsOutputWithContext(ctx context.Context) CleanupPolicyMostRecentVersionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CleanupPolicyMostRecentVersionsOutput) +} + +func (i CleanupPolicyMostRecentVersionsArgs) ToCleanupPolicyMostRecentVersionsPtrOutput() CleanupPolicyMostRecentVersionsPtrOutput { + return i.ToCleanupPolicyMostRecentVersionsPtrOutputWithContext(context.Background()) +} + +func (i CleanupPolicyMostRecentVersionsArgs) ToCleanupPolicyMostRecentVersionsPtrOutputWithContext(ctx context.Context) CleanupPolicyMostRecentVersionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CleanupPolicyMostRecentVersionsOutput).ToCleanupPolicyMostRecentVersionsPtrOutputWithContext(ctx) +} + +// CleanupPolicyMostRecentVersionsPtrInput is an input type that accepts CleanupPolicyMostRecentVersionsArgs, CleanupPolicyMostRecentVersionsPtr and CleanupPolicyMostRecentVersionsPtrOutput values. +// You can construct a concrete instance of `CleanupPolicyMostRecentVersionsPtrInput` via: +// +// CleanupPolicyMostRecentVersionsArgs{...} +// +// or: +// +// nil +type CleanupPolicyMostRecentVersionsPtrInput interface { + pulumi.Input + + ToCleanupPolicyMostRecentVersionsPtrOutput() CleanupPolicyMostRecentVersionsPtrOutput + ToCleanupPolicyMostRecentVersionsPtrOutputWithContext(context.Context) CleanupPolicyMostRecentVersionsPtrOutput +} + +type cleanupPolicyMostRecentVersionsPtrType CleanupPolicyMostRecentVersionsArgs + +func CleanupPolicyMostRecentVersionsPtr(v *CleanupPolicyMostRecentVersionsArgs) CleanupPolicyMostRecentVersionsPtrInput { + return (*cleanupPolicyMostRecentVersionsPtrType)(v) +} + +func (*cleanupPolicyMostRecentVersionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CleanupPolicyMostRecentVersions)(nil)).Elem() +} + +func (i *cleanupPolicyMostRecentVersionsPtrType) ToCleanupPolicyMostRecentVersionsPtrOutput() CleanupPolicyMostRecentVersionsPtrOutput { + return i.ToCleanupPolicyMostRecentVersionsPtrOutputWithContext(context.Background()) +} + +func (i *cleanupPolicyMostRecentVersionsPtrType) ToCleanupPolicyMostRecentVersionsPtrOutputWithContext(ctx context.Context) CleanupPolicyMostRecentVersionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CleanupPolicyMostRecentVersionsPtrOutput) +} + +// CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. +type CleanupPolicyMostRecentVersionsOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyMostRecentVersionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyMostRecentVersions)(nil)).Elem() +} + +func (o CleanupPolicyMostRecentVersionsOutput) ToCleanupPolicyMostRecentVersionsOutput() CleanupPolicyMostRecentVersionsOutput { + return o +} + +func (o CleanupPolicyMostRecentVersionsOutput) ToCleanupPolicyMostRecentVersionsOutputWithContext(ctx context.Context) CleanupPolicyMostRecentVersionsOutput { + return o +} + +func (o CleanupPolicyMostRecentVersionsOutput) ToCleanupPolicyMostRecentVersionsPtrOutput() CleanupPolicyMostRecentVersionsPtrOutput { + return o.ToCleanupPolicyMostRecentVersionsPtrOutputWithContext(context.Background()) +} + +func (o CleanupPolicyMostRecentVersionsOutput) ToCleanupPolicyMostRecentVersionsPtrOutputWithContext(ctx context.Context) CleanupPolicyMostRecentVersionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CleanupPolicyMostRecentVersions) *CleanupPolicyMostRecentVersions { + return &v + }).(CleanupPolicyMostRecentVersionsPtrOutput) +} + +// Minimum number of versions to keep. +func (o CleanupPolicyMostRecentVersionsOutput) KeepCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v CleanupPolicyMostRecentVersions) *int { return v.KeepCount }).(pulumi.IntPtrOutput) +} + +// List of package name prefixes that will apply this rule. +func (o CleanupPolicyMostRecentVersionsOutput) PackageNamePrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v CleanupPolicyMostRecentVersions) []string { return v.PackageNamePrefixes }).(pulumi.StringArrayOutput) +} + +type CleanupPolicyMostRecentVersionsPtrOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyMostRecentVersionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CleanupPolicyMostRecentVersions)(nil)).Elem() +} + +func (o CleanupPolicyMostRecentVersionsPtrOutput) ToCleanupPolicyMostRecentVersionsPtrOutput() CleanupPolicyMostRecentVersionsPtrOutput { + return o +} + +func (o CleanupPolicyMostRecentVersionsPtrOutput) ToCleanupPolicyMostRecentVersionsPtrOutputWithContext(ctx context.Context) CleanupPolicyMostRecentVersionsPtrOutput { + return o +} + +func (o CleanupPolicyMostRecentVersionsPtrOutput) Elem() CleanupPolicyMostRecentVersionsOutput { + return o.ApplyT(func(v *CleanupPolicyMostRecentVersions) CleanupPolicyMostRecentVersions { + if v != nil { + return *v + } + var ret CleanupPolicyMostRecentVersions + return ret + }).(CleanupPolicyMostRecentVersionsOutput) +} + +// Minimum number of versions to keep. +func (o CleanupPolicyMostRecentVersionsPtrOutput) KeepCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CleanupPolicyMostRecentVersions) *int { + if v == nil { + return nil + } + return v.KeepCount + }).(pulumi.IntPtrOutput) +} + +// List of package name prefixes that will apply this rule. +func (o CleanupPolicyMostRecentVersionsPtrOutput) PackageNamePrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CleanupPolicyMostRecentVersions) []string { + if v == nil { + return nil + } + return v.PackageNamePrefixes + }).(pulumi.StringArrayOutput) +} + +// CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. +type CleanupPolicyMostRecentVersionsResponse struct { + // Minimum number of versions to keep. + KeepCount int `pulumi:"keepCount"` + // List of package name prefixes that will apply this rule. + PackageNamePrefixes []string `pulumi:"packageNamePrefixes"` +} + +// CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. +type CleanupPolicyMostRecentVersionsResponseOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyMostRecentVersionsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyMostRecentVersionsResponse)(nil)).Elem() +} + +func (o CleanupPolicyMostRecentVersionsResponseOutput) ToCleanupPolicyMostRecentVersionsResponseOutput() CleanupPolicyMostRecentVersionsResponseOutput { + return o +} + +func (o CleanupPolicyMostRecentVersionsResponseOutput) ToCleanupPolicyMostRecentVersionsResponseOutputWithContext(ctx context.Context) CleanupPolicyMostRecentVersionsResponseOutput { + return o +} + +// Minimum number of versions to keep. +func (o CleanupPolicyMostRecentVersionsResponseOutput) KeepCount() pulumi.IntOutput { + return o.ApplyT(func(v CleanupPolicyMostRecentVersionsResponse) int { return v.KeepCount }).(pulumi.IntOutput) +} + +// List of package name prefixes that will apply this rule. +func (o CleanupPolicyMostRecentVersionsResponseOutput) PackageNamePrefixes() pulumi.StringArrayOutput { + return o.ApplyT(func(v CleanupPolicyMostRecentVersionsResponse) []string { return v.PackageNamePrefixes }).(pulumi.StringArrayOutput) +} + +// Artifact policy configuration for repository cleanup policies. +type CleanupPolicyResponse struct { + // Policy action. + Action string `pulumi:"action"` + // Policy condition for matching versions. + Condition CleanupPolicyConditionResponse `pulumi:"condition"` + // Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + MostRecentVersions CleanupPolicyMostRecentVersionsResponse `pulumi:"mostRecentVersions"` +} + +// Artifact policy configuration for repository cleanup policies. +type CleanupPolicyResponseOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CleanupPolicyResponse)(nil)).Elem() +} + +func (o CleanupPolicyResponseOutput) ToCleanupPolicyResponseOutput() CleanupPolicyResponseOutput { + return o +} + +func (o CleanupPolicyResponseOutput) ToCleanupPolicyResponseOutputWithContext(ctx context.Context) CleanupPolicyResponseOutput { + return o +} + +// Policy action. +func (o CleanupPolicyResponseOutput) Action() pulumi.StringOutput { + return o.ApplyT(func(v CleanupPolicyResponse) string { return v.Action }).(pulumi.StringOutput) +} + +// Policy condition for matching versions. +func (o CleanupPolicyResponseOutput) Condition() CleanupPolicyConditionResponseOutput { + return o.ApplyT(func(v CleanupPolicyResponse) CleanupPolicyConditionResponse { return v.Condition }).(CleanupPolicyConditionResponseOutput) +} + +// Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. +func (o CleanupPolicyResponseOutput) MostRecentVersions() CleanupPolicyMostRecentVersionsResponseOutput { + return o.ApplyT(func(v CleanupPolicyResponse) CleanupPolicyMostRecentVersionsResponse { return v.MostRecentVersions }).(CleanupPolicyMostRecentVersionsResponseOutput) +} + +type CleanupPolicyResponseMapOutput struct{ *pulumi.OutputState } + +func (CleanupPolicyResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]CleanupPolicyResponse)(nil)).Elem() +} + +func (o CleanupPolicyResponseMapOutput) ToCleanupPolicyResponseMapOutput() CleanupPolicyResponseMapOutput { + return o +} + +func (o CleanupPolicyResponseMapOutput) ToCleanupPolicyResponseMapOutputWithContext(ctx context.Context) CleanupPolicyResponseMapOutput { + return o +} + +func (o CleanupPolicyResponseMapOutput) MapIndex(k pulumi.StringInput) CleanupPolicyResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) CleanupPolicyResponse { + return vs[0].(map[string]CleanupPolicyResponse)[vs[1].(string)] + }).(CleanupPolicyResponseOutput) +} + // Configuration for a Docker remote repository. type DockerRepository struct { // One of the publicly available Docker repositories supported by Artifact Registry. @@ -3247,6 +3960,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AptRepositoryPtrInput)(nil)).Elem(), AptRepositoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BindingInput)(nil)).Elem(), BindingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BindingArrayInput)(nil)).Elem(), BindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyInput)(nil)).Elem(), CleanupPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyMapInput)(nil)).Elem(), CleanupPolicyMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyConditionInput)(nil)).Elem(), CleanupPolicyConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyConditionPtrInput)(nil)).Elem(), CleanupPolicyConditionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyMostRecentVersionsInput)(nil)).Elem(), CleanupPolicyMostRecentVersionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CleanupPolicyMostRecentVersionsPtrInput)(nil)).Elem(), CleanupPolicyMostRecentVersionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DockerRepositoryInput)(nil)).Elem(), DockerRepositoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DockerRepositoryPtrInput)(nil)).Elem(), DockerRepositoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DockerRepositoryConfigInput)(nil)).Elem(), DockerRepositoryConfigArgs{}) @@ -3284,6 +4003,16 @@ func init() { pulumi.RegisterOutputType(BindingArrayOutput{}) pulumi.RegisterOutputType(BindingResponseOutput{}) pulumi.RegisterOutputType(BindingResponseArrayOutput{}) + pulumi.RegisterOutputType(CleanupPolicyOutput{}) + pulumi.RegisterOutputType(CleanupPolicyMapOutput{}) + pulumi.RegisterOutputType(CleanupPolicyConditionOutput{}) + pulumi.RegisterOutputType(CleanupPolicyConditionPtrOutput{}) + pulumi.RegisterOutputType(CleanupPolicyConditionResponseOutput{}) + pulumi.RegisterOutputType(CleanupPolicyMostRecentVersionsOutput{}) + pulumi.RegisterOutputType(CleanupPolicyMostRecentVersionsPtrOutput{}) + pulumi.RegisterOutputType(CleanupPolicyMostRecentVersionsResponseOutput{}) + pulumi.RegisterOutputType(CleanupPolicyResponseOutput{}) + pulumi.RegisterOutputType(CleanupPolicyResponseMapOutput{}) pulumi.RegisterOutputType(DockerRepositoryOutput{}) pulumi.RegisterOutputType(DockerRepositoryPtrOutput{}) pulumi.RegisterOutputType(DockerRepositoryConfigOutput{}) diff --git a/sdk/go/google/artifactregistry/v1/repository.go b/sdk/go/google/artifactregistry/v1/repository.go index bb7cbcb7a3..ae148fd40d 100644 --- a/sdk/go/google/artifactregistry/v1/repository.go +++ b/sdk/go/google/artifactregistry/v1/repository.go @@ -17,7 +17,7 @@ type Repository struct { pulumi.CustomResourceState // Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. - CleanupPolicies pulumi.StringMapOutput `pulumi:"cleanupPolicies"` + CleanupPolicies CleanupPolicyResponseMapOutput `pulumi:"cleanupPolicies"` // Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. CleanupPolicyDryRun pulumi.BoolOutput `pulumi:"cleanupPolicyDryRun"` // The time when the repository was created. @@ -104,7 +104,7 @@ func (RepositoryState) ElementType() reflect.Type { type repositoryArgs struct { // Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. - CleanupPolicies map[string]string `pulumi:"cleanupPolicies"` + CleanupPolicies map[string]CleanupPolicy `pulumi:"cleanupPolicies"` // Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. CleanupPolicyDryRun *bool `pulumi:"cleanupPolicyDryRun"` // The user-provided description of the repository. @@ -136,7 +136,7 @@ type repositoryArgs struct { // The set of arguments for constructing a Repository resource. type RepositoryArgs struct { // Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. - CleanupPolicies pulumi.StringMapInput + CleanupPolicies CleanupPolicyMapInput // Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. CleanupPolicyDryRun pulumi.BoolPtrInput // The user-provided description of the repository. @@ -203,8 +203,8 @@ func (o RepositoryOutput) ToRepositoryOutputWithContext(ctx context.Context) Rep } // Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. -func (o RepositoryOutput) CleanupPolicies() pulumi.StringMapOutput { - return o.ApplyT(func(v *Repository) pulumi.StringMapOutput { return v.CleanupPolicies }).(pulumi.StringMapOutput) +func (o RepositoryOutput) CleanupPolicies() CleanupPolicyResponseMapOutput { + return o.ApplyT(func(v *Repository) CleanupPolicyResponseMapOutput { return v.CleanupPolicies }).(CleanupPolicyResponseMapOutput) } // Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. diff --git a/sdk/go/google/batch/v1/pulumiTypes.go b/sdk/go/google/batch/v1/pulumiTypes.go index 3d843b0561..1645d9a746 100644 --- a/sdk/go/google/batch/v1/pulumiTypes.go +++ b/sdk/go/google/batch/v1/pulumiTypes.go @@ -2943,6 +2943,73 @@ func (o InstancePolicyResponseOutput) Reservation() pulumi.StringOutput { return o.ApplyT(func(v InstancePolicyResponse) string { return v.Reservation }).(pulumi.StringOutput) } +// VM instance status. +type InstanceStatusResponse struct { + // The VM boot disk. + BootDisk DiskResponse `pulumi:"bootDisk"` + // The Compute Engine machine type. + MachineType string `pulumi:"machineType"` + // The VM instance provisioning model. + ProvisioningModel string `pulumi:"provisioningModel"` + // The max number of tasks can be assigned to this instance type. + TaskPack string `pulumi:"taskPack"` +} + +// VM instance status. +type InstanceStatusResponseOutput struct{ *pulumi.OutputState } + +func (InstanceStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceStatusResponse)(nil)).Elem() +} + +func (o InstanceStatusResponseOutput) ToInstanceStatusResponseOutput() InstanceStatusResponseOutput { + return o +} + +func (o InstanceStatusResponseOutput) ToInstanceStatusResponseOutputWithContext(ctx context.Context) InstanceStatusResponseOutput { + return o +} + +// The VM boot disk. +func (o InstanceStatusResponseOutput) BootDisk() DiskResponseOutput { + return o.ApplyT(func(v InstanceStatusResponse) DiskResponse { return v.BootDisk }).(DiskResponseOutput) +} + +// The Compute Engine machine type. +func (o InstanceStatusResponseOutput) MachineType() pulumi.StringOutput { + return o.ApplyT(func(v InstanceStatusResponse) string { return v.MachineType }).(pulumi.StringOutput) +} + +// The VM instance provisioning model. +func (o InstanceStatusResponseOutput) ProvisioningModel() pulumi.StringOutput { + return o.ApplyT(func(v InstanceStatusResponse) string { return v.ProvisioningModel }).(pulumi.StringOutput) +} + +// The max number of tasks can be assigned to this instance type. +func (o InstanceStatusResponseOutput) TaskPack() pulumi.StringOutput { + return o.ApplyT(func(v InstanceStatusResponse) string { return v.TaskPack }).(pulumi.StringOutput) +} + +type InstanceStatusResponseArrayOutput struct{ *pulumi.OutputState } + +func (InstanceStatusResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceStatusResponse)(nil)).Elem() +} + +func (o InstanceStatusResponseArrayOutput) ToInstanceStatusResponseArrayOutput() InstanceStatusResponseArrayOutput { + return o +} + +func (o InstanceStatusResponseArrayOutput) ToInstanceStatusResponseArrayOutputWithContext(ctx context.Context) InstanceStatusResponseArrayOutput { + return o +} + +func (o InstanceStatusResponseArrayOutput) Index(i pulumi.IntInput) InstanceStatusResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceStatusResponse { + return vs[0].([]InstanceStatusResponse)[vs[1].(int)] + }).(InstanceStatusResponseOutput) +} + // Notification configurations. type JobNotification struct { // The attribute requirements of messages to be sent to this Pub/Sub topic. Without this field, no message will be sent. @@ -3114,7 +3181,7 @@ type JobStatusResponse struct { // Job status events StatusEvents []StatusEventResponse `pulumi:"statusEvents"` // Aggregated task status for each TaskGroup in the Job. The map key is TaskGroup ID. - TaskGroups map[string]string `pulumi:"taskGroups"` + TaskGroups map[string]TaskGroupStatusResponse `pulumi:"taskGroups"` } // Job status. @@ -3148,8 +3215,8 @@ func (o JobStatusResponseOutput) StatusEvents() StatusEventResponseArrayOutput { } // Aggregated task status for each TaskGroup in the Job. The map key is TaskGroup ID. -func (o JobStatusResponseOutput) TaskGroups() pulumi.StringMapOutput { - return o.ApplyT(func(v JobStatusResponse) map[string]string { return v.TaskGroups }).(pulumi.StringMapOutput) +func (o JobStatusResponseOutput) TaskGroups() TaskGroupStatusResponseMapOutput { + return o.ApplyT(func(v JobStatusResponse) map[string]TaskGroupStatusResponse { return v.TaskGroups }).(TaskGroupStatusResponseMapOutput) } type KMSEnvMap struct { @@ -5865,6 +5932,59 @@ func (o TaskGroupResponseArrayOutput) Index(i pulumi.IntInput) TaskGroupResponse }).(TaskGroupResponseOutput) } +// Aggregated task status for a TaskGroup. +type TaskGroupStatusResponse struct { + // Count of task in each state in the TaskGroup. The map key is task state name. + Counts map[string]string `pulumi:"counts"` + // Status of instances allocated for the TaskGroup. + Instances []InstanceStatusResponse `pulumi:"instances"` +} + +// Aggregated task status for a TaskGroup. +type TaskGroupStatusResponseOutput struct{ *pulumi.OutputState } + +func (TaskGroupStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TaskGroupStatusResponse)(nil)).Elem() +} + +func (o TaskGroupStatusResponseOutput) ToTaskGroupStatusResponseOutput() TaskGroupStatusResponseOutput { + return o +} + +func (o TaskGroupStatusResponseOutput) ToTaskGroupStatusResponseOutputWithContext(ctx context.Context) TaskGroupStatusResponseOutput { + return o +} + +// Count of task in each state in the TaskGroup. The map key is task state name. +func (o TaskGroupStatusResponseOutput) Counts() pulumi.StringMapOutput { + return o.ApplyT(func(v TaskGroupStatusResponse) map[string]string { return v.Counts }).(pulumi.StringMapOutput) +} + +// Status of instances allocated for the TaskGroup. +func (o TaskGroupStatusResponseOutput) Instances() InstanceStatusResponseArrayOutput { + return o.ApplyT(func(v TaskGroupStatusResponse) []InstanceStatusResponse { return v.Instances }).(InstanceStatusResponseArrayOutput) +} + +type TaskGroupStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (TaskGroupStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TaskGroupStatusResponse)(nil)).Elem() +} + +func (o TaskGroupStatusResponseMapOutput) ToTaskGroupStatusResponseMapOutput() TaskGroupStatusResponseMapOutput { + return o +} + +func (o TaskGroupStatusResponseMapOutput) ToTaskGroupStatusResponseMapOutputWithContext(ctx context.Context) TaskGroupStatusResponseMapOutput { + return o +} + +func (o TaskGroupStatusResponseMapOutput) MapIndex(k pulumi.StringInput) TaskGroupStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) TaskGroupStatusResponse { + return vs[0].(map[string]TaskGroupStatusResponse)[vs[1].(string)] + }).(TaskGroupStatusResponseOutput) +} + // Spec of a task type TaskSpec struct { // ComputeResource requirements. @@ -6381,6 +6501,8 @@ func init() { pulumi.RegisterOutputType(InstancePolicyOrTemplateResponseOutput{}) pulumi.RegisterOutputType(InstancePolicyOrTemplateResponseArrayOutput{}) pulumi.RegisterOutputType(InstancePolicyResponseOutput{}) + pulumi.RegisterOutputType(InstanceStatusResponseOutput{}) + pulumi.RegisterOutputType(InstanceStatusResponseArrayOutput{}) pulumi.RegisterOutputType(JobNotificationOutput{}) pulumi.RegisterOutputType(JobNotificationArrayOutput{}) pulumi.RegisterOutputType(JobNotificationResponseOutput{}) @@ -6432,6 +6554,8 @@ func init() { pulumi.RegisterOutputType(TaskGroupArrayOutput{}) pulumi.RegisterOutputType(TaskGroupResponseOutput{}) pulumi.RegisterOutputType(TaskGroupResponseArrayOutput{}) + pulumi.RegisterOutputType(TaskGroupStatusResponseOutput{}) + pulumi.RegisterOutputType(TaskGroupStatusResponseMapOutput{}) pulumi.RegisterOutputType(TaskSpecOutput{}) pulumi.RegisterOutputType(TaskSpecResponseOutput{}) pulumi.RegisterOutputType(VolumeOutput{}) diff --git a/sdk/go/google/beyondcorp/v1/pulumiTypes.go b/sdk/go/google/beyondcorp/v1/pulumiTypes.go index b6761c96cb..7c031b52cd 100644 --- a/sdk/go/google/beyondcorp/v1/pulumiTypes.go +++ b/sdk/go/google/beyondcorp/v1/pulumiTypes.go @@ -642,7 +642,7 @@ type GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo struct { // Unique Id for the resource. Id string `pulumi:"id"` // Specific details for the resource. This is for internal use only. - Resource map[string]string `pulumi:"resource"` + Resource map[string]interface{} `pulumi:"resource"` // Overall health status. Overall status is derived based on the status of each sub level resources. Status *GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoStatus `pulumi:"status"` // List of Info for the sub level resources. @@ -667,7 +667,7 @@ type GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArgs struct { // Unique Id for the resource. Id pulumi.StringInput `pulumi:"id"` // Specific details for the resource. This is for internal use only. - Resource pulumi.StringMapInput `pulumi:"resource"` + Resource pulumi.MapInput `pulumi:"resource"` // Overall health status. Overall status is derived based on the status of each sub level resources. Status GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoStatusPtrInput `pulumi:"status"` // List of Info for the sub level resources. @@ -785,8 +785,8 @@ func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoOutput) Id() pulumi.Stri } // Specific details for the resource. This is for internal use only. -func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoOutput) Resource() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo) map[string]string { return v.Resource }).(pulumi.StringMapOutput) +func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoOutput) Resource() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo) map[string]interface{} { return v.Resource }).(pulumi.MapOutput) } // Overall health status. Overall status is derived based on the status of each sub level resources. @@ -843,13 +843,13 @@ func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoPtrOutput) Id() pulumi.S } // Specific details for the resource. This is for internal use only. -func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoPtrOutput) Resource() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo) map[string]string { +func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoPtrOutput) Resource() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudBeyondcorpAppconnectorsV1ResourceInfo) map[string]interface{} { if v == nil { return nil } return v.Resource - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Overall health status. Overall status is derived based on the status of each sub level resources. @@ -905,7 +905,7 @@ func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArrayOutput) Index(i pul // ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent type GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse struct { // Specific details for the resource. This is for internal use only. - Resource map[string]string `pulumi:"resource"` + Resource map[string]interface{} `pulumi:"resource"` // Overall health status. Overall status is derived based on the status of each sub level resources. Status string `pulumi:"status"` // List of Info for the sub level resources. @@ -930,8 +930,10 @@ func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponseOutput) ToGoogle } // Specific details for the resource. This is for internal use only. -func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponseOutput) Resource() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse) map[string]string { return v.Resource }).(pulumi.StringMapOutput) +func (o GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponseOutput) Resource() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse) map[string]interface{} { + return v.Resource + }).(pulumi.MapOutput) } // Overall health status. Overall status is derived based on the status of each sub level resources. diff --git a/sdk/go/google/beyondcorp/v1alpha/pulumiTypes.go b/sdk/go/google/beyondcorp/v1alpha/pulumiTypes.go index 365a2f621e..3bc7317215 100644 --- a/sdk/go/google/beyondcorp/v1alpha/pulumiTypes.go +++ b/sdk/go/google/beyondcorp/v1alpha/pulumiTypes.go @@ -925,7 +925,7 @@ type GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfo struct { // Unique Id for the resource. Id string `pulumi:"id"` // Specific details for the resource. This is for internal use only. - Resource map[string]string `pulumi:"resource"` + Resource map[string]interface{} `pulumi:"resource"` // Overall health status. Overall status is derived based on the status of each sub level resources. Status *GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoStatus `pulumi:"status"` // List of Info for the sub level resources. @@ -950,7 +950,7 @@ type GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArgs struct { // Unique Id for the resource. Id pulumi.StringInput `pulumi:"id"` // Specific details for the resource. This is for internal use only. - Resource pulumi.StringMapInput `pulumi:"resource"` + Resource pulumi.MapInput `pulumi:"resource"` // Overall health status. Overall status is derived based on the status of each sub level resources. Status GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoStatusPtrInput `pulumi:"status"` // List of Info for the sub level resources. @@ -1068,8 +1068,10 @@ func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoOutput) Id() pulumi } // Specific details for the resource. This is for internal use only. -func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoOutput) Resource() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfo) map[string]string { return v.Resource }).(pulumi.StringMapOutput) +func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoOutput) Resource() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfo) map[string]interface{} { + return v.Resource + }).(pulumi.MapOutput) } // Overall health status. Overall status is derived based on the status of each sub level resources. @@ -1126,13 +1128,13 @@ func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoPtrOutput) Id() pul } // Specific details for the resource. This is for internal use only. -func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoPtrOutput) Resource() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfo) map[string]string { +func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoPtrOutput) Resource() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfo) map[string]interface{} { if v == nil { return nil } return v.Resource - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Overall health status. Overall status is derived based on the status of each sub level resources. @@ -1188,7 +1190,7 @@ func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArrayOutput) Index( // ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent type GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse struct { // Specific details for the resource. This is for internal use only. - Resource map[string]string `pulumi:"resource"` + Resource map[string]interface{} `pulumi:"resource"` // Overall health status. Overall status is derived based on the status of each sub level resources. Status string `pulumi:"status"` // List of Info for the sub level resources. @@ -1213,10 +1215,10 @@ func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponseOutput) ToG } // Specific details for the resource. This is for internal use only. -func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponseOutput) Resource() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse) map[string]string { +func (o GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponseOutput) Resource() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse) map[string]interface{} { return v.Resource - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Overall health status. Overall status is derived based on the status of each sub level resources. @@ -1917,7 +1919,7 @@ type GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSetting struct { // Immutable. The type of the Setting. . Type string `pulumi:"type"` // The value of the Setting. - Value map[string]string `pulumi:"value"` + Value map[string]interface{} `pulumi:"value"` } // GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingInput is an input type that accepts GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingArgs and GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingOutput values. @@ -1936,7 +1938,7 @@ type GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingArgs struct { // Immutable. The type of the Setting. . Type pulumi.StringInput `pulumi:"type"` // The value of the Setting. - Value pulumi.StringMapInput `pulumi:"value"` + Value pulumi.MapInput `pulumi:"value"` } func (GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingArgs) ElementType() reflect.Type { @@ -1972,8 +1974,8 @@ func (o GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingOutput) Type() pul } // The value of the Setting. -func (o GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingOutput) Value() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSetting) map[string]string { return v.Value }).(pulumi.StringMapOutput) +func (o GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingOutput) Value() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSetting) map[string]interface{} { return v.Value }).(pulumi.MapOutput) } // Message to capture settings for a BrowserDlpRule @@ -1981,7 +1983,7 @@ type GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponse struct { // Immutable. The type of the Setting. . Type string `pulumi:"type"` // The value of the Setting. - Value map[string]string `pulumi:"value"` + Value map[string]interface{} `pulumi:"value"` } // Message to capture settings for a BrowserDlpRule @@ -2005,10 +2007,10 @@ func (o GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponseOutput) Ty } // The value of the Setting. -func (o GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponseOutput) Value() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponse) map[string]string { +func (o GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponseOutput) Value() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponse) map[string]interface{} { return v.Value - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Message contains the transport layer information to verify the proxy server. @@ -2944,7 +2946,7 @@ type ResourceInfo struct { // Unique Id for the resource. Id string `pulumi:"id"` // Specific details for the resource. - Resource map[string]string `pulumi:"resource"` + Resource map[string]interface{} `pulumi:"resource"` // Overall health status. Overall status is derived based on the status of each sub level resources. Status *ResourceInfoStatus `pulumi:"status"` // List of Info for the sub level resources. @@ -2969,7 +2971,7 @@ type ResourceInfoArgs struct { // Unique Id for the resource. Id pulumi.StringInput `pulumi:"id"` // Specific details for the resource. - Resource pulumi.StringMapInput `pulumi:"resource"` + Resource pulumi.MapInput `pulumi:"resource"` // Overall health status. Overall status is derived based on the status of each sub level resources. Status ResourceInfoStatusPtrInput `pulumi:"status"` // List of Info for the sub level resources. @@ -3087,8 +3089,8 @@ func (o ResourceInfoOutput) Id() pulumi.StringOutput { } // Specific details for the resource. -func (o ResourceInfoOutput) Resource() pulumi.StringMapOutput { - return o.ApplyT(func(v ResourceInfo) map[string]string { return v.Resource }).(pulumi.StringMapOutput) +func (o ResourceInfoOutput) Resource() pulumi.MapOutput { + return o.ApplyT(func(v ResourceInfo) map[string]interface{} { return v.Resource }).(pulumi.MapOutput) } // Overall health status. Overall status is derived based on the status of each sub level resources. @@ -3141,13 +3143,13 @@ func (o ResourceInfoPtrOutput) Id() pulumi.StringPtrOutput { } // Specific details for the resource. -func (o ResourceInfoPtrOutput) Resource() pulumi.StringMapOutput { - return o.ApplyT(func(v *ResourceInfo) map[string]string { +func (o ResourceInfoPtrOutput) Resource() pulumi.MapOutput { + return o.ApplyT(func(v *ResourceInfo) map[string]interface{} { if v == nil { return nil } return v.Resource - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Overall health status. Overall status is derived based on the status of each sub level resources. @@ -3203,7 +3205,7 @@ func (o ResourceInfoArrayOutput) Index(i pulumi.IntInput) ResourceInfoOutput { // ResourceInfo represents the information/status of the associated resource. type ResourceInfoResponse struct { // Specific details for the resource. - Resource map[string]string `pulumi:"resource"` + Resource map[string]interface{} `pulumi:"resource"` // Overall health status. Overall status is derived based on the status of each sub level resources. Status string `pulumi:"status"` // List of Info for the sub level resources. @@ -3228,8 +3230,8 @@ func (o ResourceInfoResponseOutput) ToResourceInfoResponseOutputWithContext(ctx } // Specific details for the resource. -func (o ResourceInfoResponseOutput) Resource() pulumi.StringMapOutput { - return o.ApplyT(func(v ResourceInfoResponse) map[string]string { return v.Resource }).(pulumi.StringMapOutput) +func (o ResourceInfoResponseOutput) Resource() pulumi.MapOutput { + return o.ApplyT(func(v ResourceInfoResponse) map[string]interface{} { return v.Resource }).(pulumi.MapOutput) } // Overall health status. Overall status is derived based on the status of each sub level resources. diff --git a/sdk/go/google/bigquery/v2/pulumiTypes.go b/sdk/go/google/bigquery/v2/pulumiTypes.go index b3bd3cf845..f666527203 100644 --- a/sdk/go/google/bigquery/v2/pulumiTypes.go +++ b/sdk/go/google/bigquery/v2/pulumiTypes.go @@ -5291,6 +5291,31 @@ func (i *externalDataConfigurationPtrType) ToExternalDataConfigurationPtrOutputW return pulumi.ToOutputWithContext(ctx, i).(ExternalDataConfigurationPtrOutput) } +// ExternalDataConfigurationMapInput is an input type that accepts ExternalDataConfigurationMap and ExternalDataConfigurationMapOutput values. +// You can construct a concrete instance of `ExternalDataConfigurationMapInput` via: +// +// ExternalDataConfigurationMap{ "key": ExternalDataConfigurationArgs{...} } +type ExternalDataConfigurationMapInput interface { + pulumi.Input + + ToExternalDataConfigurationMapOutput() ExternalDataConfigurationMapOutput + ToExternalDataConfigurationMapOutputWithContext(context.Context) ExternalDataConfigurationMapOutput +} + +type ExternalDataConfigurationMap map[string]ExternalDataConfigurationInput + +func (ExternalDataConfigurationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ExternalDataConfiguration)(nil)).Elem() +} + +func (i ExternalDataConfigurationMap) ToExternalDataConfigurationMapOutput() ExternalDataConfigurationMapOutput { + return i.ToExternalDataConfigurationMapOutputWithContext(context.Background()) +} + +func (i ExternalDataConfigurationMap) ToExternalDataConfigurationMapOutputWithContext(ctx context.Context) ExternalDataConfigurationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalDataConfigurationMapOutput) +} + type ExternalDataConfigurationOutput struct{ *pulumi.OutputState } func (ExternalDataConfigurationOutput) ElementType() reflect.Type { @@ -5639,6 +5664,26 @@ func (o ExternalDataConfigurationPtrOutput) SourceUris() pulumi.StringArrayOutpu }).(pulumi.StringArrayOutput) } +type ExternalDataConfigurationMapOutput struct{ *pulumi.OutputState } + +func (ExternalDataConfigurationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ExternalDataConfiguration)(nil)).Elem() +} + +func (o ExternalDataConfigurationMapOutput) ToExternalDataConfigurationMapOutput() ExternalDataConfigurationMapOutput { + return o +} + +func (o ExternalDataConfigurationMapOutput) ToExternalDataConfigurationMapOutputWithContext(ctx context.Context) ExternalDataConfigurationMapOutput { + return o +} + +func (o ExternalDataConfigurationMapOutput) MapIndex(k pulumi.StringInput) ExternalDataConfigurationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ExternalDataConfiguration { + return vs[0].(map[string]ExternalDataConfiguration)[vs[1].(string)] + }).(ExternalDataConfigurationOutput) +} + type ExternalDataConfigurationResponse struct { // Try to detect schema and format options automatically. Any option specified explicitly will be honored. Autodetect bool `pulumi:"autodetect"` @@ -5798,6 +5843,26 @@ func (o ExternalDataConfigurationResponseOutput) SourceUris() pulumi.StringArray return o.ApplyT(func(v ExternalDataConfigurationResponse) []string { return v.SourceUris }).(pulumi.StringArrayOutput) } +type ExternalDataConfigurationResponseMapOutput struct{ *pulumi.OutputState } + +func (ExternalDataConfigurationResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ExternalDataConfigurationResponse)(nil)).Elem() +} + +func (o ExternalDataConfigurationResponseMapOutput) ToExternalDataConfigurationResponseMapOutput() ExternalDataConfigurationResponseMapOutput { + return o +} + +func (o ExternalDataConfigurationResponseMapOutput) ToExternalDataConfigurationResponseMapOutputWithContext(ctx context.Context) ExternalDataConfigurationResponseMapOutput { + return o +} + +func (o ExternalDataConfigurationResponseMapOutput) MapIndex(k pulumi.StringInput) ExternalDataConfigurationResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ExternalDataConfigurationResponse { + return vs[0].(map[string]ExternalDataConfigurationResponse)[vs[1].(string)] + }).(ExternalDataConfigurationResponseOutput) +} + type ExternalDatasetReference struct { // [Required] The connection id that is used to access the external_source. Format: projects/{project_id}/locations/{location_id}/connections/{connection_id} Connection *string `pulumi:"connection"` @@ -8264,7 +8329,7 @@ type JobConfigurationQuery struct { // Allows the schema of the destination table to be updated as a side effect of the query job. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable. SchemaUpdateOptions []string `pulumi:"schemaUpdateOptions"` // [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - TableDefinitions map[string]string `pulumi:"tableDefinitions"` + TableDefinitions map[string]ExternalDataConfiguration `pulumi:"tableDefinitions"` // Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. TimePartitioning *TimePartitioning `pulumi:"timePartitioning"` // Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the value of flattenResults is ignored; query will be run as if flattenResults is false. @@ -8330,7 +8395,7 @@ type JobConfigurationQueryArgs struct { // Allows the schema of the destination table to be updated as a side effect of the query job. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable. SchemaUpdateOptions pulumi.StringArrayInput `pulumi:"schemaUpdateOptions"` // [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - TableDefinitions pulumi.StringMapInput `pulumi:"tableDefinitions"` + TableDefinitions ExternalDataConfigurationMapInput `pulumi:"tableDefinitions"` // Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. TimePartitioning TimePartitioningPtrInput `pulumi:"timePartitioning"` // Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the value of flattenResults is ignored; query will be run as if flattenResults is false. @@ -8518,8 +8583,8 @@ func (o JobConfigurationQueryOutput) SchemaUpdateOptions() pulumi.StringArrayOut } // [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. -func (o JobConfigurationQueryOutput) TableDefinitions() pulumi.StringMapOutput { - return o.ApplyT(func(v JobConfigurationQuery) map[string]string { return v.TableDefinitions }).(pulumi.StringMapOutput) +func (o JobConfigurationQueryOutput) TableDefinitions() ExternalDataConfigurationMapOutput { + return o.ApplyT(func(v JobConfigurationQuery) map[string]ExternalDataConfiguration { return v.TableDefinitions }).(ExternalDataConfigurationMapOutput) } // Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. @@ -8764,13 +8829,13 @@ func (o JobConfigurationQueryPtrOutput) SchemaUpdateOptions() pulumi.StringArray } // [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. -func (o JobConfigurationQueryPtrOutput) TableDefinitions() pulumi.StringMapOutput { - return o.ApplyT(func(v *JobConfigurationQuery) map[string]string { +func (o JobConfigurationQueryPtrOutput) TableDefinitions() ExternalDataConfigurationMapOutput { + return o.ApplyT(func(v *JobConfigurationQuery) map[string]ExternalDataConfiguration { if v == nil { return nil } return v.TableDefinitions - }).(pulumi.StringMapOutput) + }).(ExternalDataConfigurationMapOutput) } // Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. @@ -8865,7 +8930,7 @@ type JobConfigurationQueryResponse struct { // Allows the schema of the destination table to be updated as a side effect of the query job. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable. SchemaUpdateOptions []string `pulumi:"schemaUpdateOptions"` // [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - TableDefinitions map[string]string `pulumi:"tableDefinitions"` + TableDefinitions map[string]ExternalDataConfigurationResponse `pulumi:"tableDefinitions"` // Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. TimePartitioning TimePartitioningResponse `pulumi:"timePartitioning"` // Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the value of flattenResults is ignored; query will be run as if flattenResults is false. @@ -8992,8 +9057,10 @@ func (o JobConfigurationQueryResponseOutput) SchemaUpdateOptions() pulumi.String } // [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. -func (o JobConfigurationQueryResponseOutput) TableDefinitions() pulumi.StringMapOutput { - return o.ApplyT(func(v JobConfigurationQueryResponse) map[string]string { return v.TableDefinitions }).(pulumi.StringMapOutput) +func (o JobConfigurationQueryResponseOutput) TableDefinitions() ExternalDataConfigurationResponseMapOutput { + return o.ApplyT(func(v JobConfigurationQueryResponse) map[string]ExternalDataConfigurationResponse { + return v.TableDefinitions + }).(ExternalDataConfigurationResponseMapOutput) } // Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. @@ -12195,7 +12262,7 @@ type QueryParameterValue struct { // [Optional] The array values, if this is an array type. ArrayValues []QueryParameterValue `pulumi:"arrayValues"` // [Optional] The struct field values, in order of the struct type's declaration. - StructValues map[string]string `pulumi:"structValues"` + StructValues map[string]QueryParameterValue `pulumi:"structValues"` // [Optional] The value of this value, if a simple scalar type. Value *string `pulumi:"value"` } @@ -12215,7 +12282,7 @@ type QueryParameterValueArgs struct { // [Optional] The array values, if this is an array type. ArrayValues QueryParameterValueArrayInput `pulumi:"arrayValues"` // [Optional] The struct field values, in order of the struct type's declaration. - StructValues pulumi.StringMapInput `pulumi:"structValues"` + StructValues QueryParameterValueMapInput `pulumi:"structValues"` // [Optional] The value of this value, if a simple scalar type. Value pulumi.StringPtrInput `pulumi:"value"` } @@ -12298,6 +12365,31 @@ func (i QueryParameterValueArray) ToQueryParameterValueArrayOutputWithContext(ct return pulumi.ToOutputWithContext(ctx, i).(QueryParameterValueArrayOutput) } +// QueryParameterValueMapInput is an input type that accepts QueryParameterValueMap and QueryParameterValueMapOutput values. +// You can construct a concrete instance of `QueryParameterValueMapInput` via: +// +// QueryParameterValueMap{ "key": QueryParameterValueArgs{...} } +type QueryParameterValueMapInput interface { + pulumi.Input + + ToQueryParameterValueMapOutput() QueryParameterValueMapOutput + ToQueryParameterValueMapOutputWithContext(context.Context) QueryParameterValueMapOutput +} + +type QueryParameterValueMap map[string]QueryParameterValueInput + +func (QueryParameterValueMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]QueryParameterValue)(nil)).Elem() +} + +func (i QueryParameterValueMap) ToQueryParameterValueMapOutput() QueryParameterValueMapOutput { + return i.ToQueryParameterValueMapOutputWithContext(context.Background()) +} + +func (i QueryParameterValueMap) ToQueryParameterValueMapOutputWithContext(ctx context.Context) QueryParameterValueMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueryParameterValueMapOutput) +} + type QueryParameterValueOutput struct{ *pulumi.OutputState } func (QueryParameterValueOutput) ElementType() reflect.Type { @@ -12328,8 +12420,8 @@ func (o QueryParameterValueOutput) ArrayValues() QueryParameterValueArrayOutput } // [Optional] The struct field values, in order of the struct type's declaration. -func (o QueryParameterValueOutput) StructValues() pulumi.StringMapOutput { - return o.ApplyT(func(v QueryParameterValue) map[string]string { return v.StructValues }).(pulumi.StringMapOutput) +func (o QueryParameterValueOutput) StructValues() QueryParameterValueMapOutput { + return o.ApplyT(func(v QueryParameterValue) map[string]QueryParameterValue { return v.StructValues }).(QueryParameterValueMapOutput) } // [Optional] The value of this value, if a simple scalar type. @@ -12372,13 +12464,13 @@ func (o QueryParameterValuePtrOutput) ArrayValues() QueryParameterValueArrayOutp } // [Optional] The struct field values, in order of the struct type's declaration. -func (o QueryParameterValuePtrOutput) StructValues() pulumi.StringMapOutput { - return o.ApplyT(func(v *QueryParameterValue) map[string]string { +func (o QueryParameterValuePtrOutput) StructValues() QueryParameterValueMapOutput { + return o.ApplyT(func(v *QueryParameterValue) map[string]QueryParameterValue { if v == nil { return nil } return v.StructValues - }).(pulumi.StringMapOutput) + }).(QueryParameterValueMapOutput) } // [Optional] The value of this value, if a simple scalar type. @@ -12411,11 +12503,31 @@ func (o QueryParameterValueArrayOutput) Index(i pulumi.IntInput) QueryParameterV }).(QueryParameterValueOutput) } +type QueryParameterValueMapOutput struct{ *pulumi.OutputState } + +func (QueryParameterValueMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]QueryParameterValue)(nil)).Elem() +} + +func (o QueryParameterValueMapOutput) ToQueryParameterValueMapOutput() QueryParameterValueMapOutput { + return o +} + +func (o QueryParameterValueMapOutput) ToQueryParameterValueMapOutputWithContext(ctx context.Context) QueryParameterValueMapOutput { + return o +} + +func (o QueryParameterValueMapOutput) MapIndex(k pulumi.StringInput) QueryParameterValueOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) QueryParameterValue { + return vs[0].(map[string]QueryParameterValue)[vs[1].(string)] + }).(QueryParameterValueOutput) +} + type QueryParameterValueResponse struct { // [Optional] The array values, if this is an array type. ArrayValues []QueryParameterValueResponse `pulumi:"arrayValues"` // [Optional] The struct field values, in order of the struct type's declaration. - StructValues map[string]string `pulumi:"structValues"` + StructValues map[string]QueryParameterValueResponse `pulumi:"structValues"` // [Optional] The value of this value, if a simple scalar type. Value string `pulumi:"value"` } @@ -12440,8 +12552,8 @@ func (o QueryParameterValueResponseOutput) ArrayValues() QueryParameterValueResp } // [Optional] The struct field values, in order of the struct type's declaration. -func (o QueryParameterValueResponseOutput) StructValues() pulumi.StringMapOutput { - return o.ApplyT(func(v QueryParameterValueResponse) map[string]string { return v.StructValues }).(pulumi.StringMapOutput) +func (o QueryParameterValueResponseOutput) StructValues() QueryParameterValueResponseMapOutput { + return o.ApplyT(func(v QueryParameterValueResponse) map[string]QueryParameterValueResponse { return v.StructValues }).(QueryParameterValueResponseMapOutput) } // [Optional] The value of this value, if a simple scalar type. @@ -12469,6 +12581,26 @@ func (o QueryParameterValueResponseArrayOutput) Index(i pulumi.IntInput) QueryPa }).(QueryParameterValueResponseOutput) } +type QueryParameterValueResponseMapOutput struct{ *pulumi.OutputState } + +func (QueryParameterValueResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]QueryParameterValueResponse)(nil)).Elem() +} + +func (o QueryParameterValueResponseMapOutput) ToQueryParameterValueResponseMapOutput() QueryParameterValueResponseMapOutput { + return o +} + +func (o QueryParameterValueResponseMapOutput) ToQueryParameterValueResponseMapOutputWithContext(ctx context.Context) QueryParameterValueResponseMapOutput { + return o +} + +func (o QueryParameterValueResponseMapOutput) MapIndex(k pulumi.StringInput) QueryParameterValueResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) QueryParameterValueResponse { + return vs[0].(map[string]QueryParameterValueResponse)[vs[1].(string)] + }).(QueryParameterValueResponseOutput) +} + type QueryTimelineSampleResponse struct { // Total number of units currently being processed by workers. This does not correspond directly to slot usage. This is the largest value observed since the last sample. ActiveUnits string `pulumi:"activeUnits"` @@ -17883,6 +18015,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ExprPtrInput)(nil)).Elem(), ExprArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalDataConfigurationInput)(nil)).Elem(), ExternalDataConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalDataConfigurationPtrInput)(nil)).Elem(), ExternalDataConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExternalDataConfigurationMapInput)(nil)).Elem(), ExternalDataConfigurationMap{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalDatasetReferenceInput)(nil)).Elem(), ExternalDatasetReferenceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalDatasetReferencePtrInput)(nil)).Elem(), ExternalDatasetReferenceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleSheetsOptionsInput)(nil)).Elem(), GoogleSheetsOptionsArgs{}) @@ -17922,6 +18055,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*QueryParameterValueInput)(nil)).Elem(), QueryParameterValueArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*QueryParameterValuePtrInput)(nil)).Elem(), QueryParameterValueArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*QueryParameterValueArrayInput)(nil)).Elem(), QueryParameterValueArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueryParameterValueMapInput)(nil)).Elem(), QueryParameterValueMap{}) pulumi.RegisterInputType(reflect.TypeOf((*RangePartitioningInput)(nil)).Elem(), RangePartitioningArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RangePartitioningPtrInput)(nil)).Elem(), RangePartitioningArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RangePartitioningRangeInput)(nil)).Elem(), RangePartitioningRangeArgs{}) @@ -18061,7 +18195,9 @@ func init() { pulumi.RegisterOutputType(ExprResponseOutput{}) pulumi.RegisterOutputType(ExternalDataConfigurationOutput{}) pulumi.RegisterOutputType(ExternalDataConfigurationPtrOutput{}) + pulumi.RegisterOutputType(ExternalDataConfigurationMapOutput{}) pulumi.RegisterOutputType(ExternalDataConfigurationResponseOutput{}) + pulumi.RegisterOutputType(ExternalDataConfigurationResponseMapOutput{}) pulumi.RegisterOutputType(ExternalDatasetReferenceOutput{}) pulumi.RegisterOutputType(ExternalDatasetReferencePtrOutput{}) pulumi.RegisterOutputType(ExternalDatasetReferenceResponseOutput{}) @@ -18137,8 +18273,10 @@ func init() { pulumi.RegisterOutputType(QueryParameterValueOutput{}) pulumi.RegisterOutputType(QueryParameterValuePtrOutput{}) pulumi.RegisterOutputType(QueryParameterValueArrayOutput{}) + pulumi.RegisterOutputType(QueryParameterValueMapOutput{}) pulumi.RegisterOutputType(QueryParameterValueResponseOutput{}) pulumi.RegisterOutputType(QueryParameterValueResponseArrayOutput{}) + pulumi.RegisterOutputType(QueryParameterValueResponseMapOutput{}) pulumi.RegisterOutputType(QueryTimelineSampleResponseOutput{}) pulumi.RegisterOutputType(QueryTimelineSampleResponseArrayOutput{}) pulumi.RegisterOutputType(RangePartitioningOutput{}) diff --git a/sdk/go/google/bigquerydatatransfer/v1/getTransferConfig.go b/sdk/go/google/bigquerydatatransfer/v1/getTransferConfig.go index c9da2fc127..f10b955046 100644 --- a/sdk/go/google/bigquerydatatransfer/v1/getTransferConfig.go +++ b/sdk/go/google/bigquerydatatransfer/v1/getTransferConfig.go @@ -54,7 +54,7 @@ type LookupTransferConfigResult struct { // Information about the user whose credentials are used to transfer data. Populated only for `transferConfigs.get` requests. In case the user information is not available, this field will not be populated. OwnerInfo UserInfoResponse `pulumi:"ownerInfo"` // Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq - Params map[string]string `pulumi:"params"` + Params map[string]interface{} `pulumi:"params"` // Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. Schedule string `pulumi:"schedule"` // Options customizing the data transfer schedule. @@ -167,8 +167,8 @@ func (o LookupTransferConfigResultOutput) OwnerInfo() UserInfoResponseOutput { } // Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq -func (o LookupTransferConfigResultOutput) Params() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupTransferConfigResult) map[string]string { return v.Params }).(pulumi.StringMapOutput) +func (o LookupTransferConfigResultOutput) Params() pulumi.MapOutput { + return o.ApplyT(func(v LookupTransferConfigResult) map[string]interface{} { return v.Params }).(pulumi.MapOutput) } // Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. diff --git a/sdk/go/google/bigquerydatatransfer/v1/transferConfig.go b/sdk/go/google/bigquerydatatransfer/v1/transferConfig.go index f6a3f16964..cac1861d98 100644 --- a/sdk/go/google/bigquerydatatransfer/v1/transferConfig.go +++ b/sdk/go/google/bigquerydatatransfer/v1/transferConfig.go @@ -44,8 +44,8 @@ type TransferConfig struct { // Information about the user whose credentials are used to transfer data. Populated only for `transferConfigs.get` requests. In case the user information is not available, this field will not be populated. OwnerInfo UserInfoResponseOutput `pulumi:"ownerInfo"` // Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq - Params pulumi.StringMapOutput `pulumi:"params"` - Project pulumi.StringOutput `pulumi:"project"` + Params pulumi.MapOutput `pulumi:"params"` + Project pulumi.StringOutput `pulumi:"project"` // Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. Schedule pulumi.StringOutput `pulumi:"schedule"` // Options customizing the data transfer schedule. @@ -131,8 +131,8 @@ type transferConfigArgs struct { // Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project}/topics/{topic}` NotificationPubsubTopic *string `pulumi:"notificationPubsubTopic"` // Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq - Params map[string]string `pulumi:"params"` - Project *string `pulumi:"project"` + Params map[string]interface{} `pulumi:"params"` + Project *string `pulumi:"project"` // Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. Schedule *string `pulumi:"schedule"` // Options customizing the data transfer schedule. @@ -171,7 +171,7 @@ type TransferConfigArgs struct { // Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project}/topics/{topic}` NotificationPubsubTopic pulumi.StringPtrInput // Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq - Params pulumi.StringMapInput + Params pulumi.MapInput Project pulumi.StringPtrInput // Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. Schedule pulumi.StringPtrInput @@ -294,8 +294,8 @@ func (o TransferConfigOutput) OwnerInfo() UserInfoResponseOutput { } // Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq -func (o TransferConfigOutput) Params() pulumi.StringMapOutput { - return o.ApplyT(func(v *TransferConfig) pulumi.StringMapOutput { return v.Params }).(pulumi.StringMapOutput) +func (o TransferConfigOutput) Params() pulumi.MapOutput { + return o.ApplyT(func(v *TransferConfig) pulumi.MapOutput { return v.Params }).(pulumi.MapOutput) } func (o TransferConfigOutput) Project() pulumi.StringOutput { diff --git a/sdk/go/google/bigqueryreservation/v1/pulumiTypes.go b/sdk/go/google/bigqueryreservation/v1/pulumiTypes.go index a2439180fa..f87b275efb 100644 --- a/sdk/go/google/bigqueryreservation/v1/pulumiTypes.go +++ b/sdk/go/google/bigqueryreservation/v1/pulumiTypes.go @@ -191,7 +191,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -217,8 +217,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/bigqueryreservation/v1beta1/pulumiTypes.go b/sdk/go/google/bigqueryreservation/v1beta1/pulumiTypes.go index d4a7f52a3e..caa85c8dee 100644 --- a/sdk/go/google/bigqueryreservation/v1beta1/pulumiTypes.go +++ b/sdk/go/google/bigqueryreservation/v1beta1/pulumiTypes.go @@ -18,7 +18,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -44,8 +44,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/bigtableadmin/v2/getTable.go b/sdk/go/google/bigtableadmin/v2/getTable.go index 10acb1382e..fecb184089 100644 --- a/sdk/go/google/bigtableadmin/v2/getTable.go +++ b/sdk/go/google/bigtableadmin/v2/getTable.go @@ -33,9 +33,9 @@ type LookupTableResult struct { // If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained. ChangeStreamConfig ChangeStreamConfigResponse `pulumi:"changeStreamConfig"` // Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` - ClusterStates map[string]string `pulumi:"clusterStates"` + ClusterStates map[string]ClusterStateResponse `pulumi:"clusterStates"` // The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` - ColumnFamilies map[string]string `pulumi:"columnFamilies"` + ColumnFamilies map[string]ColumnFamilyResponse `pulumi:"columnFamilies"` // Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. DeletionProtection bool `pulumi:"deletionProtection"` // Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. @@ -92,13 +92,13 @@ func (o LookupTableResultOutput) ChangeStreamConfig() ChangeStreamConfigResponse } // Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` -func (o LookupTableResultOutput) ClusterStates() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupTableResult) map[string]string { return v.ClusterStates }).(pulumi.StringMapOutput) +func (o LookupTableResultOutput) ClusterStates() ClusterStateResponseMapOutput { + return o.ApplyT(func(v LookupTableResult) map[string]ClusterStateResponse { return v.ClusterStates }).(ClusterStateResponseMapOutput) } // The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` -func (o LookupTableResultOutput) ColumnFamilies() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupTableResult) map[string]string { return v.ColumnFamilies }).(pulumi.StringMapOutput) +func (o LookupTableResultOutput) ColumnFamilies() ColumnFamilyResponseMapOutput { + return o.ApplyT(func(v LookupTableResult) map[string]ColumnFamilyResponse { return v.ColumnFamilies }).(ColumnFamilyResponseMapOutput) } // Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. diff --git a/sdk/go/google/bigtableadmin/v2/instance.go b/sdk/go/google/bigtableadmin/v2/instance.go index fbf4eebffc..4a59e9a023 100644 --- a/sdk/go/google/bigtableadmin/v2/instance.go +++ b/sdk/go/google/bigtableadmin/v2/instance.go @@ -90,7 +90,7 @@ func (InstanceState) ElementType() reflect.Type { type instanceArgs struct { // The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. - Clusters map[string]string `pulumi:"clusters"` + Clusters map[string]ClusterType `pulumi:"clusters"` // The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion. DisplayName string `pulumi:"displayName"` // The ID to be used when referring to the new instance within its project, e.g., just `myinstance` rather than `projects/myproject/instances/myinstance`. @@ -109,7 +109,7 @@ type instanceArgs struct { // The set of arguments for constructing a Instance resource. type InstanceArgs struct { // The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. - Clusters pulumi.StringMapInput + Clusters ClusterTypeMapInput // The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion. DisplayName pulumi.StringInput // The ID to be used when referring to the new instance within its project, e.g., just `myinstance` rather than `projects/myproject/instances/myinstance`. diff --git a/sdk/go/google/bigtableadmin/v2/pulumiTypes.go b/sdk/go/google/bigtableadmin/v2/pulumiTypes.go index 357f749a3a..15a0993bf2 100644 --- a/sdk/go/google/bigtableadmin/v2/pulumiTypes.go +++ b/sdk/go/google/bigtableadmin/v2/pulumiTypes.go @@ -1119,6 +1119,151 @@ func (o ChangeStreamConfigResponseOutput) RetentionPeriod() pulumi.StringOutput return o.ApplyT(func(v ChangeStreamConfigResponse) string { return v.RetentionPeriod }).(pulumi.StringOutput) } +// A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance. +type ClusterType struct { + // Configuration for this cluster. + ClusterConfig *ClusterConfig `pulumi:"clusterConfig"` + // Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. + DefaultStorageType *ClusterDefaultStorageType `pulumi:"defaultStorageType"` + // Immutable. The encryption configuration for CMEK-protected clusters. + EncryptionConfig *EncryptionConfig `pulumi:"encryptionConfig"` + // Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. + Location *string `pulumi:"location"` + // The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. + Name *string `pulumi:"name"` + // The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. + ServeNodes *int `pulumi:"serveNodes"` +} + +// ClusterTypeInput is an input type that accepts ClusterTypeArgs and ClusterTypeOutput values. +// You can construct a concrete instance of `ClusterTypeInput` via: +// +// ClusterTypeArgs{...} +type ClusterTypeInput interface { + pulumi.Input + + ToClusterTypeOutput() ClusterTypeOutput + ToClusterTypeOutputWithContext(context.Context) ClusterTypeOutput +} + +// A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance. +type ClusterTypeArgs struct { + // Configuration for this cluster. + ClusterConfig ClusterConfigPtrInput `pulumi:"clusterConfig"` + // Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. + DefaultStorageType ClusterDefaultStorageTypePtrInput `pulumi:"defaultStorageType"` + // Immutable. The encryption configuration for CMEK-protected clusters. + EncryptionConfig EncryptionConfigPtrInput `pulumi:"encryptionConfig"` + // Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. + Location pulumi.StringPtrInput `pulumi:"location"` + // The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. + Name pulumi.StringPtrInput `pulumi:"name"` + // The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. + ServeNodes pulumi.IntPtrInput `pulumi:"serveNodes"` +} + +func (ClusterTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterType)(nil)).Elem() +} + +func (i ClusterTypeArgs) ToClusterTypeOutput() ClusterTypeOutput { + return i.ToClusterTypeOutputWithContext(context.Background()) +} + +func (i ClusterTypeArgs) ToClusterTypeOutputWithContext(ctx context.Context) ClusterTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterTypeOutput) +} + +// ClusterTypeMapInput is an input type that accepts ClusterTypeMap and ClusterTypeMapOutput values. +// You can construct a concrete instance of `ClusterTypeMapInput` via: +// +// ClusterTypeMap{ "key": ClusterTypeArgs{...} } +type ClusterTypeMapInput interface { + pulumi.Input + + ToClusterTypeMapOutput() ClusterTypeMapOutput + ToClusterTypeMapOutputWithContext(context.Context) ClusterTypeMapOutput +} + +type ClusterTypeMap map[string]ClusterTypeInput + +func (ClusterTypeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ClusterType)(nil)).Elem() +} + +func (i ClusterTypeMap) ToClusterTypeMapOutput() ClusterTypeMapOutput { + return i.ToClusterTypeMapOutputWithContext(context.Background()) +} + +func (i ClusterTypeMap) ToClusterTypeMapOutputWithContext(ctx context.Context) ClusterTypeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterTypeMapOutput) +} + +// A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance. +type ClusterTypeOutput struct{ *pulumi.OutputState } + +func (ClusterTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterType)(nil)).Elem() +} + +func (o ClusterTypeOutput) ToClusterTypeOutput() ClusterTypeOutput { + return o +} + +func (o ClusterTypeOutput) ToClusterTypeOutputWithContext(ctx context.Context) ClusterTypeOutput { + return o +} + +// Configuration for this cluster. +func (o ClusterTypeOutput) ClusterConfig() ClusterConfigPtrOutput { + return o.ApplyT(func(v ClusterType) *ClusterConfig { return v.ClusterConfig }).(ClusterConfigPtrOutput) +} + +// Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. +func (o ClusterTypeOutput) DefaultStorageType() ClusterDefaultStorageTypePtrOutput { + return o.ApplyT(func(v ClusterType) *ClusterDefaultStorageType { return v.DefaultStorageType }).(ClusterDefaultStorageTypePtrOutput) +} + +// Immutable. The encryption configuration for CMEK-protected clusters. +func (o ClusterTypeOutput) EncryptionConfig() EncryptionConfigPtrOutput { + return o.ApplyT(func(v ClusterType) *EncryptionConfig { return v.EncryptionConfig }).(EncryptionConfigPtrOutput) +} + +// Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. +func (o ClusterTypeOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterType) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. +func (o ClusterTypeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterType) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. +func (o ClusterTypeOutput) ServeNodes() pulumi.IntPtrOutput { + return o.ApplyT(func(v ClusterType) *int { return v.ServeNodes }).(pulumi.IntPtrOutput) +} + +type ClusterTypeMapOutput struct{ *pulumi.OutputState } + +func (ClusterTypeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ClusterType)(nil)).Elem() +} + +func (o ClusterTypeMapOutput) ToClusterTypeMapOutput() ClusterTypeMapOutput { + return o +} + +func (o ClusterTypeMapOutput) ToClusterTypeMapOutputWithContext(ctx context.Context) ClusterTypeMapOutput { + return o +} + +func (o ClusterTypeMapOutput) MapIndex(k pulumi.StringInput) ClusterTypeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ClusterType { + return vs[0].(map[string]ClusterType)[vs[1].(string)] + }).(ClusterTypeOutput) +} + // Autoscaling config for a cluster. type ClusterAutoscalingConfig struct { // Autoscaling limits for this cluster. @@ -1477,6 +1622,252 @@ func (o ClusterConfigResponseOutput) ClusterAutoscalingConfig() ClusterAutoscali return o.ApplyT(func(v ClusterConfigResponse) ClusterAutoscalingConfigResponse { return v.ClusterAutoscalingConfig }).(ClusterAutoscalingConfigResponseOutput) } +// The state of a table's data in a particular cluster. +type ClusterStateResponse struct { + // The encryption information for the table in this cluster. If the encryption key protecting this resource is customer managed, then its version can be rotated in Cloud Key Management Service (Cloud KMS). The primary version of the key and its status will be reflected here when changes propagate from Cloud KMS. + EncryptionInfo []EncryptionInfoResponse `pulumi:"encryptionInfo"` + // The state of replication for the table in this cluster. + ReplicationState string `pulumi:"replicationState"` +} + +// The state of a table's data in a particular cluster. +type ClusterStateResponseOutput struct{ *pulumi.OutputState } + +func (ClusterStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterStateResponse)(nil)).Elem() +} + +func (o ClusterStateResponseOutput) ToClusterStateResponseOutput() ClusterStateResponseOutput { + return o +} + +func (o ClusterStateResponseOutput) ToClusterStateResponseOutputWithContext(ctx context.Context) ClusterStateResponseOutput { + return o +} + +// The encryption information for the table in this cluster. If the encryption key protecting this resource is customer managed, then its version can be rotated in Cloud Key Management Service (Cloud KMS). The primary version of the key and its status will be reflected here when changes propagate from Cloud KMS. +func (o ClusterStateResponseOutput) EncryptionInfo() EncryptionInfoResponseArrayOutput { + return o.ApplyT(func(v ClusterStateResponse) []EncryptionInfoResponse { return v.EncryptionInfo }).(EncryptionInfoResponseArrayOutput) +} + +// The state of replication for the table in this cluster. +func (o ClusterStateResponseOutput) ReplicationState() pulumi.StringOutput { + return o.ApplyT(func(v ClusterStateResponse) string { return v.ReplicationState }).(pulumi.StringOutput) +} + +type ClusterStateResponseMapOutput struct{ *pulumi.OutputState } + +func (ClusterStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ClusterStateResponse)(nil)).Elem() +} + +func (o ClusterStateResponseMapOutput) ToClusterStateResponseMapOutput() ClusterStateResponseMapOutput { + return o +} + +func (o ClusterStateResponseMapOutput) ToClusterStateResponseMapOutputWithContext(ctx context.Context) ClusterStateResponseMapOutput { + return o +} + +func (o ClusterStateResponseMapOutput) MapIndex(k pulumi.StringInput) ClusterStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ClusterStateResponse { + return vs[0].(map[string]ClusterStateResponse)[vs[1].(string)] + }).(ClusterStateResponseOutput) +} + +// A set of columns within a table which share a common configuration. +type ColumnFamily struct { + // Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + GcRule *GcRule `pulumi:"gcRule"` +} + +// ColumnFamilyInput is an input type that accepts ColumnFamilyArgs and ColumnFamilyOutput values. +// You can construct a concrete instance of `ColumnFamilyInput` via: +// +// ColumnFamilyArgs{...} +type ColumnFamilyInput interface { + pulumi.Input + + ToColumnFamilyOutput() ColumnFamilyOutput + ToColumnFamilyOutputWithContext(context.Context) ColumnFamilyOutput +} + +// A set of columns within a table which share a common configuration. +type ColumnFamilyArgs struct { + // Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + GcRule GcRulePtrInput `pulumi:"gcRule"` +} + +func (ColumnFamilyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ColumnFamily)(nil)).Elem() +} + +func (i ColumnFamilyArgs) ToColumnFamilyOutput() ColumnFamilyOutput { + return i.ToColumnFamilyOutputWithContext(context.Background()) +} + +func (i ColumnFamilyArgs) ToColumnFamilyOutputWithContext(ctx context.Context) ColumnFamilyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ColumnFamilyOutput) +} + +// ColumnFamilyMapInput is an input type that accepts ColumnFamilyMap and ColumnFamilyMapOutput values. +// You can construct a concrete instance of `ColumnFamilyMapInput` via: +// +// ColumnFamilyMap{ "key": ColumnFamilyArgs{...} } +type ColumnFamilyMapInput interface { + pulumi.Input + + ToColumnFamilyMapOutput() ColumnFamilyMapOutput + ToColumnFamilyMapOutputWithContext(context.Context) ColumnFamilyMapOutput +} + +type ColumnFamilyMap map[string]ColumnFamilyInput + +func (ColumnFamilyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ColumnFamily)(nil)).Elem() +} + +func (i ColumnFamilyMap) ToColumnFamilyMapOutput() ColumnFamilyMapOutput { + return i.ToColumnFamilyMapOutputWithContext(context.Background()) +} + +func (i ColumnFamilyMap) ToColumnFamilyMapOutputWithContext(ctx context.Context) ColumnFamilyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ColumnFamilyMapOutput) +} + +// A set of columns within a table which share a common configuration. +type ColumnFamilyOutput struct{ *pulumi.OutputState } + +func (ColumnFamilyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ColumnFamily)(nil)).Elem() +} + +func (o ColumnFamilyOutput) ToColumnFamilyOutput() ColumnFamilyOutput { + return o +} + +func (o ColumnFamilyOutput) ToColumnFamilyOutputWithContext(ctx context.Context) ColumnFamilyOutput { + return o +} + +// Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. +func (o ColumnFamilyOutput) GcRule() GcRulePtrOutput { + return o.ApplyT(func(v ColumnFamily) *GcRule { return v.GcRule }).(GcRulePtrOutput) +} + +type ColumnFamilyMapOutput struct{ *pulumi.OutputState } + +func (ColumnFamilyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ColumnFamily)(nil)).Elem() +} + +func (o ColumnFamilyMapOutput) ToColumnFamilyMapOutput() ColumnFamilyMapOutput { + return o +} + +func (o ColumnFamilyMapOutput) ToColumnFamilyMapOutputWithContext(ctx context.Context) ColumnFamilyMapOutput { + return o +} + +func (o ColumnFamilyMapOutput) MapIndex(k pulumi.StringInput) ColumnFamilyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ColumnFamily { + return vs[0].(map[string]ColumnFamily)[vs[1].(string)] + }).(ColumnFamilyOutput) +} + +// A set of columns within a table which share a common configuration. +type ColumnFamilyResponse struct { + // Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + GcRule GcRuleResponse `pulumi:"gcRule"` + // Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above. + Stats ColumnFamilyStatsResponse `pulumi:"stats"` +} + +// A set of columns within a table which share a common configuration. +type ColumnFamilyResponseOutput struct{ *pulumi.OutputState } + +func (ColumnFamilyResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ColumnFamilyResponse)(nil)).Elem() +} + +func (o ColumnFamilyResponseOutput) ToColumnFamilyResponseOutput() ColumnFamilyResponseOutput { + return o +} + +func (o ColumnFamilyResponseOutput) ToColumnFamilyResponseOutputWithContext(ctx context.Context) ColumnFamilyResponseOutput { + return o +} + +// Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. +func (o ColumnFamilyResponseOutput) GcRule() GcRuleResponseOutput { + return o.ApplyT(func(v ColumnFamilyResponse) GcRuleResponse { return v.GcRule }).(GcRuleResponseOutput) +} + +// Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above. +func (o ColumnFamilyResponseOutput) Stats() ColumnFamilyStatsResponseOutput { + return o.ApplyT(func(v ColumnFamilyResponse) ColumnFamilyStatsResponse { return v.Stats }).(ColumnFamilyStatsResponseOutput) +} + +type ColumnFamilyResponseMapOutput struct{ *pulumi.OutputState } + +func (ColumnFamilyResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ColumnFamilyResponse)(nil)).Elem() +} + +func (o ColumnFamilyResponseMapOutput) ToColumnFamilyResponseMapOutput() ColumnFamilyResponseMapOutput { + return o +} + +func (o ColumnFamilyResponseMapOutput) ToColumnFamilyResponseMapOutputWithContext(ctx context.Context) ColumnFamilyResponseMapOutput { + return o +} + +func (o ColumnFamilyResponseMapOutput) MapIndex(k pulumi.StringInput) ColumnFamilyResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ColumnFamilyResponse { + return vs[0].(map[string]ColumnFamilyResponse)[vs[1].(string)] + }).(ColumnFamilyResponseOutput) +} + +// Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified. +type ColumnFamilyStatsResponse struct { + // How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family "family" in a table with 3 rows: * A row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1 column in "family") * A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in "family") * A row with 3 cells in "other:col" (0 columns in "family", "family" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field. + AverageCellsPerColumn float64 `pulumi:"averageCellsPerColumn"` + // How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family "family" in a table with 3 rows: * A row with cells in "family:col" and "other:col" (1 column in "family") * A row with cells in "family:col", "family:other_col", and "other:data" (2 columns in "family") * A row with cells in "other:col" (0 columns in "family", "family" not present) would report (1 + 2 + 0)/3 = 1.5 in this field. + AverageColumnsPerRow float64 `pulumi:"averageColumnsPerRow"` + // How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out). + LogicalDataBytes string `pulumi:"logicalDataBytes"` +} + +// Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified. +type ColumnFamilyStatsResponseOutput struct{ *pulumi.OutputState } + +func (ColumnFamilyStatsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ColumnFamilyStatsResponse)(nil)).Elem() +} + +func (o ColumnFamilyStatsResponseOutput) ToColumnFamilyStatsResponseOutput() ColumnFamilyStatsResponseOutput { + return o +} + +func (o ColumnFamilyStatsResponseOutput) ToColumnFamilyStatsResponseOutputWithContext(ctx context.Context) ColumnFamilyStatsResponseOutput { + return o +} + +// How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family "family" in a table with 3 rows: * A row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1 column in "family") * A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in "family") * A row with 3 cells in "other:col" (0 columns in "family", "family" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field. +func (o ColumnFamilyStatsResponseOutput) AverageCellsPerColumn() pulumi.Float64Output { + return o.ApplyT(func(v ColumnFamilyStatsResponse) float64 { return v.AverageCellsPerColumn }).(pulumi.Float64Output) +} + +// How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family "family" in a table with 3 rows: * A row with cells in "family:col" and "other:col" (1 column in "family") * A row with cells in "family:col", "family:other_col", and "other:data" (2 columns in "family") * A row with cells in "other:col" (0 columns in "family", "family" not present) would report (1 + 2 + 0)/3 = 1.5 in this field. +func (o ColumnFamilyStatsResponseOutput) AverageColumnsPerRow() pulumi.Float64Output { + return o.ApplyT(func(v ColumnFamilyStatsResponse) float64 { return v.AverageColumnsPerRow }).(pulumi.Float64Output) +} + +// How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out). +func (o ColumnFamilyStatsResponseOutput) LogicalDataBytes() pulumi.StringOutput { + return o.ApplyT(func(v ColumnFamilyStatsResponse) string { return v.LogicalDataBytes }).(pulumi.StringOutput) +} + // Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster. type EncryptionConfig struct { // Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster. The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains this cluster must be granted the `cloudkms.cryptoKeyEncrypterDecrypter` role on the CMEK key. 2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster. Values are of the form `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}` @@ -1683,6 +2074,26 @@ func (o EncryptionInfoResponseOutput) KmsKeyVersion() pulumi.StringOutput { return o.ApplyT(func(v EncryptionInfoResponse) string { return v.KmsKeyVersion }).(pulumi.StringOutput) } +type EncryptionInfoResponseArrayOutput struct{ *pulumi.OutputState } + +func (EncryptionInfoResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]EncryptionInfoResponse)(nil)).Elem() +} + +func (o EncryptionInfoResponseArrayOutput) ToEncryptionInfoResponseArrayOutput() EncryptionInfoResponseArrayOutput { + return o +} + +func (o EncryptionInfoResponseArrayOutput) ToEncryptionInfoResponseArrayOutputWithContext(ctx context.Context) EncryptionInfoResponseArrayOutput { + return o +} + +func (o EncryptionInfoResponseArrayOutput) Index(i pulumi.IntInput) EncryptionInfoResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) EncryptionInfoResponse { + return vs[0].([]EncryptionInfoResponse)[vs[1].(int)] + }).(EncryptionInfoResponseOutput) +} + // Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. type Expr struct { // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. @@ -1927,108 +2338,583 @@ func (o ExprResponseOutput) Title() pulumi.StringOutput { return o.ApplyT(func(v ExprResponse) string { return v.Title }).(pulumi.StringOutput) } -// Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability. -type MultiClusterRoutingUseAny struct { - // The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible. - ClusterIds []string `pulumi:"clusterIds"` +// Rule for determining which cells to delete during garbage collection. +type GcRule struct { + // Delete cells that would be deleted by every nested rule. + Intersection *Intersection `pulumi:"intersection"` + // Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + MaxAge *string `pulumi:"maxAge"` + // Delete all cells in a column except the most recent N. + MaxNumVersions *int `pulumi:"maxNumVersions"` + // Delete cells that would be deleted by any nested rule. + Union *Union `pulumi:"union"` } -// MultiClusterRoutingUseAnyInput is an input type that accepts MultiClusterRoutingUseAnyArgs and MultiClusterRoutingUseAnyOutput values. -// You can construct a concrete instance of `MultiClusterRoutingUseAnyInput` via: +// GcRuleInput is an input type that accepts GcRuleArgs and GcRuleOutput values. +// You can construct a concrete instance of `GcRuleInput` via: // -// MultiClusterRoutingUseAnyArgs{...} -type MultiClusterRoutingUseAnyInput interface { +// GcRuleArgs{...} +type GcRuleInput interface { pulumi.Input - ToMultiClusterRoutingUseAnyOutput() MultiClusterRoutingUseAnyOutput - ToMultiClusterRoutingUseAnyOutputWithContext(context.Context) MultiClusterRoutingUseAnyOutput + ToGcRuleOutput() GcRuleOutput + ToGcRuleOutputWithContext(context.Context) GcRuleOutput } -// Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability. -type MultiClusterRoutingUseAnyArgs struct { - // The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible. - ClusterIds pulumi.StringArrayInput `pulumi:"clusterIds"` +// Rule for determining which cells to delete during garbage collection. +type GcRuleArgs struct { + // Delete cells that would be deleted by every nested rule. + Intersection IntersectionPtrInput `pulumi:"intersection"` + // Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + MaxAge pulumi.StringPtrInput `pulumi:"maxAge"` + // Delete all cells in a column except the most recent N. + MaxNumVersions pulumi.IntPtrInput `pulumi:"maxNumVersions"` + // Delete cells that would be deleted by any nested rule. + Union UnionPtrInput `pulumi:"union"` } -func (MultiClusterRoutingUseAnyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MultiClusterRoutingUseAny)(nil)).Elem() +func (GcRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GcRule)(nil)).Elem() } -func (i MultiClusterRoutingUseAnyArgs) ToMultiClusterRoutingUseAnyOutput() MultiClusterRoutingUseAnyOutput { - return i.ToMultiClusterRoutingUseAnyOutputWithContext(context.Background()) +func (i GcRuleArgs) ToGcRuleOutput() GcRuleOutput { + return i.ToGcRuleOutputWithContext(context.Background()) } -func (i MultiClusterRoutingUseAnyArgs) ToMultiClusterRoutingUseAnyOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyOutput { - return pulumi.ToOutputWithContext(ctx, i).(MultiClusterRoutingUseAnyOutput) +func (i GcRuleArgs) ToGcRuleOutputWithContext(ctx context.Context) GcRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcRuleOutput) } -func (i MultiClusterRoutingUseAnyArgs) ToMultiClusterRoutingUseAnyPtrOutput() MultiClusterRoutingUseAnyPtrOutput { - return i.ToMultiClusterRoutingUseAnyPtrOutputWithContext(context.Background()) +func (i GcRuleArgs) ToGcRulePtrOutput() GcRulePtrOutput { + return i.ToGcRulePtrOutputWithContext(context.Background()) } -func (i MultiClusterRoutingUseAnyArgs) ToMultiClusterRoutingUseAnyPtrOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MultiClusterRoutingUseAnyOutput).ToMultiClusterRoutingUseAnyPtrOutputWithContext(ctx) +func (i GcRuleArgs) ToGcRulePtrOutputWithContext(ctx context.Context) GcRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcRuleOutput).ToGcRulePtrOutputWithContext(ctx) } -// MultiClusterRoutingUseAnyPtrInput is an input type that accepts MultiClusterRoutingUseAnyArgs, MultiClusterRoutingUseAnyPtr and MultiClusterRoutingUseAnyPtrOutput values. -// You can construct a concrete instance of `MultiClusterRoutingUseAnyPtrInput` via: +// GcRulePtrInput is an input type that accepts GcRuleArgs, GcRulePtr and GcRulePtrOutput values. +// You can construct a concrete instance of `GcRulePtrInput` via: // -// MultiClusterRoutingUseAnyArgs{...} +// GcRuleArgs{...} // // or: // // nil -type MultiClusterRoutingUseAnyPtrInput interface { +type GcRulePtrInput interface { pulumi.Input - ToMultiClusterRoutingUseAnyPtrOutput() MultiClusterRoutingUseAnyPtrOutput - ToMultiClusterRoutingUseAnyPtrOutputWithContext(context.Context) MultiClusterRoutingUseAnyPtrOutput + ToGcRulePtrOutput() GcRulePtrOutput + ToGcRulePtrOutputWithContext(context.Context) GcRulePtrOutput } -type multiClusterRoutingUseAnyPtrType MultiClusterRoutingUseAnyArgs +type gcRulePtrType GcRuleArgs -func MultiClusterRoutingUseAnyPtr(v *MultiClusterRoutingUseAnyArgs) MultiClusterRoutingUseAnyPtrInput { - return (*multiClusterRoutingUseAnyPtrType)(v) +func GcRulePtr(v *GcRuleArgs) GcRulePtrInput { + return (*gcRulePtrType)(v) } -func (*multiClusterRoutingUseAnyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MultiClusterRoutingUseAny)(nil)).Elem() +func (*gcRulePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GcRule)(nil)).Elem() } -func (i *multiClusterRoutingUseAnyPtrType) ToMultiClusterRoutingUseAnyPtrOutput() MultiClusterRoutingUseAnyPtrOutput { - return i.ToMultiClusterRoutingUseAnyPtrOutputWithContext(context.Background()) +func (i *gcRulePtrType) ToGcRulePtrOutput() GcRulePtrOutput { + return i.ToGcRulePtrOutputWithContext(context.Background()) } -func (i *multiClusterRoutingUseAnyPtrType) ToMultiClusterRoutingUseAnyPtrOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MultiClusterRoutingUseAnyPtrOutput) +func (i *gcRulePtrType) ToGcRulePtrOutputWithContext(ctx context.Context) GcRulePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcRulePtrOutput) } -// Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability. -type MultiClusterRoutingUseAnyOutput struct{ *pulumi.OutputState } +// GcRuleArrayInput is an input type that accepts GcRuleArray and GcRuleArrayOutput values. +// You can construct a concrete instance of `GcRuleArrayInput` via: +// +// GcRuleArray{ GcRuleArgs{...} } +type GcRuleArrayInput interface { + pulumi.Input -func (MultiClusterRoutingUseAnyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MultiClusterRoutingUseAny)(nil)).Elem() + ToGcRuleArrayOutput() GcRuleArrayOutput + ToGcRuleArrayOutputWithContext(context.Context) GcRuleArrayOutput } -func (o MultiClusterRoutingUseAnyOutput) ToMultiClusterRoutingUseAnyOutput() MultiClusterRoutingUseAnyOutput { +type GcRuleArray []GcRuleInput + +func (GcRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GcRule)(nil)).Elem() +} + +func (i GcRuleArray) ToGcRuleArrayOutput() GcRuleArrayOutput { + return i.ToGcRuleArrayOutputWithContext(context.Background()) +} + +func (i GcRuleArray) ToGcRuleArrayOutputWithContext(ctx context.Context) GcRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GcRuleArrayOutput) +} + +// Rule for determining which cells to delete during garbage collection. +type GcRuleOutput struct{ *pulumi.OutputState } + +func (GcRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GcRule)(nil)).Elem() +} + +func (o GcRuleOutput) ToGcRuleOutput() GcRuleOutput { return o } -func (o MultiClusterRoutingUseAnyOutput) ToMultiClusterRoutingUseAnyOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyOutput { +func (o GcRuleOutput) ToGcRuleOutputWithContext(ctx context.Context) GcRuleOutput { return o } -func (o MultiClusterRoutingUseAnyOutput) ToMultiClusterRoutingUseAnyPtrOutput() MultiClusterRoutingUseAnyPtrOutput { - return o.ToMultiClusterRoutingUseAnyPtrOutputWithContext(context.Background()) +func (o GcRuleOutput) ToGcRulePtrOutput() GcRulePtrOutput { + return o.ToGcRulePtrOutputWithContext(context.Background()) } -func (o MultiClusterRoutingUseAnyOutput) ToMultiClusterRoutingUseAnyPtrOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiClusterRoutingUseAny) *MultiClusterRoutingUseAny { +func (o GcRuleOutput) ToGcRulePtrOutputWithContext(ctx context.Context) GcRulePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GcRule) *GcRule { return &v - }).(MultiClusterRoutingUseAnyPtrOutput) + }).(GcRulePtrOutput) } -// The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible. +// Delete cells that would be deleted by every nested rule. +func (o GcRuleOutput) Intersection() IntersectionPtrOutput { + return o.ApplyT(func(v GcRule) *Intersection { return v.Intersection }).(IntersectionPtrOutput) +} + +// Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. +func (o GcRuleOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v GcRule) *string { return v.MaxAge }).(pulumi.StringPtrOutput) +} + +// Delete all cells in a column except the most recent N. +func (o GcRuleOutput) MaxNumVersions() pulumi.IntPtrOutput { + return o.ApplyT(func(v GcRule) *int { return v.MaxNumVersions }).(pulumi.IntPtrOutput) +} + +// Delete cells that would be deleted by any nested rule. +func (o GcRuleOutput) Union() UnionPtrOutput { + return o.ApplyT(func(v GcRule) *Union { return v.Union }).(UnionPtrOutput) +} + +type GcRulePtrOutput struct{ *pulumi.OutputState } + +func (GcRulePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GcRule)(nil)).Elem() +} + +func (o GcRulePtrOutput) ToGcRulePtrOutput() GcRulePtrOutput { + return o +} + +func (o GcRulePtrOutput) ToGcRulePtrOutputWithContext(ctx context.Context) GcRulePtrOutput { + return o +} + +func (o GcRulePtrOutput) Elem() GcRuleOutput { + return o.ApplyT(func(v *GcRule) GcRule { + if v != nil { + return *v + } + var ret GcRule + return ret + }).(GcRuleOutput) +} + +// Delete cells that would be deleted by every nested rule. +func (o GcRulePtrOutput) Intersection() IntersectionPtrOutput { + return o.ApplyT(func(v *GcRule) *Intersection { + if v == nil { + return nil + } + return v.Intersection + }).(IntersectionPtrOutput) +} + +// Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. +func (o GcRulePtrOutput) MaxAge() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GcRule) *string { + if v == nil { + return nil + } + return v.MaxAge + }).(pulumi.StringPtrOutput) +} + +// Delete all cells in a column except the most recent N. +func (o GcRulePtrOutput) MaxNumVersions() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GcRule) *int { + if v == nil { + return nil + } + return v.MaxNumVersions + }).(pulumi.IntPtrOutput) +} + +// Delete cells that would be deleted by any nested rule. +func (o GcRulePtrOutput) Union() UnionPtrOutput { + return o.ApplyT(func(v *GcRule) *Union { + if v == nil { + return nil + } + return v.Union + }).(UnionPtrOutput) +} + +type GcRuleArrayOutput struct{ *pulumi.OutputState } + +func (GcRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GcRule)(nil)).Elem() +} + +func (o GcRuleArrayOutput) ToGcRuleArrayOutput() GcRuleArrayOutput { + return o +} + +func (o GcRuleArrayOutput) ToGcRuleArrayOutputWithContext(ctx context.Context) GcRuleArrayOutput { + return o +} + +func (o GcRuleArrayOutput) Index(i pulumi.IntInput) GcRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GcRule { + return vs[0].([]GcRule)[vs[1].(int)] + }).(GcRuleOutput) +} + +// Rule for determining which cells to delete during garbage collection. +type GcRuleResponse struct { + // Delete cells that would be deleted by every nested rule. + Intersection IntersectionResponse `pulumi:"intersection"` + // Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + MaxAge string `pulumi:"maxAge"` + // Delete all cells in a column except the most recent N. + MaxNumVersions int `pulumi:"maxNumVersions"` + // Delete cells that would be deleted by any nested rule. + Union UnionResponse `pulumi:"union"` +} + +// Rule for determining which cells to delete during garbage collection. +type GcRuleResponseOutput struct{ *pulumi.OutputState } + +func (GcRuleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GcRuleResponse)(nil)).Elem() +} + +func (o GcRuleResponseOutput) ToGcRuleResponseOutput() GcRuleResponseOutput { + return o +} + +func (o GcRuleResponseOutput) ToGcRuleResponseOutputWithContext(ctx context.Context) GcRuleResponseOutput { + return o +} + +// Delete cells that would be deleted by every nested rule. +func (o GcRuleResponseOutput) Intersection() IntersectionResponseOutput { + return o.ApplyT(func(v GcRuleResponse) IntersectionResponse { return v.Intersection }).(IntersectionResponseOutput) +} + +// Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. +func (o GcRuleResponseOutput) MaxAge() pulumi.StringOutput { + return o.ApplyT(func(v GcRuleResponse) string { return v.MaxAge }).(pulumi.StringOutput) +} + +// Delete all cells in a column except the most recent N. +func (o GcRuleResponseOutput) MaxNumVersions() pulumi.IntOutput { + return o.ApplyT(func(v GcRuleResponse) int { return v.MaxNumVersions }).(pulumi.IntOutput) +} + +// Delete cells that would be deleted by any nested rule. +func (o GcRuleResponseOutput) Union() UnionResponseOutput { + return o.ApplyT(func(v GcRuleResponse) UnionResponse { return v.Union }).(UnionResponseOutput) +} + +type GcRuleResponseArrayOutput struct{ *pulumi.OutputState } + +func (GcRuleResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GcRuleResponse)(nil)).Elem() +} + +func (o GcRuleResponseArrayOutput) ToGcRuleResponseArrayOutput() GcRuleResponseArrayOutput { + return o +} + +func (o GcRuleResponseArrayOutput) ToGcRuleResponseArrayOutputWithContext(ctx context.Context) GcRuleResponseArrayOutput { + return o +} + +func (o GcRuleResponseArrayOutput) Index(i pulumi.IntInput) GcRuleResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GcRuleResponse { + return vs[0].([]GcRuleResponse)[vs[1].(int)] + }).(GcRuleResponseOutput) +} + +// A GcRule which deletes cells matching all of the given rules. +type Intersection struct { + // Only delete cells which would be deleted by every element of `rules`. + Rules []GcRule `pulumi:"rules"` +} + +// IntersectionInput is an input type that accepts IntersectionArgs and IntersectionOutput values. +// You can construct a concrete instance of `IntersectionInput` via: +// +// IntersectionArgs{...} +type IntersectionInput interface { + pulumi.Input + + ToIntersectionOutput() IntersectionOutput + ToIntersectionOutputWithContext(context.Context) IntersectionOutput +} + +// A GcRule which deletes cells matching all of the given rules. +type IntersectionArgs struct { + // Only delete cells which would be deleted by every element of `rules`. + Rules GcRuleArrayInput `pulumi:"rules"` +} + +func (IntersectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Intersection)(nil)).Elem() +} + +func (i IntersectionArgs) ToIntersectionOutput() IntersectionOutput { + return i.ToIntersectionOutputWithContext(context.Background()) +} + +func (i IntersectionArgs) ToIntersectionOutputWithContext(ctx context.Context) IntersectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntersectionOutput) +} + +func (i IntersectionArgs) ToIntersectionPtrOutput() IntersectionPtrOutput { + return i.ToIntersectionPtrOutputWithContext(context.Background()) +} + +func (i IntersectionArgs) ToIntersectionPtrOutputWithContext(ctx context.Context) IntersectionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntersectionOutput).ToIntersectionPtrOutputWithContext(ctx) +} + +// IntersectionPtrInput is an input type that accepts IntersectionArgs, IntersectionPtr and IntersectionPtrOutput values. +// You can construct a concrete instance of `IntersectionPtrInput` via: +// +// IntersectionArgs{...} +// +// or: +// +// nil +type IntersectionPtrInput interface { + pulumi.Input + + ToIntersectionPtrOutput() IntersectionPtrOutput + ToIntersectionPtrOutputWithContext(context.Context) IntersectionPtrOutput +} + +type intersectionPtrType IntersectionArgs + +func IntersectionPtr(v *IntersectionArgs) IntersectionPtrInput { + return (*intersectionPtrType)(v) +} + +func (*intersectionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Intersection)(nil)).Elem() +} + +func (i *intersectionPtrType) ToIntersectionPtrOutput() IntersectionPtrOutput { + return i.ToIntersectionPtrOutputWithContext(context.Background()) +} + +func (i *intersectionPtrType) ToIntersectionPtrOutputWithContext(ctx context.Context) IntersectionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(IntersectionPtrOutput) +} + +// A GcRule which deletes cells matching all of the given rules. +type IntersectionOutput struct{ *pulumi.OutputState } + +func (IntersectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Intersection)(nil)).Elem() +} + +func (o IntersectionOutput) ToIntersectionOutput() IntersectionOutput { + return o +} + +func (o IntersectionOutput) ToIntersectionOutputWithContext(ctx context.Context) IntersectionOutput { + return o +} + +func (o IntersectionOutput) ToIntersectionPtrOutput() IntersectionPtrOutput { + return o.ToIntersectionPtrOutputWithContext(context.Background()) +} + +func (o IntersectionOutput) ToIntersectionPtrOutputWithContext(ctx context.Context) IntersectionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Intersection) *Intersection { + return &v + }).(IntersectionPtrOutput) +} + +// Only delete cells which would be deleted by every element of `rules`. +func (o IntersectionOutput) Rules() GcRuleArrayOutput { + return o.ApplyT(func(v Intersection) []GcRule { return v.Rules }).(GcRuleArrayOutput) +} + +type IntersectionPtrOutput struct{ *pulumi.OutputState } + +func (IntersectionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Intersection)(nil)).Elem() +} + +func (o IntersectionPtrOutput) ToIntersectionPtrOutput() IntersectionPtrOutput { + return o +} + +func (o IntersectionPtrOutput) ToIntersectionPtrOutputWithContext(ctx context.Context) IntersectionPtrOutput { + return o +} + +func (o IntersectionPtrOutput) Elem() IntersectionOutput { + return o.ApplyT(func(v *Intersection) Intersection { + if v != nil { + return *v + } + var ret Intersection + return ret + }).(IntersectionOutput) +} + +// Only delete cells which would be deleted by every element of `rules`. +func (o IntersectionPtrOutput) Rules() GcRuleArrayOutput { + return o.ApplyT(func(v *Intersection) []GcRule { + if v == nil { + return nil + } + return v.Rules + }).(GcRuleArrayOutput) +} + +// A GcRule which deletes cells matching all of the given rules. +type IntersectionResponse struct { + // Only delete cells which would be deleted by every element of `rules`. + Rules []GcRuleResponse `pulumi:"rules"` +} + +// A GcRule which deletes cells matching all of the given rules. +type IntersectionResponseOutput struct{ *pulumi.OutputState } + +func (IntersectionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IntersectionResponse)(nil)).Elem() +} + +func (o IntersectionResponseOutput) ToIntersectionResponseOutput() IntersectionResponseOutput { + return o +} + +func (o IntersectionResponseOutput) ToIntersectionResponseOutputWithContext(ctx context.Context) IntersectionResponseOutput { + return o +} + +// Only delete cells which would be deleted by every element of `rules`. +func (o IntersectionResponseOutput) Rules() GcRuleResponseArrayOutput { + return o.ApplyT(func(v IntersectionResponse) []GcRuleResponse { return v.Rules }).(GcRuleResponseArrayOutput) +} + +// Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability. +type MultiClusterRoutingUseAny struct { + // The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible. + ClusterIds []string `pulumi:"clusterIds"` +} + +// MultiClusterRoutingUseAnyInput is an input type that accepts MultiClusterRoutingUseAnyArgs and MultiClusterRoutingUseAnyOutput values. +// You can construct a concrete instance of `MultiClusterRoutingUseAnyInput` via: +// +// MultiClusterRoutingUseAnyArgs{...} +type MultiClusterRoutingUseAnyInput interface { + pulumi.Input + + ToMultiClusterRoutingUseAnyOutput() MultiClusterRoutingUseAnyOutput + ToMultiClusterRoutingUseAnyOutputWithContext(context.Context) MultiClusterRoutingUseAnyOutput +} + +// Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability. +type MultiClusterRoutingUseAnyArgs struct { + // The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible. + ClusterIds pulumi.StringArrayInput `pulumi:"clusterIds"` +} + +func (MultiClusterRoutingUseAnyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MultiClusterRoutingUseAny)(nil)).Elem() +} + +func (i MultiClusterRoutingUseAnyArgs) ToMultiClusterRoutingUseAnyOutput() MultiClusterRoutingUseAnyOutput { + return i.ToMultiClusterRoutingUseAnyOutputWithContext(context.Background()) +} + +func (i MultiClusterRoutingUseAnyArgs) ToMultiClusterRoutingUseAnyOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyOutput { + return pulumi.ToOutputWithContext(ctx, i).(MultiClusterRoutingUseAnyOutput) +} + +func (i MultiClusterRoutingUseAnyArgs) ToMultiClusterRoutingUseAnyPtrOutput() MultiClusterRoutingUseAnyPtrOutput { + return i.ToMultiClusterRoutingUseAnyPtrOutputWithContext(context.Background()) +} + +func (i MultiClusterRoutingUseAnyArgs) ToMultiClusterRoutingUseAnyPtrOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MultiClusterRoutingUseAnyOutput).ToMultiClusterRoutingUseAnyPtrOutputWithContext(ctx) +} + +// MultiClusterRoutingUseAnyPtrInput is an input type that accepts MultiClusterRoutingUseAnyArgs, MultiClusterRoutingUseAnyPtr and MultiClusterRoutingUseAnyPtrOutput values. +// You can construct a concrete instance of `MultiClusterRoutingUseAnyPtrInput` via: +// +// MultiClusterRoutingUseAnyArgs{...} +// +// or: +// +// nil +type MultiClusterRoutingUseAnyPtrInput interface { + pulumi.Input + + ToMultiClusterRoutingUseAnyPtrOutput() MultiClusterRoutingUseAnyPtrOutput + ToMultiClusterRoutingUseAnyPtrOutputWithContext(context.Context) MultiClusterRoutingUseAnyPtrOutput +} + +type multiClusterRoutingUseAnyPtrType MultiClusterRoutingUseAnyArgs + +func MultiClusterRoutingUseAnyPtr(v *MultiClusterRoutingUseAnyArgs) MultiClusterRoutingUseAnyPtrInput { + return (*multiClusterRoutingUseAnyPtrType)(v) +} + +func (*multiClusterRoutingUseAnyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MultiClusterRoutingUseAny)(nil)).Elem() +} + +func (i *multiClusterRoutingUseAnyPtrType) ToMultiClusterRoutingUseAnyPtrOutput() MultiClusterRoutingUseAnyPtrOutput { + return i.ToMultiClusterRoutingUseAnyPtrOutputWithContext(context.Background()) +} + +func (i *multiClusterRoutingUseAnyPtrType) ToMultiClusterRoutingUseAnyPtrOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MultiClusterRoutingUseAnyPtrOutput) +} + +// Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability. +type MultiClusterRoutingUseAnyOutput struct{ *pulumi.OutputState } + +func (MultiClusterRoutingUseAnyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MultiClusterRoutingUseAny)(nil)).Elem() +} + +func (o MultiClusterRoutingUseAnyOutput) ToMultiClusterRoutingUseAnyOutput() MultiClusterRoutingUseAnyOutput { + return o +} + +func (o MultiClusterRoutingUseAnyOutput) ToMultiClusterRoutingUseAnyOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyOutput { + return o +} + +func (o MultiClusterRoutingUseAnyOutput) ToMultiClusterRoutingUseAnyPtrOutput() MultiClusterRoutingUseAnyPtrOutput { + return o.ToMultiClusterRoutingUseAnyPtrOutputWithContext(context.Background()) +} + +func (o MultiClusterRoutingUseAnyOutput) ToMultiClusterRoutingUseAnyPtrOutputWithContext(ctx context.Context) MultiClusterRoutingUseAnyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiClusterRoutingUseAny) *MultiClusterRoutingUseAny { + return &v + }).(MultiClusterRoutingUseAnyPtrOutput) +} + +// The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible. func (o MultiClusterRoutingUseAnyOutput) ClusterIds() pulumi.StringArrayOutput { return o.ApplyT(func(v MultiClusterRoutingUseAny) []string { return v.ClusterIds }).(pulumi.StringArrayOutput) } @@ -2589,7 +3475,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -2615,8 +3501,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -2671,6 +3557,172 @@ func (o TableStatsResponseOutput) RowCount() pulumi.StringOutput { return o.ApplyT(func(v TableStatsResponse) string { return v.RowCount }).(pulumi.StringOutput) } +// A GcRule which deletes cells matching any of the given rules. +type Union struct { + // Delete cells which would be deleted by any element of `rules`. + Rules []GcRule `pulumi:"rules"` +} + +// UnionInput is an input type that accepts UnionArgs and UnionOutput values. +// You can construct a concrete instance of `UnionInput` via: +// +// UnionArgs{...} +type UnionInput interface { + pulumi.Input + + ToUnionOutput() UnionOutput + ToUnionOutputWithContext(context.Context) UnionOutput +} + +// A GcRule which deletes cells matching any of the given rules. +type UnionArgs struct { + // Delete cells which would be deleted by any element of `rules`. + Rules GcRuleArrayInput `pulumi:"rules"` +} + +func (UnionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Union)(nil)).Elem() +} + +func (i UnionArgs) ToUnionOutput() UnionOutput { + return i.ToUnionOutputWithContext(context.Background()) +} + +func (i UnionArgs) ToUnionOutputWithContext(ctx context.Context) UnionOutput { + return pulumi.ToOutputWithContext(ctx, i).(UnionOutput) +} + +func (i UnionArgs) ToUnionPtrOutput() UnionPtrOutput { + return i.ToUnionPtrOutputWithContext(context.Background()) +} + +func (i UnionArgs) ToUnionPtrOutputWithContext(ctx context.Context) UnionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UnionOutput).ToUnionPtrOutputWithContext(ctx) +} + +// UnionPtrInput is an input type that accepts UnionArgs, UnionPtr and UnionPtrOutput values. +// You can construct a concrete instance of `UnionPtrInput` via: +// +// UnionArgs{...} +// +// or: +// +// nil +type UnionPtrInput interface { + pulumi.Input + + ToUnionPtrOutput() UnionPtrOutput + ToUnionPtrOutputWithContext(context.Context) UnionPtrOutput +} + +type unionPtrType UnionArgs + +func UnionPtr(v *UnionArgs) UnionPtrInput { + return (*unionPtrType)(v) +} + +func (*unionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Union)(nil)).Elem() +} + +func (i *unionPtrType) ToUnionPtrOutput() UnionPtrOutput { + return i.ToUnionPtrOutputWithContext(context.Background()) +} + +func (i *unionPtrType) ToUnionPtrOutputWithContext(ctx context.Context) UnionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UnionPtrOutput) +} + +// A GcRule which deletes cells matching any of the given rules. +type UnionOutput struct{ *pulumi.OutputState } + +func (UnionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Union)(nil)).Elem() +} + +func (o UnionOutput) ToUnionOutput() UnionOutput { + return o +} + +func (o UnionOutput) ToUnionOutputWithContext(ctx context.Context) UnionOutput { + return o +} + +func (o UnionOutput) ToUnionPtrOutput() UnionPtrOutput { + return o.ToUnionPtrOutputWithContext(context.Background()) +} + +func (o UnionOutput) ToUnionPtrOutputWithContext(ctx context.Context) UnionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Union) *Union { + return &v + }).(UnionPtrOutput) +} + +// Delete cells which would be deleted by any element of `rules`. +func (o UnionOutput) Rules() GcRuleArrayOutput { + return o.ApplyT(func(v Union) []GcRule { return v.Rules }).(GcRuleArrayOutput) +} + +type UnionPtrOutput struct{ *pulumi.OutputState } + +func (UnionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Union)(nil)).Elem() +} + +func (o UnionPtrOutput) ToUnionPtrOutput() UnionPtrOutput { + return o +} + +func (o UnionPtrOutput) ToUnionPtrOutputWithContext(ctx context.Context) UnionPtrOutput { + return o +} + +func (o UnionPtrOutput) Elem() UnionOutput { + return o.ApplyT(func(v *Union) Union { + if v != nil { + return *v + } + var ret Union + return ret + }).(UnionOutput) +} + +// Delete cells which would be deleted by any element of `rules`. +func (o UnionPtrOutput) Rules() GcRuleArrayOutput { + return o.ApplyT(func(v *Union) []GcRule { + if v == nil { + return nil + } + return v.Rules + }).(GcRuleArrayOutput) +} + +// A GcRule which deletes cells matching any of the given rules. +type UnionResponse struct { + // Delete cells which would be deleted by any element of `rules`. + Rules []GcRuleResponse `pulumi:"rules"` +} + +// A GcRule which deletes cells matching any of the given rules. +type UnionResponseOutput struct{ *pulumi.OutputState } + +func (UnionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UnionResponse)(nil)).Elem() +} + +func (o UnionResponseOutput) ToUnionResponseOutput() UnionResponseOutput { + return o +} + +func (o UnionResponseOutput) ToUnionResponseOutputWithContext(ctx context.Context) UnionResponseOutput { + return o +} + +// Delete cells which would be deleted by any element of `rules`. +func (o UnionResponseOutput) Rules() GcRuleResponseArrayOutput { + return o.ApplyT(func(v UnionResponse) []GcRuleResponse { return v.Rules }).(GcRuleResponseArrayOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditConfigInput)(nil)).Elem(), AuditConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AuditConfigArrayInput)(nil)).Elem(), AuditConfigArray{}) @@ -2684,14 +3736,23 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*BindingArrayInput)(nil)).Elem(), BindingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ChangeStreamConfigInput)(nil)).Elem(), ChangeStreamConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ChangeStreamConfigPtrInput)(nil)).Elem(), ChangeStreamConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterTypeInput)(nil)).Elem(), ClusterTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterTypeMapInput)(nil)).Elem(), ClusterTypeMap{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterAutoscalingConfigInput)(nil)).Elem(), ClusterAutoscalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterAutoscalingConfigPtrInput)(nil)).Elem(), ClusterAutoscalingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterConfigInput)(nil)).Elem(), ClusterConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterConfigPtrInput)(nil)).Elem(), ClusterConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ColumnFamilyInput)(nil)).Elem(), ColumnFamilyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ColumnFamilyMapInput)(nil)).Elem(), ColumnFamilyMap{}) pulumi.RegisterInputType(reflect.TypeOf((*EncryptionConfigInput)(nil)).Elem(), EncryptionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EncryptionConfigPtrInput)(nil)).Elem(), EncryptionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExprInput)(nil)).Elem(), ExprArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExprPtrInput)(nil)).Elem(), ExprArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcRuleInput)(nil)).Elem(), GcRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcRulePtrInput)(nil)).Elem(), GcRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GcRuleArrayInput)(nil)).Elem(), GcRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntersectionInput)(nil)).Elem(), IntersectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*IntersectionPtrInput)(nil)).Elem(), IntersectionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MultiClusterRoutingUseAnyInput)(nil)).Elem(), MultiClusterRoutingUseAnyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MultiClusterRoutingUseAnyPtrInput)(nil)).Elem(), MultiClusterRoutingUseAnyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SingleClusterRoutingInput)(nil)).Elem(), SingleClusterRoutingArgs{}) @@ -2700,6 +3761,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SplitArrayInput)(nil)).Elem(), SplitArray{}) pulumi.RegisterInputType(reflect.TypeOf((*StandardIsolationInput)(nil)).Elem(), StandardIsolationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StandardIsolationPtrInput)(nil)).Elem(), StandardIsolationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UnionInput)(nil)).Elem(), UnionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UnionPtrInput)(nil)).Elem(), UnionArgs{}) pulumi.RegisterOutputType(AuditConfigOutput{}) pulumi.RegisterOutputType(AuditConfigArrayOutput{}) pulumi.RegisterOutputType(AuditConfigResponseOutput{}) @@ -2722,19 +3785,37 @@ func init() { pulumi.RegisterOutputType(ChangeStreamConfigOutput{}) pulumi.RegisterOutputType(ChangeStreamConfigPtrOutput{}) pulumi.RegisterOutputType(ChangeStreamConfigResponseOutput{}) + pulumi.RegisterOutputType(ClusterTypeOutput{}) + pulumi.RegisterOutputType(ClusterTypeMapOutput{}) pulumi.RegisterOutputType(ClusterAutoscalingConfigOutput{}) pulumi.RegisterOutputType(ClusterAutoscalingConfigPtrOutput{}) pulumi.RegisterOutputType(ClusterAutoscalingConfigResponseOutput{}) pulumi.RegisterOutputType(ClusterConfigOutput{}) pulumi.RegisterOutputType(ClusterConfigPtrOutput{}) pulumi.RegisterOutputType(ClusterConfigResponseOutput{}) + pulumi.RegisterOutputType(ClusterStateResponseOutput{}) + pulumi.RegisterOutputType(ClusterStateResponseMapOutput{}) + pulumi.RegisterOutputType(ColumnFamilyOutput{}) + pulumi.RegisterOutputType(ColumnFamilyMapOutput{}) + pulumi.RegisterOutputType(ColumnFamilyResponseOutput{}) + pulumi.RegisterOutputType(ColumnFamilyResponseMapOutput{}) + pulumi.RegisterOutputType(ColumnFamilyStatsResponseOutput{}) pulumi.RegisterOutputType(EncryptionConfigOutput{}) pulumi.RegisterOutputType(EncryptionConfigPtrOutput{}) pulumi.RegisterOutputType(EncryptionConfigResponseOutput{}) pulumi.RegisterOutputType(EncryptionInfoResponseOutput{}) + pulumi.RegisterOutputType(EncryptionInfoResponseArrayOutput{}) pulumi.RegisterOutputType(ExprOutput{}) pulumi.RegisterOutputType(ExprPtrOutput{}) pulumi.RegisterOutputType(ExprResponseOutput{}) + pulumi.RegisterOutputType(GcRuleOutput{}) + pulumi.RegisterOutputType(GcRulePtrOutput{}) + pulumi.RegisterOutputType(GcRuleArrayOutput{}) + pulumi.RegisterOutputType(GcRuleResponseOutput{}) + pulumi.RegisterOutputType(GcRuleResponseArrayOutput{}) + pulumi.RegisterOutputType(IntersectionOutput{}) + pulumi.RegisterOutputType(IntersectionPtrOutput{}) + pulumi.RegisterOutputType(IntersectionResponseOutput{}) pulumi.RegisterOutputType(MultiClusterRoutingUseAnyOutput{}) pulumi.RegisterOutputType(MultiClusterRoutingUseAnyPtrOutput{}) pulumi.RegisterOutputType(MultiClusterRoutingUseAnyResponseOutput{}) @@ -2749,4 +3830,7 @@ func init() { pulumi.RegisterOutputType(StandardIsolationResponseOutput{}) pulumi.RegisterOutputType(StatusResponseOutput{}) pulumi.RegisterOutputType(TableStatsResponseOutput{}) + pulumi.RegisterOutputType(UnionOutput{}) + pulumi.RegisterOutputType(UnionPtrOutput{}) + pulumi.RegisterOutputType(UnionResponseOutput{}) } diff --git a/sdk/go/google/bigtableadmin/v2/table.go b/sdk/go/google/bigtableadmin/v2/table.go index 9555cde41b..ca52a4609a 100644 --- a/sdk/go/google/bigtableadmin/v2/table.go +++ b/sdk/go/google/bigtableadmin/v2/table.go @@ -19,9 +19,9 @@ type Table struct { // If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained. ChangeStreamConfig ChangeStreamConfigResponseOutput `pulumi:"changeStreamConfig"` // Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` - ClusterStates pulumi.StringMapOutput `pulumi:"clusterStates"` + ClusterStates ClusterStateResponseMapOutput `pulumi:"clusterStates"` // The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` - ColumnFamilies pulumi.StringMapOutput `pulumi:"columnFamilies"` + ColumnFamilies ColumnFamilyResponseMapOutput `pulumi:"columnFamilies"` // Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. DeletionProtection pulumi.BoolOutput `pulumi:"deletionProtection"` // Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. @@ -90,7 +90,7 @@ type tableArgs struct { // If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained. ChangeStreamConfig *ChangeStreamConfig `pulumi:"changeStreamConfig"` // The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` - ColumnFamilies map[string]string `pulumi:"columnFamilies"` + ColumnFamilies map[string]ColumnFamily `pulumi:"columnFamilies"` // Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. DeletionProtection *bool `pulumi:"deletionProtection"` // Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. @@ -110,7 +110,7 @@ type TableArgs struct { // If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained. ChangeStreamConfig ChangeStreamConfigPtrInput // The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` - ColumnFamilies pulumi.StringMapInput + ColumnFamilies ColumnFamilyMapInput // Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. DeletionProtection pulumi.BoolPtrInput // Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. @@ -168,13 +168,13 @@ func (o TableOutput) ChangeStreamConfig() ChangeStreamConfigResponseOutput { } // Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` -func (o TableOutput) ClusterStates() pulumi.StringMapOutput { - return o.ApplyT(func(v *Table) pulumi.StringMapOutput { return v.ClusterStates }).(pulumi.StringMapOutput) +func (o TableOutput) ClusterStates() ClusterStateResponseMapOutput { + return o.ApplyT(func(v *Table) ClusterStateResponseMapOutput { return v.ClusterStates }).(ClusterStateResponseMapOutput) } // The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` -func (o TableOutput) ColumnFamilies() pulumi.StringMapOutput { - return o.ApplyT(func(v *Table) pulumi.StringMapOutput { return v.ColumnFamilies }).(pulumi.StringMapOutput) +func (o TableOutput) ColumnFamilies() ColumnFamilyResponseMapOutput { + return o.ApplyT(func(v *Table) ColumnFamilyResponseMapOutput { return v.ColumnFamilies }).(ColumnFamilyResponseMapOutput) } // Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. diff --git a/sdk/go/google/billingbudgets/v1/pulumiTypes.go b/sdk/go/google/billingbudgets/v1/pulumiTypes.go index 0b5160e10c..24d919bdaf 100644 --- a/sdk/go/google/billingbudgets/v1/pulumiTypes.go +++ b/sdk/go/google/billingbudgets/v1/pulumiTypes.go @@ -319,7 +319,7 @@ type GoogleCloudBillingBudgetsV1Filter struct { // Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. CustomPeriod *GoogleCloudBillingBudgetsV1CustomPeriod `pulumi:"customPeriod"` // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ - Labels map[string]string `pulumi:"labels"` + Labels map[string][]interface{} `pulumi:"labels"` // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. Projects []string `pulumi:"projects"` // Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. @@ -352,7 +352,7 @@ type GoogleCloudBillingBudgetsV1FilterArgs struct { // Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. CustomPeriod GoogleCloudBillingBudgetsV1CustomPeriodPtrInput `pulumi:"customPeriod"` // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ - Labels pulumi.StringMapInput `pulumi:"labels"` + Labels pulumi.ArrayMapInput `pulumi:"labels"` // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. Projects pulumi.StringArrayInput `pulumi:"projects"` // Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. @@ -468,8 +468,8 @@ func (o GoogleCloudBillingBudgetsV1FilterOutput) CustomPeriod() GoogleCloudBilli } // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ -func (o GoogleCloudBillingBudgetsV1FilterOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBillingBudgetsV1Filter) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +func (o GoogleCloudBillingBudgetsV1FilterOutput) Labels() pulumi.ArrayMapOutput { + return o.ApplyT(func(v GoogleCloudBillingBudgetsV1Filter) map[string][]interface{} { return v.Labels }).(pulumi.ArrayMapOutput) } // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. @@ -557,13 +557,13 @@ func (o GoogleCloudBillingBudgetsV1FilterPtrOutput) CustomPeriod() GoogleCloudBi } // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ -func (o GoogleCloudBillingBudgetsV1FilterPtrOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudBillingBudgetsV1Filter) map[string]string { +func (o GoogleCloudBillingBudgetsV1FilterPtrOutput) Labels() pulumi.ArrayMapOutput { + return o.ApplyT(func(v *GoogleCloudBillingBudgetsV1Filter) map[string][]interface{} { if v == nil { return nil } return v.Labels - }).(pulumi.StringMapOutput) + }).(pulumi.ArrayMapOutput) } // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. @@ -617,7 +617,7 @@ type GoogleCloudBillingBudgetsV1FilterResponse struct { // Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. CustomPeriod GoogleCloudBillingBudgetsV1CustomPeriodResponse `pulumi:"customPeriod"` // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ - Labels map[string]string `pulumi:"labels"` + Labels map[string][]interface{} `pulumi:"labels"` // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. Projects []string `pulumi:"projects"` // Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. @@ -666,8 +666,8 @@ func (o GoogleCloudBillingBudgetsV1FilterResponseOutput) CustomPeriod() GoogleCl } // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ -func (o GoogleCloudBillingBudgetsV1FilterResponseOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBillingBudgetsV1FilterResponse) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +func (o GoogleCloudBillingBudgetsV1FilterResponseOutput) Labels() pulumi.ArrayMapOutput { + return o.ApplyT(func(v GoogleCloudBillingBudgetsV1FilterResponse) map[string][]interface{} { return v.Labels }).(pulumi.ArrayMapOutput) } // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. diff --git a/sdk/go/google/billingbudgets/v1beta1/pulumiTypes.go b/sdk/go/google/billingbudgets/v1beta1/pulumiTypes.go index 6437bde733..d0b7ca1dfe 100644 --- a/sdk/go/google/billingbudgets/v1beta1/pulumiTypes.go +++ b/sdk/go/google/billingbudgets/v1beta1/pulumiTypes.go @@ -599,7 +599,7 @@ type GoogleCloudBillingBudgetsV1beta1Filter struct { // Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. CustomPeriod *GoogleCloudBillingBudgetsV1beta1CustomPeriod `pulumi:"customPeriod"` // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ - Labels map[string]string `pulumi:"labels"` + Labels map[string][]interface{} `pulumi:"labels"` // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. Projects []string `pulumi:"projects"` // Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. @@ -632,7 +632,7 @@ type GoogleCloudBillingBudgetsV1beta1FilterArgs struct { // Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. CustomPeriod GoogleCloudBillingBudgetsV1beta1CustomPeriodPtrInput `pulumi:"customPeriod"` // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ - Labels pulumi.StringMapInput `pulumi:"labels"` + Labels pulumi.ArrayMapInput `pulumi:"labels"` // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. Projects pulumi.StringArrayInput `pulumi:"projects"` // Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. @@ -748,8 +748,8 @@ func (o GoogleCloudBillingBudgetsV1beta1FilterOutput) CustomPeriod() GoogleCloud } // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ -func (o GoogleCloudBillingBudgetsV1beta1FilterOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBillingBudgetsV1beta1Filter) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +func (o GoogleCloudBillingBudgetsV1beta1FilterOutput) Labels() pulumi.ArrayMapOutput { + return o.ApplyT(func(v GoogleCloudBillingBudgetsV1beta1Filter) map[string][]interface{} { return v.Labels }).(pulumi.ArrayMapOutput) } // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. @@ -837,13 +837,13 @@ func (o GoogleCloudBillingBudgetsV1beta1FilterPtrOutput) CustomPeriod() GoogleCl } // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ -func (o GoogleCloudBillingBudgetsV1beta1FilterPtrOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudBillingBudgetsV1beta1Filter) map[string]string { +func (o GoogleCloudBillingBudgetsV1beta1FilterPtrOutput) Labels() pulumi.ArrayMapOutput { + return o.ApplyT(func(v *GoogleCloudBillingBudgetsV1beta1Filter) map[string][]interface{} { if v == nil { return nil } return v.Labels - }).(pulumi.StringMapOutput) + }).(pulumi.ArrayMapOutput) } // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. @@ -897,7 +897,7 @@ type GoogleCloudBillingBudgetsV1beta1FilterResponse struct { // Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. CustomPeriod GoogleCloudBillingBudgetsV1beta1CustomPeriodResponse `pulumi:"customPeriod"` // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ - Labels map[string]string `pulumi:"labels"` + Labels map[string][]interface{} `pulumi:"labels"` // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. Projects []string `pulumi:"projects"` // Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. @@ -946,8 +946,8 @@ func (o GoogleCloudBillingBudgetsV1beta1FilterResponseOutput) CustomPeriod() Goo } // Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ -func (o GoogleCloudBillingBudgetsV1beta1FilterResponseOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudBillingBudgetsV1beta1FilterResponse) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +func (o GoogleCloudBillingBudgetsV1beta1FilterResponseOutput) Labels() pulumi.ArrayMapOutput { + return o.ApplyT(func(v GoogleCloudBillingBudgetsV1beta1FilterResponse) map[string][]interface{} { return v.Labels }).(pulumi.ArrayMapOutput) } // Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. diff --git a/sdk/go/google/cloudbuild/v1/build.go b/sdk/go/google/cloudbuild/v1/build.go index 9608b6e98b..5c9670bd24 100644 --- a/sdk/go/google/cloudbuild/v1/build.go +++ b/sdk/go/google/cloudbuild/v1/build.go @@ -74,7 +74,7 @@ type Build struct { // Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default time is 60 minutes. Timeout pulumi.StringOutput `pulumi:"timeout"` // Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. - Timing pulumi.StringMapOutput `pulumi:"timing"` + Timing TimeSpanResponseMapOutput `pulumi:"timing"` // Non-fatal problems encountered during the execution of the build. Warnings WarningResponseArrayOutput `pulumi:"warnings"` } @@ -373,8 +373,8 @@ func (o BuildOutput) Timeout() pulumi.StringOutput { } // Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. -func (o BuildOutput) Timing() pulumi.StringMapOutput { - return o.ApplyT(func(v *Build) pulumi.StringMapOutput { return v.Timing }).(pulumi.StringMapOutput) +func (o BuildOutput) Timing() TimeSpanResponseMapOutput { + return o.ApplyT(func(v *Build) TimeSpanResponseMapOutput { return v.Timing }).(TimeSpanResponseMapOutput) } // Non-fatal problems encountered during the execution of the build. diff --git a/sdk/go/google/cloudbuild/v1/getBuild.go b/sdk/go/google/cloudbuild/v1/getBuild.go index a0f1ad38ed..176c80df94 100644 --- a/sdk/go/google/cloudbuild/v1/getBuild.go +++ b/sdk/go/google/cloudbuild/v1/getBuild.go @@ -84,7 +84,7 @@ type LookupBuildResult struct { // Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default time is 60 minutes. Timeout string `pulumi:"timeout"` // Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. - Timing map[string]string `pulumi:"timing"` + Timing map[string]TimeSpanResponse `pulumi:"timing"` // Non-fatal problems encountered during the execution of the build. Warnings []WarningResponse `pulumi:"warnings"` } @@ -259,8 +259,8 @@ func (o LookupBuildResultOutput) Timeout() pulumi.StringOutput { } // Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. -func (o LookupBuildResultOutput) Timing() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupBuildResult) map[string]string { return v.Timing }).(pulumi.StringMapOutput) +func (o LookupBuildResultOutput) Timing() TimeSpanResponseMapOutput { + return o.ApplyT(func(v LookupBuildResult) map[string]TimeSpanResponse { return v.Timing }).(TimeSpanResponseMapOutput) } // Non-fatal problems encountered during the execution of the build. diff --git a/sdk/go/google/cloudbuild/v1/pulumiTypes.go b/sdk/go/google/cloudbuild/v1/pulumiTypes.go index 800feaf5c8..683c446b9e 100644 --- a/sdk/go/google/cloudbuild/v1/pulumiTypes.go +++ b/sdk/go/google/cloudbuild/v1/pulumiTypes.go @@ -2245,7 +2245,7 @@ type BuildResponse struct { // Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default time is 60 minutes. Timeout string `pulumi:"timeout"` // Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. - Timing map[string]string `pulumi:"timing"` + Timing map[string]TimeSpanResponse `pulumi:"timing"` // Non-fatal problems encountered during the execution of the build. Warnings []WarningResponse `pulumi:"warnings"` } @@ -2396,8 +2396,8 @@ func (o BuildResponseOutput) Timeout() pulumi.StringOutput { } // Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. -func (o BuildResponseOutput) Timing() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildResponse) map[string]string { return v.Timing }).(pulumi.StringMapOutput) +func (o BuildResponseOutput) Timing() TimeSpanResponseMapOutput { + return o.ApplyT(func(v BuildResponse) map[string]TimeSpanResponse { return v.Timing }).(TimeSpanResponseMapOutput) } // Non-fatal problems encountered during the execution of the build. @@ -3117,6 +3117,26 @@ func (o FileHashesResponseOutput) FileHash() HashResponseArrayOutput { return o.ApplyT(func(v FileHashesResponse) []HashResponse { return v.FileHash }).(HashResponseArrayOutput) } +type FileHashesResponseMapOutput struct{ *pulumi.OutputState } + +func (FileHashesResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashesResponse)(nil)).Elem() +} + +func (o FileHashesResponseMapOutput) ToFileHashesResponseMapOutput() FileHashesResponseMapOutput { + return o +} + +func (o FileHashesResponseMapOutput) ToFileHashesResponseMapOutputWithContext(ctx context.Context) FileHashesResponseMapOutput { + return o +} + +func (o FileHashesResponseMapOutput) MapIndex(k pulumi.StringInput) FileHashesResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileHashesResponse { + return vs[0].(map[string]FileHashesResponse)[vs[1].(string)] + }).(FileHashesResponseOutput) +} + // GitFileSource describes a file within a (possibly remote) code repository. type GitFileSource struct { // The full resource name of the bitbucket server config. Format: `projects/{project}/locations/{location}/bitbucketServerConfigs/{id}`. @@ -8951,7 +8971,7 @@ func (o SourcePtrOutput) StorageSourceManifest() StorageSourceManifestPtrOutput // Provenance of the source. Ways to find the original source, or verify that some source was used for this build. type SourceProvenanceResponse struct { // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file. - FileHashes map[string]string `pulumi:"fileHashes"` + FileHashes map[string]FileHashesResponse `pulumi:"fileHashes"` // A copy of the build's `source.connected_repository`, if exists, with any revisions resolved. ResolvedConnectedRepository ConnectedRepositoryResponse `pulumi:"resolvedConnectedRepository"` // A copy of the build's `source.git_source`, if exists, with any revisions resolved. @@ -8980,8 +9000,8 @@ func (o SourceProvenanceResponseOutput) ToSourceProvenanceResponseOutputWithCont } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file. -func (o SourceProvenanceResponseOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v SourceProvenanceResponse) map[string]string { return v.FileHashes }).(pulumi.StringMapOutput) +func (o SourceProvenanceResponseOutput) FileHashes() FileHashesResponseMapOutput { + return o.ApplyT(func(v SourceProvenanceResponse) map[string]FileHashesResponse { return v.FileHashes }).(FileHashesResponseMapOutput) } // A copy of the build's `source.connected_repository`, if exists, with any revisions resolved. @@ -9558,6 +9578,26 @@ func (o TimeSpanResponseOutput) StartTime() pulumi.StringOutput { return o.ApplyT(func(v TimeSpanResponse) string { return v.StartTime }).(pulumi.StringOutput) } +type TimeSpanResponseMapOutput struct{ *pulumi.OutputState } + +func (TimeSpanResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TimeSpanResponse)(nil)).Elem() +} + +func (o TimeSpanResponseMapOutput) ToTimeSpanResponseMapOutput() TimeSpanResponseMapOutput { + return o +} + +func (o TimeSpanResponseMapOutput) ToTimeSpanResponseMapOutputWithContext(ctx context.Context) TimeSpanResponseMapOutput { + return o +} + +func (o TimeSpanResponseMapOutput) MapIndex(k pulumi.StringInput) TimeSpanResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) TimeSpanResponse { + return vs[0].(map[string]TimeSpanResponse)[vs[1].(string)] + }).(TimeSpanResponseOutput) +} + // A Maven artifact uploaded using the MavenArtifact directive. type UploadedMavenArtifactResponse struct { // Hash types and values of the Maven Artifact. @@ -10452,6 +10492,7 @@ func init() { pulumi.RegisterOutputType(ConnectedRepositoryResponseOutput{}) pulumi.RegisterOutputType(FailureInfoResponseOutput{}) pulumi.RegisterOutputType(FileHashesResponseOutput{}) + pulumi.RegisterOutputType(FileHashesResponseMapOutput{}) pulumi.RegisterOutputType(GitFileSourceOutput{}) pulumi.RegisterOutputType(GitFileSourcePtrOutput{}) pulumi.RegisterOutputType(GitFileSourceResponseOutput{}) @@ -10548,6 +10589,7 @@ func init() { pulumi.RegisterOutputType(StorageSourceManifestResponseOutput{}) pulumi.RegisterOutputType(StorageSourceResponseOutput{}) pulumi.RegisterOutputType(TimeSpanResponseOutput{}) + pulumi.RegisterOutputType(TimeSpanResponseMapOutput{}) pulumi.RegisterOutputType(UploadedMavenArtifactResponseOutput{}) pulumi.RegisterOutputType(UploadedMavenArtifactResponseArrayOutput{}) pulumi.RegisterOutputType(UploadedNpmPackageResponseOutput{}) diff --git a/sdk/go/google/cloudchannel/v1/pulumiTypes.go b/sdk/go/google/cloudchannel/v1/pulumiTypes.go index 65b274c5ec..78d5653bdf 100644 --- a/sdk/go/google/cloudchannel/v1/pulumiTypes.go +++ b/sdk/go/google/cloudchannel/v1/pulumiTypes.go @@ -2637,7 +2637,7 @@ type GoogleCloudChannelV1Value struct { // Represents an int64 value. Int64Value *string `pulumi:"int64Value"` // Represents an 'Any' proto value. - ProtoValue map[string]string `pulumi:"protoValue"` + ProtoValue map[string]interface{} `pulumi:"protoValue"` // Represents a string value. StringValue *string `pulumi:"stringValue"` } @@ -2662,7 +2662,7 @@ type GoogleCloudChannelV1ValueArgs struct { // Represents an int64 value. Int64Value pulumi.StringPtrInput `pulumi:"int64Value"` // Represents an 'Any' proto value. - ProtoValue pulumi.StringMapInput `pulumi:"protoValue"` + ProtoValue pulumi.MapInput `pulumi:"protoValue"` // Represents a string value. StringValue pulumi.StringPtrInput `pulumi:"stringValue"` } @@ -2761,8 +2761,8 @@ func (o GoogleCloudChannelV1ValueOutput) Int64Value() pulumi.StringPtrOutput { } // Represents an 'Any' proto value. -func (o GoogleCloudChannelV1ValueOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudChannelV1Value) map[string]string { return v.ProtoValue }).(pulumi.StringMapOutput) +func (o GoogleCloudChannelV1ValueOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudChannelV1Value) map[string]interface{} { return v.ProtoValue }).(pulumi.MapOutput) } // Represents a string value. @@ -2825,13 +2825,13 @@ func (o GoogleCloudChannelV1ValuePtrOutput) Int64Value() pulumi.StringPtrOutput } // Represents an 'Any' proto value. -func (o GoogleCloudChannelV1ValuePtrOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudChannelV1Value) map[string]string { +func (o GoogleCloudChannelV1ValuePtrOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudChannelV1Value) map[string]interface{} { if v == nil { return nil } return v.ProtoValue - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Represents a string value. @@ -2853,7 +2853,7 @@ type GoogleCloudChannelV1ValueResponse struct { // Represents an int64 value. Int64Value string `pulumi:"int64Value"` // Represents an 'Any' proto value. - ProtoValue map[string]string `pulumi:"protoValue"` + ProtoValue map[string]interface{} `pulumi:"protoValue"` // Represents a string value. StringValue string `pulumi:"stringValue"` } @@ -2889,8 +2889,8 @@ func (o GoogleCloudChannelV1ValueResponseOutput) Int64Value() pulumi.StringOutpu } // Represents an 'Any' proto value. -func (o GoogleCloudChannelV1ValueResponseOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudChannelV1ValueResponse) map[string]string { return v.ProtoValue }).(pulumi.StringMapOutput) +func (o GoogleCloudChannelV1ValueResponseOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudChannelV1ValueResponse) map[string]interface{} { return v.ProtoValue }).(pulumi.MapOutput) } // Represents a string value. diff --git a/sdk/go/google/clouddeploy/v1/getRelease.go b/sdk/go/google/clouddeploy/v1/getRelease.go index 8938501e7c..ecdc7bc6e7 100644 --- a/sdk/go/google/clouddeploy/v1/getRelease.go +++ b/sdk/go/google/clouddeploy/v1/getRelease.go @@ -65,9 +65,9 @@ type LookupReleaseResult struct { // The Skaffold version to use when operating on this release, such as "1.20.0". Not all versions are valid; Cloud Deploy supports a specific set of versions. If unset, the most recent supported Skaffold version will be used. SkaffoldVersion string `pulumi:"skaffoldVersion"` // Map from target ID to the target artifacts created during the render operation. - TargetArtifacts map[string]string `pulumi:"targetArtifacts"` + TargetArtifacts map[string]TargetArtifactResponse `pulumi:"targetArtifacts"` // Map from target ID to details of the render operation for that target. - TargetRenders map[string]string `pulumi:"targetRenders"` + TargetRenders map[string]TargetRenderResponse `pulumi:"targetRenders"` // Snapshot of the targets taken at release creation time. TargetSnapshots []TargetResponse `pulumi:"targetSnapshots"` // Unique identifier of the `Release`. @@ -198,13 +198,13 @@ func (o LookupReleaseResultOutput) SkaffoldVersion() pulumi.StringOutput { } // Map from target ID to the target artifacts created during the render operation. -func (o LookupReleaseResultOutput) TargetArtifacts() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupReleaseResult) map[string]string { return v.TargetArtifacts }).(pulumi.StringMapOutput) +func (o LookupReleaseResultOutput) TargetArtifacts() TargetArtifactResponseMapOutput { + return o.ApplyT(func(v LookupReleaseResult) map[string]TargetArtifactResponse { return v.TargetArtifacts }).(TargetArtifactResponseMapOutput) } // Map from target ID to details of the render operation for that target. -func (o LookupReleaseResultOutput) TargetRenders() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupReleaseResult) map[string]string { return v.TargetRenders }).(pulumi.StringMapOutput) +func (o LookupReleaseResultOutput) TargetRenders() TargetRenderResponseMapOutput { + return o.ApplyT(func(v LookupReleaseResult) map[string]TargetRenderResponse { return v.TargetRenders }).(TargetRenderResponseMapOutput) } // Snapshot of the targets taken at release creation time. diff --git a/sdk/go/google/clouddeploy/v1/pulumiTypes.go b/sdk/go/google/clouddeploy/v1/pulumiTypes.go index 068b764bfd..cc07d98996 100644 --- a/sdk/go/google/clouddeploy/v1/pulumiTypes.go +++ b/sdk/go/google/clouddeploy/v1/pulumiTypes.go @@ -2281,6 +2281,32 @@ func (o CloudRunMetadataResponseOutput) ServiceUrls() pulumi.StringArrayOutput { return o.ApplyT(func(v CloudRunMetadataResponse) []string { return v.ServiceUrls }).(pulumi.StringArrayOutput) } +// CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render. +type CloudRunRenderMetadataResponse struct { + // The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`. + Service string `pulumi:"service"` +} + +// CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render. +type CloudRunRenderMetadataResponseOutput struct{ *pulumi.OutputState } + +func (CloudRunRenderMetadataResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudRunRenderMetadataResponse)(nil)).Elem() +} + +func (o CloudRunRenderMetadataResponseOutput) ToCloudRunRenderMetadataResponseOutput() CloudRunRenderMetadataResponseOutput { + return o +} + +func (o CloudRunRenderMetadataResponseOutput) ToCloudRunRenderMetadataResponseOutputWithContext(ctx context.Context) CloudRunRenderMetadataResponseOutput { + return o +} + +// The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`. +func (o CloudRunRenderMetadataResponseOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v CloudRunRenderMetadataResponse) string { return v.Service }).(pulumi.StringOutput) +} + // A createChildRollout Job. type CreateChildRolloutJobResponse struct { } @@ -4397,6 +4423,66 @@ func (o MultiTargetResponseOutput) TargetIds() pulumi.StringArrayOutput { return o.ApplyT(func(v MultiTargetResponse) []string { return v.TargetIds }).(pulumi.StringArrayOutput) } +// Contains the paths to the artifacts, relative to the URI, for a phase. +type PhaseArtifactResponse struct { + // File path of the directory of rendered job manifests relative to the URI. This is only set if it is applicable. + JobManifestsPath string `pulumi:"jobManifestsPath"` + // File path of the rendered manifest relative to the URI. + ManifestPath string `pulumi:"manifestPath"` + // File path of the resolved Skaffold configuration relative to the URI. + SkaffoldConfigPath string `pulumi:"skaffoldConfigPath"` +} + +// Contains the paths to the artifacts, relative to the URI, for a phase. +type PhaseArtifactResponseOutput struct{ *pulumi.OutputState } + +func (PhaseArtifactResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PhaseArtifactResponse)(nil)).Elem() +} + +func (o PhaseArtifactResponseOutput) ToPhaseArtifactResponseOutput() PhaseArtifactResponseOutput { + return o +} + +func (o PhaseArtifactResponseOutput) ToPhaseArtifactResponseOutputWithContext(ctx context.Context) PhaseArtifactResponseOutput { + return o +} + +// File path of the directory of rendered job manifests relative to the URI. This is only set if it is applicable. +func (o PhaseArtifactResponseOutput) JobManifestsPath() pulumi.StringOutput { + return o.ApplyT(func(v PhaseArtifactResponse) string { return v.JobManifestsPath }).(pulumi.StringOutput) +} + +// File path of the rendered manifest relative to the URI. +func (o PhaseArtifactResponseOutput) ManifestPath() pulumi.StringOutput { + return o.ApplyT(func(v PhaseArtifactResponse) string { return v.ManifestPath }).(pulumi.StringOutput) +} + +// File path of the resolved Skaffold configuration relative to the URI. +func (o PhaseArtifactResponseOutput) SkaffoldConfigPath() pulumi.StringOutput { + return o.ApplyT(func(v PhaseArtifactResponse) string { return v.SkaffoldConfigPath }).(pulumi.StringOutput) +} + +type PhaseArtifactResponseMapOutput struct{ *pulumi.OutputState } + +func (PhaseArtifactResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PhaseArtifactResponse)(nil)).Elem() +} + +func (o PhaseArtifactResponseMapOutput) ToPhaseArtifactResponseMapOutput() PhaseArtifactResponseMapOutput { + return o +} + +func (o PhaseArtifactResponseMapOutput) ToPhaseArtifactResponseMapOutputWithContext(ctx context.Context) PhaseArtifactResponseMapOutput { + return o +} + +func (o PhaseArtifactResponseMapOutput) MapIndex(k pulumi.StringInput) PhaseArtifactResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PhaseArtifactResponse { + return vs[0].(map[string]PhaseArtifactResponse)[vs[1].(string)] + }).(PhaseArtifactResponseOutput) +} + // PhaseConfig represents the configuration for a phase in the custom canary deployment. type PhaseConfig struct { // Percentage deployment for the phase. @@ -5670,6 +5756,32 @@ func (o ReleaseReadyConditionResponseOutput) Status() pulumi.BoolOutput { return o.ApplyT(func(v ReleaseReadyConditionResponse) bool { return v.Status }).(pulumi.BoolOutput) } +// RenderMetadata includes information associated with a `Release` render. +type RenderMetadataResponse struct { + // Metadata associated with rendering for Cloud Run. + CloudRun CloudRunRenderMetadataResponse `pulumi:"cloudRun"` +} + +// RenderMetadata includes information associated with a `Release` render. +type RenderMetadataResponseOutput struct{ *pulumi.OutputState } + +func (RenderMetadataResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RenderMetadataResponse)(nil)).Elem() +} + +func (o RenderMetadataResponseOutput) ToRenderMetadataResponseOutput() RenderMetadataResponseOutput { + return o +} + +func (o RenderMetadataResponseOutput) ToRenderMetadataResponseOutputWithContext(ctx context.Context) RenderMetadataResponseOutput { + return o +} + +// Metadata associated with rendering for Cloud Run. +func (o RenderMetadataResponseOutput) CloudRun() CloudRunRenderMetadataResponseOutput { + return o.ApplyT(func(v RenderMetadataResponse) CloudRunRenderMetadataResponse { return v.CloudRun }).(CloudRunRenderMetadataResponseOutput) +} + // Configuration of the repair action. type RepairMode struct { // Optional. Retries a failed job. @@ -7687,6 +7799,73 @@ func (o StrategyResponseOutput) Standard() StandardResponseOutput { return o.ApplyT(func(v StrategyResponse) StandardResponse { return v.Standard }).(StandardResponseOutput) } +// The artifacts produced by a target render operation. +type TargetArtifactResponse struct { + // URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location. + ArtifactUri string `pulumi:"artifactUri"` + // File path of the rendered manifest relative to the URI. + ManifestPath string `pulumi:"manifestPath"` + // Map from the phase ID to the phase artifacts for the `Target`. + PhaseArtifacts map[string]PhaseArtifactResponse `pulumi:"phaseArtifacts"` + // File path of the resolved Skaffold configuration relative to the URI. + SkaffoldConfigPath string `pulumi:"skaffoldConfigPath"` +} + +// The artifacts produced by a target render operation. +type TargetArtifactResponseOutput struct{ *pulumi.OutputState } + +func (TargetArtifactResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TargetArtifactResponse)(nil)).Elem() +} + +func (o TargetArtifactResponseOutput) ToTargetArtifactResponseOutput() TargetArtifactResponseOutput { + return o +} + +func (o TargetArtifactResponseOutput) ToTargetArtifactResponseOutputWithContext(ctx context.Context) TargetArtifactResponseOutput { + return o +} + +// URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location. +func (o TargetArtifactResponseOutput) ArtifactUri() pulumi.StringOutput { + return o.ApplyT(func(v TargetArtifactResponse) string { return v.ArtifactUri }).(pulumi.StringOutput) +} + +// File path of the rendered manifest relative to the URI. +func (o TargetArtifactResponseOutput) ManifestPath() pulumi.StringOutput { + return o.ApplyT(func(v TargetArtifactResponse) string { return v.ManifestPath }).(pulumi.StringOutput) +} + +// Map from the phase ID to the phase artifacts for the `Target`. +func (o TargetArtifactResponseOutput) PhaseArtifacts() PhaseArtifactResponseMapOutput { + return o.ApplyT(func(v TargetArtifactResponse) map[string]PhaseArtifactResponse { return v.PhaseArtifacts }).(PhaseArtifactResponseMapOutput) +} + +// File path of the resolved Skaffold configuration relative to the URI. +func (o TargetArtifactResponseOutput) SkaffoldConfigPath() pulumi.StringOutput { + return o.ApplyT(func(v TargetArtifactResponse) string { return v.SkaffoldConfigPath }).(pulumi.StringOutput) +} + +type TargetArtifactResponseMapOutput struct{ *pulumi.OutputState } + +func (TargetArtifactResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TargetArtifactResponse)(nil)).Elem() +} + +func (o TargetArtifactResponseMapOutput) ToTargetArtifactResponseMapOutput() TargetArtifactResponseMapOutput { + return o +} + +func (o TargetArtifactResponseMapOutput) ToTargetArtifactResponseMapOutputWithContext(ctx context.Context) TargetArtifactResponseMapOutput { + return o +} + +func (o TargetArtifactResponseMapOutput) MapIndex(k pulumi.StringInput) TargetArtifactResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) TargetArtifactResponse { + return vs[0].(map[string]TargetArtifactResponse)[vs[1].(string)] + }).(TargetArtifactResponseOutput) +} + // Contains criteria for selecting Targets. Attributes provided must match the target resource in order for policy restrictions to apply. E.g. if id "prod" and labels "foo: bar" are given the target resource must match both that id and have that label in order to be selected. type TargetAttribute struct { // ID of the `Target`. The value of this field could be one of the following: * The last segment of a target name. It only needs the ID to determine which target is being referred to * "*", all targets in a location. @@ -7842,6 +8021,80 @@ func (o TargetAttributeResponseArrayOutput) Index(i pulumi.IntInput) TargetAttri }).(TargetAttributeResponseOutput) } +// Details of rendering for a single target. +type TargetRenderResponse struct { + // Reason this render failed. This will always be unspecified while the render in progress. + FailureCause string `pulumi:"failureCause"` + // Additional information about the render failure, if available. + FailureMessage string `pulumi:"failureMessage"` + // Metadata related to the `Release` render for this Target. + Metadata RenderMetadataResponse `pulumi:"metadata"` + // The resource name of the Cloud Build `Build` object that is used to render the manifest for this target. Format is `projects/{project}/locations/{location}/builds/{build}`. + RenderingBuild string `pulumi:"renderingBuild"` + // Current state of the render operation for this Target. + RenderingState string `pulumi:"renderingState"` +} + +// Details of rendering for a single target. +type TargetRenderResponseOutput struct{ *pulumi.OutputState } + +func (TargetRenderResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TargetRenderResponse)(nil)).Elem() +} + +func (o TargetRenderResponseOutput) ToTargetRenderResponseOutput() TargetRenderResponseOutput { + return o +} + +func (o TargetRenderResponseOutput) ToTargetRenderResponseOutputWithContext(ctx context.Context) TargetRenderResponseOutput { + return o +} + +// Reason this render failed. This will always be unspecified while the render in progress. +func (o TargetRenderResponseOutput) FailureCause() pulumi.StringOutput { + return o.ApplyT(func(v TargetRenderResponse) string { return v.FailureCause }).(pulumi.StringOutput) +} + +// Additional information about the render failure, if available. +func (o TargetRenderResponseOutput) FailureMessage() pulumi.StringOutput { + return o.ApplyT(func(v TargetRenderResponse) string { return v.FailureMessage }).(pulumi.StringOutput) +} + +// Metadata related to the `Release` render for this Target. +func (o TargetRenderResponseOutput) Metadata() RenderMetadataResponseOutput { + return o.ApplyT(func(v TargetRenderResponse) RenderMetadataResponse { return v.Metadata }).(RenderMetadataResponseOutput) +} + +// The resource name of the Cloud Build `Build` object that is used to render the manifest for this target. Format is `projects/{project}/locations/{location}/builds/{build}`. +func (o TargetRenderResponseOutput) RenderingBuild() pulumi.StringOutput { + return o.ApplyT(func(v TargetRenderResponse) string { return v.RenderingBuild }).(pulumi.StringOutput) +} + +// Current state of the render operation for this Target. +func (o TargetRenderResponseOutput) RenderingState() pulumi.StringOutput { + return o.ApplyT(func(v TargetRenderResponse) string { return v.RenderingState }).(pulumi.StringOutput) +} + +type TargetRenderResponseMapOutput struct{ *pulumi.OutputState } + +func (TargetRenderResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TargetRenderResponse)(nil)).Elem() +} + +func (o TargetRenderResponseMapOutput) ToTargetRenderResponseMapOutput() TargetRenderResponseMapOutput { + return o +} + +func (o TargetRenderResponseMapOutput) ToTargetRenderResponseMapOutputWithContext(ctx context.Context) TargetRenderResponseMapOutput { + return o +} + +func (o TargetRenderResponseMapOutput) MapIndex(k pulumi.StringInput) TargetRenderResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) TargetRenderResponse { + return vs[0].(map[string]TargetRenderResponse)[vs[1].(string)] + }).(TargetRenderResponseOutput) +} + // A `Target` resource in the Cloud Deploy API. A `Target` defines a location to which a Skaffold configuration can be deployed. type TargetResponse struct { // Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. See https://google.aip.dev/128#annotations for more details such as format and size limitations. @@ -8204,6 +8457,7 @@ func init() { pulumi.RegisterOutputType(CloudRunLocationPtrOutput{}) pulumi.RegisterOutputType(CloudRunLocationResponseOutput{}) pulumi.RegisterOutputType(CloudRunMetadataResponseOutput{}) + pulumi.RegisterOutputType(CloudRunRenderMetadataResponseOutput{}) pulumi.RegisterOutputType(CreateChildRolloutJobResponseOutput{}) pulumi.RegisterOutputType(CustomCanaryDeploymentOutput{}) pulumi.RegisterOutputType(CustomCanaryDeploymentPtrOutput{}) @@ -8240,6 +8494,8 @@ func init() { pulumi.RegisterOutputType(MultiTargetOutput{}) pulumi.RegisterOutputType(MultiTargetPtrOutput{}) pulumi.RegisterOutputType(MultiTargetResponseOutput{}) + pulumi.RegisterOutputType(PhaseArtifactResponseOutput{}) + pulumi.RegisterOutputType(PhaseArtifactResponseMapOutput{}) pulumi.RegisterOutputType(PhaseConfigOutput{}) pulumi.RegisterOutputType(PhaseConfigArrayOutput{}) pulumi.RegisterOutputType(PhaseConfigResponseOutput{}) @@ -8264,6 +8520,7 @@ func init() { pulumi.RegisterOutputType(PromoteReleaseRuleResponseOutput{}) pulumi.RegisterOutputType(ReleaseConditionResponseOutput{}) pulumi.RegisterOutputType(ReleaseReadyConditionResponseOutput{}) + pulumi.RegisterOutputType(RenderMetadataResponseOutput{}) pulumi.RegisterOutputType(RepairModeOutput{}) pulumi.RegisterOutputType(RepairModeArrayOutput{}) pulumi.RegisterOutputType(RepairModeResponseOutput{}) @@ -8297,10 +8554,14 @@ func init() { pulumi.RegisterOutputType(StrategyOutput{}) pulumi.RegisterOutputType(StrategyPtrOutput{}) pulumi.RegisterOutputType(StrategyResponseOutput{}) + pulumi.RegisterOutputType(TargetArtifactResponseOutput{}) + pulumi.RegisterOutputType(TargetArtifactResponseMapOutput{}) pulumi.RegisterOutputType(TargetAttributeOutput{}) pulumi.RegisterOutputType(TargetAttributeArrayOutput{}) pulumi.RegisterOutputType(TargetAttributeResponseOutput{}) pulumi.RegisterOutputType(TargetAttributeResponseArrayOutput{}) + pulumi.RegisterOutputType(TargetRenderResponseOutput{}) + pulumi.RegisterOutputType(TargetRenderResponseMapOutput{}) pulumi.RegisterOutputType(TargetResponseOutput{}) pulumi.RegisterOutputType(TargetResponseArrayOutput{}) pulumi.RegisterOutputType(TargetsPresentConditionResponseOutput{}) diff --git a/sdk/go/google/clouddeploy/v1/release.go b/sdk/go/google/clouddeploy/v1/release.go index 3fab3492eb..0636648622 100644 --- a/sdk/go/google/clouddeploy/v1/release.go +++ b/sdk/go/google/clouddeploy/v1/release.go @@ -60,9 +60,9 @@ type Release struct { // The Skaffold version to use when operating on this release, such as "1.20.0". Not all versions are valid; Cloud Deploy supports a specific set of versions. If unset, the most recent supported Skaffold version will be used. SkaffoldVersion pulumi.StringOutput `pulumi:"skaffoldVersion"` // Map from target ID to the target artifacts created during the render operation. - TargetArtifacts pulumi.StringMapOutput `pulumi:"targetArtifacts"` + TargetArtifacts TargetArtifactResponseMapOutput `pulumi:"targetArtifacts"` // Map from target ID to details of the render operation for that target. - TargetRenders pulumi.StringMapOutput `pulumi:"targetRenders"` + TargetRenders TargetRenderResponseMapOutput `pulumi:"targetRenders"` // Snapshot of the targets taken at release creation time. TargetSnapshots TargetResponseArrayOutput `pulumi:"targetSnapshots"` // Unique identifier of the `Release`. @@ -327,13 +327,13 @@ func (o ReleaseOutput) SkaffoldVersion() pulumi.StringOutput { } // Map from target ID to the target artifacts created during the render operation. -func (o ReleaseOutput) TargetArtifacts() pulumi.StringMapOutput { - return o.ApplyT(func(v *Release) pulumi.StringMapOutput { return v.TargetArtifacts }).(pulumi.StringMapOutput) +func (o ReleaseOutput) TargetArtifacts() TargetArtifactResponseMapOutput { + return o.ApplyT(func(v *Release) TargetArtifactResponseMapOutput { return v.TargetArtifacts }).(TargetArtifactResponseMapOutput) } // Map from target ID to details of the render operation for that target. -func (o ReleaseOutput) TargetRenders() pulumi.StringMapOutput { - return o.ApplyT(func(v *Release) pulumi.StringMapOutput { return v.TargetRenders }).(pulumi.StringMapOutput) +func (o ReleaseOutput) TargetRenders() TargetRenderResponseMapOutput { + return o.ApplyT(func(v *Release) TargetRenderResponseMapOutput { return v.TargetRenders }).(TargetRenderResponseMapOutput) } // Snapshot of the targets taken at release creation time. diff --git a/sdk/go/google/cloudiot/v1/pulumiTypes.go b/sdk/go/google/cloudiot/v1/pulumiTypes.go index aade23cbb4..075f4cc76a 100644 --- a/sdk/go/google/cloudiot/v1/pulumiTypes.go +++ b/sdk/go/google/cloudiot/v1/pulumiTypes.go @@ -2225,7 +2225,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -2251,8 +2251,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/cloudscheduler/v1/pulumiTypes.go b/sdk/go/google/cloudscheduler/v1/pulumiTypes.go index 4a9ec91970..3609be9e26 100644 --- a/sdk/go/google/cloudscheduler/v1/pulumiTypes.go +++ b/sdk/go/google/cloudscheduler/v1/pulumiTypes.go @@ -1681,7 +1681,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -1707,8 +1707,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/cloudscheduler/v1beta1/pulumiTypes.go b/sdk/go/google/cloudscheduler/v1beta1/pulumiTypes.go index 5de5ee26d6..6120de2d3e 100644 --- a/sdk/go/google/cloudscheduler/v1beta1/pulumiTypes.go +++ b/sdk/go/google/cloudscheduler/v1beta1/pulumiTypes.go @@ -1681,7 +1681,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -1707,8 +1707,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/cloudtasks/v2/pulumiTypes.go b/sdk/go/google/cloudtasks/v2/pulumiTypes.go index 370b5c69f0..2aac46ef54 100644 --- a/sdk/go/google/cloudtasks/v2/pulumiTypes.go +++ b/sdk/go/google/cloudtasks/v2/pulumiTypes.go @@ -3237,7 +3237,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -3263,8 +3263,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/cloudtasks/v2beta2/pulumiTypes.go b/sdk/go/google/cloudtasks/v2beta2/pulumiTypes.go index b8c2f06859..5244fb08a4 100644 --- a/sdk/go/google/cloudtasks/v2beta2/pulumiTypes.go +++ b/sdk/go/google/cloudtasks/v2beta2/pulumiTypes.go @@ -3668,7 +3668,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -3694,8 +3694,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/cloudtasks/v2beta3/pulumiTypes.go b/sdk/go/google/cloudtasks/v2beta3/pulumiTypes.go index 6c81229e8a..c3d6d59c6d 100644 --- a/sdk/go/google/cloudtasks/v2beta3/pulumiTypes.go +++ b/sdk/go/google/cloudtasks/v2beta3/pulumiTypes.go @@ -3668,7 +3668,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -3694,8 +3694,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/compute/alpha/autoscaler.go b/sdk/go/google/compute/alpha/autoscaler.go index 382b956912..dc0b0d4aff 100644 --- a/sdk/go/google/compute/alpha/autoscaler.go +++ b/sdk/go/google/compute/alpha/autoscaler.go @@ -33,7 +33,7 @@ type Autoscaler struct { // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrOutput `pulumi:"requestId"` // Status information of existing scaling schedules. - ScalingScheduleStatus pulumi.StringMapOutput `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus ScalingScheduleStatusResponseMapOutput `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink pulumi.StringOutput `pulumi:"selfLink"` // Server-defined URL for this resource with the resource id. @@ -204,8 +204,8 @@ func (o AutoscalerOutput) RequestId() pulumi.StringPtrOutput { } // Status information of existing scaling schedules. -func (o AutoscalerOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v *Autoscaler) pulumi.StringMapOutput { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o AutoscalerOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v *Autoscaler) ScalingScheduleStatusResponseMapOutput { return v.ScalingScheduleStatus }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/alpha/disk.go b/sdk/go/google/compute/alpha/disk.go index 0e0e728007..66040547d3 100644 --- a/sdk/go/google/compute/alpha/disk.go +++ b/sdk/go/google/compute/alpha/disk.go @@ -22,7 +22,7 @@ type Disk struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponseOutput `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks pulumi.StringMapOutput `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks DiskAsyncReplicationListResponseMapOutput `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp pulumi.StringOutput `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -389,8 +389,8 @@ func (o DiskOutput) AsyncPrimaryDisk() DiskAsyncReplicationResponseOutput { } // A list of disks this disk is asynchronously replicated to. -func (o DiskOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v *Disk) pulumi.StringMapOutput { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o DiskOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v *Disk) DiskAsyncReplicationListResponseMapOutput { return v.AsyncSecondaryDisks }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/alpha/getAutoscaler.go b/sdk/go/google/compute/alpha/getAutoscaler.go index 748936c5e8..2b2afc5859 100644 --- a/sdk/go/google/compute/alpha/getAutoscaler.go +++ b/sdk/go/google/compute/alpha/getAutoscaler.go @@ -44,7 +44,7 @@ type LookupAutoscalerResult struct { // URL of the region where the instance group resides (for autoscalers living in regional scope). Region string `pulumi:"region"` // Status information of existing scaling schedules. - ScalingScheduleStatus map[string]string `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus map[string]ScalingScheduleStatusResponse `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink string `pulumi:"selfLink"` // Server-defined URL for this resource with the resource id. @@ -132,8 +132,10 @@ func (o LookupAutoscalerResultOutput) Region() pulumi.StringOutput { } // Status information of existing scaling schedules. -func (o LookupAutoscalerResultOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupAutoscalerResult) map[string]string { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o LookupAutoscalerResultOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v LookupAutoscalerResult) map[string]ScalingScheduleStatusResponse { + return v.ScalingScheduleStatus + }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/alpha/getDisk.go b/sdk/go/google/compute/alpha/getDisk.go index 925a7acfc0..2bf97d0df3 100644 --- a/sdk/go/google/compute/alpha/getDisk.go +++ b/sdk/go/google/compute/alpha/getDisk.go @@ -36,7 +36,7 @@ type LookupDiskResult struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponse `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks map[string]string `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks map[string]DiskAsyncReplicationListResponse `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp string `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -198,8 +198,8 @@ func (o LookupDiskResultOutput) AsyncPrimaryDisk() DiskAsyncReplicationResponseO } // A list of disks this disk is asynchronously replicated to. -func (o LookupDiskResultOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupDiskResult) map[string]string { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o LookupDiskResultOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v LookupDiskResult) map[string]DiskAsyncReplicationListResponse { return v.AsyncSecondaryDisks }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/alpha/getInstance.go b/sdk/go/google/compute/alpha/getInstance.go index 024df180c3..cef233cca5 100644 --- a/sdk/go/google/compute/alpha/getInstance.go +++ b/sdk/go/google/compute/alpha/getInstance.go @@ -85,7 +85,7 @@ type LookupInstanceResult struct { // Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. Params InstanceParamsResponse `pulumi:"params"` // Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. - PartnerMetadata map[string]string `pulumi:"partnerMetadata"` + PartnerMetadata map[string]StructuredEntriesResponse `pulumi:"partnerMetadata"` // PostKeyRevocationActionType of the instance. PostKeyRevocationActionType string `pulumi:"postKeyRevocationActionType"` // Total amount of preserved state for SUSPENDED instances. Read-only in the api. @@ -111,9 +111,9 @@ type LookupInstanceResult struct { // A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information. ServiceAccounts []ServiceAccountResponse `pulumi:"serviceAccounts"` // Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. - ServiceIntegrationSpecs map[string]string `pulumi:"serviceIntegrationSpecs"` - ShieldedInstanceConfig ShieldedInstanceConfigResponse `pulumi:"shieldedInstanceConfig"` - ShieldedInstanceIntegrityPolicy ShieldedInstanceIntegrityPolicyResponse `pulumi:"shieldedInstanceIntegrityPolicy"` + ServiceIntegrationSpecs map[string]ServiceIntegrationSpecResponse `pulumi:"serviceIntegrationSpecs"` + ShieldedInstanceConfig ShieldedInstanceConfigResponse `pulumi:"shieldedInstanceConfig"` + ShieldedInstanceIntegrityPolicy ShieldedInstanceIntegrityPolicyResponse `pulumi:"shieldedInstanceIntegrityPolicy"` // Deprecating, please use shielded_instance_config. ShieldedVmConfig ShieldedVmConfigResponse `pulumi:"shieldedVmConfig"` // Deprecating, please use shielded_instance_integrity_policy. @@ -313,8 +313,8 @@ func (o LookupInstanceResultOutput) Params() InstanceParamsResponseOutput { } // Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. -func (o LookupInstanceResultOutput) PartnerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupInstanceResult) map[string]string { return v.PartnerMetadata }).(pulumi.StringMapOutput) +func (o LookupInstanceResultOutput) PartnerMetadata() StructuredEntriesResponseMapOutput { + return o.ApplyT(func(v LookupInstanceResult) map[string]StructuredEntriesResponse { return v.PartnerMetadata }).(StructuredEntriesResponseMapOutput) } // PostKeyRevocationActionType of the instance. @@ -378,8 +378,10 @@ func (o LookupInstanceResultOutput) ServiceAccounts() ServiceAccountResponseArra } // Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. -func (o LookupInstanceResultOutput) ServiceIntegrationSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupInstanceResult) map[string]string { return v.ServiceIntegrationSpecs }).(pulumi.StringMapOutput) +func (o LookupInstanceResultOutput) ServiceIntegrationSpecs() ServiceIntegrationSpecResponseMapOutput { + return o.ApplyT(func(v LookupInstanceResult) map[string]ServiceIntegrationSpecResponse { + return v.ServiceIntegrationSpecs + }).(ServiceIntegrationSpecResponseMapOutput) } func (o LookupInstanceResultOutput) ShieldedInstanceConfig() ShieldedInstanceConfigResponseOutput { diff --git a/sdk/go/google/compute/alpha/getRegionAutoscaler.go b/sdk/go/google/compute/alpha/getRegionAutoscaler.go index 9d539a2868..33a0362359 100644 --- a/sdk/go/google/compute/alpha/getRegionAutoscaler.go +++ b/sdk/go/google/compute/alpha/getRegionAutoscaler.go @@ -44,7 +44,7 @@ type LookupRegionAutoscalerResult struct { // URL of the region where the instance group resides (for autoscalers living in regional scope). Region string `pulumi:"region"` // Status information of existing scaling schedules. - ScalingScheduleStatus map[string]string `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus map[string]ScalingScheduleStatusResponse `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink string `pulumi:"selfLink"` // Server-defined URL for this resource with the resource id. @@ -132,8 +132,10 @@ func (o LookupRegionAutoscalerResultOutput) Region() pulumi.StringOutput { } // Status information of existing scaling schedules. -func (o LookupRegionAutoscalerResultOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupRegionAutoscalerResult) map[string]string { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o LookupRegionAutoscalerResultOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v LookupRegionAutoscalerResult) map[string]ScalingScheduleStatusResponse { + return v.ScalingScheduleStatus + }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/alpha/getRegionDisk.go b/sdk/go/google/compute/alpha/getRegionDisk.go index f9b23f1d1b..d6846142a2 100644 --- a/sdk/go/google/compute/alpha/getRegionDisk.go +++ b/sdk/go/google/compute/alpha/getRegionDisk.go @@ -36,7 +36,7 @@ type LookupRegionDiskResult struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponse `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks map[string]string `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks map[string]DiskAsyncReplicationListResponse `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp string `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -198,8 +198,10 @@ func (o LookupRegionDiskResultOutput) AsyncPrimaryDisk() DiskAsyncReplicationRes } // A list of disks this disk is asynchronously replicated to. -func (o LookupRegionDiskResultOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupRegionDiskResult) map[string]string { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o LookupRegionDiskResultOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v LookupRegionDiskResult) map[string]DiskAsyncReplicationListResponse { + return v.AsyncSecondaryDisks + }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/alpha/instance.go b/sdk/go/google/compute/alpha/instance.go index 75817c99af..d351d31791 100644 --- a/sdk/go/google/compute/alpha/instance.go +++ b/sdk/go/google/compute/alpha/instance.go @@ -70,7 +70,7 @@ type Instance struct { // Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. Params InstanceParamsResponseOutput `pulumi:"params"` // Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. - PartnerMetadata pulumi.StringMapOutput `pulumi:"partnerMetadata"` + PartnerMetadata StructuredEntriesResponseMapOutput `pulumi:"partnerMetadata"` // PostKeyRevocationActionType of the instance. PostKeyRevocationActionType pulumi.StringOutput `pulumi:"postKeyRevocationActionType"` // Total amount of preserved state for SUSPENDED instances. Read-only in the api. @@ -99,7 +99,7 @@ type Instance struct { // A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information. ServiceAccounts ServiceAccountResponseArrayOutput `pulumi:"serviceAccounts"` // Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. - ServiceIntegrationSpecs pulumi.StringMapOutput `pulumi:"serviceIntegrationSpecs"` + ServiceIntegrationSpecs ServiceIntegrationSpecResponseMapOutput `pulumi:"serviceIntegrationSpecs"` ShieldedInstanceConfig ShieldedInstanceConfigResponseOutput `pulumi:"shieldedInstanceConfig"` ShieldedInstanceIntegrityPolicy ShieldedInstanceIntegrityPolicyResponseOutput `pulumi:"shieldedInstanceIntegrityPolicy"` // Deprecating, please use shielded_instance_config. @@ -209,7 +209,7 @@ type instanceArgs struct { // Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. Params *InstanceParams `pulumi:"params"` // Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. - PartnerMetadata map[string]string `pulumi:"partnerMetadata"` + PartnerMetadata map[string]StructuredEntries `pulumi:"partnerMetadata"` // PostKeyRevocationActionType of the instance. PostKeyRevocationActionType *InstancePostKeyRevocationActionType `pulumi:"postKeyRevocationActionType"` // Total amount of preserved state for SUSPENDED instances. Read-only in the api. @@ -230,9 +230,9 @@ type instanceArgs struct { // A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information. ServiceAccounts []ServiceAccount `pulumi:"serviceAccounts"` // Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. - ServiceIntegrationSpecs map[string]string `pulumi:"serviceIntegrationSpecs"` - ShieldedInstanceConfig *ShieldedInstanceConfig `pulumi:"shieldedInstanceConfig"` - ShieldedInstanceIntegrityPolicy *ShieldedInstanceIntegrityPolicy `pulumi:"shieldedInstanceIntegrityPolicy"` + ServiceIntegrationSpecs map[string]ServiceIntegrationSpec `pulumi:"serviceIntegrationSpecs"` + ShieldedInstanceConfig *ShieldedInstanceConfig `pulumi:"shieldedInstanceConfig"` + ShieldedInstanceIntegrityPolicy *ShieldedInstanceIntegrityPolicy `pulumi:"shieldedInstanceIntegrityPolicy"` // Deprecating, please use shielded_instance_config. ShieldedVmConfig *ShieldedVmConfig `pulumi:"shieldedVmConfig"` // Deprecating, please use shielded_instance_integrity_policy. @@ -289,7 +289,7 @@ type InstanceArgs struct { // Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. Params InstanceParamsPtrInput // Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. - PartnerMetadata pulumi.StringMapInput + PartnerMetadata StructuredEntriesMapInput // PostKeyRevocationActionType of the instance. PostKeyRevocationActionType InstancePostKeyRevocationActionTypePtrInput // Total amount of preserved state for SUSPENDED instances. Read-only in the api. @@ -310,7 +310,7 @@ type InstanceArgs struct { // A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information. ServiceAccounts ServiceAccountArrayInput // Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. - ServiceIntegrationSpecs pulumi.StringMapInput + ServiceIntegrationSpecs ServiceIntegrationSpecMapInput ShieldedInstanceConfig ShieldedInstanceConfigPtrInput ShieldedInstanceIntegrityPolicy ShieldedInstanceIntegrityPolicyPtrInput // Deprecating, please use shielded_instance_config. @@ -504,8 +504,8 @@ func (o InstanceOutput) Params() InstanceParamsResponseOutput { } // Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. -func (o InstanceOutput) PartnerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *Instance) pulumi.StringMapOutput { return v.PartnerMetadata }).(pulumi.StringMapOutput) +func (o InstanceOutput) PartnerMetadata() StructuredEntriesResponseMapOutput { + return o.ApplyT(func(v *Instance) StructuredEntriesResponseMapOutput { return v.PartnerMetadata }).(StructuredEntriesResponseMapOutput) } // PostKeyRevocationActionType of the instance. @@ -578,8 +578,8 @@ func (o InstanceOutput) ServiceAccounts() ServiceAccountResponseArrayOutput { } // Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. -func (o InstanceOutput) ServiceIntegrationSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v *Instance) pulumi.StringMapOutput { return v.ServiceIntegrationSpecs }).(pulumi.StringMapOutput) +func (o InstanceOutput) ServiceIntegrationSpecs() ServiceIntegrationSpecResponseMapOutput { + return o.ApplyT(func(v *Instance) ServiceIntegrationSpecResponseMapOutput { return v.ServiceIntegrationSpecs }).(ServiceIntegrationSpecResponseMapOutput) } func (o InstanceOutput) ShieldedInstanceConfig() ShieldedInstanceConfigResponseOutput { diff --git a/sdk/go/google/compute/alpha/pulumiEnums.go b/sdk/go/google/compute/alpha/pulumiEnums.go index 8e7a51a4a5..d340e466ff 100644 --- a/sdk/go/google/compute/alpha/pulumiEnums.go +++ b/sdk/go/google/compute/alpha/pulumiEnums.go @@ -21393,6 +21393,177 @@ func (o InterconnectRequestedFeaturesItemArrayOutput) Index(i pulumi.IntInput) I }).(InterconnectRequestedFeaturesItemOutput) } +// Preference for a given location. Set to either ALLOW or DENY. +type LocationPolicyLocationPreference string + +const ( + // Location is allowed for use. + LocationPolicyLocationPreferenceAllow = LocationPolicyLocationPreference("ALLOW") + // Location is prohibited. + LocationPolicyLocationPreferenceDeny = LocationPolicyLocationPreference("DENY") + // Default value, unused. + LocationPolicyLocationPreferencePreferenceUnspecified = LocationPolicyLocationPreference("PREFERENCE_UNSPECIFIED") +) + +func (LocationPolicyLocationPreference) ElementType() reflect.Type { + return reflect.TypeOf((*LocationPolicyLocationPreference)(nil)).Elem() +} + +func (e LocationPolicyLocationPreference) ToLocationPolicyLocationPreferenceOutput() LocationPolicyLocationPreferenceOutput { + return pulumi.ToOutput(e).(LocationPolicyLocationPreferenceOutput) +} + +func (e LocationPolicyLocationPreference) ToLocationPolicyLocationPreferenceOutputWithContext(ctx context.Context) LocationPolicyLocationPreferenceOutput { + return pulumi.ToOutputWithContext(ctx, e).(LocationPolicyLocationPreferenceOutput) +} + +func (e LocationPolicyLocationPreference) ToLocationPolicyLocationPreferencePtrOutput() LocationPolicyLocationPreferencePtrOutput { + return e.ToLocationPolicyLocationPreferencePtrOutputWithContext(context.Background()) +} + +func (e LocationPolicyLocationPreference) ToLocationPolicyLocationPreferencePtrOutputWithContext(ctx context.Context) LocationPolicyLocationPreferencePtrOutput { + return LocationPolicyLocationPreference(e).ToLocationPolicyLocationPreferenceOutputWithContext(ctx).ToLocationPolicyLocationPreferencePtrOutputWithContext(ctx) +} + +func (e LocationPolicyLocationPreference) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e LocationPolicyLocationPreference) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e LocationPolicyLocationPreference) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e LocationPolicyLocationPreference) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type LocationPolicyLocationPreferenceOutput struct{ *pulumi.OutputState } + +func (LocationPolicyLocationPreferenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LocationPolicyLocationPreference)(nil)).Elem() +} + +func (o LocationPolicyLocationPreferenceOutput) ToLocationPolicyLocationPreferenceOutput() LocationPolicyLocationPreferenceOutput { + return o +} + +func (o LocationPolicyLocationPreferenceOutput) ToLocationPolicyLocationPreferenceOutputWithContext(ctx context.Context) LocationPolicyLocationPreferenceOutput { + return o +} + +func (o LocationPolicyLocationPreferenceOutput) ToLocationPolicyLocationPreferencePtrOutput() LocationPolicyLocationPreferencePtrOutput { + return o.ToLocationPolicyLocationPreferencePtrOutputWithContext(context.Background()) +} + +func (o LocationPolicyLocationPreferenceOutput) ToLocationPolicyLocationPreferencePtrOutputWithContext(ctx context.Context) LocationPolicyLocationPreferencePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LocationPolicyLocationPreference) *LocationPolicyLocationPreference { + return &v + }).(LocationPolicyLocationPreferencePtrOutput) +} + +func (o LocationPolicyLocationPreferenceOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o LocationPolicyLocationPreferenceOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e LocationPolicyLocationPreference) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o LocationPolicyLocationPreferenceOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o LocationPolicyLocationPreferenceOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e LocationPolicyLocationPreference) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type LocationPolicyLocationPreferencePtrOutput struct{ *pulumi.OutputState } + +func (LocationPolicyLocationPreferencePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LocationPolicyLocationPreference)(nil)).Elem() +} + +func (o LocationPolicyLocationPreferencePtrOutput) ToLocationPolicyLocationPreferencePtrOutput() LocationPolicyLocationPreferencePtrOutput { + return o +} + +func (o LocationPolicyLocationPreferencePtrOutput) ToLocationPolicyLocationPreferencePtrOutputWithContext(ctx context.Context) LocationPolicyLocationPreferencePtrOutput { + return o +} + +func (o LocationPolicyLocationPreferencePtrOutput) Elem() LocationPolicyLocationPreferenceOutput { + return o.ApplyT(func(v *LocationPolicyLocationPreference) LocationPolicyLocationPreference { + if v != nil { + return *v + } + var ret LocationPolicyLocationPreference + return ret + }).(LocationPolicyLocationPreferenceOutput) +} + +func (o LocationPolicyLocationPreferencePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o LocationPolicyLocationPreferencePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *LocationPolicyLocationPreference) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// LocationPolicyLocationPreferenceInput is an input type that accepts values of the LocationPolicyLocationPreference enum +// A concrete instance of `LocationPolicyLocationPreferenceInput` can be one of the following: +// +// LocationPolicyLocationPreferenceAllow +// LocationPolicyLocationPreferenceDeny +// LocationPolicyLocationPreferencePreferenceUnspecified +type LocationPolicyLocationPreferenceInput interface { + pulumi.Input + + ToLocationPolicyLocationPreferenceOutput() LocationPolicyLocationPreferenceOutput + ToLocationPolicyLocationPreferenceOutputWithContext(context.Context) LocationPolicyLocationPreferenceOutput +} + +var locationPolicyLocationPreferencePtrType = reflect.TypeOf((**LocationPolicyLocationPreference)(nil)).Elem() + +type LocationPolicyLocationPreferencePtrInput interface { + pulumi.Input + + ToLocationPolicyLocationPreferencePtrOutput() LocationPolicyLocationPreferencePtrOutput + ToLocationPolicyLocationPreferencePtrOutputWithContext(context.Context) LocationPolicyLocationPreferencePtrOutput +} + +type locationPolicyLocationPreferencePtr string + +func LocationPolicyLocationPreferencePtr(v string) LocationPolicyLocationPreferencePtrInput { + return (*locationPolicyLocationPreferencePtr)(&v) +} + +func (*locationPolicyLocationPreferencePtr) ElementType() reflect.Type { + return locationPolicyLocationPreferencePtrType +} + +func (in *locationPolicyLocationPreferencePtr) ToLocationPolicyLocationPreferencePtrOutput() LocationPolicyLocationPreferencePtrOutput { + return pulumi.ToOutput(in).(LocationPolicyLocationPreferencePtrOutput) +} + +func (in *locationPolicyLocationPreferencePtr) ToLocationPolicyLocationPreferencePtrOutputWithContext(ctx context.Context) LocationPolicyLocationPreferencePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(LocationPolicyLocationPreferencePtrOutput) +} + // Strategy for distributing VMs across zones in a region. type LocationPolicyTargetShape string @@ -41540,6 +41711,338 @@ func (in *sslPolicyProfilePtr) ToSslPolicyProfilePtrOutputWithContext(ctx contex return pulumi.ToOutputWithContext(ctx, in).(SslPolicyProfilePtrOutput) } +// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. +type StatefulPolicyPreservedStateDiskDeviceAutoDelete string + +const ( + StatefulPolicyPreservedStateDiskDeviceAutoDeleteNever = StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER") + StatefulPolicyPreservedStateDiskDeviceAutoDeleteOnPermanentInstanceDeletion = StatefulPolicyPreservedStateDiskDeviceAutoDelete("ON_PERMANENT_INSTANCE_DELETION") +) + +func (StatefulPolicyPreservedStateDiskDeviceAutoDelete) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return pulumi.ToOutput(e).(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return pulumi.ToOutputWithContext(ctx, e).(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return e.ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return StatefulPolicyPreservedStateDiskDeviceAutoDelete(e).ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(ctx).ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o.ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StatefulPolicyPreservedStateDiskDeviceAutoDelete) *StatefulPolicyPreservedStateDiskDeviceAutoDelete { + return &v + }).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateDiskDeviceAutoDelete) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateDiskDeviceAutoDelete) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) Elem() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedStateDiskDeviceAutoDelete) StatefulPolicyPreservedStateDiskDeviceAutoDelete { + if v != nil { + return *v + } + var ret StatefulPolicyPreservedStateDiskDeviceAutoDelete + return ret + }).(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *StatefulPolicyPreservedStateDiskDeviceAutoDelete) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput is an input type that accepts values of the StatefulPolicyPreservedStateDiskDeviceAutoDelete enum +// A concrete instance of `StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput` can be one of the following: +// +// StatefulPolicyPreservedStateDiskDeviceAutoDeleteNever +// StatefulPolicyPreservedStateDiskDeviceAutoDeleteOnPermanentInstanceDeletion +type StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput + ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput +} + +var statefulPolicyPreservedStateDiskDeviceAutoDeletePtrType = reflect.TypeOf((**StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() + +type StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput + ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput +} + +type statefulPolicyPreservedStateDiskDeviceAutoDeletePtr string + +func StatefulPolicyPreservedStateDiskDeviceAutoDeletePtr(v string) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput { + return (*statefulPolicyPreservedStateDiskDeviceAutoDeletePtr)(&v) +} + +func (*statefulPolicyPreservedStateDiskDeviceAutoDeletePtr) ElementType() reflect.Type { + return statefulPolicyPreservedStateDiskDeviceAutoDeletePtrType +} + +func (in *statefulPolicyPreservedStateDiskDeviceAutoDeletePtr) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return pulumi.ToOutput(in).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +func (in *statefulPolicyPreservedStateDiskDeviceAutoDeletePtr) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +type StatefulPolicyPreservedStateNetworkIpAutoDelete string + +const ( + StatefulPolicyPreservedStateNetworkIpAutoDeleteNever = StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER") + StatefulPolicyPreservedStateNetworkIpAutoDeleteOnPermanentInstanceDeletion = StatefulPolicyPreservedStateNetworkIpAutoDelete("ON_PERMANENT_INSTANCE_DELETION") +) + +func (StatefulPolicyPreservedStateNetworkIpAutoDelete) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutput() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return pulumi.ToOutput(e).(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return pulumi.ToOutputWithContext(ctx, e).(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return e.ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return StatefulPolicyPreservedStateNetworkIpAutoDelete(e).ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(ctx).ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutput() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o.ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StatefulPolicyPreservedStateNetworkIpAutoDelete) *StatefulPolicyPreservedStateNetworkIpAutoDelete { + return &v + }).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateNetworkIpAutoDelete) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateNetworkIpAutoDelete) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) Elem() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedStateNetworkIpAutoDelete) StatefulPolicyPreservedStateNetworkIpAutoDelete { + if v != nil { + return *v + } + var ret StatefulPolicyPreservedStateNetworkIpAutoDelete + return ret + }).(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *StatefulPolicyPreservedStateNetworkIpAutoDelete) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// StatefulPolicyPreservedStateNetworkIpAutoDeleteInput is an input type that accepts values of the StatefulPolicyPreservedStateNetworkIpAutoDelete enum +// A concrete instance of `StatefulPolicyPreservedStateNetworkIpAutoDeleteInput` can be one of the following: +// +// StatefulPolicyPreservedStateNetworkIpAutoDeleteNever +// StatefulPolicyPreservedStateNetworkIpAutoDeleteOnPermanentInstanceDeletion +type StatefulPolicyPreservedStateNetworkIpAutoDeleteInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutput() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput + ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput +} + +var statefulPolicyPreservedStateNetworkIpAutoDeletePtrType = reflect.TypeOf((**StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() + +type StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput + ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput +} + +type statefulPolicyPreservedStateNetworkIpAutoDeletePtr string + +func StatefulPolicyPreservedStateNetworkIpAutoDeletePtr(v string) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput { + return (*statefulPolicyPreservedStateNetworkIpAutoDeletePtr)(&v) +} + +func (*statefulPolicyPreservedStateNetworkIpAutoDeletePtr) ElementType() reflect.Type { + return statefulPolicyPreservedStateNetworkIpAutoDeletePtrType +} + +func (in *statefulPolicyPreservedStateNetworkIpAutoDeletePtr) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return pulumi.ToOutput(in).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + +func (in *statefulPolicyPreservedStateNetworkIpAutoDeletePtr) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + // Provisioning type of the byte capacity of the pool. type StoragePoolCapacityProvisioningType string @@ -45716,6 +46219,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InterconnectRequestedFeaturesItemInput)(nil)).Elem(), InterconnectRequestedFeaturesItem("IF_MACSEC")) pulumi.RegisterInputType(reflect.TypeOf((*InterconnectRequestedFeaturesItemPtrInput)(nil)).Elem(), InterconnectRequestedFeaturesItem("IF_MACSEC")) pulumi.RegisterInputType(reflect.TypeOf((*InterconnectRequestedFeaturesItemArrayInput)(nil)).Elem(), InterconnectRequestedFeaturesItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyLocationPreferenceInput)(nil)).Elem(), LocationPolicyLocationPreference("ALLOW")) + pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyLocationPreferencePtrInput)(nil)).Elem(), LocationPolicyLocationPreference("ALLOW")) pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyTargetShapeInput)(nil)).Elem(), LocationPolicyTargetShape("ANY")) pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyTargetShapePtrInput)(nil)).Elem(), LocationPolicyTargetShape("ANY")) pulumi.RegisterInputType(reflect.TypeOf((*LogConfigCloudAuditOptionsLogNameInput)(nil)).Elem(), LogConfigCloudAuditOptionsLogName("ADMIN_ACTIVITY")) @@ -45954,6 +46459,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SslPolicyMinTlsVersionPtrInput)(nil)).Elem(), SslPolicyMinTlsVersion("TLS_1_0")) pulumi.RegisterInputType(reflect.TypeOf((*SslPolicyProfileInput)(nil)).Elem(), SslPolicyProfile("COMPATIBLE")) pulumi.RegisterInputType(reflect.TypeOf((*SslPolicyProfilePtrInput)(nil)).Elem(), SslPolicyProfile("COMPATIBLE")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDeleteInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER")) pulumi.RegisterInputType(reflect.TypeOf((*StoragePoolCapacityProvisioningTypeInput)(nil)).Elem(), StoragePoolCapacityProvisioningType("ADVANCED")) pulumi.RegisterInputType(reflect.TypeOf((*StoragePoolCapacityProvisioningTypePtrInput)(nil)).Elem(), StoragePoolCapacityProvisioningType("ADVANCED")) pulumi.RegisterInputType(reflect.TypeOf((*StoragePoolPerformanceProvisioningTypeInput)(nil)).Elem(), StoragePoolPerformanceProvisioningType("ADVANCED")) @@ -46249,6 +46758,8 @@ func init() { pulumi.RegisterOutputType(InterconnectRequestedFeaturesItemOutput{}) pulumi.RegisterOutputType(InterconnectRequestedFeaturesItemPtrOutput{}) pulumi.RegisterOutputType(InterconnectRequestedFeaturesItemArrayOutput{}) + pulumi.RegisterOutputType(LocationPolicyLocationPreferenceOutput{}) + pulumi.RegisterOutputType(LocationPolicyLocationPreferencePtrOutput{}) pulumi.RegisterOutputType(LocationPolicyTargetShapeOutput{}) pulumi.RegisterOutputType(LocationPolicyTargetShapePtrOutput{}) pulumi.RegisterOutputType(LogConfigCloudAuditOptionsLogNameOutput{}) @@ -46487,6 +46998,10 @@ func init() { pulumi.RegisterOutputType(SslPolicyMinTlsVersionPtrOutput{}) pulumi.RegisterOutputType(SslPolicyProfileOutput{}) pulumi.RegisterOutputType(SslPolicyProfilePtrOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput{}) pulumi.RegisterOutputType(StoragePoolCapacityProvisioningTypeOutput{}) pulumi.RegisterOutputType(StoragePoolCapacityProvisioningTypePtrOutput{}) pulumi.RegisterOutputType(StoragePoolPerformanceProvisioningTypeOutput{}) diff --git a/sdk/go/google/compute/alpha/pulumiTypes.go b/sdk/go/google/compute/alpha/pulumiTypes.go index fb323f7917..9b13a37278 100644 --- a/sdk/go/google/compute/alpha/pulumiTypes.go +++ b/sdk/go/google/compute/alpha/pulumiTypes.go @@ -4717,7 +4717,7 @@ type AutoscalingPolicy struct { ScaleDownControl *AutoscalingPolicyScaleDownControl `pulumi:"scaleDownControl"` ScaleInControl *AutoscalingPolicyScaleInControl `pulumi:"scaleInControl"` // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. - ScalingSchedules map[string]string `pulumi:"scalingSchedules"` + ScalingSchedules map[string]AutoscalingPolicyScalingSchedule `pulumi:"scalingSchedules"` } // AutoscalingPolicyInput is an input type that accepts AutoscalingPolicyArgs and AutoscalingPolicyOutput values. @@ -4750,7 +4750,7 @@ type AutoscalingPolicyArgs struct { ScaleDownControl AutoscalingPolicyScaleDownControlPtrInput `pulumi:"scaleDownControl"` ScaleInControl AutoscalingPolicyScaleInControlPtrInput `pulumi:"scaleInControl"` // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. - ScalingSchedules pulumi.StringMapInput `pulumi:"scalingSchedules"` + ScalingSchedules AutoscalingPolicyScalingScheduleMapInput `pulumi:"scalingSchedules"` } func (AutoscalingPolicyArgs) ElementType() reflect.Type { @@ -4879,8 +4879,8 @@ func (o AutoscalingPolicyOutput) ScaleInControl() AutoscalingPolicyScaleInContro } // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. -func (o AutoscalingPolicyOutput) ScalingSchedules() pulumi.StringMapOutput { - return o.ApplyT(func(v AutoscalingPolicy) map[string]string { return v.ScalingSchedules }).(pulumi.StringMapOutput) +func (o AutoscalingPolicyOutput) ScalingSchedules() AutoscalingPolicyScalingScheduleMapOutput { + return o.ApplyT(func(v AutoscalingPolicy) map[string]AutoscalingPolicyScalingSchedule { return v.ScalingSchedules }).(AutoscalingPolicyScalingScheduleMapOutput) } type AutoscalingPolicyPtrOutput struct{ *pulumi.OutputState } @@ -4996,13 +4996,13 @@ func (o AutoscalingPolicyPtrOutput) ScaleInControl() AutoscalingPolicyScaleInCon } // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. -func (o AutoscalingPolicyPtrOutput) ScalingSchedules() pulumi.StringMapOutput { - return o.ApplyT(func(v *AutoscalingPolicy) map[string]string { +func (o AutoscalingPolicyPtrOutput) ScalingSchedules() AutoscalingPolicyScalingScheduleMapOutput { + return o.ApplyT(func(v *AutoscalingPolicy) map[string]AutoscalingPolicyScalingSchedule { if v == nil { return nil } return v.ScalingSchedules - }).(pulumi.StringMapOutput) + }).(AutoscalingPolicyScalingScheduleMapOutput) } // CPU utilization policy. @@ -5596,7 +5596,7 @@ type AutoscalingPolicyResponse struct { ScaleDownControl AutoscalingPolicyScaleDownControlResponse `pulumi:"scaleDownControl"` ScaleInControl AutoscalingPolicyScaleInControlResponse `pulumi:"scaleInControl"` // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. - ScalingSchedules map[string]string `pulumi:"scalingSchedules"` + ScalingSchedules map[string]AutoscalingPolicyScalingScheduleResponse `pulumi:"scalingSchedules"` } // Cloud Autoscaler policy. @@ -5662,8 +5662,10 @@ func (o AutoscalingPolicyResponseOutput) ScaleInControl() AutoscalingPolicyScale } // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. -func (o AutoscalingPolicyResponseOutput) ScalingSchedules() pulumi.StringMapOutput { - return o.ApplyT(func(v AutoscalingPolicyResponse) map[string]string { return v.ScalingSchedules }).(pulumi.StringMapOutput) +func (o AutoscalingPolicyResponseOutput) ScalingSchedules() AutoscalingPolicyScalingScheduleResponseMapOutput { + return o.ApplyT(func(v AutoscalingPolicyResponse) map[string]AutoscalingPolicyScalingScheduleResponse { + return v.ScalingSchedules + }).(AutoscalingPolicyScalingScheduleResponseMapOutput) } // Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below. @@ -6052,6 +6054,232 @@ func (o AutoscalingPolicyScaleInControlResponseOutput) TimeWindowSec() pulumi.In return o.ApplyT(func(v AutoscalingPolicyScaleInControlResponse) int { return v.TimeWindowSec }).(pulumi.IntOutput) } +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingSchedule struct { + // A description of a scaling schedule. + Description *string `pulumi:"description"` + // A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + Disabled *bool `pulumi:"disabled"` + // The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + DurationSec *int `pulumi:"durationSec"` + // The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + MinRequiredReplicas *int `pulumi:"minRequiredReplicas"` + // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + Schedule *string `pulumi:"schedule"` + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + TimeZone *string `pulumi:"timeZone"` +} + +// AutoscalingPolicyScalingScheduleInput is an input type that accepts AutoscalingPolicyScalingScheduleArgs and AutoscalingPolicyScalingScheduleOutput values. +// You can construct a concrete instance of `AutoscalingPolicyScalingScheduleInput` via: +// +// AutoscalingPolicyScalingScheduleArgs{...} +type AutoscalingPolicyScalingScheduleInput interface { + pulumi.Input + + ToAutoscalingPolicyScalingScheduleOutput() AutoscalingPolicyScalingScheduleOutput + ToAutoscalingPolicyScalingScheduleOutputWithContext(context.Context) AutoscalingPolicyScalingScheduleOutput +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleArgs struct { + // A description of a scaling schedule. + Description pulumi.StringPtrInput `pulumi:"description"` + // A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + // The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + DurationSec pulumi.IntPtrInput `pulumi:"durationSec"` + // The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + MinRequiredReplicas pulumi.IntPtrInput `pulumi:"minRequiredReplicas"` + // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + Schedule pulumi.StringPtrInput `pulumi:"schedule"` + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (AutoscalingPolicyScalingScheduleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (i AutoscalingPolicyScalingScheduleArgs) ToAutoscalingPolicyScalingScheduleOutput() AutoscalingPolicyScalingScheduleOutput { + return i.ToAutoscalingPolicyScalingScheduleOutputWithContext(context.Background()) +} + +func (i AutoscalingPolicyScalingScheduleArgs) ToAutoscalingPolicyScalingScheduleOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutoscalingPolicyScalingScheduleOutput) +} + +// AutoscalingPolicyScalingScheduleMapInput is an input type that accepts AutoscalingPolicyScalingScheduleMap and AutoscalingPolicyScalingScheduleMapOutput values. +// You can construct a concrete instance of `AutoscalingPolicyScalingScheduleMapInput` via: +// +// AutoscalingPolicyScalingScheduleMap{ "key": AutoscalingPolicyScalingScheduleArgs{...} } +type AutoscalingPolicyScalingScheduleMapInput interface { + pulumi.Input + + ToAutoscalingPolicyScalingScheduleMapOutput() AutoscalingPolicyScalingScheduleMapOutput + ToAutoscalingPolicyScalingScheduleMapOutputWithContext(context.Context) AutoscalingPolicyScalingScheduleMapOutput +} + +type AutoscalingPolicyScalingScheduleMap map[string]AutoscalingPolicyScalingScheduleInput + +func (AutoscalingPolicyScalingScheduleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (i AutoscalingPolicyScalingScheduleMap) ToAutoscalingPolicyScalingScheduleMapOutput() AutoscalingPolicyScalingScheduleMapOutput { + return i.ToAutoscalingPolicyScalingScheduleMapOutputWithContext(context.Background()) +} + +func (i AutoscalingPolicyScalingScheduleMap) ToAutoscalingPolicyScalingScheduleMapOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutoscalingPolicyScalingScheduleMapOutput) +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleOutput) ToAutoscalingPolicyScalingScheduleOutput() AutoscalingPolicyScalingScheduleOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleOutput) ToAutoscalingPolicyScalingScheduleOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleOutput { + return o +} + +// A description of a scaling schedule. +func (o AutoscalingPolicyScalingScheduleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. +func (o AutoscalingPolicyScalingScheduleOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} + +// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. +func (o AutoscalingPolicyScalingScheduleOutput) DurationSec() pulumi.IntPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *int { return v.DurationSec }).(pulumi.IntPtrOutput) +} + +// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. +func (o AutoscalingPolicyScalingScheduleOutput) MinRequiredReplicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *int { return v.MinRequiredReplicas }).(pulumi.IntPtrOutput) +} + +// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. +func (o AutoscalingPolicyScalingScheduleOutput) Schedule() pulumi.StringPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *string { return v.Schedule }).(pulumi.StringPtrOutput) +} + +// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. +func (o AutoscalingPolicyScalingScheduleOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type AutoscalingPolicyScalingScheduleMapOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleMapOutput) ToAutoscalingPolicyScalingScheduleMapOutput() AutoscalingPolicyScalingScheduleMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleMapOutput) ToAutoscalingPolicyScalingScheduleMapOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleMapOutput) MapIndex(k pulumi.StringInput) AutoscalingPolicyScalingScheduleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AutoscalingPolicyScalingSchedule { + return vs[0].(map[string]AutoscalingPolicyScalingSchedule)[vs[1].(string)] + }).(AutoscalingPolicyScalingScheduleOutput) +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleResponse struct { + // A description of a scaling schedule. + Description string `pulumi:"description"` + // A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + Disabled bool `pulumi:"disabled"` + // The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + DurationSec int `pulumi:"durationSec"` + // The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + MinRequiredReplicas int `pulumi:"minRequiredReplicas"` + // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + Schedule string `pulumi:"schedule"` + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + TimeZone string `pulumi:"timeZone"` +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleResponseOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AutoscalingPolicyScalingScheduleResponse)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleResponseOutput) ToAutoscalingPolicyScalingScheduleResponseOutput() AutoscalingPolicyScalingScheduleResponseOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleResponseOutput) ToAutoscalingPolicyScalingScheduleResponseOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleResponseOutput { + return o +} + +// A description of a scaling schedule. +func (o AutoscalingPolicyScalingScheduleResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. +func (o AutoscalingPolicyScalingScheduleResponseOutput) Disabled() pulumi.BoolOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) bool { return v.Disabled }).(pulumi.BoolOutput) +} + +// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. +func (o AutoscalingPolicyScalingScheduleResponseOutput) DurationSec() pulumi.IntOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) int { return v.DurationSec }).(pulumi.IntOutput) +} + +// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. +func (o AutoscalingPolicyScalingScheduleResponseOutput) MinRequiredReplicas() pulumi.IntOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) int { return v.MinRequiredReplicas }).(pulumi.IntOutput) +} + +// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. +func (o AutoscalingPolicyScalingScheduleResponseOutput) Schedule() pulumi.StringOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) string { return v.Schedule }).(pulumi.StringOutput) +} + +// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. +func (o AutoscalingPolicyScalingScheduleResponseOutput) TimeZone() pulumi.StringOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) string { return v.TimeZone }).(pulumi.StringOutput) +} + +type AutoscalingPolicyScalingScheduleResponseMapOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AutoscalingPolicyScalingScheduleResponse)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleResponseMapOutput) ToAutoscalingPolicyScalingScheduleResponseMapOutput() AutoscalingPolicyScalingScheduleResponseMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleResponseMapOutput) ToAutoscalingPolicyScalingScheduleResponseMapOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleResponseMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleResponseMapOutput) MapIndex(k pulumi.StringInput) AutoscalingPolicyScalingScheduleResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AutoscalingPolicyScalingScheduleResponse { + return vs[0].(map[string]AutoscalingPolicyScalingScheduleResponse)[vs[1].(string)] + }).(AutoscalingPolicyScalingScheduleResponseOutput) +} + // Message containing information of one individual backend. type Backend struct { // Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected. @@ -10159,7 +10387,7 @@ type BulkInsertInstanceResource struct { // The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters. NamePattern *string `pulumi:"namePattern"` // Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. - PerInstanceProperties map[string]string `pulumi:"perInstanceProperties"` + PerInstanceProperties map[string]BulkInsertInstanceResourcePerInstanceProperties `pulumi:"perInstanceProperties"` // Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. SourceInstanceTemplate *string `pulumi:"sourceInstanceTemplate"` } @@ -10188,7 +10416,7 @@ type BulkInsertInstanceResourceArgs struct { // The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters. NamePattern pulumi.StringPtrInput `pulumi:"namePattern"` // Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. - PerInstanceProperties pulumi.StringMapInput `pulumi:"perInstanceProperties"` + PerInstanceProperties BulkInsertInstanceResourcePerInstancePropertiesMapInput `pulumi:"perInstanceProperties"` // Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. SourceInstanceTemplate pulumi.StringPtrInput `pulumi:"sourceInstanceTemplate"` } @@ -10297,8 +10525,10 @@ func (o BulkInsertInstanceResourceOutput) NamePattern() pulumi.StringPtrOutput { } // Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. -func (o BulkInsertInstanceResourceOutput) PerInstanceProperties() pulumi.StringMapOutput { - return o.ApplyT(func(v BulkInsertInstanceResource) map[string]string { return v.PerInstanceProperties }).(pulumi.StringMapOutput) +func (o BulkInsertInstanceResourceOutput) PerInstanceProperties() BulkInsertInstanceResourcePerInstancePropertiesMapOutput { + return o.ApplyT(func(v BulkInsertInstanceResource) map[string]BulkInsertInstanceResourcePerInstanceProperties { + return v.PerInstanceProperties + }).(BulkInsertInstanceResourcePerInstancePropertiesMapOutput) } // Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. @@ -10381,13 +10611,13 @@ func (o BulkInsertInstanceResourcePtrOutput) NamePattern() pulumi.StringPtrOutpu } // Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. -func (o BulkInsertInstanceResourcePtrOutput) PerInstanceProperties() pulumi.StringMapOutput { - return o.ApplyT(func(v *BulkInsertInstanceResource) map[string]string { +func (o BulkInsertInstanceResourcePtrOutput) PerInstanceProperties() BulkInsertInstanceResourcePerInstancePropertiesMapOutput { + return o.ApplyT(func(v *BulkInsertInstanceResource) map[string]BulkInsertInstanceResourcePerInstanceProperties { if v == nil { return nil } return v.PerInstanceProperties - }).(pulumi.StringMapOutput) + }).(BulkInsertInstanceResourcePerInstancePropertiesMapOutput) } // Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. @@ -10400,6 +10630,168 @@ func (o BulkInsertInstanceResourcePtrOutput) SourceInstanceTemplate() pulumi.Str }).(pulumi.StringPtrOutput) } +// Per-instance properties to be set on individual instances. To be extended in the future. +type BulkInsertInstanceResourcePerInstanceProperties struct { + // Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + Hostname *string `pulumi:"hostname"` + // This field is only temporary. It will be removed. Do not use it. + Name *string `pulumi:"name"` +} + +// BulkInsertInstanceResourcePerInstancePropertiesInput is an input type that accepts BulkInsertInstanceResourcePerInstancePropertiesArgs and BulkInsertInstanceResourcePerInstancePropertiesOutput values. +// You can construct a concrete instance of `BulkInsertInstanceResourcePerInstancePropertiesInput` via: +// +// BulkInsertInstanceResourcePerInstancePropertiesArgs{...} +type BulkInsertInstanceResourcePerInstancePropertiesInput interface { + pulumi.Input + + ToBulkInsertInstanceResourcePerInstancePropertiesOutput() BulkInsertInstanceResourcePerInstancePropertiesOutput + ToBulkInsertInstanceResourcePerInstancePropertiesOutputWithContext(context.Context) BulkInsertInstanceResourcePerInstancePropertiesOutput +} + +// Per-instance properties to be set on individual instances. To be extended in the future. +type BulkInsertInstanceResourcePerInstancePropertiesArgs struct { + // Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + Hostname pulumi.StringPtrInput `pulumi:"hostname"` + // This field is only temporary. It will be removed. Do not use it. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (BulkInsertInstanceResourcePerInstancePropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BulkInsertInstanceResourcePerInstanceProperties)(nil)).Elem() +} + +func (i BulkInsertInstanceResourcePerInstancePropertiesArgs) ToBulkInsertInstanceResourcePerInstancePropertiesOutput() BulkInsertInstanceResourcePerInstancePropertiesOutput { + return i.ToBulkInsertInstanceResourcePerInstancePropertiesOutputWithContext(context.Background()) +} + +func (i BulkInsertInstanceResourcePerInstancePropertiesArgs) ToBulkInsertInstanceResourcePerInstancePropertiesOutputWithContext(ctx context.Context) BulkInsertInstanceResourcePerInstancePropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(BulkInsertInstanceResourcePerInstancePropertiesOutput) +} + +// BulkInsertInstanceResourcePerInstancePropertiesMapInput is an input type that accepts BulkInsertInstanceResourcePerInstancePropertiesMap and BulkInsertInstanceResourcePerInstancePropertiesMapOutput values. +// You can construct a concrete instance of `BulkInsertInstanceResourcePerInstancePropertiesMapInput` via: +// +// BulkInsertInstanceResourcePerInstancePropertiesMap{ "key": BulkInsertInstanceResourcePerInstancePropertiesArgs{...} } +type BulkInsertInstanceResourcePerInstancePropertiesMapInput interface { + pulumi.Input + + ToBulkInsertInstanceResourcePerInstancePropertiesMapOutput() BulkInsertInstanceResourcePerInstancePropertiesMapOutput + ToBulkInsertInstanceResourcePerInstancePropertiesMapOutputWithContext(context.Context) BulkInsertInstanceResourcePerInstancePropertiesMapOutput +} + +type BulkInsertInstanceResourcePerInstancePropertiesMap map[string]BulkInsertInstanceResourcePerInstancePropertiesInput + +func (BulkInsertInstanceResourcePerInstancePropertiesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BulkInsertInstanceResourcePerInstanceProperties)(nil)).Elem() +} + +func (i BulkInsertInstanceResourcePerInstancePropertiesMap) ToBulkInsertInstanceResourcePerInstancePropertiesMapOutput() BulkInsertInstanceResourcePerInstancePropertiesMapOutput { + return i.ToBulkInsertInstanceResourcePerInstancePropertiesMapOutputWithContext(context.Background()) +} + +func (i BulkInsertInstanceResourcePerInstancePropertiesMap) ToBulkInsertInstanceResourcePerInstancePropertiesMapOutputWithContext(ctx context.Context) BulkInsertInstanceResourcePerInstancePropertiesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(BulkInsertInstanceResourcePerInstancePropertiesMapOutput) +} + +// Per-instance properties to be set on individual instances. To be extended in the future. +type BulkInsertInstanceResourcePerInstancePropertiesOutput struct{ *pulumi.OutputState } + +func (BulkInsertInstanceResourcePerInstancePropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BulkInsertInstanceResourcePerInstanceProperties)(nil)).Elem() +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesOutput) ToBulkInsertInstanceResourcePerInstancePropertiesOutput() BulkInsertInstanceResourcePerInstancePropertiesOutput { + return o +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesOutput) ToBulkInsertInstanceResourcePerInstancePropertiesOutputWithContext(ctx context.Context) BulkInsertInstanceResourcePerInstancePropertiesOutput { + return o +} + +// Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention +func (o BulkInsertInstanceResourcePerInstancePropertiesOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v BulkInsertInstanceResourcePerInstanceProperties) *string { return v.Hostname }).(pulumi.StringPtrOutput) +} + +// This field is only temporary. It will be removed. Do not use it. +func (o BulkInsertInstanceResourcePerInstancePropertiesOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v BulkInsertInstanceResourcePerInstanceProperties) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type BulkInsertInstanceResourcePerInstancePropertiesMapOutput struct{ *pulumi.OutputState } + +func (BulkInsertInstanceResourcePerInstancePropertiesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BulkInsertInstanceResourcePerInstanceProperties)(nil)).Elem() +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesMapOutput) ToBulkInsertInstanceResourcePerInstancePropertiesMapOutput() BulkInsertInstanceResourcePerInstancePropertiesMapOutput { + return o +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesMapOutput) ToBulkInsertInstanceResourcePerInstancePropertiesMapOutputWithContext(ctx context.Context) BulkInsertInstanceResourcePerInstancePropertiesMapOutput { + return o +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesMapOutput) MapIndex(k pulumi.StringInput) BulkInsertInstanceResourcePerInstancePropertiesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BulkInsertInstanceResourcePerInstanceProperties { + return vs[0].(map[string]BulkInsertInstanceResourcePerInstanceProperties)[vs[1].(string)] + }).(BulkInsertInstanceResourcePerInstancePropertiesOutput) +} + +// Per-instance properties to be set on individual instances. To be extended in the future. +type BulkInsertInstanceResourcePerInstancePropertiesResponse struct { + // Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + Hostname string `pulumi:"hostname"` + // This field is only temporary. It will be removed. Do not use it. + Name string `pulumi:"name"` +} + +// Per-instance properties to be set on individual instances. To be extended in the future. +type BulkInsertInstanceResourcePerInstancePropertiesResponseOutput struct{ *pulumi.OutputState } + +func (BulkInsertInstanceResourcePerInstancePropertiesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BulkInsertInstanceResourcePerInstancePropertiesResponse)(nil)).Elem() +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesResponseOutput) ToBulkInsertInstanceResourcePerInstancePropertiesResponseOutput() BulkInsertInstanceResourcePerInstancePropertiesResponseOutput { + return o +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesResponseOutput) ToBulkInsertInstanceResourcePerInstancePropertiesResponseOutputWithContext(ctx context.Context) BulkInsertInstanceResourcePerInstancePropertiesResponseOutput { + return o +} + +// Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention +func (o BulkInsertInstanceResourcePerInstancePropertiesResponseOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v BulkInsertInstanceResourcePerInstancePropertiesResponse) string { return v.Hostname }).(pulumi.StringOutput) +} + +// This field is only temporary. It will be removed. Do not use it. +func (o BulkInsertInstanceResourcePerInstancePropertiesResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v BulkInsertInstanceResourcePerInstancePropertiesResponse) string { return v.Name }).(pulumi.StringOutput) +} + +type BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput struct{ *pulumi.OutputState } + +func (BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BulkInsertInstanceResourcePerInstancePropertiesResponse)(nil)).Elem() +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput) ToBulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput() BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput { + return o +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput) ToBulkInsertInstanceResourcePerInstancePropertiesResponseMapOutputWithContext(ctx context.Context) BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput { + return o +} + +func (o BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput) MapIndex(k pulumi.StringInput) BulkInsertInstanceResourcePerInstancePropertiesResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BulkInsertInstanceResourcePerInstancePropertiesResponse { + return vs[0].(map[string]BulkInsertInstanceResourcePerInstancePropertiesResponse)[vs[1].(string)] + }).(BulkInsertInstanceResourcePerInstancePropertiesResponseOutput) +} + // A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests. type BulkInsertInstanceResourceResponse struct { // The maximum number of instances to create. @@ -10413,7 +10805,7 @@ type BulkInsertInstanceResourceResponse struct { // The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters. NamePattern string `pulumi:"namePattern"` // Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. - PerInstanceProperties map[string]string `pulumi:"perInstanceProperties"` + PerInstanceProperties map[string]BulkInsertInstanceResourcePerInstancePropertiesResponse `pulumi:"perInstanceProperties"` // Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. SourceInstanceTemplate string `pulumi:"sourceInstanceTemplate"` } @@ -10459,8 +10851,10 @@ func (o BulkInsertInstanceResourceResponseOutput) NamePattern() pulumi.StringOut } // Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. -func (o BulkInsertInstanceResourceResponseOutput) PerInstanceProperties() pulumi.StringMapOutput { - return o.ApplyT(func(v BulkInsertInstanceResourceResponse) map[string]string { return v.PerInstanceProperties }).(pulumi.StringMapOutput) +func (o BulkInsertInstanceResourceResponseOutput) PerInstanceProperties() BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput { + return o.ApplyT(func(v BulkInsertInstanceResourceResponse) map[string]BulkInsertInstanceResourcePerInstancePropertiesResponse { + return v.PerInstanceProperties + }).(BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput) } // Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. @@ -14215,6 +14609,48 @@ func (o DiskAsyncReplicationPtrOutput) Disk() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type DiskAsyncReplicationListResponse struct { + AsyncReplicationDisk DiskAsyncReplicationResponse `pulumi:"asyncReplicationDisk"` +} + +type DiskAsyncReplicationListResponseOutput struct{ *pulumi.OutputState } + +func (DiskAsyncReplicationListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DiskAsyncReplicationListResponse)(nil)).Elem() +} + +func (o DiskAsyncReplicationListResponseOutput) ToDiskAsyncReplicationListResponseOutput() DiskAsyncReplicationListResponseOutput { + return o +} + +func (o DiskAsyncReplicationListResponseOutput) ToDiskAsyncReplicationListResponseOutputWithContext(ctx context.Context) DiskAsyncReplicationListResponseOutput { + return o +} + +func (o DiskAsyncReplicationListResponseOutput) AsyncReplicationDisk() DiskAsyncReplicationResponseOutput { + return o.ApplyT(func(v DiskAsyncReplicationListResponse) DiskAsyncReplicationResponse { return v.AsyncReplicationDisk }).(DiskAsyncReplicationResponseOutput) +} + +type DiskAsyncReplicationListResponseMapOutput struct{ *pulumi.OutputState } + +func (DiskAsyncReplicationListResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]DiskAsyncReplicationListResponse)(nil)).Elem() +} + +func (o DiskAsyncReplicationListResponseMapOutput) ToDiskAsyncReplicationListResponseMapOutput() DiskAsyncReplicationListResponseMapOutput { + return o +} + +func (o DiskAsyncReplicationListResponseMapOutput) ToDiskAsyncReplicationListResponseMapOutputWithContext(ctx context.Context) DiskAsyncReplicationListResponseMapOutput { + return o +} + +func (o DiskAsyncReplicationListResponseMapOutput) MapIndex(k pulumi.StringInput) DiskAsyncReplicationListResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) DiskAsyncReplicationListResponse { + return vs[0].(map[string]DiskAsyncReplicationListResponse)[vs[1].(string)] + }).(DiskAsyncReplicationListResponseOutput) +} + type DiskAsyncReplicationResponse struct { // URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group. ConsistencyGroupPolicy string `pulumi:"consistencyGroupPolicy"` @@ -14642,10 +15078,30 @@ func (o DiskResourceStatusAsyncReplicationStatusResponseOutput) State() pulumi.S return o.ApplyT(func(v DiskResourceStatusAsyncReplicationStatusResponse) string { return v.State }).(pulumi.StringOutput) } +type DiskResourceStatusAsyncReplicationStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (DiskResourceStatusAsyncReplicationStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]DiskResourceStatusAsyncReplicationStatusResponse)(nil)).Elem() +} + +func (o DiskResourceStatusAsyncReplicationStatusResponseMapOutput) ToDiskResourceStatusAsyncReplicationStatusResponseMapOutput() DiskResourceStatusAsyncReplicationStatusResponseMapOutput { + return o +} + +func (o DiskResourceStatusAsyncReplicationStatusResponseMapOutput) ToDiskResourceStatusAsyncReplicationStatusResponseMapOutputWithContext(ctx context.Context) DiskResourceStatusAsyncReplicationStatusResponseMapOutput { + return o +} + +func (o DiskResourceStatusAsyncReplicationStatusResponseMapOutput) MapIndex(k pulumi.StringInput) DiskResourceStatusAsyncReplicationStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) DiskResourceStatusAsyncReplicationStatusResponse { + return vs[0].(map[string]DiskResourceStatusAsyncReplicationStatusResponse)[vs[1].(string)] + }).(DiskResourceStatusAsyncReplicationStatusResponseOutput) +} + type DiskResourceStatusResponse struct { AsyncPrimaryDisk DiskResourceStatusAsyncReplicationStatusResponse `pulumi:"asyncPrimaryDisk"` // Key: disk, value: AsyncReplicationStatus message - AsyncSecondaryDisks map[string]string `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks map[string]DiskResourceStatusAsyncReplicationStatusResponse `pulumi:"asyncSecondaryDisks"` // Space used by data stored in the disk (in bytes). Note that this field is set only when the disk is in a storage pool. UsedBytes string `pulumi:"usedBytes"` } @@ -14671,8 +15127,10 @@ func (o DiskResourceStatusResponseOutput) AsyncPrimaryDisk() DiskResourceStatusA } // Key: disk, value: AsyncReplicationStatus message -func (o DiskResourceStatusResponseOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v DiskResourceStatusResponse) map[string]string { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o DiskResourceStatusResponseOutput) AsyncSecondaryDisks() DiskResourceStatusAsyncReplicationStatusResponseMapOutput { + return o.ApplyT(func(v DiskResourceStatusResponse) map[string]DiskResourceStatusAsyncReplicationStatusResponse { + return v.AsyncSecondaryDisks + }).(DiskResourceStatusAsyncReplicationStatusResponseMapOutput) } // Space used by data stored in the disk (in bytes). Note that this field is set only when the disk is in a storage pool. @@ -25084,9 +25542,9 @@ func (o InstanceGroupManagerAutoHealingPolicyResponseArrayOutput) Index(i pulumi type InstanceGroupManagerInstanceFlexibilityPolicy struct { // Named instance selections configuring properties that the group will use when creating new VMs. - InstanceSelectionLists map[string]string `pulumi:"instanceSelectionLists"` + InstanceSelectionLists map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection `pulumi:"instanceSelectionLists"` // Named instance selections configuring properties that the group will use when creating new VMs. - InstanceSelections map[string]string `pulumi:"instanceSelections"` + InstanceSelections map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection `pulumi:"instanceSelections"` } // InstanceGroupManagerInstanceFlexibilityPolicyInput is an input type that accepts InstanceGroupManagerInstanceFlexibilityPolicyArgs and InstanceGroupManagerInstanceFlexibilityPolicyOutput values. @@ -25102,9 +25560,9 @@ type InstanceGroupManagerInstanceFlexibilityPolicyInput interface { type InstanceGroupManagerInstanceFlexibilityPolicyArgs struct { // Named instance selections configuring properties that the group will use when creating new VMs. - InstanceSelectionLists pulumi.StringMapInput `pulumi:"instanceSelectionLists"` + InstanceSelectionLists InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput `pulumi:"instanceSelectionLists"` // Named instance selections configuring properties that the group will use when creating new VMs. - InstanceSelections pulumi.StringMapInput `pulumi:"instanceSelections"` + InstanceSelections InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput `pulumi:"instanceSelections"` } func (InstanceGroupManagerInstanceFlexibilityPolicyArgs) ElementType() reflect.Type { @@ -25185,15 +25643,17 @@ func (o InstanceGroupManagerInstanceFlexibilityPolicyOutput) ToInstanceGroupMana } // Named instance selections configuring properties that the group will use when creating new VMs. -func (o InstanceGroupManagerInstanceFlexibilityPolicyOutput) InstanceSelectionLists() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicy) map[string]string { +func (o InstanceGroupManagerInstanceFlexibilityPolicyOutput) InstanceSelectionLists() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicy) map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection { return v.InstanceSelectionLists - }).(pulumi.StringMapOutput) + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) } // Named instance selections configuring properties that the group will use when creating new VMs. -func (o InstanceGroupManagerInstanceFlexibilityPolicyOutput) InstanceSelections() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicy) map[string]string { return v.InstanceSelections }).(pulumi.StringMapOutput) +func (o InstanceGroupManagerInstanceFlexibilityPolicyOutput) InstanceSelections() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicy) map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection { + return v.InstanceSelections + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) } type InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput struct{ *pulumi.OutputState } @@ -25221,30 +25681,189 @@ func (o InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput) Elem() InstanceG } // Named instance selections configuring properties that the group will use when creating new VMs. -func (o InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput) InstanceSelectionLists() pulumi.StringMapOutput { - return o.ApplyT(func(v *InstanceGroupManagerInstanceFlexibilityPolicy) map[string]string { +func (o InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput) InstanceSelectionLists() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o.ApplyT(func(v *InstanceGroupManagerInstanceFlexibilityPolicy) map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection { if v == nil { return nil } return v.InstanceSelectionLists - }).(pulumi.StringMapOutput) + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) } // Named instance selections configuring properties that the group will use when creating new VMs. -func (o InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput) InstanceSelections() pulumi.StringMapOutput { - return o.ApplyT(func(v *InstanceGroupManagerInstanceFlexibilityPolicy) map[string]string { +func (o InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput) InstanceSelections() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o.ApplyT(func(v *InstanceGroupManagerInstanceFlexibilityPolicy) map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection { if v == nil { return nil } return v.InstanceSelections - }).(pulumi.StringMapOutput) + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection struct { + // Full machine-type names, e.g. "n1-standard-16". + MachineTypes []string `pulumi:"machineTypes"` + // Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + Rank *int `pulumi:"rank"` +} + +// InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput is an input type that accepts InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs and InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput values. +// You can construct a concrete instance of `InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput` via: +// +// InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs{...} +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput interface { + pulumi.Input + + ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput + ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutputWithContext(context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs struct { + // Full machine-type names, e.g. "n1-standard-16". + MachineTypes pulumi.StringArrayInput `pulumi:"machineTypes"` + // Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + Rank pulumi.IntPtrInput `pulumi:"rank"` +} + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)(nil)).Elem() +} + +func (i InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return i.ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutputWithContext(context.Background()) +} + +func (i InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) +} + +// InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput is an input type that accepts InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap and InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput values. +// You can construct a concrete instance of `InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput` via: +// +// InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap{ "key": InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs{...} } +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput interface { + pulumi.Input + + ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput + ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutputWithContext(context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)(nil)).Elem() +} + +func (i InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return i.ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutputWithContext(context.Background()) +} + +func (i InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput struct{ *pulumi.OutputState } + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)(nil)).Elem() +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return o +} + +// Full machine-type names, e.g. "n1-standard-16". +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) MachineTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection) []string { return v.MachineTypes }).(pulumi.StringArrayOutput) +} + +// Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) Rank() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection) *int { return v.Rank }).(pulumi.IntPtrOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput struct{ *pulumi.OutputState } + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)(nil)).Elem() +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) MapIndex(k pulumi.StringInput) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection { + return vs[0].(map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)[vs[1].(string)] + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse struct { + // Full machine-type names, e.g. "n1-standard-16". + MachineTypes []string `pulumi:"machineTypes"` + // Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + Rank int `pulumi:"rank"` +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput struct{ *pulumi.OutputState } + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse)(nil)).Elem() +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput { + return o +} + +// Full machine-type names, e.g. "n1-standard-16". +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) MachineTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse) []string { + return v.MachineTypes + }).(pulumi.StringArrayOutput) +} + +// Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) Rank() pulumi.IntOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse) int { return v.Rank }).(pulumi.IntOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput struct{ *pulumi.OutputState } + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse)(nil)).Elem() +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) MapIndex(k pulumi.StringInput) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse { + return vs[0].(map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse)[vs[1].(string)] + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) } type InstanceGroupManagerInstanceFlexibilityPolicyResponse struct { // Named instance selections configuring properties that the group will use when creating new VMs. - InstanceSelectionLists map[string]string `pulumi:"instanceSelectionLists"` + InstanceSelectionLists map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse `pulumi:"instanceSelectionLists"` // Named instance selections configuring properties that the group will use when creating new VMs. - InstanceSelections map[string]string `pulumi:"instanceSelections"` + InstanceSelections map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse `pulumi:"instanceSelections"` } type InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput struct{ *pulumi.OutputState } @@ -25262,17 +25881,17 @@ func (o InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput) ToInstanceG } // Named instance selections configuring properties that the group will use when creating new VMs. -func (o InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput) InstanceSelectionLists() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyResponse) map[string]string { +func (o InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput) InstanceSelectionLists() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyResponse) map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse { return v.InstanceSelectionLists - }).(pulumi.StringMapOutput) + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) } // Named instance selections configuring properties that the group will use when creating new VMs. -func (o InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput) InstanceSelections() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyResponse) map[string]string { +func (o InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput) InstanceSelections() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyResponse) map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse { return v.InstanceSelections - }).(pulumi.StringMapOutput) + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) } type InstanceGroupManagerInstanceLifecyclePolicy struct { @@ -26962,7 +27581,7 @@ type InstanceProperties struct { // Note that for MachineImage, this is not supported yet. NetworkPerformanceConfig *NetworkPerformanceConfig `pulumi:"networkPerformanceConfig"` // Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. - PartnerMetadata map[string]string `pulumi:"partnerMetadata"` + PartnerMetadata map[string]StructuredEntries `pulumi:"partnerMetadata"` // PostKeyRevocationActionType of the instance. PostKeyRevocationActionType *InstancePropertiesPostKeyRevocationActionType `pulumi:"postKeyRevocationActionType"` // The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet. @@ -26980,7 +27599,7 @@ type InstanceProperties struct { // A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances. ServiceAccounts []ServiceAccount `pulumi:"serviceAccounts"` // Mapping of user defined keys to ServiceIntegrationSpec. - ServiceIntegrationSpecs map[string]string `pulumi:"serviceIntegrationSpecs"` + ServiceIntegrationSpecs map[string]ServiceIntegrationSpec `pulumi:"serviceIntegrationSpecs"` // Note that for MachineImage, this is not supported yet. ShieldedInstanceConfig *ShieldedInstanceConfig `pulumi:"shieldedInstanceConfig"` // Specifies the Shielded VM options for the instances that are created from these properties. @@ -27030,7 +27649,7 @@ type InstancePropertiesArgs struct { // Note that for MachineImage, this is not supported yet. NetworkPerformanceConfig NetworkPerformanceConfigPtrInput `pulumi:"networkPerformanceConfig"` // Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. - PartnerMetadata pulumi.StringMapInput `pulumi:"partnerMetadata"` + PartnerMetadata StructuredEntriesMapInput `pulumi:"partnerMetadata"` // PostKeyRevocationActionType of the instance. PostKeyRevocationActionType InstancePropertiesPostKeyRevocationActionTypePtrInput `pulumi:"postKeyRevocationActionType"` // The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet. @@ -27048,7 +27667,7 @@ type InstancePropertiesArgs struct { // A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances. ServiceAccounts ServiceAccountArrayInput `pulumi:"serviceAccounts"` // Mapping of user defined keys to ServiceIntegrationSpec. - ServiceIntegrationSpecs pulumi.StringMapInput `pulumi:"serviceIntegrationSpecs"` + ServiceIntegrationSpecs ServiceIntegrationSpecMapInput `pulumi:"serviceIntegrationSpecs"` // Note that for MachineImage, this is not supported yet. ShieldedInstanceConfig ShieldedInstanceConfigPtrInput `pulumi:"shieldedInstanceConfig"` // Specifies the Shielded VM options for the instances that are created from these properties. @@ -27207,8 +27826,8 @@ func (o InstancePropertiesOutput) NetworkPerformanceConfig() NetworkPerformanceC } // Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. -func (o InstancePropertiesOutput) PartnerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceProperties) map[string]string { return v.PartnerMetadata }).(pulumi.StringMapOutput) +func (o InstancePropertiesOutput) PartnerMetadata() StructuredEntriesMapOutput { + return o.ApplyT(func(v InstanceProperties) map[string]StructuredEntries { return v.PartnerMetadata }).(StructuredEntriesMapOutput) } // PostKeyRevocationActionType of the instance. @@ -27256,8 +27875,8 @@ func (o InstancePropertiesOutput) ServiceAccounts() ServiceAccountArrayOutput { } // Mapping of user defined keys to ServiceIntegrationSpec. -func (o InstancePropertiesOutput) ServiceIntegrationSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceProperties) map[string]string { return v.ServiceIntegrationSpecs }).(pulumi.StringMapOutput) +func (o InstancePropertiesOutput) ServiceIntegrationSpecs() ServiceIntegrationSpecMapOutput { + return o.ApplyT(func(v InstanceProperties) map[string]ServiceIntegrationSpec { return v.ServiceIntegrationSpecs }).(ServiceIntegrationSpecMapOutput) } // Note that for MachineImage, this is not supported yet. @@ -27440,13 +28059,13 @@ func (o InstancePropertiesPtrOutput) NetworkPerformanceConfig() NetworkPerforman } // Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. -func (o InstancePropertiesPtrOutput) PartnerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *InstanceProperties) map[string]string { +func (o InstancePropertiesPtrOutput) PartnerMetadata() StructuredEntriesMapOutput { + return o.ApplyT(func(v *InstanceProperties) map[string]StructuredEntries { if v == nil { return nil } return v.PartnerMetadata - }).(pulumi.StringMapOutput) + }).(StructuredEntriesMapOutput) } // PostKeyRevocationActionType of the instance. @@ -27530,13 +28149,13 @@ func (o InstancePropertiesPtrOutput) ServiceAccounts() ServiceAccountArrayOutput } // Mapping of user defined keys to ServiceIntegrationSpec. -func (o InstancePropertiesPtrOutput) ServiceIntegrationSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v *InstanceProperties) map[string]string { +func (o InstancePropertiesPtrOutput) ServiceIntegrationSpecs() ServiceIntegrationSpecMapOutput { + return o.ApplyT(func(v *InstanceProperties) map[string]ServiceIntegrationSpec { if v == nil { return nil } return v.ServiceIntegrationSpecs - }).(pulumi.StringMapOutput) + }).(ServiceIntegrationSpecMapOutput) } // Note that for MachineImage, this is not supported yet. @@ -27791,7 +28410,7 @@ type InstancePropertiesResponse struct { // Note that for MachineImage, this is not supported yet. NetworkPerformanceConfig NetworkPerformanceConfigResponse `pulumi:"networkPerformanceConfig"` // Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. - PartnerMetadata map[string]string `pulumi:"partnerMetadata"` + PartnerMetadata map[string]StructuredEntriesResponse `pulumi:"partnerMetadata"` // PostKeyRevocationActionType of the instance. PostKeyRevocationActionType string `pulumi:"postKeyRevocationActionType"` // The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet. @@ -27809,7 +28428,7 @@ type InstancePropertiesResponse struct { // A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances. ServiceAccounts []ServiceAccountResponse `pulumi:"serviceAccounts"` // Mapping of user defined keys to ServiceIntegrationSpec. - ServiceIntegrationSpecs map[string]string `pulumi:"serviceIntegrationSpecs"` + ServiceIntegrationSpecs map[string]ServiceIntegrationSpecResponse `pulumi:"serviceIntegrationSpecs"` // Note that for MachineImage, this is not supported yet. ShieldedInstanceConfig ShieldedInstanceConfigResponse `pulumi:"shieldedInstanceConfig"` // Specifies the Shielded VM options for the instances that are created from these properties. @@ -27905,8 +28524,8 @@ func (o InstancePropertiesResponseOutput) NetworkPerformanceConfig() NetworkPerf } // Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. -func (o InstancePropertiesResponseOutput) PartnerMetadata() pulumi.StringMapOutput { - return o.ApplyT(func(v InstancePropertiesResponse) map[string]string { return v.PartnerMetadata }).(pulumi.StringMapOutput) +func (o InstancePropertiesResponseOutput) PartnerMetadata() StructuredEntriesResponseMapOutput { + return o.ApplyT(func(v InstancePropertiesResponse) map[string]StructuredEntriesResponse { return v.PartnerMetadata }).(StructuredEntriesResponseMapOutput) } // PostKeyRevocationActionType of the instance. @@ -27950,8 +28569,10 @@ func (o InstancePropertiesResponseOutput) ServiceAccounts() ServiceAccountRespon } // Mapping of user defined keys to ServiceIntegrationSpec. -func (o InstancePropertiesResponseOutput) ServiceIntegrationSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v InstancePropertiesResponse) map[string]string { return v.ServiceIntegrationSpecs }).(pulumi.StringMapOutput) +func (o InstancePropertiesResponseOutput) ServiceIntegrationSpecs() ServiceIntegrationSpecResponseMapOutput { + return o.ApplyT(func(v InstancePropertiesResponse) map[string]ServiceIntegrationSpecResponse { + return v.ServiceIntegrationSpecs + }).(ServiceIntegrationSpecResponseMapOutput) } // Note that for MachineImage, this is not supported yet. @@ -30064,7 +30685,7 @@ func (o LocalizedMessageResponseOutput) Message() pulumi.StringOutput { // Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). type LocationPolicy struct { // Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. - Locations map[string]string `pulumi:"locations"` + Locations map[string]LocationPolicyLocation `pulumi:"locations"` // Strategy for distributing VMs across zones in a region. TargetShape *LocationPolicyTargetShape `pulumi:"targetShape"` } @@ -30083,7 +30704,7 @@ type LocationPolicyInput interface { // Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). type LocationPolicyArgs struct { // Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. - Locations pulumi.StringMapInput `pulumi:"locations"` + Locations LocationPolicyLocationMapInput `pulumi:"locations"` // Strategy for distributing VMs across zones in a region. TargetShape LocationPolicyTargetShapePtrInput `pulumi:"targetShape"` } @@ -30167,8 +30788,8 @@ func (o LocationPolicyOutput) ToLocationPolicyPtrOutputWithContext(ctx context.C } // Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. -func (o LocationPolicyOutput) Locations() pulumi.StringMapOutput { - return o.ApplyT(func(v LocationPolicy) map[string]string { return v.Locations }).(pulumi.StringMapOutput) +func (o LocationPolicyOutput) Locations() LocationPolicyLocationMapOutput { + return o.ApplyT(func(v LocationPolicy) map[string]LocationPolicyLocation { return v.Locations }).(LocationPolicyLocationMapOutput) } // Strategy for distributing VMs across zones in a region. @@ -30201,13 +30822,13 @@ func (o LocationPolicyPtrOutput) Elem() LocationPolicyOutput { } // Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. -func (o LocationPolicyPtrOutput) Locations() pulumi.StringMapOutput { - return o.ApplyT(func(v *LocationPolicy) map[string]string { +func (o LocationPolicyPtrOutput) Locations() LocationPolicyLocationMapOutput { + return o.ApplyT(func(v *LocationPolicy) map[string]LocationPolicyLocation { if v == nil { return nil } return v.Locations - }).(pulumi.StringMapOutput) + }).(LocationPolicyLocationMapOutput) } // Strategy for distributing VMs across zones in a region. @@ -30220,10 +30841,349 @@ func (o LocationPolicyPtrOutput) TargetShape() LocationPolicyTargetShapePtrOutpu }).(LocationPolicyTargetShapePtrOutput) } +type LocationPolicyLocation struct { + // Constraints that the caller requires on the result distribution in this zone. + Constraints *LocationPolicyLocationConstraints `pulumi:"constraints"` + // Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + Names []string `pulumi:"names"` + // Preference for a given location. Set to either ALLOW or DENY. + Preference *LocationPolicyLocationPreference `pulumi:"preference"` +} + +// LocationPolicyLocationInput is an input type that accepts LocationPolicyLocationArgs and LocationPolicyLocationOutput values. +// You can construct a concrete instance of `LocationPolicyLocationInput` via: +// +// LocationPolicyLocationArgs{...} +type LocationPolicyLocationInput interface { + pulumi.Input + + ToLocationPolicyLocationOutput() LocationPolicyLocationOutput + ToLocationPolicyLocationOutputWithContext(context.Context) LocationPolicyLocationOutput +} + +type LocationPolicyLocationArgs struct { + // Constraints that the caller requires on the result distribution in this zone. + Constraints LocationPolicyLocationConstraintsPtrInput `pulumi:"constraints"` + // Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + Names pulumi.StringArrayInput `pulumi:"names"` + // Preference for a given location. Set to either ALLOW or DENY. + Preference LocationPolicyLocationPreferencePtrInput `pulumi:"preference"` +} + +func (LocationPolicyLocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LocationPolicyLocation)(nil)).Elem() +} + +func (i LocationPolicyLocationArgs) ToLocationPolicyLocationOutput() LocationPolicyLocationOutput { + return i.ToLocationPolicyLocationOutputWithContext(context.Background()) +} + +func (i LocationPolicyLocationArgs) ToLocationPolicyLocationOutputWithContext(ctx context.Context) LocationPolicyLocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(LocationPolicyLocationOutput) +} + +// LocationPolicyLocationMapInput is an input type that accepts LocationPolicyLocationMap and LocationPolicyLocationMapOutput values. +// You can construct a concrete instance of `LocationPolicyLocationMapInput` via: +// +// LocationPolicyLocationMap{ "key": LocationPolicyLocationArgs{...} } +type LocationPolicyLocationMapInput interface { + pulumi.Input + + ToLocationPolicyLocationMapOutput() LocationPolicyLocationMapOutput + ToLocationPolicyLocationMapOutputWithContext(context.Context) LocationPolicyLocationMapOutput +} + +type LocationPolicyLocationMap map[string]LocationPolicyLocationInput + +func (LocationPolicyLocationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]LocationPolicyLocation)(nil)).Elem() +} + +func (i LocationPolicyLocationMap) ToLocationPolicyLocationMapOutput() LocationPolicyLocationMapOutput { + return i.ToLocationPolicyLocationMapOutputWithContext(context.Background()) +} + +func (i LocationPolicyLocationMap) ToLocationPolicyLocationMapOutputWithContext(ctx context.Context) LocationPolicyLocationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LocationPolicyLocationMapOutput) +} + +type LocationPolicyLocationOutput struct{ *pulumi.OutputState } + +func (LocationPolicyLocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LocationPolicyLocation)(nil)).Elem() +} + +func (o LocationPolicyLocationOutput) ToLocationPolicyLocationOutput() LocationPolicyLocationOutput { + return o +} + +func (o LocationPolicyLocationOutput) ToLocationPolicyLocationOutputWithContext(ctx context.Context) LocationPolicyLocationOutput { + return o +} + +// Constraints that the caller requires on the result distribution in this zone. +func (o LocationPolicyLocationOutput) Constraints() LocationPolicyLocationConstraintsPtrOutput { + return o.ApplyT(func(v LocationPolicyLocation) *LocationPolicyLocationConstraints { return v.Constraints }).(LocationPolicyLocationConstraintsPtrOutput) +} + +// Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. +func (o LocationPolicyLocationOutput) Names() pulumi.StringArrayOutput { + return o.ApplyT(func(v LocationPolicyLocation) []string { return v.Names }).(pulumi.StringArrayOutput) +} + +// Preference for a given location. Set to either ALLOW or DENY. +func (o LocationPolicyLocationOutput) Preference() LocationPolicyLocationPreferencePtrOutput { + return o.ApplyT(func(v LocationPolicyLocation) *LocationPolicyLocationPreference { return v.Preference }).(LocationPolicyLocationPreferencePtrOutput) +} + +type LocationPolicyLocationMapOutput struct{ *pulumi.OutputState } + +func (LocationPolicyLocationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]LocationPolicyLocation)(nil)).Elem() +} + +func (o LocationPolicyLocationMapOutput) ToLocationPolicyLocationMapOutput() LocationPolicyLocationMapOutput { + return o +} + +func (o LocationPolicyLocationMapOutput) ToLocationPolicyLocationMapOutputWithContext(ctx context.Context) LocationPolicyLocationMapOutput { + return o +} + +func (o LocationPolicyLocationMapOutput) MapIndex(k pulumi.StringInput) LocationPolicyLocationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) LocationPolicyLocation { + return vs[0].(map[string]LocationPolicyLocation)[vs[1].(string)] + }).(LocationPolicyLocationOutput) +} + +// Per-zone constraints on location policy for this zone. +type LocationPolicyLocationConstraints struct { + // Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + MaxCount *int `pulumi:"maxCount"` +} + +// LocationPolicyLocationConstraintsInput is an input type that accepts LocationPolicyLocationConstraintsArgs and LocationPolicyLocationConstraintsOutput values. +// You can construct a concrete instance of `LocationPolicyLocationConstraintsInput` via: +// +// LocationPolicyLocationConstraintsArgs{...} +type LocationPolicyLocationConstraintsInput interface { + pulumi.Input + + ToLocationPolicyLocationConstraintsOutput() LocationPolicyLocationConstraintsOutput + ToLocationPolicyLocationConstraintsOutputWithContext(context.Context) LocationPolicyLocationConstraintsOutput +} + +// Per-zone constraints on location policy for this zone. +type LocationPolicyLocationConstraintsArgs struct { + // Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + MaxCount pulumi.IntPtrInput `pulumi:"maxCount"` +} + +func (LocationPolicyLocationConstraintsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LocationPolicyLocationConstraints)(nil)).Elem() +} + +func (i LocationPolicyLocationConstraintsArgs) ToLocationPolicyLocationConstraintsOutput() LocationPolicyLocationConstraintsOutput { + return i.ToLocationPolicyLocationConstraintsOutputWithContext(context.Background()) +} + +func (i LocationPolicyLocationConstraintsArgs) ToLocationPolicyLocationConstraintsOutputWithContext(ctx context.Context) LocationPolicyLocationConstraintsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LocationPolicyLocationConstraintsOutput) +} + +func (i LocationPolicyLocationConstraintsArgs) ToLocationPolicyLocationConstraintsPtrOutput() LocationPolicyLocationConstraintsPtrOutput { + return i.ToLocationPolicyLocationConstraintsPtrOutputWithContext(context.Background()) +} + +func (i LocationPolicyLocationConstraintsArgs) ToLocationPolicyLocationConstraintsPtrOutputWithContext(ctx context.Context) LocationPolicyLocationConstraintsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LocationPolicyLocationConstraintsOutput).ToLocationPolicyLocationConstraintsPtrOutputWithContext(ctx) +} + +// LocationPolicyLocationConstraintsPtrInput is an input type that accepts LocationPolicyLocationConstraintsArgs, LocationPolicyLocationConstraintsPtr and LocationPolicyLocationConstraintsPtrOutput values. +// You can construct a concrete instance of `LocationPolicyLocationConstraintsPtrInput` via: +// +// LocationPolicyLocationConstraintsArgs{...} +// +// or: +// +// nil +type LocationPolicyLocationConstraintsPtrInput interface { + pulumi.Input + + ToLocationPolicyLocationConstraintsPtrOutput() LocationPolicyLocationConstraintsPtrOutput + ToLocationPolicyLocationConstraintsPtrOutputWithContext(context.Context) LocationPolicyLocationConstraintsPtrOutput +} + +type locationPolicyLocationConstraintsPtrType LocationPolicyLocationConstraintsArgs + +func LocationPolicyLocationConstraintsPtr(v *LocationPolicyLocationConstraintsArgs) LocationPolicyLocationConstraintsPtrInput { + return (*locationPolicyLocationConstraintsPtrType)(v) +} + +func (*locationPolicyLocationConstraintsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LocationPolicyLocationConstraints)(nil)).Elem() +} + +func (i *locationPolicyLocationConstraintsPtrType) ToLocationPolicyLocationConstraintsPtrOutput() LocationPolicyLocationConstraintsPtrOutput { + return i.ToLocationPolicyLocationConstraintsPtrOutputWithContext(context.Background()) +} + +func (i *locationPolicyLocationConstraintsPtrType) ToLocationPolicyLocationConstraintsPtrOutputWithContext(ctx context.Context) LocationPolicyLocationConstraintsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LocationPolicyLocationConstraintsPtrOutput) +} + +// Per-zone constraints on location policy for this zone. +type LocationPolicyLocationConstraintsOutput struct{ *pulumi.OutputState } + +func (LocationPolicyLocationConstraintsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LocationPolicyLocationConstraints)(nil)).Elem() +} + +func (o LocationPolicyLocationConstraintsOutput) ToLocationPolicyLocationConstraintsOutput() LocationPolicyLocationConstraintsOutput { + return o +} + +func (o LocationPolicyLocationConstraintsOutput) ToLocationPolicyLocationConstraintsOutputWithContext(ctx context.Context) LocationPolicyLocationConstraintsOutput { + return o +} + +func (o LocationPolicyLocationConstraintsOutput) ToLocationPolicyLocationConstraintsPtrOutput() LocationPolicyLocationConstraintsPtrOutput { + return o.ToLocationPolicyLocationConstraintsPtrOutputWithContext(context.Background()) +} + +func (o LocationPolicyLocationConstraintsOutput) ToLocationPolicyLocationConstraintsPtrOutputWithContext(ctx context.Context) LocationPolicyLocationConstraintsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LocationPolicyLocationConstraints) *LocationPolicyLocationConstraints { + return &v + }).(LocationPolicyLocationConstraintsPtrOutput) +} + +// Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. +func (o LocationPolicyLocationConstraintsOutput) MaxCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v LocationPolicyLocationConstraints) *int { return v.MaxCount }).(pulumi.IntPtrOutput) +} + +type LocationPolicyLocationConstraintsPtrOutput struct{ *pulumi.OutputState } + +func (LocationPolicyLocationConstraintsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LocationPolicyLocationConstraints)(nil)).Elem() +} + +func (o LocationPolicyLocationConstraintsPtrOutput) ToLocationPolicyLocationConstraintsPtrOutput() LocationPolicyLocationConstraintsPtrOutput { + return o +} + +func (o LocationPolicyLocationConstraintsPtrOutput) ToLocationPolicyLocationConstraintsPtrOutputWithContext(ctx context.Context) LocationPolicyLocationConstraintsPtrOutput { + return o +} + +func (o LocationPolicyLocationConstraintsPtrOutput) Elem() LocationPolicyLocationConstraintsOutput { + return o.ApplyT(func(v *LocationPolicyLocationConstraints) LocationPolicyLocationConstraints { + if v != nil { + return *v + } + var ret LocationPolicyLocationConstraints + return ret + }).(LocationPolicyLocationConstraintsOutput) +} + +// Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. +func (o LocationPolicyLocationConstraintsPtrOutput) MaxCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LocationPolicyLocationConstraints) *int { + if v == nil { + return nil + } + return v.MaxCount + }).(pulumi.IntPtrOutput) +} + +// Per-zone constraints on location policy for this zone. +type LocationPolicyLocationConstraintsResponse struct { + // Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + MaxCount int `pulumi:"maxCount"` +} + +// Per-zone constraints on location policy for this zone. +type LocationPolicyLocationConstraintsResponseOutput struct{ *pulumi.OutputState } + +func (LocationPolicyLocationConstraintsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LocationPolicyLocationConstraintsResponse)(nil)).Elem() +} + +func (o LocationPolicyLocationConstraintsResponseOutput) ToLocationPolicyLocationConstraintsResponseOutput() LocationPolicyLocationConstraintsResponseOutput { + return o +} + +func (o LocationPolicyLocationConstraintsResponseOutput) ToLocationPolicyLocationConstraintsResponseOutputWithContext(ctx context.Context) LocationPolicyLocationConstraintsResponseOutput { + return o +} + +// Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. +func (o LocationPolicyLocationConstraintsResponseOutput) MaxCount() pulumi.IntOutput { + return o.ApplyT(func(v LocationPolicyLocationConstraintsResponse) int { return v.MaxCount }).(pulumi.IntOutput) +} + +type LocationPolicyLocationResponse struct { + // Constraints that the caller requires on the result distribution in this zone. + Constraints LocationPolicyLocationConstraintsResponse `pulumi:"constraints"` + // Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + Names []string `pulumi:"names"` + // Preference for a given location. Set to either ALLOW or DENY. + Preference string `pulumi:"preference"` +} + +type LocationPolicyLocationResponseOutput struct{ *pulumi.OutputState } + +func (LocationPolicyLocationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LocationPolicyLocationResponse)(nil)).Elem() +} + +func (o LocationPolicyLocationResponseOutput) ToLocationPolicyLocationResponseOutput() LocationPolicyLocationResponseOutput { + return o +} + +func (o LocationPolicyLocationResponseOutput) ToLocationPolicyLocationResponseOutputWithContext(ctx context.Context) LocationPolicyLocationResponseOutput { + return o +} + +// Constraints that the caller requires on the result distribution in this zone. +func (o LocationPolicyLocationResponseOutput) Constraints() LocationPolicyLocationConstraintsResponseOutput { + return o.ApplyT(func(v LocationPolicyLocationResponse) LocationPolicyLocationConstraintsResponse { return v.Constraints }).(LocationPolicyLocationConstraintsResponseOutput) +} + +// Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. +func (o LocationPolicyLocationResponseOutput) Names() pulumi.StringArrayOutput { + return o.ApplyT(func(v LocationPolicyLocationResponse) []string { return v.Names }).(pulumi.StringArrayOutput) +} + +// Preference for a given location. Set to either ALLOW or DENY. +func (o LocationPolicyLocationResponseOutput) Preference() pulumi.StringOutput { + return o.ApplyT(func(v LocationPolicyLocationResponse) string { return v.Preference }).(pulumi.StringOutput) +} + +type LocationPolicyLocationResponseMapOutput struct{ *pulumi.OutputState } + +func (LocationPolicyLocationResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]LocationPolicyLocationResponse)(nil)).Elem() +} + +func (o LocationPolicyLocationResponseMapOutput) ToLocationPolicyLocationResponseMapOutput() LocationPolicyLocationResponseMapOutput { + return o +} + +func (o LocationPolicyLocationResponseMapOutput) ToLocationPolicyLocationResponseMapOutputWithContext(ctx context.Context) LocationPolicyLocationResponseMapOutput { + return o +} + +func (o LocationPolicyLocationResponseMapOutput) MapIndex(k pulumi.StringInput) LocationPolicyLocationResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) LocationPolicyLocationResponse { + return vs[0].(map[string]LocationPolicyLocationResponse)[vs[1].(string)] + }).(LocationPolicyLocationResponseOutput) +} + // Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). type LocationPolicyResponse struct { // Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. - Locations map[string]string `pulumi:"locations"` + Locations map[string]LocationPolicyLocationResponse `pulumi:"locations"` // Strategy for distributing VMs across zones in a region. TargetShape string `pulumi:"targetShape"` } @@ -30244,8 +31204,8 @@ func (o LocationPolicyResponseOutput) ToLocationPolicyResponseOutputWithContext( } // Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. -func (o LocationPolicyResponseOutput) Locations() pulumi.StringMapOutput { - return o.ApplyT(func(v LocationPolicyResponse) map[string]string { return v.Locations }).(pulumi.StringMapOutput) +func (o LocationPolicyResponseOutput) Locations() LocationPolicyLocationResponseMapOutput { + return o.ApplyT(func(v LocationPolicyResponse) map[string]LocationPolicyLocationResponse { return v.Locations }).(LocationPolicyLocationResponseMapOutput) } // Strategy for distributing VMs across zones in a region. @@ -43986,7 +44946,7 @@ type ResourceStatusResponse struct { PhysicalHost string `pulumi:"physicalHost"` Scheduling ResourceStatusSchedulingResponse `pulumi:"scheduling"` // Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs. - ServiceIntegrationStatuses map[string]string `pulumi:"serviceIntegrationStatuses"` + ServiceIntegrationStatuses map[string]ResourceStatusServiceIntegrationStatusResponse `pulumi:"serviceIntegrationStatuses"` // Details about stopping state of instance ShutdownDetails ResourceStatusShutdownDetailsResponse `pulumi:"shutdownDetails"` UpcomingMaintenance UpcomingMaintenanceResponse `pulumi:"upcomingMaintenance"` @@ -44024,8 +44984,10 @@ func (o ResourceStatusResponseOutput) Scheduling() ResourceStatusSchedulingRespo } // Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs. -func (o ResourceStatusResponseOutput) ServiceIntegrationStatuses() pulumi.StringMapOutput { - return o.ApplyT(func(v ResourceStatusResponse) map[string]string { return v.ServiceIntegrationStatuses }).(pulumi.StringMapOutput) +func (o ResourceStatusResponseOutput) ServiceIntegrationStatuses() ResourceStatusServiceIntegrationStatusResponseMapOutput { + return o.ApplyT(func(v ResourceStatusResponse) map[string]ResourceStatusServiceIntegrationStatusResponse { + return v.ServiceIntegrationStatuses + }).(ResourceStatusServiceIntegrationStatusResponseMapOutput) } // Details about stopping state of instance @@ -44068,6 +45030,87 @@ func (o ResourceStatusSchedulingResponseOutput) TerminationTimestamp() pulumi.St return o.ApplyT(func(v ResourceStatusSchedulingResponse) string { return v.TerminationTimestamp }).(pulumi.StringOutput) } +// Message defining compute perspective of the result of integration with Backup and DR. FAILED status indicates that the operation specified did not complete correctly and should be retried with the same value. +type ResourceStatusServiceIntegrationStatusBackupDRStatusResponse struct { + // The PlanReference object created by Backup and DR to maintain the actual status of backups. May still be present if removing the backup plan fails. + IntegrationDetails string `pulumi:"integrationDetails"` + // Enum representing the registration state of a Backup and DR backup plan for the instance. + State string `pulumi:"state"` +} + +// Message defining compute perspective of the result of integration with Backup and DR. FAILED status indicates that the operation specified did not complete correctly and should be retried with the same value. +type ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput struct{ *pulumi.OutputState } + +func (ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceStatusServiceIntegrationStatusBackupDRStatusResponse)(nil)).Elem() +} + +func (o ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput) ToResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput() ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput { + return o +} + +func (o ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput) ToResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutputWithContext(ctx context.Context) ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput { + return o +} + +// The PlanReference object created by Backup and DR to maintain the actual status of backups. May still be present if removing the backup plan fails. +func (o ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput) IntegrationDetails() pulumi.StringOutput { + return o.ApplyT(func(v ResourceStatusServiceIntegrationStatusBackupDRStatusResponse) string { + return v.IntegrationDetails + }).(pulumi.StringOutput) +} + +// Enum representing the registration state of a Backup and DR backup plan for the instance. +func (o ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ResourceStatusServiceIntegrationStatusBackupDRStatusResponse) string { return v.State }).(pulumi.StringOutput) +} + +// Represents the status of integration between instance and another service. See go/gce-backupdr-design for more details. +type ResourceStatusServiceIntegrationStatusResponse struct { + BackupDr ResourceStatusServiceIntegrationStatusBackupDRStatusResponse `pulumi:"backupDr"` +} + +// Represents the status of integration between instance and another service. See go/gce-backupdr-design for more details. +type ResourceStatusServiceIntegrationStatusResponseOutput struct{ *pulumi.OutputState } + +func (ResourceStatusServiceIntegrationStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ResourceStatusServiceIntegrationStatusResponse)(nil)).Elem() +} + +func (o ResourceStatusServiceIntegrationStatusResponseOutput) ToResourceStatusServiceIntegrationStatusResponseOutput() ResourceStatusServiceIntegrationStatusResponseOutput { + return o +} + +func (o ResourceStatusServiceIntegrationStatusResponseOutput) ToResourceStatusServiceIntegrationStatusResponseOutputWithContext(ctx context.Context) ResourceStatusServiceIntegrationStatusResponseOutput { + return o +} + +func (o ResourceStatusServiceIntegrationStatusResponseOutput) BackupDr() ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput { + return o.ApplyT(func(v ResourceStatusServiceIntegrationStatusResponse) ResourceStatusServiceIntegrationStatusBackupDRStatusResponse { + return v.BackupDr + }).(ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput) +} + +type ResourceStatusServiceIntegrationStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (ResourceStatusServiceIntegrationStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ResourceStatusServiceIntegrationStatusResponse)(nil)).Elem() +} + +func (o ResourceStatusServiceIntegrationStatusResponseMapOutput) ToResourceStatusServiceIntegrationStatusResponseMapOutput() ResourceStatusServiceIntegrationStatusResponseMapOutput { + return o +} + +func (o ResourceStatusServiceIntegrationStatusResponseMapOutput) ToResourceStatusServiceIntegrationStatusResponseMapOutputWithContext(ctx context.Context) ResourceStatusServiceIntegrationStatusResponseMapOutput { + return o +} + +func (o ResourceStatusServiceIntegrationStatusResponseMapOutput) MapIndex(k pulumi.StringInput) ResourceStatusServiceIntegrationStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ResourceStatusServiceIntegrationStatusResponse { + return vs[0].(map[string]ResourceStatusServiceIntegrationStatusResponse)[vs[1].(string)] + }).(ResourceStatusServiceIntegrationStatusResponseOutput) +} + // Specifies if the instance is in `SHUTTING_DOWN` state or there is a instance stopping scheduled. type ResourceStatusShutdownDetailsResponse struct { // Duration for graceful shutdown. Only applicable when `stop_state=SHUTTING_DOWN`. @@ -48402,6 +49445,64 @@ func (o SavedDiskResponseArrayOutput) Index(i pulumi.IntInput) SavedDiskResponse }).(SavedDiskResponseOutput) } +type ScalingScheduleStatusResponse struct { + // The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + LastStartTime string `pulumi:"lastStartTime"` + // The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + NextStartTime string `pulumi:"nextStartTime"` + // The current state of a scaling schedule. + State string `pulumi:"state"` +} + +type ScalingScheduleStatusResponseOutput struct{ *pulumi.OutputState } + +func (ScalingScheduleStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScalingScheduleStatusResponse)(nil)).Elem() +} + +func (o ScalingScheduleStatusResponseOutput) ToScalingScheduleStatusResponseOutput() ScalingScheduleStatusResponseOutput { + return o +} + +func (o ScalingScheduleStatusResponseOutput) ToScalingScheduleStatusResponseOutputWithContext(ctx context.Context) ScalingScheduleStatusResponseOutput { + return o +} + +// The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. +func (o ScalingScheduleStatusResponseOutput) LastStartTime() pulumi.StringOutput { + return o.ApplyT(func(v ScalingScheduleStatusResponse) string { return v.LastStartTime }).(pulumi.StringOutput) +} + +// The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. +func (o ScalingScheduleStatusResponseOutput) NextStartTime() pulumi.StringOutput { + return o.ApplyT(func(v ScalingScheduleStatusResponse) string { return v.NextStartTime }).(pulumi.StringOutput) +} + +// The current state of a scaling schedule. +func (o ScalingScheduleStatusResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ScalingScheduleStatusResponse) string { return v.State }).(pulumi.StringOutput) +} + +type ScalingScheduleStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (ScalingScheduleStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScalingScheduleStatusResponse)(nil)).Elem() +} + +func (o ScalingScheduleStatusResponseMapOutput) ToScalingScheduleStatusResponseMapOutput() ScalingScheduleStatusResponseMapOutput { + return o +} + +func (o ScalingScheduleStatusResponseMapOutput) ToScalingScheduleStatusResponseMapOutputWithContext(ctx context.Context) ScalingScheduleStatusResponseMapOutput { + return o +} + +func (o ScalingScheduleStatusResponseMapOutput) MapIndex(k pulumi.StringInput) ScalingScheduleStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScalingScheduleStatusResponse { + return vs[0].(map[string]ScalingScheduleStatusResponse)[vs[1].(string)] + }).(ScalingScheduleStatusResponseOutput) +} + // Sets the scheduling options for an Instance. type Scheduling struct { // Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. @@ -51444,1484 +52545,6 @@ func (o SecurityPolicyRecaptchaOptionsConfigPtrOutput) RedirectSiteKey() pulumi. }).(pulumi.StringPtrOutput) } -type SecurityPolicyRecaptchaOptionsConfigResponse struct { - // An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. This field is only supported in Global Security Policies of type CLOUD_ARMOR. - RedirectSiteKey string `pulumi:"redirectSiteKey"` -} - -type SecurityPolicyRecaptchaOptionsConfigResponseOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRecaptchaOptionsConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRecaptchaOptionsConfigResponse)(nil)).Elem() -} - -func (o SecurityPolicyRecaptchaOptionsConfigResponseOutput) ToSecurityPolicyRecaptchaOptionsConfigResponseOutput() SecurityPolicyRecaptchaOptionsConfigResponseOutput { - return o -} - -func (o SecurityPolicyRecaptchaOptionsConfigResponseOutput) ToSecurityPolicyRecaptchaOptionsConfigResponseOutputWithContext(ctx context.Context) SecurityPolicyRecaptchaOptionsConfigResponseOutput { - return o -} - -// An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. This field is only supported in Global Security Policies of type CLOUD_ARMOR. -func (o SecurityPolicyRecaptchaOptionsConfigResponseOutput) RedirectSiteKey() pulumi.StringOutput { - return o.ApplyT(func(v SecurityPolicyRecaptchaOptionsConfigResponse) string { return v.RedirectSiteKey }).(pulumi.StringOutput) -} - -// Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny). -type SecurityPolicyRule struct { - // The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. - Action *string `pulumi:"action"` - // An optional description of this resource. Provide this property when you create the resource. - Description *string `pulumi:"description"` - // The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL. - Direction *SecurityPolicyRuleDirection `pulumi:"direction"` - // Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. This field may only be specified when the versioned_expr is set to FIREWALL. - EnableLogging *bool `pulumi:"enableLogging"` - // Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR. - HeaderAction *SecurityPolicyRuleHttpHeaderAction `pulumi:"headerAction"` - // A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. - Match *SecurityPolicyRuleMatcher `pulumi:"match"` - // A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive. - NetworkMatch *SecurityPolicyRuleNetworkMatcher `pulumi:"networkMatch"` - // Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect. - PreconfiguredWafConfig *SecurityPolicyRulePreconfiguredWafConfig `pulumi:"preconfiguredWafConfig"` - // If set to true, the specified action is not enforced. - Preview *bool `pulumi:"preview"` - // An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. - Priority *int `pulumi:"priority"` - // Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions. - RateLimitOptions *SecurityPolicyRuleRateLimitOptions `pulumi:"rateLimitOptions"` - // Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR. - RedirectOptions *SecurityPolicyRuleRedirectOptions `pulumi:"redirectOptions"` - // This must be specified for redirect actions. Cannot be specified for any other actions. - RedirectTarget *string `pulumi:"redirectTarget"` - // Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server. - RuleNumber *string `pulumi:"ruleNumber"` - // A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. This field may only be specified when versioned_expr is set to FIREWALL. - TargetResources []string `pulumi:"targetResources"` - // A list of service accounts indicating the sets of instances that are applied with this rule. - TargetServiceAccounts []string `pulumi:"targetServiceAccounts"` -} - -// SecurityPolicyRuleInput is an input type that accepts SecurityPolicyRuleArgs and SecurityPolicyRuleOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleInput` via: -// -// SecurityPolicyRuleArgs{...} -type SecurityPolicyRuleInput interface { - pulumi.Input - - ToSecurityPolicyRuleOutput() SecurityPolicyRuleOutput - ToSecurityPolicyRuleOutputWithContext(context.Context) SecurityPolicyRuleOutput -} - -// Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny). -type SecurityPolicyRuleArgs struct { - // The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. - Action pulumi.StringPtrInput `pulumi:"action"` - // An optional description of this resource. Provide this property when you create the resource. - Description pulumi.StringPtrInput `pulumi:"description"` - // The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL. - Direction SecurityPolicyRuleDirectionPtrInput `pulumi:"direction"` - // Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. This field may only be specified when the versioned_expr is set to FIREWALL. - EnableLogging pulumi.BoolPtrInput `pulumi:"enableLogging"` - // Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR. - HeaderAction SecurityPolicyRuleHttpHeaderActionPtrInput `pulumi:"headerAction"` - // A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. - Match SecurityPolicyRuleMatcherPtrInput `pulumi:"match"` - // A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive. - NetworkMatch SecurityPolicyRuleNetworkMatcherPtrInput `pulumi:"networkMatch"` - // Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect. - PreconfiguredWafConfig SecurityPolicyRulePreconfiguredWafConfigPtrInput `pulumi:"preconfiguredWafConfig"` - // If set to true, the specified action is not enforced. - Preview pulumi.BoolPtrInput `pulumi:"preview"` - // An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. - Priority pulumi.IntPtrInput `pulumi:"priority"` - // Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions. - RateLimitOptions SecurityPolicyRuleRateLimitOptionsPtrInput `pulumi:"rateLimitOptions"` - // Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR. - RedirectOptions SecurityPolicyRuleRedirectOptionsPtrInput `pulumi:"redirectOptions"` - // This must be specified for redirect actions. Cannot be specified for any other actions. - RedirectTarget pulumi.StringPtrInput `pulumi:"redirectTarget"` - // Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server. - RuleNumber pulumi.StringPtrInput `pulumi:"ruleNumber"` - // A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. This field may only be specified when versioned_expr is set to FIREWALL. - TargetResources pulumi.StringArrayInput `pulumi:"targetResources"` - // A list of service accounts indicating the sets of instances that are applied with this rule. - TargetServiceAccounts pulumi.StringArrayInput `pulumi:"targetServiceAccounts"` -} - -func (SecurityPolicyRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRule)(nil)).Elem() -} - -func (i SecurityPolicyRuleArgs) ToSecurityPolicyRuleOutput() SecurityPolicyRuleOutput { - return i.ToSecurityPolicyRuleOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleArgs) ToSecurityPolicyRuleOutputWithContext(ctx context.Context) SecurityPolicyRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleOutput) -} - -// SecurityPolicyRuleArrayInput is an input type that accepts SecurityPolicyRuleArray and SecurityPolicyRuleArrayOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleArrayInput` via: -// -// SecurityPolicyRuleArray{ SecurityPolicyRuleArgs{...} } -type SecurityPolicyRuleArrayInput interface { - pulumi.Input - - ToSecurityPolicyRuleArrayOutput() SecurityPolicyRuleArrayOutput - ToSecurityPolicyRuleArrayOutputWithContext(context.Context) SecurityPolicyRuleArrayOutput -} - -type SecurityPolicyRuleArray []SecurityPolicyRuleInput - -func (SecurityPolicyRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRule)(nil)).Elem() -} - -func (i SecurityPolicyRuleArray) ToSecurityPolicyRuleArrayOutput() SecurityPolicyRuleArrayOutput { - return i.ToSecurityPolicyRuleArrayOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleArray) ToSecurityPolicyRuleArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleArrayOutput) -} - -// Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny). -type SecurityPolicyRuleOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRule)(nil)).Elem() -} - -func (o SecurityPolicyRuleOutput) ToSecurityPolicyRuleOutput() SecurityPolicyRuleOutput { - return o -} - -func (o SecurityPolicyRuleOutput) ToSecurityPolicyRuleOutputWithContext(ctx context.Context) SecurityPolicyRuleOutput { - return o -} - -// The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. -func (o SecurityPolicyRuleOutput) Action() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *string { return v.Action }).(pulumi.StringPtrOutput) -} - -// An optional description of this resource. Provide this property when you create the resource. -func (o SecurityPolicyRuleOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) -} - -// The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleOutput) Direction() SecurityPolicyRuleDirectionPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleDirection { return v.Direction }).(SecurityPolicyRuleDirectionPtrOutput) -} - -// Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. This field may only be specified when the versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleOutput) EnableLogging() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *bool { return v.EnableLogging }).(pulumi.BoolPtrOutput) -} - -// Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR. -func (o SecurityPolicyRuleOutput) HeaderAction() SecurityPolicyRuleHttpHeaderActionPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleHttpHeaderAction { return v.HeaderAction }).(SecurityPolicyRuleHttpHeaderActionPtrOutput) -} - -// A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. -func (o SecurityPolicyRuleOutput) Match() SecurityPolicyRuleMatcherPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleMatcher { return v.Match }).(SecurityPolicyRuleMatcherPtrOutput) -} - -// A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive. -func (o SecurityPolicyRuleOutput) NetworkMatch() SecurityPolicyRuleNetworkMatcherPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleNetworkMatcher { return v.NetworkMatch }).(SecurityPolicyRuleNetworkMatcherPtrOutput) -} - -// Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect. -func (o SecurityPolicyRuleOutput) PreconfiguredWafConfig() SecurityPolicyRulePreconfiguredWafConfigPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRulePreconfiguredWafConfig { return v.PreconfiguredWafConfig }).(SecurityPolicyRulePreconfiguredWafConfigPtrOutput) -} - -// If set to true, the specified action is not enforced. -func (o SecurityPolicyRuleOutput) Preview() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *bool { return v.Preview }).(pulumi.BoolPtrOutput) -} - -// An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. -func (o SecurityPolicyRuleOutput) Priority() pulumi.IntPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *int { return v.Priority }).(pulumi.IntPtrOutput) -} - -// Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions. -func (o SecurityPolicyRuleOutput) RateLimitOptions() SecurityPolicyRuleRateLimitOptionsPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleRateLimitOptions { return v.RateLimitOptions }).(SecurityPolicyRuleRateLimitOptionsPtrOutput) -} - -// Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR. -func (o SecurityPolicyRuleOutput) RedirectOptions() SecurityPolicyRuleRedirectOptionsPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleRedirectOptions { return v.RedirectOptions }).(SecurityPolicyRuleRedirectOptionsPtrOutput) -} - -// This must be specified for redirect actions. Cannot be specified for any other actions. -func (o SecurityPolicyRuleOutput) RedirectTarget() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *string { return v.RedirectTarget }).(pulumi.StringPtrOutput) -} - -// Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server. -func (o SecurityPolicyRuleOutput) RuleNumber() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityPolicyRule) *string { return v.RuleNumber }).(pulumi.StringPtrOutput) -} - -// A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleOutput) TargetResources() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRule) []string { return v.TargetResources }).(pulumi.StringArrayOutput) -} - -// A list of service accounts indicating the sets of instances that are applied with this rule. -func (o SecurityPolicyRuleOutput) TargetServiceAccounts() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRule) []string { return v.TargetServiceAccounts }).(pulumi.StringArrayOutput) -} - -type SecurityPolicyRuleArrayOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRule)(nil)).Elem() -} - -func (o SecurityPolicyRuleArrayOutput) ToSecurityPolicyRuleArrayOutput() SecurityPolicyRuleArrayOutput { - return o -} - -func (o SecurityPolicyRuleArrayOutput) ToSecurityPolicyRuleArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleArrayOutput { - return o -} - -func (o SecurityPolicyRuleArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRule { - return vs[0].([]SecurityPolicyRule)[vs[1].(int)] - }).(SecurityPolicyRuleOutput) -} - -type SecurityPolicyRuleHttpHeaderAction struct { - // The list of request headers to add or overwrite if they're already present. - RequestHeadersToAdds []SecurityPolicyRuleHttpHeaderActionHttpHeaderOption `pulumi:"requestHeadersToAdds"` -} - -// SecurityPolicyRuleHttpHeaderActionInput is an input type that accepts SecurityPolicyRuleHttpHeaderActionArgs and SecurityPolicyRuleHttpHeaderActionOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleHttpHeaderActionInput` via: -// -// SecurityPolicyRuleHttpHeaderActionArgs{...} -type SecurityPolicyRuleHttpHeaderActionInput interface { - pulumi.Input - - ToSecurityPolicyRuleHttpHeaderActionOutput() SecurityPolicyRuleHttpHeaderActionOutput - ToSecurityPolicyRuleHttpHeaderActionOutputWithContext(context.Context) SecurityPolicyRuleHttpHeaderActionOutput -} - -type SecurityPolicyRuleHttpHeaderActionArgs struct { - // The list of request headers to add or overwrite if they're already present. - RequestHeadersToAdds SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput `pulumi:"requestHeadersToAdds"` -} - -func (SecurityPolicyRuleHttpHeaderActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderAction)(nil)).Elem() -} - -func (i SecurityPolicyRuleHttpHeaderActionArgs) ToSecurityPolicyRuleHttpHeaderActionOutput() SecurityPolicyRuleHttpHeaderActionOutput { - return i.ToSecurityPolicyRuleHttpHeaderActionOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleHttpHeaderActionArgs) ToSecurityPolicyRuleHttpHeaderActionOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionOutput) -} - -func (i SecurityPolicyRuleHttpHeaderActionArgs) ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput { - return i.ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleHttpHeaderActionArgs) ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionOutput).ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx) -} - -// SecurityPolicyRuleHttpHeaderActionPtrInput is an input type that accepts SecurityPolicyRuleHttpHeaderActionArgs, SecurityPolicyRuleHttpHeaderActionPtr and SecurityPolicyRuleHttpHeaderActionPtrOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleHttpHeaderActionPtrInput` via: -// -// SecurityPolicyRuleHttpHeaderActionArgs{...} -// -// or: -// -// nil -type SecurityPolicyRuleHttpHeaderActionPtrInput interface { - pulumi.Input - - ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput - ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput -} - -type securityPolicyRuleHttpHeaderActionPtrType SecurityPolicyRuleHttpHeaderActionArgs - -func SecurityPolicyRuleHttpHeaderActionPtr(v *SecurityPolicyRuleHttpHeaderActionArgs) SecurityPolicyRuleHttpHeaderActionPtrInput { - return (*securityPolicyRuleHttpHeaderActionPtrType)(v) -} - -func (*securityPolicyRuleHttpHeaderActionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityPolicyRuleHttpHeaderAction)(nil)).Elem() -} - -func (i *securityPolicyRuleHttpHeaderActionPtrType) ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput { - return i.ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(context.Background()) -} - -func (i *securityPolicyRuleHttpHeaderActionPtrType) ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionPtrOutput) -} - -type SecurityPolicyRuleHttpHeaderActionOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleHttpHeaderActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderAction)(nil)).Elem() -} - -func (o SecurityPolicyRuleHttpHeaderActionOutput) ToSecurityPolicyRuleHttpHeaderActionOutput() SecurityPolicyRuleHttpHeaderActionOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionOutput) ToSecurityPolicyRuleHttpHeaderActionOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionOutput) ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput { - return o.ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(context.Background()) -} - -func (o SecurityPolicyRuleHttpHeaderActionOutput) ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityPolicyRuleHttpHeaderAction) *SecurityPolicyRuleHttpHeaderAction { - return &v - }).(SecurityPolicyRuleHttpHeaderActionPtrOutput) -} - -// The list of request headers to add or overwrite if they're already present. -func (o SecurityPolicyRuleHttpHeaderActionOutput) RequestHeadersToAdds() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderAction) []SecurityPolicyRuleHttpHeaderActionHttpHeaderOption { - return v.RequestHeadersToAdds - }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) -} - -type SecurityPolicyRuleHttpHeaderActionPtrOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleHttpHeaderActionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityPolicyRuleHttpHeaderAction)(nil)).Elem() -} - -func (o SecurityPolicyRuleHttpHeaderActionPtrOutput) ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionPtrOutput) ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionPtrOutput) Elem() SecurityPolicyRuleHttpHeaderActionOutput { - return o.ApplyT(func(v *SecurityPolicyRuleHttpHeaderAction) SecurityPolicyRuleHttpHeaderAction { - if v != nil { - return *v - } - var ret SecurityPolicyRuleHttpHeaderAction - return ret - }).(SecurityPolicyRuleHttpHeaderActionOutput) -} - -// The list of request headers to add or overwrite if they're already present. -func (o SecurityPolicyRuleHttpHeaderActionPtrOutput) RequestHeadersToAdds() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { - return o.ApplyT(func(v *SecurityPolicyRuleHttpHeaderAction) []SecurityPolicyRuleHttpHeaderActionHttpHeaderOption { - if v == nil { - return nil - } - return v.RequestHeadersToAdds - }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) -} - -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOption struct { - // The name of the header to set. - HeaderName *string `pulumi:"headerName"` - // The value to set the named header to. - HeaderValue *string `pulumi:"headerValue"` -} - -// SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput is an input type that accepts SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs and SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput` via: -// -// SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs{...} -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput interface { - pulumi.Input - - ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput - ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutputWithContext(context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput -} - -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs struct { - // The name of the header to set. - HeaderName pulumi.StringPtrInput `pulumi:"headerName"` - // The value to set the named header to. - HeaderValue pulumi.StringPtrInput `pulumi:"headerValue"` -} - -func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil)).Elem() -} - -func (i SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { - return i.ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) -} - -// SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput is an input type that accepts SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray and SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput` via: -// -// SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray{ SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs{...} } -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput interface { - pulumi.Input - - ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput - ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutputWithContext(context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput -} - -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray []SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput - -func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil)).Elem() -} - -func (i SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { - return i.ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) -} - -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil)).Elem() -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { - return o -} - -// The name of the header to set. -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) HeaderName() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) *string { return v.HeaderName }).(pulumi.StringPtrOutput) -} - -// The value to set the named header to. -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) HeaderValue() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) *string { return v.HeaderValue }).(pulumi.StringPtrOutput) -} - -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil)).Elem() -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleHttpHeaderActionHttpHeaderOption { - return vs[0].([]SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)[vs[1].(int)] - }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) -} - -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse struct { - // The name of the header to set. - HeaderName string `pulumi:"headerName"` - // The value to set the named header to. - HeaderValue string `pulumi:"headerValue"` -} - -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse)(nil)).Elem() -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput { - return o -} - -// The name of the header to set. -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) HeaderName() pulumi.StringOutput { - return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse) string { return v.HeaderName }).(pulumi.StringOutput) -} - -// The value to set the named header to. -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) HeaderValue() pulumi.StringOutput { - return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse) string { return v.HeaderValue }).(pulumi.StringOutput) -} - -type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse)(nil)).Elem() -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse { - return vs[0].([]SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse)[vs[1].(int)] - }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) -} - -type SecurityPolicyRuleHttpHeaderActionResponse struct { - // The list of request headers to add or overwrite if they're already present. - RequestHeadersToAdds []SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse `pulumi:"requestHeadersToAdds"` -} - -type SecurityPolicyRuleHttpHeaderActionResponseOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleHttpHeaderActionResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionResponse)(nil)).Elem() -} - -func (o SecurityPolicyRuleHttpHeaderActionResponseOutput) ToSecurityPolicyRuleHttpHeaderActionResponseOutput() SecurityPolicyRuleHttpHeaderActionResponseOutput { - return o -} - -func (o SecurityPolicyRuleHttpHeaderActionResponseOutput) ToSecurityPolicyRuleHttpHeaderActionResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionResponseOutput { - return o -} - -// The list of request headers to add or overwrite if they're already present. -func (o SecurityPolicyRuleHttpHeaderActionResponseOutput) RequestHeadersToAdds() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionResponse) []SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse { - return v.RequestHeadersToAdds - }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) -} - -// Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. -type SecurityPolicyRuleMatcher struct { - // The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. - Config *SecurityPolicyRuleMatcherConfig `pulumi:"config"` - // User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies. - Expr *Expr `pulumi:"expr"` - // The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr'). - ExprOptions *SecurityPolicyRuleMatcherExprOptions `pulumi:"exprOptions"` - // Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. - VersionedExpr *SecurityPolicyRuleMatcherVersionedExpr `pulumi:"versionedExpr"` -} - -// SecurityPolicyRuleMatcherInput is an input type that accepts SecurityPolicyRuleMatcherArgs and SecurityPolicyRuleMatcherOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherInput` via: -// -// SecurityPolicyRuleMatcherArgs{...} -type SecurityPolicyRuleMatcherInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherOutput() SecurityPolicyRuleMatcherOutput - ToSecurityPolicyRuleMatcherOutputWithContext(context.Context) SecurityPolicyRuleMatcherOutput -} - -// Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. -type SecurityPolicyRuleMatcherArgs struct { - // The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. - Config SecurityPolicyRuleMatcherConfigPtrInput `pulumi:"config"` - // User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies. - Expr ExprPtrInput `pulumi:"expr"` - // The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr'). - ExprOptions SecurityPolicyRuleMatcherExprOptionsPtrInput `pulumi:"exprOptions"` - // Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. - VersionedExpr SecurityPolicyRuleMatcherVersionedExprPtrInput `pulumi:"versionedExpr"` -} - -func (SecurityPolicyRuleMatcherArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcher)(nil)).Elem() -} - -func (i SecurityPolicyRuleMatcherArgs) ToSecurityPolicyRuleMatcherOutput() SecurityPolicyRuleMatcherOutput { - return i.ToSecurityPolicyRuleMatcherOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherArgs) ToSecurityPolicyRuleMatcherOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherOutput) -} - -func (i SecurityPolicyRuleMatcherArgs) ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput { - return i.ToSecurityPolicyRuleMatcherPtrOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherArgs) ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherOutput).ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx) -} - -// SecurityPolicyRuleMatcherPtrInput is an input type that accepts SecurityPolicyRuleMatcherArgs, SecurityPolicyRuleMatcherPtr and SecurityPolicyRuleMatcherPtrOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherPtrInput` via: -// -// SecurityPolicyRuleMatcherArgs{...} -// -// or: -// -// nil -type SecurityPolicyRuleMatcherPtrInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput - ToSecurityPolicyRuleMatcherPtrOutputWithContext(context.Context) SecurityPolicyRuleMatcherPtrOutput -} - -type securityPolicyRuleMatcherPtrType SecurityPolicyRuleMatcherArgs - -func SecurityPolicyRuleMatcherPtr(v *SecurityPolicyRuleMatcherArgs) SecurityPolicyRuleMatcherPtrInput { - return (*securityPolicyRuleMatcherPtrType)(v) -} - -func (*securityPolicyRuleMatcherPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityPolicyRuleMatcher)(nil)).Elem() -} - -func (i *securityPolicyRuleMatcherPtrType) ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput { - return i.ToSecurityPolicyRuleMatcherPtrOutputWithContext(context.Background()) -} - -func (i *securityPolicyRuleMatcherPtrType) ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherPtrOutput) -} - -// Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. -type SecurityPolicyRuleMatcherOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcher)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherOutput) ToSecurityPolicyRuleMatcherOutput() SecurityPolicyRuleMatcherOutput { - return o -} - -func (o SecurityPolicyRuleMatcherOutput) ToSecurityPolicyRuleMatcherOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherOutput { - return o -} - -func (o SecurityPolicyRuleMatcherOutput) ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput { - return o.ToSecurityPolicyRuleMatcherPtrOutputWithContext(context.Background()) -} - -func (o SecurityPolicyRuleMatcherOutput) ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcher { - return &v - }).(SecurityPolicyRuleMatcherPtrOutput) -} - -// The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. -func (o SecurityPolicyRuleMatcherOutput) Config() SecurityPolicyRuleMatcherConfigPtrOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherConfig { return v.Config }).(SecurityPolicyRuleMatcherConfigPtrOutput) -} - -// User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies. -func (o SecurityPolicyRuleMatcherOutput) Expr() ExprPtrOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcher) *Expr { return v.Expr }).(ExprPtrOutput) -} - -// The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr'). -func (o SecurityPolicyRuleMatcherOutput) ExprOptions() SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherExprOptions { return v.ExprOptions }).(SecurityPolicyRuleMatcherExprOptionsPtrOutput) -} - -// Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. -func (o SecurityPolicyRuleMatcherOutput) VersionedExpr() SecurityPolicyRuleMatcherVersionedExprPtrOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherVersionedExpr { return v.VersionedExpr }).(SecurityPolicyRuleMatcherVersionedExprPtrOutput) -} - -type SecurityPolicyRuleMatcherPtrOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityPolicyRuleMatcher)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherPtrOutput) ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput { - return o -} - -func (o SecurityPolicyRuleMatcherPtrOutput) ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherPtrOutput { - return o -} - -func (o SecurityPolicyRuleMatcherPtrOutput) Elem() SecurityPolicyRuleMatcherOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcher) SecurityPolicyRuleMatcher { - if v != nil { - return *v - } - var ret SecurityPolicyRuleMatcher - return ret - }).(SecurityPolicyRuleMatcherOutput) -} - -// The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. -func (o SecurityPolicyRuleMatcherPtrOutput) Config() SecurityPolicyRuleMatcherConfigPtrOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherConfig { - if v == nil { - return nil - } - return v.Config - }).(SecurityPolicyRuleMatcherConfigPtrOutput) -} - -// User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies. -func (o SecurityPolicyRuleMatcherPtrOutput) Expr() ExprPtrOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcher) *Expr { - if v == nil { - return nil - } - return v.Expr - }).(ExprPtrOutput) -} - -// The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr'). -func (o SecurityPolicyRuleMatcherPtrOutput) ExprOptions() SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherExprOptions { - if v == nil { - return nil - } - return v.ExprOptions - }).(SecurityPolicyRuleMatcherExprOptionsPtrOutput) -} - -// Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. -func (o SecurityPolicyRuleMatcherPtrOutput) VersionedExpr() SecurityPolicyRuleMatcherVersionedExprPtrOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherVersionedExpr { - if v == nil { - return nil - } - return v.VersionedExpr - }).(SecurityPolicyRuleMatcherVersionedExprPtrOutput) -} - -type SecurityPolicyRuleMatcherConfig struct { - // CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. - DestIpRanges []string `pulumi:"destIpRanges"` - // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. - DestPorts []SecurityPolicyRuleMatcherConfigDestinationPort `pulumi:"destPorts"` - // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. - Layer4Configs []SecurityPolicyRuleMatcherConfigLayer4Config `pulumi:"layer4Configs"` - // CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. - SrcIpRanges []string `pulumi:"srcIpRanges"` -} - -// SecurityPolicyRuleMatcherConfigInput is an input type that accepts SecurityPolicyRuleMatcherConfigArgs and SecurityPolicyRuleMatcherConfigOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigInput` via: -// -// SecurityPolicyRuleMatcherConfigArgs{...} -type SecurityPolicyRuleMatcherConfigInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherConfigOutput() SecurityPolicyRuleMatcherConfigOutput - ToSecurityPolicyRuleMatcherConfigOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigOutput -} - -type SecurityPolicyRuleMatcherConfigArgs struct { - // CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. - DestIpRanges pulumi.StringArrayInput `pulumi:"destIpRanges"` - // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. - DestPorts SecurityPolicyRuleMatcherConfigDestinationPortArrayInput `pulumi:"destPorts"` - // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. - Layer4Configs SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput `pulumi:"layer4Configs"` - // CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. - SrcIpRanges pulumi.StringArrayInput `pulumi:"srcIpRanges"` -} - -func (SecurityPolicyRuleMatcherConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherConfig)(nil)).Elem() -} - -func (i SecurityPolicyRuleMatcherConfigArgs) ToSecurityPolicyRuleMatcherConfigOutput() SecurityPolicyRuleMatcherConfigOutput { - return i.ToSecurityPolicyRuleMatcherConfigOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherConfigArgs) ToSecurityPolicyRuleMatcherConfigOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigOutput) -} - -func (i SecurityPolicyRuleMatcherConfigArgs) ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput { - return i.ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherConfigArgs) ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigOutput).ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx) -} - -// SecurityPolicyRuleMatcherConfigPtrInput is an input type that accepts SecurityPolicyRuleMatcherConfigArgs, SecurityPolicyRuleMatcherConfigPtr and SecurityPolicyRuleMatcherConfigPtrOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigPtrInput` via: -// -// SecurityPolicyRuleMatcherConfigArgs{...} -// -// or: -// -// nil -type SecurityPolicyRuleMatcherConfigPtrInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput - ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigPtrOutput -} - -type securityPolicyRuleMatcherConfigPtrType SecurityPolicyRuleMatcherConfigArgs - -func SecurityPolicyRuleMatcherConfigPtr(v *SecurityPolicyRuleMatcherConfigArgs) SecurityPolicyRuleMatcherConfigPtrInput { - return (*securityPolicyRuleMatcherConfigPtrType)(v) -} - -func (*securityPolicyRuleMatcherConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityPolicyRuleMatcherConfig)(nil)).Elem() -} - -func (i *securityPolicyRuleMatcherConfigPtrType) ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput { - return i.ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(context.Background()) -} - -func (i *securityPolicyRuleMatcherConfigPtrType) ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigPtrOutput) -} - -type SecurityPolicyRuleMatcherConfigOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherConfig)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigOutput) ToSecurityPolicyRuleMatcherConfigOutput() SecurityPolicyRuleMatcherConfigOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigOutput) ToSecurityPolicyRuleMatcherConfigOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigOutput) ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput { - return o.ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(context.Background()) -} - -func (o SecurityPolicyRuleMatcherConfigOutput) ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityPolicyRuleMatcherConfig) *SecurityPolicyRuleMatcherConfig { - return &v - }).(SecurityPolicyRuleMatcherConfigPtrOutput) -} - -// CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigOutput) DestIpRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfig) []string { return v.DestIpRanges }).(pulumi.StringArrayOutput) -} - -// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigOutput) DestPorts() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfig) []SecurityPolicyRuleMatcherConfigDestinationPort { - return v.DestPorts - }).(SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) -} - -// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigOutput) Layer4Configs() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfig) []SecurityPolicyRuleMatcherConfigLayer4Config { - return v.Layer4Configs - }).(SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) -} - -// CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. -func (o SecurityPolicyRuleMatcherConfigOutput) SrcIpRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfig) []string { return v.SrcIpRanges }).(pulumi.StringArrayOutput) -} - -type SecurityPolicyRuleMatcherConfigPtrOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityPolicyRuleMatcherConfig)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigPtrOutput) ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigPtrOutput) ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigPtrOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigPtrOutput) Elem() SecurityPolicyRuleMatcherConfigOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) SecurityPolicyRuleMatcherConfig { - if v != nil { - return *v - } - var ret SecurityPolicyRuleMatcherConfig - return ret - }).(SecurityPolicyRuleMatcherConfigOutput) -} - -// CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigPtrOutput) DestIpRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) []string { - if v == nil { - return nil - } - return v.DestIpRanges - }).(pulumi.StringArrayOutput) -} - -// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigPtrOutput) DestPorts() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) []SecurityPolicyRuleMatcherConfigDestinationPort { - if v == nil { - return nil - } - return v.DestPorts - }).(SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) -} - -// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigPtrOutput) Layer4Configs() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) []SecurityPolicyRuleMatcherConfigLayer4Config { - if v == nil { - return nil - } - return v.Layer4Configs - }).(SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) -} - -// CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. -func (o SecurityPolicyRuleMatcherConfigPtrOutput) SrcIpRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) []string { - if v == nil { - return nil - } - return v.SrcIpRanges - }).(pulumi.StringArrayOutput) -} - -type SecurityPolicyRuleMatcherConfigDestinationPort struct { - // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. - IpProtocol *string `pulumi:"ipProtocol"` - // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. - Ports []string `pulumi:"ports"` -} - -// SecurityPolicyRuleMatcherConfigDestinationPortInput is an input type that accepts SecurityPolicyRuleMatcherConfigDestinationPortArgs and SecurityPolicyRuleMatcherConfigDestinationPortOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigDestinationPortInput` via: -// -// SecurityPolicyRuleMatcherConfigDestinationPortArgs{...} -type SecurityPolicyRuleMatcherConfigDestinationPortInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherConfigDestinationPortOutput() SecurityPolicyRuleMatcherConfigDestinationPortOutput - ToSecurityPolicyRuleMatcherConfigDestinationPortOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigDestinationPortOutput -} - -type SecurityPolicyRuleMatcherConfigDestinationPortArgs struct { - // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. - IpProtocol pulumi.StringPtrInput `pulumi:"ipProtocol"` - // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. - Ports pulumi.StringArrayInput `pulumi:"ports"` -} - -func (SecurityPolicyRuleMatcherConfigDestinationPortArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPort)(nil)).Elem() -} - -func (i SecurityPolicyRuleMatcherConfigDestinationPortArgs) ToSecurityPolicyRuleMatcherConfigDestinationPortOutput() SecurityPolicyRuleMatcherConfigDestinationPortOutput { - return i.ToSecurityPolicyRuleMatcherConfigDestinationPortOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherConfigDestinationPortArgs) ToSecurityPolicyRuleMatcherConfigDestinationPortOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigDestinationPortOutput) -} - -// SecurityPolicyRuleMatcherConfigDestinationPortArrayInput is an input type that accepts SecurityPolicyRuleMatcherConfigDestinationPortArray and SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigDestinationPortArrayInput` via: -// -// SecurityPolicyRuleMatcherConfigDestinationPortArray{ SecurityPolicyRuleMatcherConfigDestinationPortArgs{...} } -type SecurityPolicyRuleMatcherConfigDestinationPortArrayInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutput() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput - ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput -} - -type SecurityPolicyRuleMatcherConfigDestinationPortArray []SecurityPolicyRuleMatcherConfigDestinationPortInput - -func (SecurityPolicyRuleMatcherConfigDestinationPortArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigDestinationPort)(nil)).Elem() -} - -func (i SecurityPolicyRuleMatcherConfigDestinationPortArray) ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutput() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { - return i.ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherConfigDestinationPortArray) ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) -} - -type SecurityPolicyRuleMatcherConfigDestinationPortOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigDestinationPortOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPort)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortOutput() SecurityPolicyRuleMatcherConfigDestinationPortOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortOutput { - return o -} - -// The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. -func (o SecurityPolicyRuleMatcherConfigDestinationPortOutput) IpProtocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigDestinationPort) *string { return v.IpProtocol }).(pulumi.StringPtrOutput) -} - -// An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigDestinationPortOutput) Ports() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigDestinationPort) []string { return v.Ports }).(pulumi.StringArrayOutput) -} - -type SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigDestinationPort)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutput() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleMatcherConfigDestinationPortOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleMatcherConfigDestinationPort { - return vs[0].([]SecurityPolicyRuleMatcherConfigDestinationPort)[vs[1].(int)] - }).(SecurityPolicyRuleMatcherConfigDestinationPortOutput) -} - -type SecurityPolicyRuleMatcherConfigDestinationPortResponse struct { - // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. - IpProtocol string `pulumi:"ipProtocol"` - // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. - Ports []string `pulumi:"ports"` -} - -type SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPortResponse)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortResponseOutput() SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput { - return o -} - -// The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. -func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) IpProtocol() pulumi.StringOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigDestinationPortResponse) string { return v.IpProtocol }).(pulumi.StringOutput) -} - -// An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) Ports() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigDestinationPortResponse) []string { return v.Ports }).(pulumi.StringArrayOutput) -} - -type SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigDestinationPortResponse)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput() SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleMatcherConfigDestinationPortResponse { - return vs[0].([]SecurityPolicyRuleMatcherConfigDestinationPortResponse)[vs[1].(int)] - }).(SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) -} - -type SecurityPolicyRuleMatcherConfigLayer4Config struct { - // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. - IpProtocol *string `pulumi:"ipProtocol"` - // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. - Ports []string `pulumi:"ports"` -} - -// SecurityPolicyRuleMatcherConfigLayer4ConfigInput is an input type that accepts SecurityPolicyRuleMatcherConfigLayer4ConfigArgs and SecurityPolicyRuleMatcherConfigLayer4ConfigOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigLayer4ConfigInput` via: -// -// SecurityPolicyRuleMatcherConfigLayer4ConfigArgs{...} -type SecurityPolicyRuleMatcherConfigLayer4ConfigInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigOutput - ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigOutput -} - -type SecurityPolicyRuleMatcherConfigLayer4ConfigArgs struct { - // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. - IpProtocol pulumi.StringPtrInput `pulumi:"ipProtocol"` - // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. - Ports pulumi.StringArrayInput `pulumi:"ports"` -} - -func (SecurityPolicyRuleMatcherConfigLayer4ConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4Config)(nil)).Elem() -} - -func (i SecurityPolicyRuleMatcherConfigLayer4ConfigArgs) ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { - return i.ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherConfigLayer4ConfigArgs) ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) -} - -// SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput is an input type that accepts SecurityPolicyRuleMatcherConfigLayer4ConfigArray and SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput` via: -// -// SecurityPolicyRuleMatcherConfigLayer4ConfigArray{ SecurityPolicyRuleMatcherConfigLayer4ConfigArgs{...} } -type SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput - ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput -} - -type SecurityPolicyRuleMatcherConfigLayer4ConfigArray []SecurityPolicyRuleMatcherConfigLayer4ConfigInput - -func (SecurityPolicyRuleMatcherConfigLayer4ConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigLayer4Config)(nil)).Elem() -} - -func (i SecurityPolicyRuleMatcherConfigLayer4ConfigArray) ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { - return i.ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherConfigLayer4ConfigArray) ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) -} - -type SecurityPolicyRuleMatcherConfigLayer4ConfigOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4Config)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { - return o -} - -// The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) IpProtocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigLayer4Config) *string { return v.IpProtocol }).(pulumi.StringPtrOutput) -} - -// An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) Ports() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigLayer4Config) []string { return v.Ports }).(pulumi.StringArrayOutput) -} - -type SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigLayer4Config)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleMatcherConfigLayer4Config { - return vs[0].([]SecurityPolicyRuleMatcherConfigLayer4Config)[vs[1].(int)] - }).(SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) -} - -type SecurityPolicyRuleMatcherConfigLayer4ConfigResponse struct { - // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. - IpProtocol string `pulumi:"ipProtocol"` - // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. - Ports []string `pulumi:"ports"` -} - -type SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4ConfigResponse)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput { - return o -} - -// The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) IpProtocol() pulumi.StringOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigLayer4ConfigResponse) string { return v.IpProtocol }).(pulumi.StringOutput) -} - -// An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) Ports() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigLayer4ConfigResponse) []string { return v.Ports }).(pulumi.StringArrayOutput) -} - -type SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigLayer4ConfigResponse)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleMatcherConfigLayer4ConfigResponse { - return vs[0].([]SecurityPolicyRuleMatcherConfigLayer4ConfigResponse)[vs[1].(int)] - }).(SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) -} - -type SecurityPolicyRuleMatcherConfigResponse struct { - // CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. - DestIpRanges []string `pulumi:"destIpRanges"` - // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. - DestPorts []SecurityPolicyRuleMatcherConfigDestinationPortResponse `pulumi:"destPorts"` - // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. - Layer4Configs []SecurityPolicyRuleMatcherConfigLayer4ConfigResponse `pulumi:"layer4Configs"` - // CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. - SrcIpRanges []string `pulumi:"srcIpRanges"` -} - -type SecurityPolicyRuleMatcherConfigResponseOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigResponse)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherConfigResponseOutput) ToSecurityPolicyRuleMatcherConfigResponseOutput() SecurityPolicyRuleMatcherConfigResponseOutput { - return o -} - -func (o SecurityPolicyRuleMatcherConfigResponseOutput) ToSecurityPolicyRuleMatcherConfigResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigResponseOutput { - return o -} - -// CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigResponseOutput) DestIpRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigResponse) []string { return v.DestIpRanges }).(pulumi.StringArrayOutput) -} - -// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigResponseOutput) DestPorts() SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigResponse) []SecurityPolicyRuleMatcherConfigDestinationPortResponse { - return v.DestPorts - }).(SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) -} - -// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. -func (o SecurityPolicyRuleMatcherConfigResponseOutput) Layer4Configs() SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigResponse) []SecurityPolicyRuleMatcherConfigLayer4ConfigResponse { - return v.Layer4Configs - }).(SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) -} - -// CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. -func (o SecurityPolicyRuleMatcherConfigResponseOutput) SrcIpRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigResponse) []string { return v.SrcIpRanges }).(pulumi.StringArrayOutput) -} - -type SecurityPolicyRuleMatcherExprOptions struct { - // reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field will have no effect. - RecaptchaOptions *SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions `pulumi:"recaptchaOptions"` -} - -// SecurityPolicyRuleMatcherExprOptionsInput is an input type that accepts SecurityPolicyRuleMatcherExprOptionsArgs and SecurityPolicyRuleMatcherExprOptionsOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherExprOptionsInput` via: -// -// SecurityPolicyRuleMatcherExprOptionsArgs{...} -type SecurityPolicyRuleMatcherExprOptionsInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherExprOptionsOutput() SecurityPolicyRuleMatcherExprOptionsOutput - ToSecurityPolicyRuleMatcherExprOptionsOutputWithContext(context.Context) SecurityPolicyRuleMatcherExprOptionsOutput -} - -type SecurityPolicyRuleMatcherExprOptionsArgs struct { - // reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field will have no effect. - RecaptchaOptions SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrInput `pulumi:"recaptchaOptions"` -} - -func (SecurityPolicyRuleMatcherExprOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptions)(nil)).Elem() -} - -func (i SecurityPolicyRuleMatcherExprOptionsArgs) ToSecurityPolicyRuleMatcherExprOptionsOutput() SecurityPolicyRuleMatcherExprOptionsOutput { - return i.ToSecurityPolicyRuleMatcherExprOptionsOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherExprOptionsArgs) ToSecurityPolicyRuleMatcherExprOptionsOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherExprOptionsOutput) -} - -func (i SecurityPolicyRuleMatcherExprOptionsArgs) ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return i.ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(context.Background()) -} - -func (i SecurityPolicyRuleMatcherExprOptionsArgs) ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherExprOptionsOutput).ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx) -} - -// SecurityPolicyRuleMatcherExprOptionsPtrInput is an input type that accepts SecurityPolicyRuleMatcherExprOptionsArgs, SecurityPolicyRuleMatcherExprOptionsPtr and SecurityPolicyRuleMatcherExprOptionsPtrOutput values. -// You can construct a concrete instance of `SecurityPolicyRuleMatcherExprOptionsPtrInput` via: -// -// SecurityPolicyRuleMatcherExprOptionsArgs{...} -// -// or: -// -// nil -type SecurityPolicyRuleMatcherExprOptionsPtrInput interface { - pulumi.Input - - ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput - ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput -} - -type securityPolicyRuleMatcherExprOptionsPtrType SecurityPolicyRuleMatcherExprOptionsArgs - -func SecurityPolicyRuleMatcherExprOptionsPtr(v *SecurityPolicyRuleMatcherExprOptionsArgs) SecurityPolicyRuleMatcherExprOptionsPtrInput { - return (*securityPolicyRuleMatcherExprOptionsPtrType)(v) -} - -func (*securityPolicyRuleMatcherExprOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityPolicyRuleMatcherExprOptions)(nil)).Elem() -} - -func (i *securityPolicyRuleMatcherExprOptionsPtrType) ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return i.ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(context.Background()) -} - -func (i *securityPolicyRuleMatcherExprOptionsPtrType) ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherExprOptionsPtrOutput) -} - -type SecurityPolicyRuleMatcherExprOptionsOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherExprOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptions)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherExprOptionsOutput) ToSecurityPolicyRuleMatcherExprOptionsOutput() SecurityPolicyRuleMatcherExprOptionsOutput { - return o -} - -func (o SecurityPolicyRuleMatcherExprOptionsOutput) ToSecurityPolicyRuleMatcherExprOptionsOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsOutput { - return o -} - -func (o SecurityPolicyRuleMatcherExprOptionsOutput) ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return o.ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(context.Background()) -} - -func (o SecurityPolicyRuleMatcherExprOptionsOutput) ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityPolicyRuleMatcherExprOptions) *SecurityPolicyRuleMatcherExprOptions { - return &v - }).(SecurityPolicyRuleMatcherExprOptionsPtrOutput) -} - -// reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field will have no effect. -func (o SecurityPolicyRuleMatcherExprOptionsOutput) RecaptchaOptions() SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrOutput { - return o.ApplyT(func(v SecurityPolicyRuleMatcherExprOptions) *SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions { - return v.RecaptchaOptions - }).(SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrOutput) -} - -type SecurityPolicyRuleMatcherExprOptionsPtrOutput struct{ *pulumi.OutputState } - -func (SecurityPolicyRuleMatcherExprOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityPolicyRuleMatcherExprOptions)(nil)).Elem() -} - -func (o SecurityPolicyRuleMatcherExprOptionsPtrOutput) ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return o -} - -func (o SecurityPolicyRuleMatcherExprOptionsPtrOutput) ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput { - return o -} - -func (o SecurityPolicyRuleMatcherExprOptionsPtrOutput) Elem() SecurityPolicyRuleMatcherExprOptionsOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcherExprOptions) SecurityPolicyRuleMatcherExprOptions { - if v != nil { - return *v - } - var ret SecurityPolicyRuleMatcherExprOptions - return ret - }).(SecurityPolicyRuleMatcherExprOptionsOutput) -} - -// reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field will have no effect. -func (o SecurityPolicyRuleMatcherExprOptionsPtrOutput) RecaptchaOptions() SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrOutput { - return o.ApplyT(func(v *SecurityPolicyRuleMatcherExprOptions) *SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions { - if v == nil { - return nil - } - return v.RecaptchaOptions - }).(SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*AWSV4SignatureInput)(nil)).Elem(), AWSV4SignatureArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AWSV4SignaturePtrInput)(nil)).Elem(), AWSV4SignatureArgs{}) @@ -52971,6 +52594,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScaleDownControlPtrInput)(nil)).Elem(), AutoscalingPolicyScaleDownControlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScaleInControlInput)(nil)).Elem(), AutoscalingPolicyScaleInControlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScaleInControlPtrInput)(nil)).Elem(), AutoscalingPolicyScaleInControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScalingScheduleInput)(nil)).Elem(), AutoscalingPolicyScalingScheduleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScalingScheduleMapInput)(nil)).Elem(), AutoscalingPolicyScalingScheduleMap{}) pulumi.RegisterInputType(reflect.TypeOf((*BackendInput)(nil)).Elem(), BackendArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BackendArrayInput)(nil)).Elem(), BackendArray{}) pulumi.RegisterInputType(reflect.TypeOf((*BackendBucketCdnPolicyInput)(nil)).Elem(), BackendBucketCdnPolicyArgs{}) @@ -53009,6 +52634,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*BindingArrayInput)(nil)).Elem(), BindingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*BulkInsertInstanceResourceInput)(nil)).Elem(), BulkInsertInstanceResourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BulkInsertInstanceResourcePtrInput)(nil)).Elem(), BulkInsertInstanceResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BulkInsertInstanceResourcePerInstancePropertiesInput)(nil)).Elem(), BulkInsertInstanceResourcePerInstancePropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BulkInsertInstanceResourcePerInstancePropertiesMapInput)(nil)).Elem(), BulkInsertInstanceResourcePerInstancePropertiesMap{}) pulumi.RegisterInputType(reflect.TypeOf((*CacheKeyPolicyInput)(nil)).Elem(), CacheKeyPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CacheKeyPolicyPtrInput)(nil)).Elem(), CacheKeyPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CallCredentialsInput)(nil)).Elem(), CallCredentialsArgs{}) @@ -53138,6 +52765,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerAutoHealingPolicyAutoHealingTriggersPtrInput)(nil)).Elem(), InstanceGroupManagerAutoHealingPolicyAutoHealingTriggersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInput)(nil)).Elem(), InstanceGroupManagerInstanceFlexibilityPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyPtrInput)(nil)).Elem(), InstanceGroupManagerInstanceFlexibilityPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput)(nil)).Elem(), InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput)(nil)).Elem(), InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceLifecyclePolicyInput)(nil)).Elem(), InstanceGroupManagerInstanceLifecyclePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceLifecyclePolicyPtrInput)(nil)).Elem(), InstanceGroupManagerInstanceLifecyclePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignalInput)(nil)).Elem(), InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignalArgs{}) @@ -53174,6 +52803,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*LocalDiskArrayInput)(nil)).Elem(), LocalDiskArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyInput)(nil)).Elem(), LocationPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyPtrInput)(nil)).Elem(), LocationPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyLocationInput)(nil)).Elem(), LocationPolicyLocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyLocationMapInput)(nil)).Elem(), LocationPolicyLocationMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyLocationConstraintsInput)(nil)).Elem(), LocationPolicyLocationConstraintsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LocationPolicyLocationConstraintsPtrInput)(nil)).Elem(), LocationPolicyLocationConstraintsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LogConfigInput)(nil)).Elem(), LogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*LogConfigArrayInput)(nil)).Elem(), LogConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*LogConfigCloudAuditOptionsInput)(nil)).Elem(), LogConfigCloudAuditOptionsArgs{}) @@ -53358,22 +52991,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyDdosProtectionConfigPtrInput)(nil)).Elem(), SecurityPolicyDdosProtectionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRecaptchaOptionsConfigInput)(nil)).Elem(), SecurityPolicyRecaptchaOptionsConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRecaptchaOptionsConfigPtrInput)(nil)).Elem(), SecurityPolicyRecaptchaOptionsConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleInput)(nil)).Elem(), SecurityPolicyRuleArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleArrayInput)(nil)).Elem(), SecurityPolicyRuleArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionInput)(nil)).Elem(), SecurityPolicyRuleHttpHeaderActionArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionPtrInput)(nil)).Elem(), SecurityPolicyRuleHttpHeaderActionArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput)(nil)).Elem(), SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput)(nil)).Elem(), SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherInput)(nil)).Elem(), SecurityPolicyRuleMatcherArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherPtrInput)(nil)).Elem(), SecurityPolicyRuleMatcherArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigPtrInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPortInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigDestinationPortArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPortArrayInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigDestinationPortArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4ConfigInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigLayer4ConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigLayer4ConfigArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptionsInput)(nil)).Elem(), SecurityPolicyRuleMatcherExprOptionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptionsPtrInput)(nil)).Elem(), SecurityPolicyRuleMatcherExprOptionsArgs{}) pulumi.RegisterOutputType(AWSV4SignatureOutput{}) pulumi.RegisterOutputType(AWSV4SignaturePtrOutput{}) pulumi.RegisterOutputType(AWSV4SignatureResponseOutput{}) @@ -53459,6 +53076,10 @@ func init() { pulumi.RegisterOutputType(AutoscalingPolicyScaleInControlOutput{}) pulumi.RegisterOutputType(AutoscalingPolicyScaleInControlPtrOutput{}) pulumi.RegisterOutputType(AutoscalingPolicyScaleInControlResponseOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleMapOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleResponseOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleResponseMapOutput{}) pulumi.RegisterOutputType(BackendOutput{}) pulumi.RegisterOutputType(BackendArrayOutput{}) pulumi.RegisterOutputType(BackendBucketCdnPolicyOutput{}) @@ -53523,6 +53144,10 @@ func init() { pulumi.RegisterOutputType(BindingResponseArrayOutput{}) pulumi.RegisterOutputType(BulkInsertInstanceResourceOutput{}) pulumi.RegisterOutputType(BulkInsertInstanceResourcePtrOutput{}) + pulumi.RegisterOutputType(BulkInsertInstanceResourcePerInstancePropertiesOutput{}) + pulumi.RegisterOutputType(BulkInsertInstanceResourcePerInstancePropertiesMapOutput{}) + pulumi.RegisterOutputType(BulkInsertInstanceResourcePerInstancePropertiesResponseOutput{}) + pulumi.RegisterOutputType(BulkInsertInstanceResourcePerInstancePropertiesResponseMapOutput{}) pulumi.RegisterOutputType(BulkInsertInstanceResourceResponseOutput{}) pulumi.RegisterOutputType(CacheKeyPolicyOutput{}) pulumi.RegisterOutputType(CacheKeyPolicyPtrOutput{}) @@ -53575,6 +53200,8 @@ func init() { pulumi.RegisterOutputType(DeprecationStatusResponseOutput{}) pulumi.RegisterOutputType(DiskAsyncReplicationOutput{}) pulumi.RegisterOutputType(DiskAsyncReplicationPtrOutput{}) + pulumi.RegisterOutputType(DiskAsyncReplicationListResponseOutput{}) + pulumi.RegisterOutputType(DiskAsyncReplicationListResponseMapOutput{}) pulumi.RegisterOutputType(DiskAsyncReplicationResponseOutput{}) pulumi.RegisterOutputType(DiskInstantiationConfigOutput{}) pulumi.RegisterOutputType(DiskInstantiationConfigArrayOutput{}) @@ -53584,6 +53211,7 @@ func init() { pulumi.RegisterOutputType(DiskParamsPtrOutput{}) pulumi.RegisterOutputType(DiskParamsResponseOutput{}) pulumi.RegisterOutputType(DiskResourceStatusAsyncReplicationStatusResponseOutput{}) + pulumi.RegisterOutputType(DiskResourceStatusAsyncReplicationStatusResponseMapOutput{}) pulumi.RegisterOutputType(DiskResourceStatusResponseOutput{}) pulumi.RegisterOutputType(DisplayDeviceOutput{}) pulumi.RegisterOutputType(DisplayDevicePtrOutput{}) @@ -53751,6 +53379,10 @@ func init() { pulumi.RegisterOutputType(InstanceGroupManagerAutoHealingPolicyResponseArrayOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput{}) + pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput{}) + pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput{}) + pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput{}) + pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceLifecyclePolicyOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceLifecyclePolicyPtrOutput{}) @@ -53830,6 +53462,13 @@ func init() { pulumi.RegisterOutputType(LocalizedMessageResponseOutput{}) pulumi.RegisterOutputType(LocationPolicyOutput{}) pulumi.RegisterOutputType(LocationPolicyPtrOutput{}) + pulumi.RegisterOutputType(LocationPolicyLocationOutput{}) + pulumi.RegisterOutputType(LocationPolicyLocationMapOutput{}) + pulumi.RegisterOutputType(LocationPolicyLocationConstraintsOutput{}) + pulumi.RegisterOutputType(LocationPolicyLocationConstraintsPtrOutput{}) + pulumi.RegisterOutputType(LocationPolicyLocationConstraintsResponseOutput{}) + pulumi.RegisterOutputType(LocationPolicyLocationResponseOutput{}) + pulumi.RegisterOutputType(LocationPolicyLocationResponseMapOutput{}) pulumi.RegisterOutputType(LocationPolicyResponseOutput{}) pulumi.RegisterOutputType(LogConfigOutput{}) pulumi.RegisterOutputType(LogConfigArrayOutput{}) @@ -54063,6 +53702,9 @@ func init() { pulumi.RegisterOutputType(ResourceStatusLastInstanceTerminationDetailsResponseOutput{}) pulumi.RegisterOutputType(ResourceStatusResponseOutput{}) pulumi.RegisterOutputType(ResourceStatusSchedulingResponseOutput{}) + pulumi.RegisterOutputType(ResourceStatusServiceIntegrationStatusBackupDRStatusResponseOutput{}) + pulumi.RegisterOutputType(ResourceStatusServiceIntegrationStatusResponseOutput{}) + pulumi.RegisterOutputType(ResourceStatusServiceIntegrationStatusResponseMapOutput{}) pulumi.RegisterOutputType(ResourceStatusShutdownDetailsResponseOutput{}) pulumi.RegisterOutputType(RolloutPolicyOutput{}) pulumi.RegisterOutputType(RolloutPolicyPtrOutput{}) @@ -54130,6 +53772,8 @@ func init() { pulumi.RegisterOutputType(SavedDiskArrayOutput{}) pulumi.RegisterOutputType(SavedDiskResponseOutput{}) pulumi.RegisterOutputType(SavedDiskResponseArrayOutput{}) + pulumi.RegisterOutputType(ScalingScheduleStatusResponseOutput{}) + pulumi.RegisterOutputType(ScalingScheduleStatusResponseMapOutput{}) pulumi.RegisterOutputType(SchedulingOutput{}) pulumi.RegisterOutputType(SchedulingPtrOutput{}) pulumi.RegisterOutputType(SchedulingGracefulShutdownOutput{}) @@ -54174,29 +53818,4 @@ func init() { pulumi.RegisterOutputType(SecurityPolicyDdosProtectionConfigResponseOutput{}) pulumi.RegisterOutputType(SecurityPolicyRecaptchaOptionsConfigOutput{}) pulumi.RegisterOutputType(SecurityPolicyRecaptchaOptionsConfigPtrOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRecaptchaOptionsConfigResponseOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleArrayOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionPtrOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionResponseOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherPtrOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigPtrOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigDestinationPortOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigLayer4ConfigOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigResponseOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherExprOptionsOutput{}) - pulumi.RegisterOutputType(SecurityPolicyRuleMatcherExprOptionsPtrOutput{}) } diff --git a/sdk/go/google/compute/alpha/pulumiTypes1.go b/sdk/go/google/compute/alpha/pulumiTypes1.go index 1efa784daa..dbd2d9ac2c 100644 --- a/sdk/go/google/compute/alpha/pulumiTypes1.go +++ b/sdk/go/google/compute/alpha/pulumiTypes1.go @@ -13,6 +13,1484 @@ import ( var _ = internal.GetEnvOrDefault +type SecurityPolicyRecaptchaOptionsConfigResponse struct { + // An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. This field is only supported in Global Security Policies of type CLOUD_ARMOR. + RedirectSiteKey string `pulumi:"redirectSiteKey"` +} + +type SecurityPolicyRecaptchaOptionsConfigResponseOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRecaptchaOptionsConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRecaptchaOptionsConfigResponse)(nil)).Elem() +} + +func (o SecurityPolicyRecaptchaOptionsConfigResponseOutput) ToSecurityPolicyRecaptchaOptionsConfigResponseOutput() SecurityPolicyRecaptchaOptionsConfigResponseOutput { + return o +} + +func (o SecurityPolicyRecaptchaOptionsConfigResponseOutput) ToSecurityPolicyRecaptchaOptionsConfigResponseOutputWithContext(ctx context.Context) SecurityPolicyRecaptchaOptionsConfigResponseOutput { + return o +} + +// An optional field to supply a reCAPTCHA site key to be used for all the rules using the redirect action with the type of GOOGLE_RECAPTCHA under the security policy. The specified site key needs to be created from the reCAPTCHA API. The user is responsible for the validity of the specified site key. If not specified, a Google-managed site key is used. This field is only supported in Global Security Policies of type CLOUD_ARMOR. +func (o SecurityPolicyRecaptchaOptionsConfigResponseOutput) RedirectSiteKey() pulumi.StringOutput { + return o.ApplyT(func(v SecurityPolicyRecaptchaOptionsConfigResponse) string { return v.RedirectSiteKey }).(pulumi.StringOutput) +} + +// Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny). +type SecurityPolicyRule struct { + // The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. + Action *string `pulumi:"action"` + // An optional description of this resource. Provide this property when you create the resource. + Description *string `pulumi:"description"` + // The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL. + Direction *SecurityPolicyRuleDirection `pulumi:"direction"` + // Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. This field may only be specified when the versioned_expr is set to FIREWALL. + EnableLogging *bool `pulumi:"enableLogging"` + // Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR. + HeaderAction *SecurityPolicyRuleHttpHeaderAction `pulumi:"headerAction"` + // A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. + Match *SecurityPolicyRuleMatcher `pulumi:"match"` + // A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive. + NetworkMatch *SecurityPolicyRuleNetworkMatcher `pulumi:"networkMatch"` + // Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect. + PreconfiguredWafConfig *SecurityPolicyRulePreconfiguredWafConfig `pulumi:"preconfiguredWafConfig"` + // If set to true, the specified action is not enforced. + Preview *bool `pulumi:"preview"` + // An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. + Priority *int `pulumi:"priority"` + // Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions. + RateLimitOptions *SecurityPolicyRuleRateLimitOptions `pulumi:"rateLimitOptions"` + // Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR. + RedirectOptions *SecurityPolicyRuleRedirectOptions `pulumi:"redirectOptions"` + // This must be specified for redirect actions. Cannot be specified for any other actions. + RedirectTarget *string `pulumi:"redirectTarget"` + // Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server. + RuleNumber *string `pulumi:"ruleNumber"` + // A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. This field may only be specified when versioned_expr is set to FIREWALL. + TargetResources []string `pulumi:"targetResources"` + // A list of service accounts indicating the sets of instances that are applied with this rule. + TargetServiceAccounts []string `pulumi:"targetServiceAccounts"` +} + +// SecurityPolicyRuleInput is an input type that accepts SecurityPolicyRuleArgs and SecurityPolicyRuleOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleInput` via: +// +// SecurityPolicyRuleArgs{...} +type SecurityPolicyRuleInput interface { + pulumi.Input + + ToSecurityPolicyRuleOutput() SecurityPolicyRuleOutput + ToSecurityPolicyRuleOutputWithContext(context.Context) SecurityPolicyRuleOutput +} + +// Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny). +type SecurityPolicyRuleArgs struct { + // The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. + Action pulumi.StringPtrInput `pulumi:"action"` + // An optional description of this resource. Provide this property when you create the resource. + Description pulumi.StringPtrInput `pulumi:"description"` + // The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL. + Direction SecurityPolicyRuleDirectionPtrInput `pulumi:"direction"` + // Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. This field may only be specified when the versioned_expr is set to FIREWALL. + EnableLogging pulumi.BoolPtrInput `pulumi:"enableLogging"` + // Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR. + HeaderAction SecurityPolicyRuleHttpHeaderActionPtrInput `pulumi:"headerAction"` + // A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. + Match SecurityPolicyRuleMatcherPtrInput `pulumi:"match"` + // A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive. + NetworkMatch SecurityPolicyRuleNetworkMatcherPtrInput `pulumi:"networkMatch"` + // Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect. + PreconfiguredWafConfig SecurityPolicyRulePreconfiguredWafConfigPtrInput `pulumi:"preconfiguredWafConfig"` + // If set to true, the specified action is not enforced. + Preview pulumi.BoolPtrInput `pulumi:"preview"` + // An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. + Priority pulumi.IntPtrInput `pulumi:"priority"` + // Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions. + RateLimitOptions SecurityPolicyRuleRateLimitOptionsPtrInput `pulumi:"rateLimitOptions"` + // Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR. + RedirectOptions SecurityPolicyRuleRedirectOptionsPtrInput `pulumi:"redirectOptions"` + // This must be specified for redirect actions. Cannot be specified for any other actions. + RedirectTarget pulumi.StringPtrInput `pulumi:"redirectTarget"` + // Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server. + RuleNumber pulumi.StringPtrInput `pulumi:"ruleNumber"` + // A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. This field may only be specified when versioned_expr is set to FIREWALL. + TargetResources pulumi.StringArrayInput `pulumi:"targetResources"` + // A list of service accounts indicating the sets of instances that are applied with this rule. + TargetServiceAccounts pulumi.StringArrayInput `pulumi:"targetServiceAccounts"` +} + +func (SecurityPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRule)(nil)).Elem() +} + +func (i SecurityPolicyRuleArgs) ToSecurityPolicyRuleOutput() SecurityPolicyRuleOutput { + return i.ToSecurityPolicyRuleOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleArgs) ToSecurityPolicyRuleOutputWithContext(ctx context.Context) SecurityPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleOutput) +} + +// SecurityPolicyRuleArrayInput is an input type that accepts SecurityPolicyRuleArray and SecurityPolicyRuleArrayOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleArrayInput` via: +// +// SecurityPolicyRuleArray{ SecurityPolicyRuleArgs{...} } +type SecurityPolicyRuleArrayInput interface { + pulumi.Input + + ToSecurityPolicyRuleArrayOutput() SecurityPolicyRuleArrayOutput + ToSecurityPolicyRuleArrayOutputWithContext(context.Context) SecurityPolicyRuleArrayOutput +} + +type SecurityPolicyRuleArray []SecurityPolicyRuleInput + +func (SecurityPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRule)(nil)).Elem() +} + +func (i SecurityPolicyRuleArray) ToSecurityPolicyRuleArrayOutput() SecurityPolicyRuleArrayOutput { + return i.ToSecurityPolicyRuleArrayOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleArray) ToSecurityPolicyRuleArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleArrayOutput) +} + +// Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny). +type SecurityPolicyRuleOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRule)(nil)).Elem() +} + +func (o SecurityPolicyRuleOutput) ToSecurityPolicyRuleOutput() SecurityPolicyRuleOutput { + return o +} + +func (o SecurityPolicyRuleOutput) ToSecurityPolicyRuleOutputWithContext(ctx context.Context) SecurityPolicyRuleOutput { + return o +} + +// The Action to perform when the rule is matched. The following are the valid actions: - allow: allow access to target. - deny(STATUS): deny access to target, returns the HTTP response code specified. Valid values for `STATUS` are 403, 404, and 502. - rate_based_ban: limit client traffic to the configured threshold and ban the client if the traffic exceeds the threshold. Configure parameters for this action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: redirect to a different target. This can either be an internal reCAPTCHA redirect, or an external URL-based redirect via a 302 response. Parameters for this action can be configured via redirectOptions. This action is only supported in Global Security Policies of type CLOUD_ARMOR. - throttle: limit client traffic to the configured threshold. Configure parameters for this action in rateLimitOptions. Requires rate_limit_options to be set for this. +func (o SecurityPolicyRuleOutput) Action() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *string { return v.Action }).(pulumi.StringPtrOutput) +} + +// An optional description of this resource. Provide this property when you create the resource. +func (o SecurityPolicyRuleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The direction in which this rule applies. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleOutput) Direction() SecurityPolicyRuleDirectionPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleDirection { return v.Direction }).(SecurityPolicyRuleDirectionPtrOutput) +} + +// Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules. This field may only be specified when the versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleOutput) EnableLogging() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *bool { return v.EnableLogging }).(pulumi.BoolPtrOutput) +} + +// Optional, additional actions that are performed on headers. This field is only supported in Global Security Policies of type CLOUD_ARMOR. +func (o SecurityPolicyRuleOutput) HeaderAction() SecurityPolicyRuleHttpHeaderActionPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleHttpHeaderAction { return v.HeaderAction }).(SecurityPolicyRuleHttpHeaderActionPtrOutput) +} + +// A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. +func (o SecurityPolicyRuleOutput) Match() SecurityPolicyRuleMatcherPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleMatcher { return v.Match }).(SecurityPolicyRuleMatcherPtrOutput) +} + +// A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive. +func (o SecurityPolicyRuleOutput) NetworkMatch() SecurityPolicyRuleNetworkMatcherPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleNetworkMatcher { return v.NetworkMatch }).(SecurityPolicyRuleNetworkMatcherPtrOutput) +} + +// Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect. +func (o SecurityPolicyRuleOutput) PreconfiguredWafConfig() SecurityPolicyRulePreconfiguredWafConfigPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRulePreconfiguredWafConfig { return v.PreconfiguredWafConfig }).(SecurityPolicyRulePreconfiguredWafConfigPtrOutput) +} + +// If set to true, the specified action is not enforced. +func (o SecurityPolicyRuleOutput) Preview() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *bool { return v.Preview }).(pulumi.BoolPtrOutput) +} + +// An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority. +func (o SecurityPolicyRuleOutput) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *int { return v.Priority }).(pulumi.IntPtrOutput) +} + +// Must be specified if the action is "rate_based_ban" or "throttle". Cannot be specified for any other actions. +func (o SecurityPolicyRuleOutput) RateLimitOptions() SecurityPolicyRuleRateLimitOptionsPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleRateLimitOptions { return v.RateLimitOptions }).(SecurityPolicyRuleRateLimitOptionsPtrOutput) +} + +// Parameters defining the redirect action. Cannot be specified for any other actions. This field is only supported in Global Security Policies of type CLOUD_ARMOR. +func (o SecurityPolicyRuleOutput) RedirectOptions() SecurityPolicyRuleRedirectOptionsPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *SecurityPolicyRuleRedirectOptions { return v.RedirectOptions }).(SecurityPolicyRuleRedirectOptionsPtrOutput) +} + +// This must be specified for redirect actions. Cannot be specified for any other actions. +func (o SecurityPolicyRuleOutput) RedirectTarget() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *string { return v.RedirectTarget }).(pulumi.StringPtrOutput) +} + +// Identifier for the rule. This is only unique within the given security policy. This can only be set during rule creation, if rule number is not specified it will be generated by the server. +func (o SecurityPolicyRuleOutput) RuleNumber() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityPolicyRule) *string { return v.RuleNumber }).(pulumi.StringPtrOutput) +} + +// A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleOutput) TargetResources() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRule) []string { return v.TargetResources }).(pulumi.StringArrayOutput) +} + +// A list of service accounts indicating the sets of instances that are applied with this rule. +func (o SecurityPolicyRuleOutput) TargetServiceAccounts() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRule) []string { return v.TargetServiceAccounts }).(pulumi.StringArrayOutput) +} + +type SecurityPolicyRuleArrayOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRule)(nil)).Elem() +} + +func (o SecurityPolicyRuleArrayOutput) ToSecurityPolicyRuleArrayOutput() SecurityPolicyRuleArrayOutput { + return o +} + +func (o SecurityPolicyRuleArrayOutput) ToSecurityPolicyRuleArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleArrayOutput { + return o +} + +func (o SecurityPolicyRuleArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRule { + return vs[0].([]SecurityPolicyRule)[vs[1].(int)] + }).(SecurityPolicyRuleOutput) +} + +type SecurityPolicyRuleHttpHeaderAction struct { + // The list of request headers to add or overwrite if they're already present. + RequestHeadersToAdds []SecurityPolicyRuleHttpHeaderActionHttpHeaderOption `pulumi:"requestHeadersToAdds"` +} + +// SecurityPolicyRuleHttpHeaderActionInput is an input type that accepts SecurityPolicyRuleHttpHeaderActionArgs and SecurityPolicyRuleHttpHeaderActionOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleHttpHeaderActionInput` via: +// +// SecurityPolicyRuleHttpHeaderActionArgs{...} +type SecurityPolicyRuleHttpHeaderActionInput interface { + pulumi.Input + + ToSecurityPolicyRuleHttpHeaderActionOutput() SecurityPolicyRuleHttpHeaderActionOutput + ToSecurityPolicyRuleHttpHeaderActionOutputWithContext(context.Context) SecurityPolicyRuleHttpHeaderActionOutput +} + +type SecurityPolicyRuleHttpHeaderActionArgs struct { + // The list of request headers to add or overwrite if they're already present. + RequestHeadersToAdds SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput `pulumi:"requestHeadersToAdds"` +} + +func (SecurityPolicyRuleHttpHeaderActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderAction)(nil)).Elem() +} + +func (i SecurityPolicyRuleHttpHeaderActionArgs) ToSecurityPolicyRuleHttpHeaderActionOutput() SecurityPolicyRuleHttpHeaderActionOutput { + return i.ToSecurityPolicyRuleHttpHeaderActionOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleHttpHeaderActionArgs) ToSecurityPolicyRuleHttpHeaderActionOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionOutput) +} + +func (i SecurityPolicyRuleHttpHeaderActionArgs) ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput { + return i.ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleHttpHeaderActionArgs) ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionOutput).ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx) +} + +// SecurityPolicyRuleHttpHeaderActionPtrInput is an input type that accepts SecurityPolicyRuleHttpHeaderActionArgs, SecurityPolicyRuleHttpHeaderActionPtr and SecurityPolicyRuleHttpHeaderActionPtrOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleHttpHeaderActionPtrInput` via: +// +// SecurityPolicyRuleHttpHeaderActionArgs{...} +// +// or: +// +// nil +type SecurityPolicyRuleHttpHeaderActionPtrInput interface { + pulumi.Input + + ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput + ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput +} + +type securityPolicyRuleHttpHeaderActionPtrType SecurityPolicyRuleHttpHeaderActionArgs + +func SecurityPolicyRuleHttpHeaderActionPtr(v *SecurityPolicyRuleHttpHeaderActionArgs) SecurityPolicyRuleHttpHeaderActionPtrInput { + return (*securityPolicyRuleHttpHeaderActionPtrType)(v) +} + +func (*securityPolicyRuleHttpHeaderActionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityPolicyRuleHttpHeaderAction)(nil)).Elem() +} + +func (i *securityPolicyRuleHttpHeaderActionPtrType) ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput { + return i.ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(context.Background()) +} + +func (i *securityPolicyRuleHttpHeaderActionPtrType) ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionPtrOutput) +} + +type SecurityPolicyRuleHttpHeaderActionOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleHttpHeaderActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderAction)(nil)).Elem() +} + +func (o SecurityPolicyRuleHttpHeaderActionOutput) ToSecurityPolicyRuleHttpHeaderActionOutput() SecurityPolicyRuleHttpHeaderActionOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionOutput) ToSecurityPolicyRuleHttpHeaderActionOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionOutput) ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput { + return o.ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(context.Background()) +} + +func (o SecurityPolicyRuleHttpHeaderActionOutput) ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityPolicyRuleHttpHeaderAction) *SecurityPolicyRuleHttpHeaderAction { + return &v + }).(SecurityPolicyRuleHttpHeaderActionPtrOutput) +} + +// The list of request headers to add or overwrite if they're already present. +func (o SecurityPolicyRuleHttpHeaderActionOutput) RequestHeadersToAdds() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderAction) []SecurityPolicyRuleHttpHeaderActionHttpHeaderOption { + return v.RequestHeadersToAdds + }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) +} + +type SecurityPolicyRuleHttpHeaderActionPtrOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleHttpHeaderActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityPolicyRuleHttpHeaderAction)(nil)).Elem() +} + +func (o SecurityPolicyRuleHttpHeaderActionPtrOutput) ToSecurityPolicyRuleHttpHeaderActionPtrOutput() SecurityPolicyRuleHttpHeaderActionPtrOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionPtrOutput) ToSecurityPolicyRuleHttpHeaderActionPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionPtrOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionPtrOutput) Elem() SecurityPolicyRuleHttpHeaderActionOutput { + return o.ApplyT(func(v *SecurityPolicyRuleHttpHeaderAction) SecurityPolicyRuleHttpHeaderAction { + if v != nil { + return *v + } + var ret SecurityPolicyRuleHttpHeaderAction + return ret + }).(SecurityPolicyRuleHttpHeaderActionOutput) +} + +// The list of request headers to add or overwrite if they're already present. +func (o SecurityPolicyRuleHttpHeaderActionPtrOutput) RequestHeadersToAdds() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { + return o.ApplyT(func(v *SecurityPolicyRuleHttpHeaderAction) []SecurityPolicyRuleHttpHeaderActionHttpHeaderOption { + if v == nil { + return nil + } + return v.RequestHeadersToAdds + }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) +} + +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOption struct { + // The name of the header to set. + HeaderName *string `pulumi:"headerName"` + // The value to set the named header to. + HeaderValue *string `pulumi:"headerValue"` +} + +// SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput is an input type that accepts SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs and SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput` via: +// +// SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs{...} +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput interface { + pulumi.Input + + ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput + ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutputWithContext(context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput +} + +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs struct { + // The name of the header to set. + HeaderName pulumi.StringPtrInput `pulumi:"headerName"` + // The value to set the named header to. + HeaderValue pulumi.StringPtrInput `pulumi:"headerValue"` +} + +func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil)).Elem() +} + +func (i SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { + return i.ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) +} + +// SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput is an input type that accepts SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray and SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput` via: +// +// SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray{ SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs{...} } +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput interface { + pulumi.Input + + ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput + ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutputWithContext(context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput +} + +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray []SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput + +func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil)).Elem() +} + +func (i SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { + return i.ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) +} + +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil)).Elem() +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { + return o +} + +// The name of the header to set. +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) HeaderName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) *string { return v.HeaderName }).(pulumi.StringPtrOutput) +} + +// The value to set the named header to. +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) HeaderValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) *string { return v.HeaderValue }).(pulumi.StringPtrOutput) +} + +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil)).Elem() +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleHttpHeaderActionHttpHeaderOption { + return vs[0].([]SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)[vs[1].(int)] + }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput) +} + +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse struct { + // The name of the header to set. + HeaderName string `pulumi:"headerName"` + // The value to set the named header to. + HeaderValue string `pulumi:"headerValue"` +} + +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse)(nil)).Elem() +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput { + return o +} + +// The name of the header to set. +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) HeaderName() pulumi.StringOutput { + return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse) string { return v.HeaderName }).(pulumi.StringOutput) +} + +// The value to set the named header to. +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) HeaderValue() pulumi.StringOutput { + return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse) string { return v.HeaderValue }).(pulumi.StringOutput) +} + +type SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse)(nil)).Elem() +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) ToSecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse { + return vs[0].([]SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse)[vs[1].(int)] + }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput) +} + +type SecurityPolicyRuleHttpHeaderActionResponse struct { + // The list of request headers to add or overwrite if they're already present. + RequestHeadersToAdds []SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse `pulumi:"requestHeadersToAdds"` +} + +type SecurityPolicyRuleHttpHeaderActionResponseOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleHttpHeaderActionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionResponse)(nil)).Elem() +} + +func (o SecurityPolicyRuleHttpHeaderActionResponseOutput) ToSecurityPolicyRuleHttpHeaderActionResponseOutput() SecurityPolicyRuleHttpHeaderActionResponseOutput { + return o +} + +func (o SecurityPolicyRuleHttpHeaderActionResponseOutput) ToSecurityPolicyRuleHttpHeaderActionResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleHttpHeaderActionResponseOutput { + return o +} + +// The list of request headers to add or overwrite if they're already present. +func (o SecurityPolicyRuleHttpHeaderActionResponseOutput) RequestHeadersToAdds() SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleHttpHeaderActionResponse) []SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponse { + return v.RequestHeadersToAdds + }).(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput) +} + +// Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. +type SecurityPolicyRuleMatcher struct { + // The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. + Config *SecurityPolicyRuleMatcherConfig `pulumi:"config"` + // User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies. + Expr *Expr `pulumi:"expr"` + // The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr'). + ExprOptions *SecurityPolicyRuleMatcherExprOptions `pulumi:"exprOptions"` + // Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. + VersionedExpr *SecurityPolicyRuleMatcherVersionedExpr `pulumi:"versionedExpr"` +} + +// SecurityPolicyRuleMatcherInput is an input type that accepts SecurityPolicyRuleMatcherArgs and SecurityPolicyRuleMatcherOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherInput` via: +// +// SecurityPolicyRuleMatcherArgs{...} +type SecurityPolicyRuleMatcherInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherOutput() SecurityPolicyRuleMatcherOutput + ToSecurityPolicyRuleMatcherOutputWithContext(context.Context) SecurityPolicyRuleMatcherOutput +} + +// Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. +type SecurityPolicyRuleMatcherArgs struct { + // The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. + Config SecurityPolicyRuleMatcherConfigPtrInput `pulumi:"config"` + // User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies. + Expr ExprPtrInput `pulumi:"expr"` + // The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr'). + ExprOptions SecurityPolicyRuleMatcherExprOptionsPtrInput `pulumi:"exprOptions"` + // Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. + VersionedExpr SecurityPolicyRuleMatcherVersionedExprPtrInput `pulumi:"versionedExpr"` +} + +func (SecurityPolicyRuleMatcherArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcher)(nil)).Elem() +} + +func (i SecurityPolicyRuleMatcherArgs) ToSecurityPolicyRuleMatcherOutput() SecurityPolicyRuleMatcherOutput { + return i.ToSecurityPolicyRuleMatcherOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherArgs) ToSecurityPolicyRuleMatcherOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherOutput) +} + +func (i SecurityPolicyRuleMatcherArgs) ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput { + return i.ToSecurityPolicyRuleMatcherPtrOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherArgs) ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherOutput).ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx) +} + +// SecurityPolicyRuleMatcherPtrInput is an input type that accepts SecurityPolicyRuleMatcherArgs, SecurityPolicyRuleMatcherPtr and SecurityPolicyRuleMatcherPtrOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherPtrInput` via: +// +// SecurityPolicyRuleMatcherArgs{...} +// +// or: +// +// nil +type SecurityPolicyRuleMatcherPtrInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput + ToSecurityPolicyRuleMatcherPtrOutputWithContext(context.Context) SecurityPolicyRuleMatcherPtrOutput +} + +type securityPolicyRuleMatcherPtrType SecurityPolicyRuleMatcherArgs + +func SecurityPolicyRuleMatcherPtr(v *SecurityPolicyRuleMatcherArgs) SecurityPolicyRuleMatcherPtrInput { + return (*securityPolicyRuleMatcherPtrType)(v) +} + +func (*securityPolicyRuleMatcherPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityPolicyRuleMatcher)(nil)).Elem() +} + +func (i *securityPolicyRuleMatcherPtrType) ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput { + return i.ToSecurityPolicyRuleMatcherPtrOutputWithContext(context.Background()) +} + +func (i *securityPolicyRuleMatcherPtrType) ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherPtrOutput) +} + +// Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified. +type SecurityPolicyRuleMatcherOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcher)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherOutput) ToSecurityPolicyRuleMatcherOutput() SecurityPolicyRuleMatcherOutput { + return o +} + +func (o SecurityPolicyRuleMatcherOutput) ToSecurityPolicyRuleMatcherOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherOutput { + return o +} + +func (o SecurityPolicyRuleMatcherOutput) ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput { + return o.ToSecurityPolicyRuleMatcherPtrOutputWithContext(context.Background()) +} + +func (o SecurityPolicyRuleMatcherOutput) ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcher { + return &v + }).(SecurityPolicyRuleMatcherPtrOutput) +} + +// The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. +func (o SecurityPolicyRuleMatcherOutput) Config() SecurityPolicyRuleMatcherConfigPtrOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherConfig { return v.Config }).(SecurityPolicyRuleMatcherConfigPtrOutput) +} + +// User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies. +func (o SecurityPolicyRuleMatcherOutput) Expr() ExprPtrOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcher) *Expr { return v.Expr }).(ExprPtrOutput) +} + +// The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr'). +func (o SecurityPolicyRuleMatcherOutput) ExprOptions() SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherExprOptions { return v.ExprOptions }).(SecurityPolicyRuleMatcherExprOptionsPtrOutput) +} + +// Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. +func (o SecurityPolicyRuleMatcherOutput) VersionedExpr() SecurityPolicyRuleMatcherVersionedExprPtrOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherVersionedExpr { return v.VersionedExpr }).(SecurityPolicyRuleMatcherVersionedExprPtrOutput) +} + +type SecurityPolicyRuleMatcherPtrOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityPolicyRuleMatcher)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherPtrOutput) ToSecurityPolicyRuleMatcherPtrOutput() SecurityPolicyRuleMatcherPtrOutput { + return o +} + +func (o SecurityPolicyRuleMatcherPtrOutput) ToSecurityPolicyRuleMatcherPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherPtrOutput { + return o +} + +func (o SecurityPolicyRuleMatcherPtrOutput) Elem() SecurityPolicyRuleMatcherOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcher) SecurityPolicyRuleMatcher { + if v != nil { + return *v + } + var ret SecurityPolicyRuleMatcher + return ret + }).(SecurityPolicyRuleMatcherOutput) +} + +// The configuration options available when specifying versioned_expr. This field must be specified if versioned_expr is specified and cannot be specified if versioned_expr is not specified. +func (o SecurityPolicyRuleMatcherPtrOutput) Config() SecurityPolicyRuleMatcherConfigPtrOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherConfig { + if v == nil { + return nil + } + return v.Config + }).(SecurityPolicyRuleMatcherConfigPtrOutput) +} + +// User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header. Expressions containing `evaluateThreatIntelligence` require Cloud Armor Managed Protection Plus tier and are not supported in Edge Policies nor in Regional Policies. Expressions containing `evaluatePreconfiguredExpr('sourceiplist-*')` require Cloud Armor Managed Protection Plus tier and are only supported in Global Security Policies. +func (o SecurityPolicyRuleMatcherPtrOutput) Expr() ExprPtrOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcher) *Expr { + if v == nil { + return nil + } + return v.Expr + }).(ExprPtrOutput) +} + +// The configuration options available when specifying a user defined CEVAL expression (i.e., 'expr'). +func (o SecurityPolicyRuleMatcherPtrOutput) ExprOptions() SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherExprOptions { + if v == nil { + return nil + } + return v.ExprOptions + }).(SecurityPolicyRuleMatcherExprOptionsPtrOutput) +} + +// Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. +func (o SecurityPolicyRuleMatcherPtrOutput) VersionedExpr() SecurityPolicyRuleMatcherVersionedExprPtrOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcher) *SecurityPolicyRuleMatcherVersionedExpr { + if v == nil { + return nil + } + return v.VersionedExpr + }).(SecurityPolicyRuleMatcherVersionedExprPtrOutput) +} + +type SecurityPolicyRuleMatcherConfig struct { + // CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. + DestIpRanges []string `pulumi:"destIpRanges"` + // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. + DestPorts []SecurityPolicyRuleMatcherConfigDestinationPort `pulumi:"destPorts"` + // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. + Layer4Configs []SecurityPolicyRuleMatcherConfigLayer4Config `pulumi:"layer4Configs"` + // CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. + SrcIpRanges []string `pulumi:"srcIpRanges"` +} + +// SecurityPolicyRuleMatcherConfigInput is an input type that accepts SecurityPolicyRuleMatcherConfigArgs and SecurityPolicyRuleMatcherConfigOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigInput` via: +// +// SecurityPolicyRuleMatcherConfigArgs{...} +type SecurityPolicyRuleMatcherConfigInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherConfigOutput() SecurityPolicyRuleMatcherConfigOutput + ToSecurityPolicyRuleMatcherConfigOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigOutput +} + +type SecurityPolicyRuleMatcherConfigArgs struct { + // CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. + DestIpRanges pulumi.StringArrayInput `pulumi:"destIpRanges"` + // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. + DestPorts SecurityPolicyRuleMatcherConfigDestinationPortArrayInput `pulumi:"destPorts"` + // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. + Layer4Configs SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput `pulumi:"layer4Configs"` + // CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. + SrcIpRanges pulumi.StringArrayInput `pulumi:"srcIpRanges"` +} + +func (SecurityPolicyRuleMatcherConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherConfig)(nil)).Elem() +} + +func (i SecurityPolicyRuleMatcherConfigArgs) ToSecurityPolicyRuleMatcherConfigOutput() SecurityPolicyRuleMatcherConfigOutput { + return i.ToSecurityPolicyRuleMatcherConfigOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherConfigArgs) ToSecurityPolicyRuleMatcherConfigOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigOutput) +} + +func (i SecurityPolicyRuleMatcherConfigArgs) ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput { + return i.ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherConfigArgs) ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigOutput).ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx) +} + +// SecurityPolicyRuleMatcherConfigPtrInput is an input type that accepts SecurityPolicyRuleMatcherConfigArgs, SecurityPolicyRuleMatcherConfigPtr and SecurityPolicyRuleMatcherConfigPtrOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigPtrInput` via: +// +// SecurityPolicyRuleMatcherConfigArgs{...} +// +// or: +// +// nil +type SecurityPolicyRuleMatcherConfigPtrInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput + ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigPtrOutput +} + +type securityPolicyRuleMatcherConfigPtrType SecurityPolicyRuleMatcherConfigArgs + +func SecurityPolicyRuleMatcherConfigPtr(v *SecurityPolicyRuleMatcherConfigArgs) SecurityPolicyRuleMatcherConfigPtrInput { + return (*securityPolicyRuleMatcherConfigPtrType)(v) +} + +func (*securityPolicyRuleMatcherConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityPolicyRuleMatcherConfig)(nil)).Elem() +} + +func (i *securityPolicyRuleMatcherConfigPtrType) ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput { + return i.ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(context.Background()) +} + +func (i *securityPolicyRuleMatcherConfigPtrType) ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigPtrOutput) +} + +type SecurityPolicyRuleMatcherConfigOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherConfig)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigOutput) ToSecurityPolicyRuleMatcherConfigOutput() SecurityPolicyRuleMatcherConfigOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigOutput) ToSecurityPolicyRuleMatcherConfigOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigOutput) ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput { + return o.ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(context.Background()) +} + +func (o SecurityPolicyRuleMatcherConfigOutput) ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityPolicyRuleMatcherConfig) *SecurityPolicyRuleMatcherConfig { + return &v + }).(SecurityPolicyRuleMatcherConfigPtrOutput) +} + +// CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigOutput) DestIpRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfig) []string { return v.DestIpRanges }).(pulumi.StringArrayOutput) +} + +// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigOutput) DestPorts() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfig) []SecurityPolicyRuleMatcherConfigDestinationPort { + return v.DestPorts + }).(SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) +} + +// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigOutput) Layer4Configs() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfig) []SecurityPolicyRuleMatcherConfigLayer4Config { + return v.Layer4Configs + }).(SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) +} + +// CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. +func (o SecurityPolicyRuleMatcherConfigOutput) SrcIpRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfig) []string { return v.SrcIpRanges }).(pulumi.StringArrayOutput) +} + +type SecurityPolicyRuleMatcherConfigPtrOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityPolicyRuleMatcherConfig)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigPtrOutput) ToSecurityPolicyRuleMatcherConfigPtrOutput() SecurityPolicyRuleMatcherConfigPtrOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigPtrOutput) ToSecurityPolicyRuleMatcherConfigPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigPtrOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigPtrOutput) Elem() SecurityPolicyRuleMatcherConfigOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) SecurityPolicyRuleMatcherConfig { + if v != nil { + return *v + } + var ret SecurityPolicyRuleMatcherConfig + return ret + }).(SecurityPolicyRuleMatcherConfigOutput) +} + +// CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigPtrOutput) DestIpRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) []string { + if v == nil { + return nil + } + return v.DestIpRanges + }).(pulumi.StringArrayOutput) +} + +// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigPtrOutput) DestPorts() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) []SecurityPolicyRuleMatcherConfigDestinationPort { + if v == nil { + return nil + } + return v.DestPorts + }).(SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) +} + +// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigPtrOutput) Layer4Configs() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) []SecurityPolicyRuleMatcherConfigLayer4Config { + if v == nil { + return nil + } + return v.Layer4Configs + }).(SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) +} + +// CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. +func (o SecurityPolicyRuleMatcherConfigPtrOutput) SrcIpRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcherConfig) []string { + if v == nil { + return nil + } + return v.SrcIpRanges + }).(pulumi.StringArrayOutput) +} + +type SecurityPolicyRuleMatcherConfigDestinationPort struct { + // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. + IpProtocol *string `pulumi:"ipProtocol"` + // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. + Ports []string `pulumi:"ports"` +} + +// SecurityPolicyRuleMatcherConfigDestinationPortInput is an input type that accepts SecurityPolicyRuleMatcherConfigDestinationPortArgs and SecurityPolicyRuleMatcherConfigDestinationPortOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigDestinationPortInput` via: +// +// SecurityPolicyRuleMatcherConfigDestinationPortArgs{...} +type SecurityPolicyRuleMatcherConfigDestinationPortInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherConfigDestinationPortOutput() SecurityPolicyRuleMatcherConfigDestinationPortOutput + ToSecurityPolicyRuleMatcherConfigDestinationPortOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigDestinationPortOutput +} + +type SecurityPolicyRuleMatcherConfigDestinationPortArgs struct { + // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. + IpProtocol pulumi.StringPtrInput `pulumi:"ipProtocol"` + // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. + Ports pulumi.StringArrayInput `pulumi:"ports"` +} + +func (SecurityPolicyRuleMatcherConfigDestinationPortArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPort)(nil)).Elem() +} + +func (i SecurityPolicyRuleMatcherConfigDestinationPortArgs) ToSecurityPolicyRuleMatcherConfigDestinationPortOutput() SecurityPolicyRuleMatcherConfigDestinationPortOutput { + return i.ToSecurityPolicyRuleMatcherConfigDestinationPortOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherConfigDestinationPortArgs) ToSecurityPolicyRuleMatcherConfigDestinationPortOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigDestinationPortOutput) +} + +// SecurityPolicyRuleMatcherConfigDestinationPortArrayInput is an input type that accepts SecurityPolicyRuleMatcherConfigDestinationPortArray and SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigDestinationPortArrayInput` via: +// +// SecurityPolicyRuleMatcherConfigDestinationPortArray{ SecurityPolicyRuleMatcherConfigDestinationPortArgs{...} } +type SecurityPolicyRuleMatcherConfigDestinationPortArrayInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutput() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput + ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput +} + +type SecurityPolicyRuleMatcherConfigDestinationPortArray []SecurityPolicyRuleMatcherConfigDestinationPortInput + +func (SecurityPolicyRuleMatcherConfigDestinationPortArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigDestinationPort)(nil)).Elem() +} + +func (i SecurityPolicyRuleMatcherConfigDestinationPortArray) ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutput() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { + return i.ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherConfigDestinationPortArray) ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) +} + +type SecurityPolicyRuleMatcherConfigDestinationPortOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigDestinationPortOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPort)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortOutput() SecurityPolicyRuleMatcherConfigDestinationPortOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortOutput { + return o +} + +// The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. +func (o SecurityPolicyRuleMatcherConfigDestinationPortOutput) IpProtocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigDestinationPort) *string { return v.IpProtocol }).(pulumi.StringPtrOutput) +} + +// An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigDestinationPortOutput) Ports() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigDestinationPort) []string { return v.Ports }).(pulumi.StringArrayOutput) +} + +type SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigDestinationPort)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutput() SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleMatcherConfigDestinationPortOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleMatcherConfigDestinationPort { + return vs[0].([]SecurityPolicyRuleMatcherConfigDestinationPort)[vs[1].(int)] + }).(SecurityPolicyRuleMatcherConfigDestinationPortOutput) +} + +type SecurityPolicyRuleMatcherConfigDestinationPortResponse struct { + // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. + IpProtocol string `pulumi:"ipProtocol"` + // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. + Ports []string `pulumi:"ports"` +} + +type SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPortResponse)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortResponseOutput() SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput { + return o +} + +// The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. +func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) IpProtocol() pulumi.StringOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigDestinationPortResponse) string { return v.IpProtocol }).(pulumi.StringOutput) +} + +// An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) Ports() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigDestinationPortResponse) []string { return v.Ports }).(pulumi.StringArrayOutput) +} + +type SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigDestinationPortResponse)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput() SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) ToSecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleMatcherConfigDestinationPortResponse { + return vs[0].([]SecurityPolicyRuleMatcherConfigDestinationPortResponse)[vs[1].(int)] + }).(SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput) +} + +type SecurityPolicyRuleMatcherConfigLayer4Config struct { + // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. + IpProtocol *string `pulumi:"ipProtocol"` + // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. + Ports []string `pulumi:"ports"` +} + +// SecurityPolicyRuleMatcherConfigLayer4ConfigInput is an input type that accepts SecurityPolicyRuleMatcherConfigLayer4ConfigArgs and SecurityPolicyRuleMatcherConfigLayer4ConfigOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigLayer4ConfigInput` via: +// +// SecurityPolicyRuleMatcherConfigLayer4ConfigArgs{...} +type SecurityPolicyRuleMatcherConfigLayer4ConfigInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigOutput + ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigOutput +} + +type SecurityPolicyRuleMatcherConfigLayer4ConfigArgs struct { + // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. + IpProtocol pulumi.StringPtrInput `pulumi:"ipProtocol"` + // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. + Ports pulumi.StringArrayInput `pulumi:"ports"` +} + +func (SecurityPolicyRuleMatcherConfigLayer4ConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4Config)(nil)).Elem() +} + +func (i SecurityPolicyRuleMatcherConfigLayer4ConfigArgs) ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { + return i.ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherConfigLayer4ConfigArgs) ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) +} + +// SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput is an input type that accepts SecurityPolicyRuleMatcherConfigLayer4ConfigArray and SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput` via: +// +// SecurityPolicyRuleMatcherConfigLayer4ConfigArray{ SecurityPolicyRuleMatcherConfigLayer4ConfigArgs{...} } +type SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput + ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutputWithContext(context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput +} + +type SecurityPolicyRuleMatcherConfigLayer4ConfigArray []SecurityPolicyRuleMatcherConfigLayer4ConfigInput + +func (SecurityPolicyRuleMatcherConfigLayer4ConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigLayer4Config)(nil)).Elem() +} + +func (i SecurityPolicyRuleMatcherConfigLayer4ConfigArray) ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { + return i.ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherConfigLayer4ConfigArray) ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) +} + +type SecurityPolicyRuleMatcherConfigLayer4ConfigOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4Config)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { + return o +} + +// The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) IpProtocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigLayer4Config) *string { return v.IpProtocol }).(pulumi.StringPtrOutput) +} + +// An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) Ports() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigLayer4Config) []string { return v.Ports }).(pulumi.StringArrayOutput) +} + +type SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigLayer4Config)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleMatcherConfigLayer4ConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleMatcherConfigLayer4Config { + return vs[0].([]SecurityPolicyRuleMatcherConfigLayer4Config)[vs[1].(int)] + }).(SecurityPolicyRuleMatcherConfigLayer4ConfigOutput) +} + +type SecurityPolicyRuleMatcherConfigLayer4ConfigResponse struct { + // The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. + IpProtocol string `pulumi:"ipProtocol"` + // An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. + Ports []string `pulumi:"ports"` +} + +type SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4ConfigResponse)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput { + return o +} + +// The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number. +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) IpProtocol() pulumi.StringOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigLayer4ConfigResponse) string { return v.IpProtocol }).(pulumi.StringOutput) +} + +// An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) Ports() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigLayer4ConfigResponse) []string { return v.Ports }).(pulumi.StringArrayOutput) +} + +type SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SecurityPolicyRuleMatcherConfigLayer4ConfigResponse)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput() SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) ToSecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) Index(i pulumi.IntInput) SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SecurityPolicyRuleMatcherConfigLayer4ConfigResponse { + return vs[0].([]SecurityPolicyRuleMatcherConfigLayer4ConfigResponse)[vs[1].(int)] + }).(SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput) +} + +type SecurityPolicyRuleMatcherConfigResponse struct { + // CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. + DestIpRanges []string `pulumi:"destIpRanges"` + // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. + DestPorts []SecurityPolicyRuleMatcherConfigDestinationPortResponse `pulumi:"destPorts"` + // Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. + Layer4Configs []SecurityPolicyRuleMatcherConfigLayer4ConfigResponse `pulumi:"layer4Configs"` + // CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. + SrcIpRanges []string `pulumi:"srcIpRanges"` +} + +type SecurityPolicyRuleMatcherConfigResponseOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherConfigResponse)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherConfigResponseOutput) ToSecurityPolicyRuleMatcherConfigResponseOutput() SecurityPolicyRuleMatcherConfigResponseOutput { + return o +} + +func (o SecurityPolicyRuleMatcherConfigResponseOutput) ToSecurityPolicyRuleMatcherConfigResponseOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherConfigResponseOutput { + return o +} + +// CIDR IP address range. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigResponseOutput) DestIpRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigResponse) []string { return v.DestIpRanges }).(pulumi.StringArrayOutput) +} + +// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigResponseOutput) DestPorts() SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigResponse) []SecurityPolicyRuleMatcherConfigDestinationPortResponse { + return v.DestPorts + }).(SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput) +} + +// Pairs of IP protocols and ports that the rule should match. This field may only be specified when versioned_expr is set to FIREWALL. +func (o SecurityPolicyRuleMatcherConfigResponseOutput) Layer4Configs() SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigResponse) []SecurityPolicyRuleMatcherConfigLayer4ConfigResponse { + return v.Layer4Configs + }).(SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput) +} + +// CIDR IP address range. Maximum number of src_ip_ranges allowed is 10. +func (o SecurityPolicyRuleMatcherConfigResponseOutput) SrcIpRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherConfigResponse) []string { return v.SrcIpRanges }).(pulumi.StringArrayOutput) +} + +type SecurityPolicyRuleMatcherExprOptions struct { + // reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field will have no effect. + RecaptchaOptions *SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions `pulumi:"recaptchaOptions"` +} + +// SecurityPolicyRuleMatcherExprOptionsInput is an input type that accepts SecurityPolicyRuleMatcherExprOptionsArgs and SecurityPolicyRuleMatcherExprOptionsOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherExprOptionsInput` via: +// +// SecurityPolicyRuleMatcherExprOptionsArgs{...} +type SecurityPolicyRuleMatcherExprOptionsInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherExprOptionsOutput() SecurityPolicyRuleMatcherExprOptionsOutput + ToSecurityPolicyRuleMatcherExprOptionsOutputWithContext(context.Context) SecurityPolicyRuleMatcherExprOptionsOutput +} + +type SecurityPolicyRuleMatcherExprOptionsArgs struct { + // reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field will have no effect. + RecaptchaOptions SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrInput `pulumi:"recaptchaOptions"` +} + +func (SecurityPolicyRuleMatcherExprOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptions)(nil)).Elem() +} + +func (i SecurityPolicyRuleMatcherExprOptionsArgs) ToSecurityPolicyRuleMatcherExprOptionsOutput() SecurityPolicyRuleMatcherExprOptionsOutput { + return i.ToSecurityPolicyRuleMatcherExprOptionsOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherExprOptionsArgs) ToSecurityPolicyRuleMatcherExprOptionsOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherExprOptionsOutput) +} + +func (i SecurityPolicyRuleMatcherExprOptionsArgs) ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return i.ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(context.Background()) +} + +func (i SecurityPolicyRuleMatcherExprOptionsArgs) ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherExprOptionsOutput).ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx) +} + +// SecurityPolicyRuleMatcherExprOptionsPtrInput is an input type that accepts SecurityPolicyRuleMatcherExprOptionsArgs, SecurityPolicyRuleMatcherExprOptionsPtr and SecurityPolicyRuleMatcherExprOptionsPtrOutput values. +// You can construct a concrete instance of `SecurityPolicyRuleMatcherExprOptionsPtrInput` via: +// +// SecurityPolicyRuleMatcherExprOptionsArgs{...} +// +// or: +// +// nil +type SecurityPolicyRuleMatcherExprOptionsPtrInput interface { + pulumi.Input + + ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput + ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput +} + +type securityPolicyRuleMatcherExprOptionsPtrType SecurityPolicyRuleMatcherExprOptionsArgs + +func SecurityPolicyRuleMatcherExprOptionsPtr(v *SecurityPolicyRuleMatcherExprOptionsArgs) SecurityPolicyRuleMatcherExprOptionsPtrInput { + return (*securityPolicyRuleMatcherExprOptionsPtrType)(v) +} + +func (*securityPolicyRuleMatcherExprOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityPolicyRuleMatcherExprOptions)(nil)).Elem() +} + +func (i *securityPolicyRuleMatcherExprOptionsPtrType) ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return i.ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(context.Background()) +} + +func (i *securityPolicyRuleMatcherExprOptionsPtrType) ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityPolicyRuleMatcherExprOptionsPtrOutput) +} + +type SecurityPolicyRuleMatcherExprOptionsOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherExprOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptions)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherExprOptionsOutput) ToSecurityPolicyRuleMatcherExprOptionsOutput() SecurityPolicyRuleMatcherExprOptionsOutput { + return o +} + +func (o SecurityPolicyRuleMatcherExprOptionsOutput) ToSecurityPolicyRuleMatcherExprOptionsOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsOutput { + return o +} + +func (o SecurityPolicyRuleMatcherExprOptionsOutput) ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return o.ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(context.Background()) +} + +func (o SecurityPolicyRuleMatcherExprOptionsOutput) ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityPolicyRuleMatcherExprOptions) *SecurityPolicyRuleMatcherExprOptions { + return &v + }).(SecurityPolicyRuleMatcherExprOptionsPtrOutput) +} + +// reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field will have no effect. +func (o SecurityPolicyRuleMatcherExprOptionsOutput) RecaptchaOptions() SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrOutput { + return o.ApplyT(func(v SecurityPolicyRuleMatcherExprOptions) *SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions { + return v.RecaptchaOptions + }).(SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrOutput) +} + +type SecurityPolicyRuleMatcherExprOptionsPtrOutput struct{ *pulumi.OutputState } + +func (SecurityPolicyRuleMatcherExprOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityPolicyRuleMatcherExprOptions)(nil)).Elem() +} + +func (o SecurityPolicyRuleMatcherExprOptionsPtrOutput) ToSecurityPolicyRuleMatcherExprOptionsPtrOutput() SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return o +} + +func (o SecurityPolicyRuleMatcherExprOptionsPtrOutput) ToSecurityPolicyRuleMatcherExprOptionsPtrOutputWithContext(ctx context.Context) SecurityPolicyRuleMatcherExprOptionsPtrOutput { + return o +} + +func (o SecurityPolicyRuleMatcherExprOptionsPtrOutput) Elem() SecurityPolicyRuleMatcherExprOptionsOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcherExprOptions) SecurityPolicyRuleMatcherExprOptions { + if v != nil { + return *v + } + var ret SecurityPolicyRuleMatcherExprOptions + return ret + }).(SecurityPolicyRuleMatcherExprOptionsOutput) +} + +// reCAPTCHA configuration options to be applied for the rule. If the rule does not evaluate reCAPTCHA tokens, this field will have no effect. +func (o SecurityPolicyRuleMatcherExprOptionsPtrOutput) RecaptchaOptions() SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrOutput { + return o.ApplyT(func(v *SecurityPolicyRuleMatcherExprOptions) *SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions { + if v == nil { + return nil + } + return v.RecaptchaOptions + }).(SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrOutput) +} + type SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions struct { // A list of site keys to be used during the validation of reCAPTCHA action-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created. ActionTokenSiteKeys []string `pulumi:"actionTokenSiteKeys"` @@ -4089,140 +5567,447 @@ func ServiceAttachmentTunnelingConfigPtr(v *ServiceAttachmentTunnelingConfigArgs return (*serviceAttachmentTunnelingConfigPtrType)(v) } -func (*serviceAttachmentTunnelingConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceAttachmentTunnelingConfig)(nil)).Elem() +func (*serviceAttachmentTunnelingConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceAttachmentTunnelingConfig)(nil)).Elem() +} + +func (i *serviceAttachmentTunnelingConfigPtrType) ToServiceAttachmentTunnelingConfigPtrOutput() ServiceAttachmentTunnelingConfigPtrOutput { + return i.ToServiceAttachmentTunnelingConfigPtrOutputWithContext(context.Background()) +} + +func (i *serviceAttachmentTunnelingConfigPtrType) ToServiceAttachmentTunnelingConfigPtrOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceAttachmentTunnelingConfigPtrOutput) +} + +// Use to configure this PSC connection in tunneling mode. In tunneling mode traffic from consumer to producer will be encapsulated as it crosses the VPC boundary and traffic from producer to consumer will be decapsulated in the same manner. +type ServiceAttachmentTunnelingConfigOutput struct{ *pulumi.OutputState } + +func (ServiceAttachmentTunnelingConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceAttachmentTunnelingConfig)(nil)).Elem() +} + +func (o ServiceAttachmentTunnelingConfigOutput) ToServiceAttachmentTunnelingConfigOutput() ServiceAttachmentTunnelingConfigOutput { + return o +} + +func (o ServiceAttachmentTunnelingConfigOutput) ToServiceAttachmentTunnelingConfigOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigOutput { + return o +} + +func (o ServiceAttachmentTunnelingConfigOutput) ToServiceAttachmentTunnelingConfigPtrOutput() ServiceAttachmentTunnelingConfigPtrOutput { + return o.ToServiceAttachmentTunnelingConfigPtrOutputWithContext(context.Background()) +} + +func (o ServiceAttachmentTunnelingConfigOutput) ToServiceAttachmentTunnelingConfigPtrOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfig { + return &v + }).(ServiceAttachmentTunnelingConfigPtrOutput) +} + +// Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers. +func (o ServiceAttachmentTunnelingConfigOutput) EncapsulationProfile() ServiceAttachmentTunnelingConfigEncapsulationProfilePtrOutput { + return o.ApplyT(func(v ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfigEncapsulationProfile { + return v.EncapsulationProfile + }).(ServiceAttachmentTunnelingConfigEncapsulationProfilePtrOutput) +} + +// How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network. +func (o ServiceAttachmentTunnelingConfigOutput) RoutingMode() ServiceAttachmentTunnelingConfigRoutingModePtrOutput { + return o.ApplyT(func(v ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfigRoutingMode { + return v.RoutingMode + }).(ServiceAttachmentTunnelingConfigRoutingModePtrOutput) +} + +type ServiceAttachmentTunnelingConfigPtrOutput struct{ *pulumi.OutputState } + +func (ServiceAttachmentTunnelingConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceAttachmentTunnelingConfig)(nil)).Elem() +} + +func (o ServiceAttachmentTunnelingConfigPtrOutput) ToServiceAttachmentTunnelingConfigPtrOutput() ServiceAttachmentTunnelingConfigPtrOutput { + return o +} + +func (o ServiceAttachmentTunnelingConfigPtrOutput) ToServiceAttachmentTunnelingConfigPtrOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigPtrOutput { + return o +} + +func (o ServiceAttachmentTunnelingConfigPtrOutput) Elem() ServiceAttachmentTunnelingConfigOutput { + return o.ApplyT(func(v *ServiceAttachmentTunnelingConfig) ServiceAttachmentTunnelingConfig { + if v != nil { + return *v + } + var ret ServiceAttachmentTunnelingConfig + return ret + }).(ServiceAttachmentTunnelingConfigOutput) +} + +// Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers. +func (o ServiceAttachmentTunnelingConfigPtrOutput) EncapsulationProfile() ServiceAttachmentTunnelingConfigEncapsulationProfilePtrOutput { + return o.ApplyT(func(v *ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfigEncapsulationProfile { + if v == nil { + return nil + } + return v.EncapsulationProfile + }).(ServiceAttachmentTunnelingConfigEncapsulationProfilePtrOutput) +} + +// How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network. +func (o ServiceAttachmentTunnelingConfigPtrOutput) RoutingMode() ServiceAttachmentTunnelingConfigRoutingModePtrOutput { + return o.ApplyT(func(v *ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfigRoutingMode { + if v == nil { + return nil + } + return v.RoutingMode + }).(ServiceAttachmentTunnelingConfigRoutingModePtrOutput) +} + +// Use to configure this PSC connection in tunneling mode. In tunneling mode traffic from consumer to producer will be encapsulated as it crosses the VPC boundary and traffic from producer to consumer will be decapsulated in the same manner. +type ServiceAttachmentTunnelingConfigResponse struct { + // Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers. + EncapsulationProfile string `pulumi:"encapsulationProfile"` + // How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network. + RoutingMode string `pulumi:"routingMode"` +} + +// Use to configure this PSC connection in tunneling mode. In tunneling mode traffic from consumer to producer will be encapsulated as it crosses the VPC boundary and traffic from producer to consumer will be decapsulated in the same manner. +type ServiceAttachmentTunnelingConfigResponseOutput struct{ *pulumi.OutputState } + +func (ServiceAttachmentTunnelingConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceAttachmentTunnelingConfigResponse)(nil)).Elem() +} + +func (o ServiceAttachmentTunnelingConfigResponseOutput) ToServiceAttachmentTunnelingConfigResponseOutput() ServiceAttachmentTunnelingConfigResponseOutput { + return o +} + +func (o ServiceAttachmentTunnelingConfigResponseOutput) ToServiceAttachmentTunnelingConfigResponseOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigResponseOutput { + return o +} + +// Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers. +func (o ServiceAttachmentTunnelingConfigResponseOutput) EncapsulationProfile() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAttachmentTunnelingConfigResponse) string { return v.EncapsulationProfile }).(pulumi.StringOutput) +} + +// How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network. +func (o ServiceAttachmentTunnelingConfigResponseOutput) RoutingMode() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAttachmentTunnelingConfigResponse) string { return v.RoutingMode }).(pulumi.StringOutput) +} + +// Specifies the parameters to configure an integration with instances. +type ServiceIntegrationSpec struct { + BackupDr *ServiceIntegrationSpecBackupDRSpec `pulumi:"backupDr"` +} + +// ServiceIntegrationSpecInput is an input type that accepts ServiceIntegrationSpecArgs and ServiceIntegrationSpecOutput values. +// You can construct a concrete instance of `ServiceIntegrationSpecInput` via: +// +// ServiceIntegrationSpecArgs{...} +type ServiceIntegrationSpecInput interface { + pulumi.Input + + ToServiceIntegrationSpecOutput() ServiceIntegrationSpecOutput + ToServiceIntegrationSpecOutputWithContext(context.Context) ServiceIntegrationSpecOutput +} + +// Specifies the parameters to configure an integration with instances. +type ServiceIntegrationSpecArgs struct { + BackupDr ServiceIntegrationSpecBackupDRSpecPtrInput `pulumi:"backupDr"` +} + +func (ServiceIntegrationSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceIntegrationSpec)(nil)).Elem() +} + +func (i ServiceIntegrationSpecArgs) ToServiceIntegrationSpecOutput() ServiceIntegrationSpecOutput { + return i.ToServiceIntegrationSpecOutputWithContext(context.Background()) +} + +func (i ServiceIntegrationSpecArgs) ToServiceIntegrationSpecOutputWithContext(ctx context.Context) ServiceIntegrationSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceIntegrationSpecOutput) +} + +// ServiceIntegrationSpecMapInput is an input type that accepts ServiceIntegrationSpecMap and ServiceIntegrationSpecMapOutput values. +// You can construct a concrete instance of `ServiceIntegrationSpecMapInput` via: +// +// ServiceIntegrationSpecMap{ "key": ServiceIntegrationSpecArgs{...} } +type ServiceIntegrationSpecMapInput interface { + pulumi.Input + + ToServiceIntegrationSpecMapOutput() ServiceIntegrationSpecMapOutput + ToServiceIntegrationSpecMapOutputWithContext(context.Context) ServiceIntegrationSpecMapOutput +} + +type ServiceIntegrationSpecMap map[string]ServiceIntegrationSpecInput + +func (ServiceIntegrationSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ServiceIntegrationSpec)(nil)).Elem() +} + +func (i ServiceIntegrationSpecMap) ToServiceIntegrationSpecMapOutput() ServiceIntegrationSpecMapOutput { + return i.ToServiceIntegrationSpecMapOutputWithContext(context.Background()) +} + +func (i ServiceIntegrationSpecMap) ToServiceIntegrationSpecMapOutputWithContext(ctx context.Context) ServiceIntegrationSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceIntegrationSpecMapOutput) +} + +// Specifies the parameters to configure an integration with instances. +type ServiceIntegrationSpecOutput struct{ *pulumi.OutputState } + +func (ServiceIntegrationSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceIntegrationSpec)(nil)).Elem() +} + +func (o ServiceIntegrationSpecOutput) ToServiceIntegrationSpecOutput() ServiceIntegrationSpecOutput { + return o +} + +func (o ServiceIntegrationSpecOutput) ToServiceIntegrationSpecOutputWithContext(ctx context.Context) ServiceIntegrationSpecOutput { + return o +} + +func (o ServiceIntegrationSpecOutput) BackupDr() ServiceIntegrationSpecBackupDRSpecPtrOutput { + return o.ApplyT(func(v ServiceIntegrationSpec) *ServiceIntegrationSpecBackupDRSpec { return v.BackupDr }).(ServiceIntegrationSpecBackupDRSpecPtrOutput) +} + +type ServiceIntegrationSpecMapOutput struct{ *pulumi.OutputState } + +func (ServiceIntegrationSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ServiceIntegrationSpec)(nil)).Elem() +} + +func (o ServiceIntegrationSpecMapOutput) ToServiceIntegrationSpecMapOutput() ServiceIntegrationSpecMapOutput { + return o +} + +func (o ServiceIntegrationSpecMapOutput) ToServiceIntegrationSpecMapOutputWithContext(ctx context.Context) ServiceIntegrationSpecMapOutput { + return o +} + +func (o ServiceIntegrationSpecMapOutput) MapIndex(k pulumi.StringInput) ServiceIntegrationSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ServiceIntegrationSpec { + return vs[0].(map[string]ServiceIntegrationSpec)[vs[1].(string)] + }).(ServiceIntegrationSpecOutput) +} + +// Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. +type ServiceIntegrationSpecBackupDRSpec struct { + // The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + Plan *string `pulumi:"plan"` +} + +// ServiceIntegrationSpecBackupDRSpecInput is an input type that accepts ServiceIntegrationSpecBackupDRSpecArgs and ServiceIntegrationSpecBackupDRSpecOutput values. +// You can construct a concrete instance of `ServiceIntegrationSpecBackupDRSpecInput` via: +// +// ServiceIntegrationSpecBackupDRSpecArgs{...} +type ServiceIntegrationSpecBackupDRSpecInput interface { + pulumi.Input + + ToServiceIntegrationSpecBackupDRSpecOutput() ServiceIntegrationSpecBackupDRSpecOutput + ToServiceIntegrationSpecBackupDRSpecOutputWithContext(context.Context) ServiceIntegrationSpecBackupDRSpecOutput +} + +// Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. +type ServiceIntegrationSpecBackupDRSpecArgs struct { + // The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + Plan pulumi.StringPtrInput `pulumi:"plan"` +} + +func (ServiceIntegrationSpecBackupDRSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceIntegrationSpecBackupDRSpec)(nil)).Elem() +} + +func (i ServiceIntegrationSpecBackupDRSpecArgs) ToServiceIntegrationSpecBackupDRSpecOutput() ServiceIntegrationSpecBackupDRSpecOutput { + return i.ToServiceIntegrationSpecBackupDRSpecOutputWithContext(context.Background()) +} + +func (i ServiceIntegrationSpecBackupDRSpecArgs) ToServiceIntegrationSpecBackupDRSpecOutputWithContext(ctx context.Context) ServiceIntegrationSpecBackupDRSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceIntegrationSpecBackupDRSpecOutput) +} + +func (i ServiceIntegrationSpecBackupDRSpecArgs) ToServiceIntegrationSpecBackupDRSpecPtrOutput() ServiceIntegrationSpecBackupDRSpecPtrOutput { + return i.ToServiceIntegrationSpecBackupDRSpecPtrOutputWithContext(context.Background()) +} + +func (i ServiceIntegrationSpecBackupDRSpecArgs) ToServiceIntegrationSpecBackupDRSpecPtrOutputWithContext(ctx context.Context) ServiceIntegrationSpecBackupDRSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceIntegrationSpecBackupDRSpecOutput).ToServiceIntegrationSpecBackupDRSpecPtrOutputWithContext(ctx) +} + +// ServiceIntegrationSpecBackupDRSpecPtrInput is an input type that accepts ServiceIntegrationSpecBackupDRSpecArgs, ServiceIntegrationSpecBackupDRSpecPtr and ServiceIntegrationSpecBackupDRSpecPtrOutput values. +// You can construct a concrete instance of `ServiceIntegrationSpecBackupDRSpecPtrInput` via: +// +// ServiceIntegrationSpecBackupDRSpecArgs{...} +// +// or: +// +// nil +type ServiceIntegrationSpecBackupDRSpecPtrInput interface { + pulumi.Input + + ToServiceIntegrationSpecBackupDRSpecPtrOutput() ServiceIntegrationSpecBackupDRSpecPtrOutput + ToServiceIntegrationSpecBackupDRSpecPtrOutputWithContext(context.Context) ServiceIntegrationSpecBackupDRSpecPtrOutput +} + +type serviceIntegrationSpecBackupDRSpecPtrType ServiceIntegrationSpecBackupDRSpecArgs + +func ServiceIntegrationSpecBackupDRSpecPtr(v *ServiceIntegrationSpecBackupDRSpecArgs) ServiceIntegrationSpecBackupDRSpecPtrInput { + return (*serviceIntegrationSpecBackupDRSpecPtrType)(v) +} + +func (*serviceIntegrationSpecBackupDRSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceIntegrationSpecBackupDRSpec)(nil)).Elem() } -func (i *serviceAttachmentTunnelingConfigPtrType) ToServiceAttachmentTunnelingConfigPtrOutput() ServiceAttachmentTunnelingConfigPtrOutput { - return i.ToServiceAttachmentTunnelingConfigPtrOutputWithContext(context.Background()) +func (i *serviceIntegrationSpecBackupDRSpecPtrType) ToServiceIntegrationSpecBackupDRSpecPtrOutput() ServiceIntegrationSpecBackupDRSpecPtrOutput { + return i.ToServiceIntegrationSpecBackupDRSpecPtrOutputWithContext(context.Background()) } -func (i *serviceAttachmentTunnelingConfigPtrType) ToServiceAttachmentTunnelingConfigPtrOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceAttachmentTunnelingConfigPtrOutput) +func (i *serviceIntegrationSpecBackupDRSpecPtrType) ToServiceIntegrationSpecBackupDRSpecPtrOutputWithContext(ctx context.Context) ServiceIntegrationSpecBackupDRSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceIntegrationSpecBackupDRSpecPtrOutput) } -// Use to configure this PSC connection in tunneling mode. In tunneling mode traffic from consumer to producer will be encapsulated as it crosses the VPC boundary and traffic from producer to consumer will be decapsulated in the same manner. -type ServiceAttachmentTunnelingConfigOutput struct{ *pulumi.OutputState } +// Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. +type ServiceIntegrationSpecBackupDRSpecOutput struct{ *pulumi.OutputState } -func (ServiceAttachmentTunnelingConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceAttachmentTunnelingConfig)(nil)).Elem() +func (ServiceIntegrationSpecBackupDRSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceIntegrationSpecBackupDRSpec)(nil)).Elem() } -func (o ServiceAttachmentTunnelingConfigOutput) ToServiceAttachmentTunnelingConfigOutput() ServiceAttachmentTunnelingConfigOutput { +func (o ServiceIntegrationSpecBackupDRSpecOutput) ToServiceIntegrationSpecBackupDRSpecOutput() ServiceIntegrationSpecBackupDRSpecOutput { return o } -func (o ServiceAttachmentTunnelingConfigOutput) ToServiceAttachmentTunnelingConfigOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigOutput { +func (o ServiceIntegrationSpecBackupDRSpecOutput) ToServiceIntegrationSpecBackupDRSpecOutputWithContext(ctx context.Context) ServiceIntegrationSpecBackupDRSpecOutput { return o } -func (o ServiceAttachmentTunnelingConfigOutput) ToServiceAttachmentTunnelingConfigPtrOutput() ServiceAttachmentTunnelingConfigPtrOutput { - return o.ToServiceAttachmentTunnelingConfigPtrOutputWithContext(context.Background()) +func (o ServiceIntegrationSpecBackupDRSpecOutput) ToServiceIntegrationSpecBackupDRSpecPtrOutput() ServiceIntegrationSpecBackupDRSpecPtrOutput { + return o.ToServiceIntegrationSpecBackupDRSpecPtrOutputWithContext(context.Background()) } -func (o ServiceAttachmentTunnelingConfigOutput) ToServiceAttachmentTunnelingConfigPtrOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfig { +func (o ServiceIntegrationSpecBackupDRSpecOutput) ToServiceIntegrationSpecBackupDRSpecPtrOutputWithContext(ctx context.Context) ServiceIntegrationSpecBackupDRSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServiceIntegrationSpecBackupDRSpec) *ServiceIntegrationSpecBackupDRSpec { return &v - }).(ServiceAttachmentTunnelingConfigPtrOutput) -} - -// Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers. -func (o ServiceAttachmentTunnelingConfigOutput) EncapsulationProfile() ServiceAttachmentTunnelingConfigEncapsulationProfilePtrOutput { - return o.ApplyT(func(v ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfigEncapsulationProfile { - return v.EncapsulationProfile - }).(ServiceAttachmentTunnelingConfigEncapsulationProfilePtrOutput) + }).(ServiceIntegrationSpecBackupDRSpecPtrOutput) } -// How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network. -func (o ServiceAttachmentTunnelingConfigOutput) RoutingMode() ServiceAttachmentTunnelingConfigRoutingModePtrOutput { - return o.ApplyT(func(v ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfigRoutingMode { - return v.RoutingMode - }).(ServiceAttachmentTunnelingConfigRoutingModePtrOutput) +// The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates +func (o ServiceIntegrationSpecBackupDRSpecOutput) Plan() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServiceIntegrationSpecBackupDRSpec) *string { return v.Plan }).(pulumi.StringPtrOutput) } -type ServiceAttachmentTunnelingConfigPtrOutput struct{ *pulumi.OutputState } +type ServiceIntegrationSpecBackupDRSpecPtrOutput struct{ *pulumi.OutputState } -func (ServiceAttachmentTunnelingConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServiceAttachmentTunnelingConfig)(nil)).Elem() +func (ServiceIntegrationSpecBackupDRSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServiceIntegrationSpecBackupDRSpec)(nil)).Elem() } -func (o ServiceAttachmentTunnelingConfigPtrOutput) ToServiceAttachmentTunnelingConfigPtrOutput() ServiceAttachmentTunnelingConfigPtrOutput { +func (o ServiceIntegrationSpecBackupDRSpecPtrOutput) ToServiceIntegrationSpecBackupDRSpecPtrOutput() ServiceIntegrationSpecBackupDRSpecPtrOutput { return o } -func (o ServiceAttachmentTunnelingConfigPtrOutput) ToServiceAttachmentTunnelingConfigPtrOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigPtrOutput { +func (o ServiceIntegrationSpecBackupDRSpecPtrOutput) ToServiceIntegrationSpecBackupDRSpecPtrOutputWithContext(ctx context.Context) ServiceIntegrationSpecBackupDRSpecPtrOutput { return o } -func (o ServiceAttachmentTunnelingConfigPtrOutput) Elem() ServiceAttachmentTunnelingConfigOutput { - return o.ApplyT(func(v *ServiceAttachmentTunnelingConfig) ServiceAttachmentTunnelingConfig { +func (o ServiceIntegrationSpecBackupDRSpecPtrOutput) Elem() ServiceIntegrationSpecBackupDRSpecOutput { + return o.ApplyT(func(v *ServiceIntegrationSpecBackupDRSpec) ServiceIntegrationSpecBackupDRSpec { if v != nil { return *v } - var ret ServiceAttachmentTunnelingConfig + var ret ServiceIntegrationSpecBackupDRSpec return ret - }).(ServiceAttachmentTunnelingConfigOutput) + }).(ServiceIntegrationSpecBackupDRSpecOutput) } -// Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers. -func (o ServiceAttachmentTunnelingConfigPtrOutput) EncapsulationProfile() ServiceAttachmentTunnelingConfigEncapsulationProfilePtrOutput { - return o.ApplyT(func(v *ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfigEncapsulationProfile { +// The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates +func (o ServiceIntegrationSpecBackupDRSpecPtrOutput) Plan() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServiceIntegrationSpecBackupDRSpec) *string { if v == nil { return nil } - return v.EncapsulationProfile - }).(ServiceAttachmentTunnelingConfigEncapsulationProfilePtrOutput) + return v.Plan + }).(pulumi.StringPtrOutput) } -// How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network. -func (o ServiceAttachmentTunnelingConfigPtrOutput) RoutingMode() ServiceAttachmentTunnelingConfigRoutingModePtrOutput { - return o.ApplyT(func(v *ServiceAttachmentTunnelingConfig) *ServiceAttachmentTunnelingConfigRoutingMode { - if v == nil { - return nil - } - return v.RoutingMode - }).(ServiceAttachmentTunnelingConfigRoutingModePtrOutput) +// Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. +type ServiceIntegrationSpecBackupDRSpecResponse struct { + // The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + Plan string `pulumi:"plan"` } -// Use to configure this PSC connection in tunneling mode. In tunneling mode traffic from consumer to producer will be encapsulated as it crosses the VPC boundary and traffic from producer to consumer will be decapsulated in the same manner. -type ServiceAttachmentTunnelingConfigResponse struct { - // Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers. - EncapsulationProfile string `pulumi:"encapsulationProfile"` - // How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network. - RoutingMode string `pulumi:"routingMode"` +// Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. +type ServiceIntegrationSpecBackupDRSpecResponseOutput struct{ *pulumi.OutputState } + +func (ServiceIntegrationSpecBackupDRSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceIntegrationSpecBackupDRSpecResponse)(nil)).Elem() } -// Use to configure this PSC connection in tunneling mode. In tunneling mode traffic from consumer to producer will be encapsulated as it crosses the VPC boundary and traffic from producer to consumer will be decapsulated in the same manner. -type ServiceAttachmentTunnelingConfigResponseOutput struct{ *pulumi.OutputState } +func (o ServiceIntegrationSpecBackupDRSpecResponseOutput) ToServiceIntegrationSpecBackupDRSpecResponseOutput() ServiceIntegrationSpecBackupDRSpecResponseOutput { + return o +} -func (ServiceAttachmentTunnelingConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceAttachmentTunnelingConfigResponse)(nil)).Elem() +func (o ServiceIntegrationSpecBackupDRSpecResponseOutput) ToServiceIntegrationSpecBackupDRSpecResponseOutputWithContext(ctx context.Context) ServiceIntegrationSpecBackupDRSpecResponseOutput { + return o } -func (o ServiceAttachmentTunnelingConfigResponseOutput) ToServiceAttachmentTunnelingConfigResponseOutput() ServiceAttachmentTunnelingConfigResponseOutput { +// The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates +func (o ServiceIntegrationSpecBackupDRSpecResponseOutput) Plan() pulumi.StringOutput { + return o.ApplyT(func(v ServiceIntegrationSpecBackupDRSpecResponse) string { return v.Plan }).(pulumi.StringOutput) +} + +// Specifies the parameters to configure an integration with instances. +type ServiceIntegrationSpecResponse struct { + BackupDr ServiceIntegrationSpecBackupDRSpecResponse `pulumi:"backupDr"` +} + +// Specifies the parameters to configure an integration with instances. +type ServiceIntegrationSpecResponseOutput struct{ *pulumi.OutputState } + +func (ServiceIntegrationSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceIntegrationSpecResponse)(nil)).Elem() +} + +func (o ServiceIntegrationSpecResponseOutput) ToServiceIntegrationSpecResponseOutput() ServiceIntegrationSpecResponseOutput { return o } -func (o ServiceAttachmentTunnelingConfigResponseOutput) ToServiceAttachmentTunnelingConfigResponseOutputWithContext(ctx context.Context) ServiceAttachmentTunnelingConfigResponseOutput { +func (o ServiceIntegrationSpecResponseOutput) ToServiceIntegrationSpecResponseOutputWithContext(ctx context.Context) ServiceIntegrationSpecResponseOutput { return o } -// Specify the encapsulation protocol and what metadata to include in incoming encapsulated packet headers. -func (o ServiceAttachmentTunnelingConfigResponseOutput) EncapsulationProfile() pulumi.StringOutput { - return o.ApplyT(func(v ServiceAttachmentTunnelingConfigResponse) string { return v.EncapsulationProfile }).(pulumi.StringOutput) +func (o ServiceIntegrationSpecResponseOutput) BackupDr() ServiceIntegrationSpecBackupDRSpecResponseOutput { + return o.ApplyT(func(v ServiceIntegrationSpecResponse) ServiceIntegrationSpecBackupDRSpecResponse { return v.BackupDr }).(ServiceIntegrationSpecBackupDRSpecResponseOutput) } -// How this Service Attachment will treat traffic sent to the tunnel_ip, destined for the consumer network. -func (o ServiceAttachmentTunnelingConfigResponseOutput) RoutingMode() pulumi.StringOutput { - return o.ApplyT(func(v ServiceAttachmentTunnelingConfigResponse) string { return v.RoutingMode }).(pulumi.StringOutput) +type ServiceIntegrationSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (ServiceIntegrationSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ServiceIntegrationSpecResponse)(nil)).Elem() +} + +func (o ServiceIntegrationSpecResponseMapOutput) ToServiceIntegrationSpecResponseMapOutput() ServiceIntegrationSpecResponseMapOutput { + return o +} + +func (o ServiceIntegrationSpecResponseMapOutput) ToServiceIntegrationSpecResponseMapOutputWithContext(ctx context.Context) ServiceIntegrationSpecResponseMapOutput { + return o +} + +func (o ServiceIntegrationSpecResponseMapOutput) MapIndex(k pulumi.StringInput) ServiceIntegrationSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ServiceIntegrationSpecResponse { + return vs[0].(map[string]ServiceIntegrationSpecResponse)[vs[1].(string)] + }).(ServiceIntegrationSpecResponseOutput) } // The share setting for reservations and sole tenancy node groups. type ShareSettings struct { // A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. - FolderMap map[string]string `pulumi:"folderMap"` + FolderMap map[string]ShareSettingsFolderConfig `pulumi:"folderMap"` // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. - ProjectMap map[string]string `pulumi:"projectMap"` + ProjectMap map[string]ShareSettingsProjectConfig `pulumi:"projectMap"` // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. Projects []string `pulumi:"projects"` // Type of sharing for this shared-reservation @@ -4243,9 +6028,9 @@ type ShareSettingsInput interface { // The share setting for reservations and sole tenancy node groups. type ShareSettingsArgs struct { // A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. - FolderMap pulumi.StringMapInput `pulumi:"folderMap"` + FolderMap ShareSettingsFolderConfigMapInput `pulumi:"folderMap"` // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. - ProjectMap pulumi.StringMapInput `pulumi:"projectMap"` + ProjectMap ShareSettingsProjectConfigMapInput `pulumi:"projectMap"` // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. Projects pulumi.StringArrayInput `pulumi:"projects"` // Type of sharing for this shared-reservation @@ -4331,13 +6116,13 @@ func (o ShareSettingsOutput) ToShareSettingsPtrOutputWithContext(ctx context.Con } // A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. -func (o ShareSettingsOutput) FolderMap() pulumi.StringMapOutput { - return o.ApplyT(func(v ShareSettings) map[string]string { return v.FolderMap }).(pulumi.StringMapOutput) +func (o ShareSettingsOutput) FolderMap() ShareSettingsFolderConfigMapOutput { + return o.ApplyT(func(v ShareSettings) map[string]ShareSettingsFolderConfig { return v.FolderMap }).(ShareSettingsFolderConfigMapOutput) } // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsOutput) ProjectMap() pulumi.StringMapOutput { - return o.ApplyT(func(v ShareSettings) map[string]string { return v.ProjectMap }).(pulumi.StringMapOutput) +func (o ShareSettingsOutput) ProjectMap() ShareSettingsProjectConfigMapOutput { + return o.ApplyT(func(v ShareSettings) map[string]ShareSettingsProjectConfig { return v.ProjectMap }).(ShareSettingsProjectConfigMapOutput) } // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. @@ -4374,52 +6159,344 @@ func (o ShareSettingsPtrOutput) Elem() ShareSettingsOutput { }).(ShareSettingsOutput) } -// A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. -func (o ShareSettingsPtrOutput) FolderMap() pulumi.StringMapOutput { - return o.ApplyT(func(v *ShareSettings) map[string]string { - if v == nil { - return nil - } - return v.FolderMap - }).(pulumi.StringMapOutput) +// A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. +func (o ShareSettingsPtrOutput) FolderMap() ShareSettingsFolderConfigMapOutput { + return o.ApplyT(func(v *ShareSettings) map[string]ShareSettingsFolderConfig { + if v == nil { + return nil + } + return v.FolderMap + }).(ShareSettingsFolderConfigMapOutput) +} + +// A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. +func (o ShareSettingsPtrOutput) ProjectMap() ShareSettingsProjectConfigMapOutput { + return o.ApplyT(func(v *ShareSettings) map[string]ShareSettingsProjectConfig { + if v == nil { + return nil + } + return v.ProjectMap + }).(ShareSettingsProjectConfigMapOutput) +} + +// A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. +func (o ShareSettingsPtrOutput) Projects() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ShareSettings) []string { + if v == nil { + return nil + } + return v.Projects + }).(pulumi.StringArrayOutput) +} + +// Type of sharing for this shared-reservation +func (o ShareSettingsPtrOutput) ShareType() ShareSettingsShareTypePtrOutput { + return o.ApplyT(func(v *ShareSettings) *ShareSettingsShareType { + if v == nil { + return nil + } + return v.ShareType + }).(ShareSettingsShareTypePtrOutput) +} + +// Config for each folder in the share settings. +type ShareSettingsFolderConfig struct { + // The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + FolderId *string `pulumi:"folderId"` +} + +// ShareSettingsFolderConfigInput is an input type that accepts ShareSettingsFolderConfigArgs and ShareSettingsFolderConfigOutput values. +// You can construct a concrete instance of `ShareSettingsFolderConfigInput` via: +// +// ShareSettingsFolderConfigArgs{...} +type ShareSettingsFolderConfigInput interface { + pulumi.Input + + ToShareSettingsFolderConfigOutput() ShareSettingsFolderConfigOutput + ToShareSettingsFolderConfigOutputWithContext(context.Context) ShareSettingsFolderConfigOutput +} + +// Config for each folder in the share settings. +type ShareSettingsFolderConfigArgs struct { + // The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + FolderId pulumi.StringPtrInput `pulumi:"folderId"` +} + +func (ShareSettingsFolderConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsFolderConfig)(nil)).Elem() +} + +func (i ShareSettingsFolderConfigArgs) ToShareSettingsFolderConfigOutput() ShareSettingsFolderConfigOutput { + return i.ToShareSettingsFolderConfigOutputWithContext(context.Background()) +} + +func (i ShareSettingsFolderConfigArgs) ToShareSettingsFolderConfigOutputWithContext(ctx context.Context) ShareSettingsFolderConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ShareSettingsFolderConfigOutput) +} + +// ShareSettingsFolderConfigMapInput is an input type that accepts ShareSettingsFolderConfigMap and ShareSettingsFolderConfigMapOutput values. +// You can construct a concrete instance of `ShareSettingsFolderConfigMapInput` via: +// +// ShareSettingsFolderConfigMap{ "key": ShareSettingsFolderConfigArgs{...} } +type ShareSettingsFolderConfigMapInput interface { + pulumi.Input + + ToShareSettingsFolderConfigMapOutput() ShareSettingsFolderConfigMapOutput + ToShareSettingsFolderConfigMapOutputWithContext(context.Context) ShareSettingsFolderConfigMapOutput +} + +type ShareSettingsFolderConfigMap map[string]ShareSettingsFolderConfigInput + +func (ShareSettingsFolderConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsFolderConfig)(nil)).Elem() +} + +func (i ShareSettingsFolderConfigMap) ToShareSettingsFolderConfigMapOutput() ShareSettingsFolderConfigMapOutput { + return i.ToShareSettingsFolderConfigMapOutputWithContext(context.Background()) +} + +func (i ShareSettingsFolderConfigMap) ToShareSettingsFolderConfigMapOutputWithContext(ctx context.Context) ShareSettingsFolderConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ShareSettingsFolderConfigMapOutput) +} + +// Config for each folder in the share settings. +type ShareSettingsFolderConfigOutput struct{ *pulumi.OutputState } + +func (ShareSettingsFolderConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsFolderConfig)(nil)).Elem() +} + +func (o ShareSettingsFolderConfigOutput) ToShareSettingsFolderConfigOutput() ShareSettingsFolderConfigOutput { + return o +} + +func (o ShareSettingsFolderConfigOutput) ToShareSettingsFolderConfigOutputWithContext(ctx context.Context) ShareSettingsFolderConfigOutput { + return o +} + +// The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. +func (o ShareSettingsFolderConfigOutput) FolderId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ShareSettingsFolderConfig) *string { return v.FolderId }).(pulumi.StringPtrOutput) +} + +type ShareSettingsFolderConfigMapOutput struct{ *pulumi.OutputState } + +func (ShareSettingsFolderConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsFolderConfig)(nil)).Elem() +} + +func (o ShareSettingsFolderConfigMapOutput) ToShareSettingsFolderConfigMapOutput() ShareSettingsFolderConfigMapOutput { + return o +} + +func (o ShareSettingsFolderConfigMapOutput) ToShareSettingsFolderConfigMapOutputWithContext(ctx context.Context) ShareSettingsFolderConfigMapOutput { + return o +} + +func (o ShareSettingsFolderConfigMapOutput) MapIndex(k pulumi.StringInput) ShareSettingsFolderConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ShareSettingsFolderConfig { + return vs[0].(map[string]ShareSettingsFolderConfig)[vs[1].(string)] + }).(ShareSettingsFolderConfigOutput) +} + +// Config for each folder in the share settings. +type ShareSettingsFolderConfigResponse struct { + // The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + FolderId string `pulumi:"folderId"` +} + +// Config for each folder in the share settings. +type ShareSettingsFolderConfigResponseOutput struct{ *pulumi.OutputState } + +func (ShareSettingsFolderConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsFolderConfigResponse)(nil)).Elem() +} + +func (o ShareSettingsFolderConfigResponseOutput) ToShareSettingsFolderConfigResponseOutput() ShareSettingsFolderConfigResponseOutput { + return o +} + +func (o ShareSettingsFolderConfigResponseOutput) ToShareSettingsFolderConfigResponseOutputWithContext(ctx context.Context) ShareSettingsFolderConfigResponseOutput { + return o +} + +// The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. +func (o ShareSettingsFolderConfigResponseOutput) FolderId() pulumi.StringOutput { + return o.ApplyT(func(v ShareSettingsFolderConfigResponse) string { return v.FolderId }).(pulumi.StringOutput) +} + +type ShareSettingsFolderConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (ShareSettingsFolderConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsFolderConfigResponse)(nil)).Elem() +} + +func (o ShareSettingsFolderConfigResponseMapOutput) ToShareSettingsFolderConfigResponseMapOutput() ShareSettingsFolderConfigResponseMapOutput { + return o +} + +func (o ShareSettingsFolderConfigResponseMapOutput) ToShareSettingsFolderConfigResponseMapOutputWithContext(ctx context.Context) ShareSettingsFolderConfigResponseMapOutput { + return o +} + +func (o ShareSettingsFolderConfigResponseMapOutput) MapIndex(k pulumi.StringInput) ShareSettingsFolderConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ShareSettingsFolderConfigResponse { + return vs[0].(map[string]ShareSettingsFolderConfigResponse)[vs[1].(string)] + }).(ShareSettingsFolderConfigResponseOutput) +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfig struct { + // The project ID, should be same as the key of this project config in the parent map. + Project *string `pulumi:"project"` +} + +// ShareSettingsProjectConfigInput is an input type that accepts ShareSettingsProjectConfigArgs and ShareSettingsProjectConfigOutput values. +// You can construct a concrete instance of `ShareSettingsProjectConfigInput` via: +// +// ShareSettingsProjectConfigArgs{...} +type ShareSettingsProjectConfigInput interface { + pulumi.Input + + ToShareSettingsProjectConfigOutput() ShareSettingsProjectConfigOutput + ToShareSettingsProjectConfigOutputWithContext(context.Context) ShareSettingsProjectConfigOutput +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigArgs struct { + // The project ID, should be same as the key of this project config in the parent map. + Project pulumi.StringPtrInput `pulumi:"project"` +} + +func (ShareSettingsProjectConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsProjectConfig)(nil)).Elem() +} + +func (i ShareSettingsProjectConfigArgs) ToShareSettingsProjectConfigOutput() ShareSettingsProjectConfigOutput { + return i.ToShareSettingsProjectConfigOutputWithContext(context.Background()) +} + +func (i ShareSettingsProjectConfigArgs) ToShareSettingsProjectConfigOutputWithContext(ctx context.Context) ShareSettingsProjectConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ShareSettingsProjectConfigOutput) +} + +// ShareSettingsProjectConfigMapInput is an input type that accepts ShareSettingsProjectConfigMap and ShareSettingsProjectConfigMapOutput values. +// You can construct a concrete instance of `ShareSettingsProjectConfigMapInput` via: +// +// ShareSettingsProjectConfigMap{ "key": ShareSettingsProjectConfigArgs{...} } +type ShareSettingsProjectConfigMapInput interface { + pulumi.Input + + ToShareSettingsProjectConfigMapOutput() ShareSettingsProjectConfigMapOutput + ToShareSettingsProjectConfigMapOutputWithContext(context.Context) ShareSettingsProjectConfigMapOutput +} + +type ShareSettingsProjectConfigMap map[string]ShareSettingsProjectConfigInput + +func (ShareSettingsProjectConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsProjectConfig)(nil)).Elem() +} + +func (i ShareSettingsProjectConfigMap) ToShareSettingsProjectConfigMapOutput() ShareSettingsProjectConfigMapOutput { + return i.ToShareSettingsProjectConfigMapOutputWithContext(context.Background()) +} + +func (i ShareSettingsProjectConfigMap) ToShareSettingsProjectConfigMapOutputWithContext(ctx context.Context) ShareSettingsProjectConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ShareSettingsProjectConfigMapOutput) +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsProjectConfig)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigOutput) ToShareSettingsProjectConfigOutput() ShareSettingsProjectConfigOutput { + return o +} + +func (o ShareSettingsProjectConfigOutput) ToShareSettingsProjectConfigOutputWithContext(ctx context.Context) ShareSettingsProjectConfigOutput { + return o +} + +// The project ID, should be same as the key of this project config in the parent map. +func (o ShareSettingsProjectConfigOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v ShareSettingsProjectConfig) *string { return v.Project }).(pulumi.StringPtrOutput) +} + +type ShareSettingsProjectConfigMapOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsProjectConfig)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigMapOutput) ToShareSettingsProjectConfigMapOutput() ShareSettingsProjectConfigMapOutput { + return o +} + +func (o ShareSettingsProjectConfigMapOutput) ToShareSettingsProjectConfigMapOutputWithContext(ctx context.Context) ShareSettingsProjectConfigMapOutput { + return o +} + +func (o ShareSettingsProjectConfigMapOutput) MapIndex(k pulumi.StringInput) ShareSettingsProjectConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ShareSettingsProjectConfig { + return vs[0].(map[string]ShareSettingsProjectConfig)[vs[1].(string)] + }).(ShareSettingsProjectConfigOutput) +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigResponse struct { + // The project ID, should be same as the key of this project config in the parent map. + Project string `pulumi:"project"` +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigResponseOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsProjectConfigResponse)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigResponseOutput) ToShareSettingsProjectConfigResponseOutput() ShareSettingsProjectConfigResponseOutput { + return o +} + +func (o ShareSettingsProjectConfigResponseOutput) ToShareSettingsProjectConfigResponseOutputWithContext(ctx context.Context) ShareSettingsProjectConfigResponseOutput { + return o +} + +// The project ID, should be same as the key of this project config in the parent map. +func (o ShareSettingsProjectConfigResponseOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v ShareSettingsProjectConfigResponse) string { return v.Project }).(pulumi.StringOutput) } -// A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsPtrOutput) ProjectMap() pulumi.StringMapOutput { - return o.ApplyT(func(v *ShareSettings) map[string]string { - if v == nil { - return nil - } - return v.ProjectMap - }).(pulumi.StringMapOutput) +type ShareSettingsProjectConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsProjectConfigResponse)(nil)).Elem() } -// A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsPtrOutput) Projects() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ShareSettings) []string { - if v == nil { - return nil - } - return v.Projects - }).(pulumi.StringArrayOutput) +func (o ShareSettingsProjectConfigResponseMapOutput) ToShareSettingsProjectConfigResponseMapOutput() ShareSettingsProjectConfigResponseMapOutput { + return o } -// Type of sharing for this shared-reservation -func (o ShareSettingsPtrOutput) ShareType() ShareSettingsShareTypePtrOutput { - return o.ApplyT(func(v *ShareSettings) *ShareSettingsShareType { - if v == nil { - return nil - } - return v.ShareType - }).(ShareSettingsShareTypePtrOutput) +func (o ShareSettingsProjectConfigResponseMapOutput) ToShareSettingsProjectConfigResponseMapOutputWithContext(ctx context.Context) ShareSettingsProjectConfigResponseMapOutput { + return o +} + +func (o ShareSettingsProjectConfigResponseMapOutput) MapIndex(k pulumi.StringInput) ShareSettingsProjectConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ShareSettingsProjectConfigResponse { + return vs[0].(map[string]ShareSettingsProjectConfigResponse)[vs[1].(string)] + }).(ShareSettingsProjectConfigResponseOutput) } // The share setting for reservations and sole tenancy node groups. type ShareSettingsResponse struct { // A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. - FolderMap map[string]string `pulumi:"folderMap"` + FolderMap map[string]ShareSettingsFolderConfigResponse `pulumi:"folderMap"` // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. - ProjectMap map[string]string `pulumi:"projectMap"` + ProjectMap map[string]ShareSettingsProjectConfigResponse `pulumi:"projectMap"` // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. Projects []string `pulumi:"projects"` // Type of sharing for this shared-reservation @@ -4442,13 +6519,13 @@ func (o ShareSettingsResponseOutput) ToShareSettingsResponseOutputWithContext(ct } // A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. -func (o ShareSettingsResponseOutput) FolderMap() pulumi.StringMapOutput { - return o.ApplyT(func(v ShareSettingsResponse) map[string]string { return v.FolderMap }).(pulumi.StringMapOutput) +func (o ShareSettingsResponseOutput) FolderMap() ShareSettingsFolderConfigResponseMapOutput { + return o.ApplyT(func(v ShareSettingsResponse) map[string]ShareSettingsFolderConfigResponse { return v.FolderMap }).(ShareSettingsFolderConfigResponseMapOutput) } // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsResponseOutput) ProjectMap() pulumi.StringMapOutput { - return o.ApplyT(func(v ShareSettingsResponse) map[string]string { return v.ProjectMap }).(pulumi.StringMapOutput) +func (o ShareSettingsResponseOutput) ProjectMap() ShareSettingsProjectConfigResponseMapOutput { + return o.ApplyT(func(v ShareSettingsResponse) map[string]ShareSettingsProjectConfigResponse { return v.ProjectMap }).(ShareSettingsProjectConfigResponseMapOutput) } // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. @@ -6293,11 +8370,11 @@ func (o StatefulPolicyPtrOutput) PreservedState() StatefulPolicyPreservedStatePt // Configuration of preserved resources. type StatefulPolicyPreservedState struct { // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - Disks map[string]string `pulumi:"disks"` + Disks map[string]StatefulPolicyPreservedStateDiskDevice `pulumi:"disks"` // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - ExternalIPs map[string]string `pulumi:"externalIPs"` + ExternalIPs map[string]StatefulPolicyPreservedStateNetworkIp `pulumi:"externalIPs"` // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - InternalIPs map[string]string `pulumi:"internalIPs"` + InternalIPs map[string]StatefulPolicyPreservedStateNetworkIp `pulumi:"internalIPs"` } // StatefulPolicyPreservedStateInput is an input type that accepts StatefulPolicyPreservedStateArgs and StatefulPolicyPreservedStateOutput values. @@ -6314,11 +8391,11 @@ type StatefulPolicyPreservedStateInput interface { // Configuration of preserved resources. type StatefulPolicyPreservedStateArgs struct { // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - Disks pulumi.StringMapInput `pulumi:"disks"` + Disks StatefulPolicyPreservedStateDiskDeviceMapInput `pulumi:"disks"` // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - ExternalIPs pulumi.StringMapInput `pulumi:"externalIPs"` + ExternalIPs StatefulPolicyPreservedStateNetworkIpMapInput `pulumi:"externalIPs"` // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - InternalIPs pulumi.StringMapInput `pulumi:"internalIPs"` + InternalIPs StatefulPolicyPreservedStateNetworkIpMapInput `pulumi:"internalIPs"` } func (StatefulPolicyPreservedStateArgs) ElementType() reflect.Type { @@ -6400,18 +8477,22 @@ func (o StatefulPolicyPreservedStateOutput) ToStatefulPolicyPreservedStatePtrOut } // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. -func (o StatefulPolicyPreservedStateOutput) Disks() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]string { return v.Disks }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateOutput) Disks() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateDiskDevice { return v.Disks }).(StatefulPolicyPreservedStateDiskDeviceMapOutput) } // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateOutput) ExternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]string { return v.ExternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateOutput) ExternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { + return v.ExternalIPs + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateOutput) InternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]string { return v.InternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateOutput) InternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { + return v.InternalIPs + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } type StatefulPolicyPreservedStatePtrOutput struct{ *pulumi.OutputState } @@ -6439,43 +8520,329 @@ func (o StatefulPolicyPreservedStatePtrOutput) Elem() StatefulPolicyPreservedSta } // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. -func (o StatefulPolicyPreservedStatePtrOutput) Disks() pulumi.StringMapOutput { - return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]string { +func (o StatefulPolicyPreservedStatePtrOutput) Disks() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateDiskDevice { if v == nil { return nil } return v.Disks - }).(pulumi.StringMapOutput) + }).(StatefulPolicyPreservedStateDiskDeviceMapOutput) } // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStatePtrOutput) ExternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]string { +func (o StatefulPolicyPreservedStatePtrOutput) ExternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { if v == nil { return nil } return v.ExternalIPs - }).(pulumi.StringMapOutput) + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStatePtrOutput) InternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]string { +func (o StatefulPolicyPreservedStatePtrOutput) InternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { if v == nil { return nil } return v.InternalIPs - }).(pulumi.StringMapOutput) + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) +} + +type StatefulPolicyPreservedStateDiskDevice struct { + // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + AutoDelete *StatefulPolicyPreservedStateDiskDeviceAutoDelete `pulumi:"autoDelete"` +} + +// StatefulPolicyPreservedStateDiskDeviceInput is an input type that accepts StatefulPolicyPreservedStateDiskDeviceArgs and StatefulPolicyPreservedStateDiskDeviceOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateDiskDeviceInput` via: +// +// StatefulPolicyPreservedStateDiskDeviceArgs{...} +type StatefulPolicyPreservedStateDiskDeviceInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceOutput() StatefulPolicyPreservedStateDiskDeviceOutput + ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceOutput +} + +type StatefulPolicyPreservedStateDiskDeviceArgs struct { + // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + AutoDelete StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput `pulumi:"autoDelete"` +} + +func (StatefulPolicyPreservedStateDiskDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() +} + +func (i StatefulPolicyPreservedStateDiskDeviceArgs) ToStatefulPolicyPreservedStateDiskDeviceOutput() StatefulPolicyPreservedStateDiskDeviceOutput { + return i.ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(context.Background()) +} + +func (i StatefulPolicyPreservedStateDiskDeviceArgs) ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateDiskDeviceOutput) +} + +// StatefulPolicyPreservedStateDiskDeviceMapInput is an input type that accepts StatefulPolicyPreservedStateDiskDeviceMap and StatefulPolicyPreservedStateDiskDeviceMapOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateDiskDeviceMapInput` via: +// +// StatefulPolicyPreservedStateDiskDeviceMap{ "key": StatefulPolicyPreservedStateDiskDeviceArgs{...} } +type StatefulPolicyPreservedStateDiskDeviceMapInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceMapOutput() StatefulPolicyPreservedStateDiskDeviceMapOutput + ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceMapOutput +} + +type StatefulPolicyPreservedStateDiskDeviceMap map[string]StatefulPolicyPreservedStateDiskDeviceInput + +func (StatefulPolicyPreservedStateDiskDeviceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() +} + +func (i StatefulPolicyPreservedStateDiskDeviceMap) ToStatefulPolicyPreservedStateDiskDeviceMapOutput() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return i.ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(context.Background()) +} + +func (i StatefulPolicyPreservedStateDiskDeviceMap) ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateDiskDeviceMapOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceOutput) ToStatefulPolicyPreservedStateDiskDeviceOutput() StatefulPolicyPreservedStateDiskDeviceOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceOutput) ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceOutput { + return o +} + +// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. +func (o StatefulPolicyPreservedStateDiskDeviceOutput) AutoDelete() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateDiskDevice) *StatefulPolicyPreservedStateDiskDeviceAutoDelete { + return v.AutoDelete + }).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceMapOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceMapOutput) ToStatefulPolicyPreservedStateDiskDeviceMapOutput() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceMapOutput) ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateDiskDeviceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateDiskDevice { + return vs[0].(map[string]StatefulPolicyPreservedStateDiskDevice)[vs[1].(string)] + }).(StatefulPolicyPreservedStateDiskDeviceOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceResponse struct { + // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + AutoDelete string `pulumi:"autoDelete"` +} + +type StatefulPolicyPreservedStateDiskDeviceResponseOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseOutput() StatefulPolicyPreservedStateDiskDeviceResponseOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceResponseOutput { + return o +} + +// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. +func (o StatefulPolicyPreservedStateDiskDeviceResponseOutput) AutoDelete() pulumi.StringOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateDiskDeviceResponse) string { return v.AutoDelete }).(pulumi.StringOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceResponseMapOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateDiskDeviceResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseMapOutput() StatefulPolicyPreservedStateDiskDeviceResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateDiskDeviceResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateDiskDeviceResponse { + return vs[0].(map[string]StatefulPolicyPreservedStateDiskDeviceResponse)[vs[1].(string)] + }).(StatefulPolicyPreservedStateDiskDeviceResponseOutput) +} + +type StatefulPolicyPreservedStateNetworkIp struct { + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + AutoDelete *StatefulPolicyPreservedStateNetworkIpAutoDelete `pulumi:"autoDelete"` +} + +// StatefulPolicyPreservedStateNetworkIpInput is an input type that accepts StatefulPolicyPreservedStateNetworkIpArgs and StatefulPolicyPreservedStateNetworkIpOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateNetworkIpInput` via: +// +// StatefulPolicyPreservedStateNetworkIpArgs{...} +type StatefulPolicyPreservedStateNetworkIpInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpOutput() StatefulPolicyPreservedStateNetworkIpOutput + ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpOutput +} + +type StatefulPolicyPreservedStateNetworkIpArgs struct { + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + AutoDelete StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput `pulumi:"autoDelete"` +} + +func (StatefulPolicyPreservedStateNetworkIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() +} + +func (i StatefulPolicyPreservedStateNetworkIpArgs) ToStatefulPolicyPreservedStateNetworkIpOutput() StatefulPolicyPreservedStateNetworkIpOutput { + return i.ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(context.Background()) +} + +func (i StatefulPolicyPreservedStateNetworkIpArgs) ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateNetworkIpOutput) +} + +// StatefulPolicyPreservedStateNetworkIpMapInput is an input type that accepts StatefulPolicyPreservedStateNetworkIpMap and StatefulPolicyPreservedStateNetworkIpMapOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateNetworkIpMapInput` via: +// +// StatefulPolicyPreservedStateNetworkIpMap{ "key": StatefulPolicyPreservedStateNetworkIpArgs{...} } +type StatefulPolicyPreservedStateNetworkIpMapInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpMapOutput() StatefulPolicyPreservedStateNetworkIpMapOutput + ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpMapOutput +} + +type StatefulPolicyPreservedStateNetworkIpMap map[string]StatefulPolicyPreservedStateNetworkIpInput + +func (StatefulPolicyPreservedStateNetworkIpMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() +} + +func (i StatefulPolicyPreservedStateNetworkIpMap) ToStatefulPolicyPreservedStateNetworkIpMapOutput() StatefulPolicyPreservedStateNetworkIpMapOutput { + return i.ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(context.Background()) +} + +func (i StatefulPolicyPreservedStateNetworkIpMap) ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateNetworkIpMapOutput) +} + +type StatefulPolicyPreservedStateNetworkIpOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpOutput) ToStatefulPolicyPreservedStateNetworkIpOutput() StatefulPolicyPreservedStateNetworkIpOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpOutput) ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpOutput { + return o +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +func (o StatefulPolicyPreservedStateNetworkIpOutput) AutoDelete() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateNetworkIp) *StatefulPolicyPreservedStateNetworkIpAutoDelete { + return v.AutoDelete + }).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + +type StatefulPolicyPreservedStateNetworkIpMapOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpMapOutput) ToStatefulPolicyPreservedStateNetworkIpMapOutput() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpMapOutput) ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateNetworkIpOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateNetworkIp { + return vs[0].(map[string]StatefulPolicyPreservedStateNetworkIp)[vs[1].(string)] + }).(StatefulPolicyPreservedStateNetworkIpOutput) +} + +type StatefulPolicyPreservedStateNetworkIpResponse struct { + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + AutoDelete string `pulumi:"autoDelete"` +} + +type StatefulPolicyPreservedStateNetworkIpResponseOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseOutput) ToStatefulPolicyPreservedStateNetworkIpResponseOutput() StatefulPolicyPreservedStateNetworkIpResponseOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseOutput) ToStatefulPolicyPreservedStateNetworkIpResponseOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpResponseOutput { + return o +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +func (o StatefulPolicyPreservedStateNetworkIpResponseOutput) AutoDelete() pulumi.StringOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateNetworkIpResponse) string { return v.AutoDelete }).(pulumi.StringOutput) +} + +type StatefulPolicyPreservedStateNetworkIpResponseMapOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateNetworkIpResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseMapOutput) ToStatefulPolicyPreservedStateNetworkIpResponseMapOutput() StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseMapOutput) ToStatefulPolicyPreservedStateNetworkIpResponseMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateNetworkIpResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateNetworkIpResponse { + return vs[0].(map[string]StatefulPolicyPreservedStateNetworkIpResponse)[vs[1].(string)] + }).(StatefulPolicyPreservedStateNetworkIpResponseOutput) } // Configuration of preserved resources. type StatefulPolicyPreservedStateResponse struct { // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - Disks map[string]string `pulumi:"disks"` + Disks map[string]StatefulPolicyPreservedStateDiskDeviceResponse `pulumi:"disks"` // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - ExternalIPs map[string]string `pulumi:"externalIPs"` + ExternalIPs map[string]StatefulPolicyPreservedStateNetworkIpResponse `pulumi:"externalIPs"` // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - InternalIPs map[string]string `pulumi:"internalIPs"` + InternalIPs map[string]StatefulPolicyPreservedStateNetworkIpResponse `pulumi:"internalIPs"` } // Configuration of preserved resources. @@ -6494,18 +8861,24 @@ func (o StatefulPolicyPreservedStateResponseOutput) ToStatefulPolicyPreservedSta } // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. -func (o StatefulPolicyPreservedStateResponseOutput) Disks() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]string { return v.Disks }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateResponseOutput) Disks() StatefulPolicyPreservedStateDiskDeviceResponseMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]StatefulPolicyPreservedStateDiskDeviceResponse { + return v.Disks + }).(StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) } // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateResponseOutput) ExternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]string { return v.ExternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateResponseOutput) ExternalIPs() StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]StatefulPolicyPreservedStateNetworkIpResponse { + return v.ExternalIPs + }).(StatefulPolicyPreservedStateNetworkIpResponseMapOutput) } // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateResponseOutput) InternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]string { return v.InternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateResponseOutput) InternalIPs() StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]StatefulPolicyPreservedStateNetworkIpResponse { + return v.InternalIPs + }).(StatefulPolicyPreservedStateNetworkIpResponseMapOutput) } type StatefulPolicyResponse struct { @@ -6605,6 +8978,147 @@ func (o StoragePoolResourceStatusResponseOutput) UsedThroughput() pulumi.StringO return o.ApplyT(func(v StoragePoolResourceStatusResponse) string { return v.UsedThroughput }).(pulumi.StringOutput) } +type StructuredEntries struct { + // Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + Entries map[string]interface{} `pulumi:"entries"` +} + +// StructuredEntriesInput is an input type that accepts StructuredEntriesArgs and StructuredEntriesOutput values. +// You can construct a concrete instance of `StructuredEntriesInput` via: +// +// StructuredEntriesArgs{...} +type StructuredEntriesInput interface { + pulumi.Input + + ToStructuredEntriesOutput() StructuredEntriesOutput + ToStructuredEntriesOutputWithContext(context.Context) StructuredEntriesOutput +} + +type StructuredEntriesArgs struct { + // Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + Entries pulumi.MapInput `pulumi:"entries"` +} + +func (StructuredEntriesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StructuredEntries)(nil)).Elem() +} + +func (i StructuredEntriesArgs) ToStructuredEntriesOutput() StructuredEntriesOutput { + return i.ToStructuredEntriesOutputWithContext(context.Background()) +} + +func (i StructuredEntriesArgs) ToStructuredEntriesOutputWithContext(ctx context.Context) StructuredEntriesOutput { + return pulumi.ToOutputWithContext(ctx, i).(StructuredEntriesOutput) +} + +// StructuredEntriesMapInput is an input type that accepts StructuredEntriesMap and StructuredEntriesMapOutput values. +// You can construct a concrete instance of `StructuredEntriesMapInput` via: +// +// StructuredEntriesMap{ "key": StructuredEntriesArgs{...} } +type StructuredEntriesMapInput interface { + pulumi.Input + + ToStructuredEntriesMapOutput() StructuredEntriesMapOutput + ToStructuredEntriesMapOutputWithContext(context.Context) StructuredEntriesMapOutput +} + +type StructuredEntriesMap map[string]StructuredEntriesInput + +func (StructuredEntriesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StructuredEntries)(nil)).Elem() +} + +func (i StructuredEntriesMap) ToStructuredEntriesMapOutput() StructuredEntriesMapOutput { + return i.ToStructuredEntriesMapOutputWithContext(context.Background()) +} + +func (i StructuredEntriesMap) ToStructuredEntriesMapOutputWithContext(ctx context.Context) StructuredEntriesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StructuredEntriesMapOutput) +} + +type StructuredEntriesOutput struct{ *pulumi.OutputState } + +func (StructuredEntriesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StructuredEntries)(nil)).Elem() +} + +func (o StructuredEntriesOutput) ToStructuredEntriesOutput() StructuredEntriesOutput { + return o +} + +func (o StructuredEntriesOutput) ToStructuredEntriesOutputWithContext(ctx context.Context) StructuredEntriesOutput { + return o +} + +// Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. +func (o StructuredEntriesOutput) Entries() pulumi.MapOutput { + return o.ApplyT(func(v StructuredEntries) map[string]interface{} { return v.Entries }).(pulumi.MapOutput) +} + +type StructuredEntriesMapOutput struct{ *pulumi.OutputState } + +func (StructuredEntriesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StructuredEntries)(nil)).Elem() +} + +func (o StructuredEntriesMapOutput) ToStructuredEntriesMapOutput() StructuredEntriesMapOutput { + return o +} + +func (o StructuredEntriesMapOutput) ToStructuredEntriesMapOutputWithContext(ctx context.Context) StructuredEntriesMapOutput { + return o +} + +func (o StructuredEntriesMapOutput) MapIndex(k pulumi.StringInput) StructuredEntriesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StructuredEntries { + return vs[0].(map[string]StructuredEntries)[vs[1].(string)] + }).(StructuredEntriesOutput) +} + +type StructuredEntriesResponse struct { + // Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + Entries map[string]interface{} `pulumi:"entries"` +} + +type StructuredEntriesResponseOutput struct{ *pulumi.OutputState } + +func (StructuredEntriesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StructuredEntriesResponse)(nil)).Elem() +} + +func (o StructuredEntriesResponseOutput) ToStructuredEntriesResponseOutput() StructuredEntriesResponseOutput { + return o +} + +func (o StructuredEntriesResponseOutput) ToStructuredEntriesResponseOutputWithContext(ctx context.Context) StructuredEntriesResponseOutput { + return o +} + +// Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. +func (o StructuredEntriesResponseOutput) Entries() pulumi.MapOutput { + return o.ApplyT(func(v StructuredEntriesResponse) map[string]interface{} { return v.Entries }).(pulumi.MapOutput) +} + +type StructuredEntriesResponseMapOutput struct{ *pulumi.OutputState } + +func (StructuredEntriesResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StructuredEntriesResponse)(nil)).Elem() +} + +func (o StructuredEntriesResponseMapOutput) ToStructuredEntriesResponseMapOutput() StructuredEntriesResponseMapOutput { + return o +} + +func (o StructuredEntriesResponseMapOutput) ToStructuredEntriesResponseMapOutputWithContext(ctx context.Context) StructuredEntriesResponseMapOutput { + return o +} + +func (o StructuredEntriesResponseMapOutput) MapIndex(k pulumi.StringInput) StructuredEntriesResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StructuredEntriesResponse { + return vs[0].(map[string]StructuredEntriesResponse)[vs[1].(string)] + }).(StructuredEntriesResponseOutput) +} + // The available logging options for this subnetwork. type SubnetworkLogConfig struct { // Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. @@ -9939,6 +12453,22 @@ func (o WeightedBackendServiceResponseArrayOutput) Index(i pulumi.IntInput) Weig } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleInput)(nil)).Elem(), SecurityPolicyRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleArrayInput)(nil)).Elem(), SecurityPolicyRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionInput)(nil)).Elem(), SecurityPolicyRuleHttpHeaderActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionPtrInput)(nil)).Elem(), SecurityPolicyRuleHttpHeaderActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionInput)(nil)).Elem(), SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayInput)(nil)).Elem(), SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherInput)(nil)).Elem(), SecurityPolicyRuleMatcherArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherPtrInput)(nil)).Elem(), SecurityPolicyRuleMatcherArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigPtrInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPortInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigDestinationPortArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigDestinationPortArrayInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigDestinationPortArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4ConfigInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigLayer4ConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherConfigLayer4ConfigArrayInput)(nil)).Elem(), SecurityPolicyRuleMatcherConfigLayer4ConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptionsInput)(nil)).Elem(), SecurityPolicyRuleMatcherExprOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptionsPtrInput)(nil)).Elem(), SecurityPolicyRuleMatcherExprOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsInput)(nil)).Elem(), SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrInput)(nil)).Elem(), SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPolicyRuleNetworkMatcherInput)(nil)).Elem(), SecurityPolicyRuleNetworkMatcherArgs{}) @@ -9975,8 +12505,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServiceAttachmentConsumerProjectLimitArrayInput)(nil)).Elem(), ServiceAttachmentConsumerProjectLimitArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceAttachmentTunnelingConfigInput)(nil)).Elem(), ServiceAttachmentTunnelingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceAttachmentTunnelingConfigPtrInput)(nil)).Elem(), ServiceAttachmentTunnelingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceIntegrationSpecInput)(nil)).Elem(), ServiceIntegrationSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceIntegrationSpecMapInput)(nil)).Elem(), ServiceIntegrationSpecMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceIntegrationSpecBackupDRSpecInput)(nil)).Elem(), ServiceIntegrationSpecBackupDRSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServiceIntegrationSpecBackupDRSpecPtrInput)(nil)).Elem(), ServiceIntegrationSpecBackupDRSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsInput)(nil)).Elem(), ShareSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsPtrInput)(nil)).Elem(), ShareSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsFolderConfigInput)(nil)).Elem(), ShareSettingsFolderConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsFolderConfigMapInput)(nil)).Elem(), ShareSettingsFolderConfigMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsProjectConfigInput)(nil)).Elem(), ShareSettingsProjectConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsProjectConfigMapInput)(nil)).Elem(), ShareSettingsProjectConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*ShieldedInstanceConfigInput)(nil)).Elem(), ShieldedInstanceConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShieldedInstanceConfigPtrInput)(nil)).Elem(), ShieldedInstanceConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShieldedInstanceIntegrityPolicyInput)(nil)).Elem(), ShieldedInstanceIntegrityPolicyArgs{}) @@ -9997,6 +12535,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPtrInput)(nil)).Elem(), StatefulPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateInput)(nil)).Elem(), StatefulPolicyPreservedStateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStatePtrInput)(nil)).Elem(), StatefulPolicyPreservedStateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceMapInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpMapInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*StructuredEntriesInput)(nil)).Elem(), StructuredEntriesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StructuredEntriesMapInput)(nil)).Elem(), StructuredEntriesMap{}) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigInput)(nil)).Elem(), SubnetworkLogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigPtrInput)(nil)).Elem(), SubnetworkLogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkSecondaryRangeInput)(nil)).Elem(), SubnetworkSecondaryRangeArgs{}) @@ -10027,6 +12571,31 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayVpnGatewayInterfaceArrayInput)(nil)).Elem(), VpnGatewayVpnGatewayInterfaceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*WeightedBackendServiceInput)(nil)).Elem(), WeightedBackendServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WeightedBackendServiceArrayInput)(nil)).Elem(), WeightedBackendServiceArray{}) + pulumi.RegisterOutputType(SecurityPolicyRecaptchaOptionsConfigResponseOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleArrayOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionPtrOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionArrayOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionHttpHeaderOptionResponseArrayOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleHttpHeaderActionResponseOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherPtrOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigPtrOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigDestinationPortOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigDestinationPortArrayOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigDestinationPortResponseOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigDestinationPortResponseArrayOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigLayer4ConfigOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigLayer4ConfigArrayOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigLayer4ConfigResponseOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigLayer4ConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherConfigResponseOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherExprOptionsOutput{}) + pulumi.RegisterOutputType(SecurityPolicyRuleMatcherExprOptionsPtrOutput{}) pulumi.RegisterOutputType(SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsOutput{}) pulumi.RegisterOutputType(SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsPtrOutput{}) pulumi.RegisterOutputType(SecurityPolicyRuleMatcherExprOptionsRecaptchaOptionsResponseOutput{}) @@ -10094,8 +12663,23 @@ func init() { pulumi.RegisterOutputType(ServiceAttachmentTunnelingConfigOutput{}) pulumi.RegisterOutputType(ServiceAttachmentTunnelingConfigPtrOutput{}) pulumi.RegisterOutputType(ServiceAttachmentTunnelingConfigResponseOutput{}) + pulumi.RegisterOutputType(ServiceIntegrationSpecOutput{}) + pulumi.RegisterOutputType(ServiceIntegrationSpecMapOutput{}) + pulumi.RegisterOutputType(ServiceIntegrationSpecBackupDRSpecOutput{}) + pulumi.RegisterOutputType(ServiceIntegrationSpecBackupDRSpecPtrOutput{}) + pulumi.RegisterOutputType(ServiceIntegrationSpecBackupDRSpecResponseOutput{}) + pulumi.RegisterOutputType(ServiceIntegrationSpecResponseOutput{}) + pulumi.RegisterOutputType(ServiceIntegrationSpecResponseMapOutput{}) pulumi.RegisterOutputType(ShareSettingsOutput{}) pulumi.RegisterOutputType(ShareSettingsPtrOutput{}) + pulumi.RegisterOutputType(ShareSettingsFolderConfigOutput{}) + pulumi.RegisterOutputType(ShareSettingsFolderConfigMapOutput{}) + pulumi.RegisterOutputType(ShareSettingsFolderConfigResponseOutput{}) + pulumi.RegisterOutputType(ShareSettingsFolderConfigResponseMapOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigMapOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigResponseOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigResponseMapOutput{}) pulumi.RegisterOutputType(ShareSettingsResponseOutput{}) pulumi.RegisterOutputType(ShieldedInstanceConfigOutput{}) pulumi.RegisterOutputType(ShieldedInstanceConfigPtrOutput{}) @@ -10131,9 +12715,21 @@ func init() { pulumi.RegisterOutputType(StatefulPolicyPtrOutput{}) pulumi.RegisterOutputType(StatefulPolicyPreservedStateOutput{}) pulumi.RegisterOutputType(StatefulPolicyPreservedStatePtrOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceMapOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceResponseOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceResponseMapOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpMapOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpResponseOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpResponseMapOutput{}) pulumi.RegisterOutputType(StatefulPolicyPreservedStateResponseOutput{}) pulumi.RegisterOutputType(StatefulPolicyResponseOutput{}) pulumi.RegisterOutputType(StoragePoolResourceStatusResponseOutput{}) + pulumi.RegisterOutputType(StructuredEntriesOutput{}) + pulumi.RegisterOutputType(StructuredEntriesMapOutput{}) + pulumi.RegisterOutputType(StructuredEntriesResponseOutput{}) + pulumi.RegisterOutputType(StructuredEntriesResponseMapOutput{}) pulumi.RegisterOutputType(SubnetworkLogConfigOutput{}) pulumi.RegisterOutputType(SubnetworkLogConfigPtrOutput{}) pulumi.RegisterOutputType(SubnetworkLogConfigResponseOutput{}) diff --git a/sdk/go/google/compute/alpha/regionAutoscaler.go b/sdk/go/google/compute/alpha/regionAutoscaler.go index 8d1ad82a30..90591c931c 100644 --- a/sdk/go/google/compute/alpha/regionAutoscaler.go +++ b/sdk/go/google/compute/alpha/regionAutoscaler.go @@ -33,7 +33,7 @@ type RegionAutoscaler struct { // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrOutput `pulumi:"requestId"` // Status information of existing scaling schedules. - ScalingScheduleStatus pulumi.StringMapOutput `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus ScalingScheduleStatusResponseMapOutput `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink pulumi.StringOutput `pulumi:"selfLink"` // Server-defined URL for this resource with the resource id. @@ -207,8 +207,8 @@ func (o RegionAutoscalerOutput) RequestId() pulumi.StringPtrOutput { } // Status information of existing scaling schedules. -func (o RegionAutoscalerOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v *RegionAutoscaler) pulumi.StringMapOutput { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o RegionAutoscalerOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v *RegionAutoscaler) ScalingScheduleStatusResponseMapOutput { return v.ScalingScheduleStatus }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/alpha/regionDisk.go b/sdk/go/google/compute/alpha/regionDisk.go index c0ce55134d..6350b9128b 100644 --- a/sdk/go/google/compute/alpha/regionDisk.go +++ b/sdk/go/google/compute/alpha/regionDisk.go @@ -23,7 +23,7 @@ type RegionDisk struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponseOutput `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks pulumi.StringMapOutput `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks DiskAsyncReplicationListResponseMapOutput `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp pulumi.StringOutput `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -393,8 +393,8 @@ func (o RegionDiskOutput) AsyncPrimaryDisk() DiskAsyncReplicationResponseOutput } // A list of disks this disk is asynchronously replicated to. -func (o RegionDiskOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v *RegionDisk) pulumi.StringMapOutput { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o RegionDiskOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v *RegionDisk) DiskAsyncReplicationListResponseMapOutput { return v.AsyncSecondaryDisks }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/beta/autoscaler.go b/sdk/go/google/compute/beta/autoscaler.go index 1c45f062c0..81093148f4 100644 --- a/sdk/go/google/compute/beta/autoscaler.go +++ b/sdk/go/google/compute/beta/autoscaler.go @@ -33,7 +33,7 @@ type Autoscaler struct { // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrOutput `pulumi:"requestId"` // Status information of existing scaling schedules. - ScalingScheduleStatus pulumi.StringMapOutput `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus ScalingScheduleStatusResponseMapOutput `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink pulumi.StringOutput `pulumi:"selfLink"` // The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future. @@ -202,8 +202,8 @@ func (o AutoscalerOutput) RequestId() pulumi.StringPtrOutput { } // Status information of existing scaling schedules. -func (o AutoscalerOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v *Autoscaler) pulumi.StringMapOutput { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o AutoscalerOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v *Autoscaler) ScalingScheduleStatusResponseMapOutput { return v.ScalingScheduleStatus }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/beta/disk.go b/sdk/go/google/compute/beta/disk.go index 8823d3a7b1..61e44f1ad8 100644 --- a/sdk/go/google/compute/beta/disk.go +++ b/sdk/go/google/compute/beta/disk.go @@ -20,7 +20,7 @@ type Disk struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponseOutput `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks pulumi.StringMapOutput `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks DiskAsyncReplicationListResponseMapOutput `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp pulumi.StringOutput `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -370,8 +370,8 @@ func (o DiskOutput) AsyncPrimaryDisk() DiskAsyncReplicationResponseOutput { } // A list of disks this disk is asynchronously replicated to. -func (o DiskOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v *Disk) pulumi.StringMapOutput { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o DiskOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v *Disk) DiskAsyncReplicationListResponseMapOutput { return v.AsyncSecondaryDisks }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/beta/getAutoscaler.go b/sdk/go/google/compute/beta/getAutoscaler.go index e28e0d2934..41046d7a45 100644 --- a/sdk/go/google/compute/beta/getAutoscaler.go +++ b/sdk/go/google/compute/beta/getAutoscaler.go @@ -44,7 +44,7 @@ type LookupAutoscalerResult struct { // URL of the region where the instance group resides (for autoscalers living in regional scope). Region string `pulumi:"region"` // Status information of existing scaling schedules. - ScalingScheduleStatus map[string]string `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus map[string]ScalingScheduleStatusResponse `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink string `pulumi:"selfLink"` // The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future. @@ -130,8 +130,10 @@ func (o LookupAutoscalerResultOutput) Region() pulumi.StringOutput { } // Status information of existing scaling schedules. -func (o LookupAutoscalerResultOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupAutoscalerResult) map[string]string { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o LookupAutoscalerResultOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v LookupAutoscalerResult) map[string]ScalingScheduleStatusResponse { + return v.ScalingScheduleStatus + }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/beta/getDisk.go b/sdk/go/google/compute/beta/getDisk.go index 0e5a549417..0ccc824455 100644 --- a/sdk/go/google/compute/beta/getDisk.go +++ b/sdk/go/google/compute/beta/getDisk.go @@ -34,7 +34,7 @@ type LookupDiskResult struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponse `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks map[string]string `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks map[string]DiskAsyncReplicationListResponse `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp string `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -187,8 +187,8 @@ func (o LookupDiskResultOutput) AsyncPrimaryDisk() DiskAsyncReplicationResponseO } // A list of disks this disk is asynchronously replicated to. -func (o LookupDiskResultOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupDiskResult) map[string]string { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o LookupDiskResultOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v LookupDiskResult) map[string]DiskAsyncReplicationListResponse { return v.AsyncSecondaryDisks }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/beta/getRegionAutoscaler.go b/sdk/go/google/compute/beta/getRegionAutoscaler.go index 29506c6950..14a0d62e2b 100644 --- a/sdk/go/google/compute/beta/getRegionAutoscaler.go +++ b/sdk/go/google/compute/beta/getRegionAutoscaler.go @@ -44,7 +44,7 @@ type LookupRegionAutoscalerResult struct { // URL of the region where the instance group resides (for autoscalers living in regional scope). Region string `pulumi:"region"` // Status information of existing scaling schedules. - ScalingScheduleStatus map[string]string `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus map[string]ScalingScheduleStatusResponse `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink string `pulumi:"selfLink"` // The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future. @@ -130,8 +130,10 @@ func (o LookupRegionAutoscalerResultOutput) Region() pulumi.StringOutput { } // Status information of existing scaling schedules. -func (o LookupRegionAutoscalerResultOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupRegionAutoscalerResult) map[string]string { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o LookupRegionAutoscalerResultOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v LookupRegionAutoscalerResult) map[string]ScalingScheduleStatusResponse { + return v.ScalingScheduleStatus + }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/beta/getRegionDisk.go b/sdk/go/google/compute/beta/getRegionDisk.go index 17d6a6788a..4613f0e56d 100644 --- a/sdk/go/google/compute/beta/getRegionDisk.go +++ b/sdk/go/google/compute/beta/getRegionDisk.go @@ -34,7 +34,7 @@ type LookupRegionDiskResult struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponse `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks map[string]string `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks map[string]DiskAsyncReplicationListResponse `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp string `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -187,8 +187,10 @@ func (o LookupRegionDiskResultOutput) AsyncPrimaryDisk() DiskAsyncReplicationRes } // A list of disks this disk is asynchronously replicated to. -func (o LookupRegionDiskResultOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupRegionDiskResult) map[string]string { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o LookupRegionDiskResultOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v LookupRegionDiskResult) map[string]DiskAsyncReplicationListResponse { + return v.AsyncSecondaryDisks + }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/beta/pulumiEnums.go b/sdk/go/google/compute/beta/pulumiEnums.go index ce88b67e14..5c14299ac8 100644 --- a/sdk/go/google/compute/beta/pulumiEnums.go +++ b/sdk/go/google/compute/beta/pulumiEnums.go @@ -34040,6 +34040,338 @@ func (in *sslPolicyProfilePtr) ToSslPolicyProfilePtrOutputWithContext(ctx contex return pulumi.ToOutputWithContext(ctx, in).(SslPolicyProfilePtrOutput) } +// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. +type StatefulPolicyPreservedStateDiskDeviceAutoDelete string + +const ( + StatefulPolicyPreservedStateDiskDeviceAutoDeleteNever = StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER") + StatefulPolicyPreservedStateDiskDeviceAutoDeleteOnPermanentInstanceDeletion = StatefulPolicyPreservedStateDiskDeviceAutoDelete("ON_PERMANENT_INSTANCE_DELETION") +) + +func (StatefulPolicyPreservedStateDiskDeviceAutoDelete) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return pulumi.ToOutput(e).(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return pulumi.ToOutputWithContext(ctx, e).(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return e.ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return StatefulPolicyPreservedStateDiskDeviceAutoDelete(e).ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(ctx).ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o.ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StatefulPolicyPreservedStateDiskDeviceAutoDelete) *StatefulPolicyPreservedStateDiskDeviceAutoDelete { + return &v + }).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateDiskDeviceAutoDelete) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateDiskDeviceAutoDelete) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) Elem() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedStateDiskDeviceAutoDelete) StatefulPolicyPreservedStateDiskDeviceAutoDelete { + if v != nil { + return *v + } + var ret StatefulPolicyPreservedStateDiskDeviceAutoDelete + return ret + }).(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *StatefulPolicyPreservedStateDiskDeviceAutoDelete) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput is an input type that accepts values of the StatefulPolicyPreservedStateDiskDeviceAutoDelete enum +// A concrete instance of `StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput` can be one of the following: +// +// StatefulPolicyPreservedStateDiskDeviceAutoDeleteNever +// StatefulPolicyPreservedStateDiskDeviceAutoDeleteOnPermanentInstanceDeletion +type StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput + ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput +} + +var statefulPolicyPreservedStateDiskDeviceAutoDeletePtrType = reflect.TypeOf((**StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() + +type StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput + ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput +} + +type statefulPolicyPreservedStateDiskDeviceAutoDeletePtr string + +func StatefulPolicyPreservedStateDiskDeviceAutoDeletePtr(v string) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput { + return (*statefulPolicyPreservedStateDiskDeviceAutoDeletePtr)(&v) +} + +func (*statefulPolicyPreservedStateDiskDeviceAutoDeletePtr) ElementType() reflect.Type { + return statefulPolicyPreservedStateDiskDeviceAutoDeletePtrType +} + +func (in *statefulPolicyPreservedStateDiskDeviceAutoDeletePtr) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return pulumi.ToOutput(in).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +func (in *statefulPolicyPreservedStateDiskDeviceAutoDeletePtr) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +type StatefulPolicyPreservedStateNetworkIpAutoDelete string + +const ( + StatefulPolicyPreservedStateNetworkIpAutoDeleteNever = StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER") + StatefulPolicyPreservedStateNetworkIpAutoDeleteOnPermanentInstanceDeletion = StatefulPolicyPreservedStateNetworkIpAutoDelete("ON_PERMANENT_INSTANCE_DELETION") +) + +func (StatefulPolicyPreservedStateNetworkIpAutoDelete) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutput() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return pulumi.ToOutput(e).(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return pulumi.ToOutputWithContext(ctx, e).(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return e.ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return StatefulPolicyPreservedStateNetworkIpAutoDelete(e).ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(ctx).ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutput() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o.ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StatefulPolicyPreservedStateNetworkIpAutoDelete) *StatefulPolicyPreservedStateNetworkIpAutoDelete { + return &v + }).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateNetworkIpAutoDelete) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateNetworkIpAutoDelete) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) Elem() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedStateNetworkIpAutoDelete) StatefulPolicyPreservedStateNetworkIpAutoDelete { + if v != nil { + return *v + } + var ret StatefulPolicyPreservedStateNetworkIpAutoDelete + return ret + }).(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *StatefulPolicyPreservedStateNetworkIpAutoDelete) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// StatefulPolicyPreservedStateNetworkIpAutoDeleteInput is an input type that accepts values of the StatefulPolicyPreservedStateNetworkIpAutoDelete enum +// A concrete instance of `StatefulPolicyPreservedStateNetworkIpAutoDeleteInput` can be one of the following: +// +// StatefulPolicyPreservedStateNetworkIpAutoDeleteNever +// StatefulPolicyPreservedStateNetworkIpAutoDeleteOnPermanentInstanceDeletion +type StatefulPolicyPreservedStateNetworkIpAutoDeleteInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutput() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput + ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput +} + +var statefulPolicyPreservedStateNetworkIpAutoDeletePtrType = reflect.TypeOf((**StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() + +type StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput + ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput +} + +type statefulPolicyPreservedStateNetworkIpAutoDeletePtr string + +func StatefulPolicyPreservedStateNetworkIpAutoDeletePtr(v string) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput { + return (*statefulPolicyPreservedStateNetworkIpAutoDeletePtr)(&v) +} + +func (*statefulPolicyPreservedStateNetworkIpAutoDeletePtr) ElementType() reflect.Type { + return statefulPolicyPreservedStateNetworkIpAutoDeletePtrType +} + +func (in *statefulPolicyPreservedStateNetworkIpAutoDeletePtr) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return pulumi.ToOutput(in).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + +func (in *statefulPolicyPreservedStateNetworkIpAutoDeletePtr) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + // The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. type SubnetworkIpv6AccessType string @@ -37334,6 +37666,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SslPolicyMinTlsVersionPtrInput)(nil)).Elem(), SslPolicyMinTlsVersion("TLS_1_0")) pulumi.RegisterInputType(reflect.TypeOf((*SslPolicyProfileInput)(nil)).Elem(), SslPolicyProfile("COMPATIBLE")) pulumi.RegisterInputType(reflect.TypeOf((*SslPolicyProfilePtrInput)(nil)).Elem(), SslPolicyProfile("COMPATIBLE")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDeleteInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER")) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkIpv6AccessTypeInput)(nil)).Elem(), SubnetworkIpv6AccessType("EXTERNAL")) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkIpv6AccessTypePtrInput)(nil)).Elem(), SubnetworkIpv6AccessType("EXTERNAL")) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigAggregationIntervalInput)(nil)).Elem(), SubnetworkLogConfigAggregationInterval("INTERVAL_10_MIN")) @@ -37767,6 +38103,10 @@ func init() { pulumi.RegisterOutputType(SslPolicyMinTlsVersionPtrOutput{}) pulumi.RegisterOutputType(SslPolicyProfileOutput{}) pulumi.RegisterOutputType(SslPolicyProfilePtrOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput{}) pulumi.RegisterOutputType(SubnetworkIpv6AccessTypeOutput{}) pulumi.RegisterOutputType(SubnetworkIpv6AccessTypePtrOutput{}) pulumi.RegisterOutputType(SubnetworkLogConfigAggregationIntervalOutput{}) diff --git a/sdk/go/google/compute/beta/pulumiTypes.go b/sdk/go/google/compute/beta/pulumiTypes.go index fced671f54..ece8196426 100644 --- a/sdk/go/google/compute/beta/pulumiTypes.go +++ b/sdk/go/google/compute/beta/pulumiTypes.go @@ -4140,7 +4140,7 @@ type AutoscalingPolicy struct { ScaleDownControl *AutoscalingPolicyScaleDownControl `pulumi:"scaleDownControl"` ScaleInControl *AutoscalingPolicyScaleInControl `pulumi:"scaleInControl"` // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. - ScalingSchedules map[string]string `pulumi:"scalingSchedules"` + ScalingSchedules map[string]AutoscalingPolicyScalingSchedule `pulumi:"scalingSchedules"` } // AutoscalingPolicyInput is an input type that accepts AutoscalingPolicyArgs and AutoscalingPolicyOutput values. @@ -4173,7 +4173,7 @@ type AutoscalingPolicyArgs struct { ScaleDownControl AutoscalingPolicyScaleDownControlPtrInput `pulumi:"scaleDownControl"` ScaleInControl AutoscalingPolicyScaleInControlPtrInput `pulumi:"scaleInControl"` // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. - ScalingSchedules pulumi.StringMapInput `pulumi:"scalingSchedules"` + ScalingSchedules AutoscalingPolicyScalingScheduleMapInput `pulumi:"scalingSchedules"` } func (AutoscalingPolicyArgs) ElementType() reflect.Type { @@ -4302,8 +4302,8 @@ func (o AutoscalingPolicyOutput) ScaleInControl() AutoscalingPolicyScaleInContro } // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. -func (o AutoscalingPolicyOutput) ScalingSchedules() pulumi.StringMapOutput { - return o.ApplyT(func(v AutoscalingPolicy) map[string]string { return v.ScalingSchedules }).(pulumi.StringMapOutput) +func (o AutoscalingPolicyOutput) ScalingSchedules() AutoscalingPolicyScalingScheduleMapOutput { + return o.ApplyT(func(v AutoscalingPolicy) map[string]AutoscalingPolicyScalingSchedule { return v.ScalingSchedules }).(AutoscalingPolicyScalingScheduleMapOutput) } type AutoscalingPolicyPtrOutput struct{ *pulumi.OutputState } @@ -4419,13 +4419,13 @@ func (o AutoscalingPolicyPtrOutput) ScaleInControl() AutoscalingPolicyScaleInCon } // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. -func (o AutoscalingPolicyPtrOutput) ScalingSchedules() pulumi.StringMapOutput { - return o.ApplyT(func(v *AutoscalingPolicy) map[string]string { +func (o AutoscalingPolicyPtrOutput) ScalingSchedules() AutoscalingPolicyScalingScheduleMapOutput { + return o.ApplyT(func(v *AutoscalingPolicy) map[string]AutoscalingPolicyScalingSchedule { if v == nil { return nil } return v.ScalingSchedules - }).(pulumi.StringMapOutput) + }).(AutoscalingPolicyScalingScheduleMapOutput) } // CPU utilization policy. @@ -5019,7 +5019,7 @@ type AutoscalingPolicyResponse struct { ScaleDownControl AutoscalingPolicyScaleDownControlResponse `pulumi:"scaleDownControl"` ScaleInControl AutoscalingPolicyScaleInControlResponse `pulumi:"scaleInControl"` // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. - ScalingSchedules map[string]string `pulumi:"scalingSchedules"` + ScalingSchedules map[string]AutoscalingPolicyScalingScheduleResponse `pulumi:"scalingSchedules"` } // Cloud Autoscaler policy. @@ -5085,8 +5085,10 @@ func (o AutoscalingPolicyResponseOutput) ScaleInControl() AutoscalingPolicyScale } // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. -func (o AutoscalingPolicyResponseOutput) ScalingSchedules() pulumi.StringMapOutput { - return o.ApplyT(func(v AutoscalingPolicyResponse) map[string]string { return v.ScalingSchedules }).(pulumi.StringMapOutput) +func (o AutoscalingPolicyResponseOutput) ScalingSchedules() AutoscalingPolicyScalingScheduleResponseMapOutput { + return o.ApplyT(func(v AutoscalingPolicyResponse) map[string]AutoscalingPolicyScalingScheduleResponse { + return v.ScalingSchedules + }).(AutoscalingPolicyScalingScheduleResponseMapOutput) } // Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below. @@ -5475,6 +5477,232 @@ func (o AutoscalingPolicyScaleInControlResponseOutput) TimeWindowSec() pulumi.In return o.ApplyT(func(v AutoscalingPolicyScaleInControlResponse) int { return v.TimeWindowSec }).(pulumi.IntOutput) } +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingSchedule struct { + // A description of a scaling schedule. + Description *string `pulumi:"description"` + // A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + Disabled *bool `pulumi:"disabled"` + // The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + DurationSec *int `pulumi:"durationSec"` + // The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + MinRequiredReplicas *int `pulumi:"minRequiredReplicas"` + // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + Schedule *string `pulumi:"schedule"` + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + TimeZone *string `pulumi:"timeZone"` +} + +// AutoscalingPolicyScalingScheduleInput is an input type that accepts AutoscalingPolicyScalingScheduleArgs and AutoscalingPolicyScalingScheduleOutput values. +// You can construct a concrete instance of `AutoscalingPolicyScalingScheduleInput` via: +// +// AutoscalingPolicyScalingScheduleArgs{...} +type AutoscalingPolicyScalingScheduleInput interface { + pulumi.Input + + ToAutoscalingPolicyScalingScheduleOutput() AutoscalingPolicyScalingScheduleOutput + ToAutoscalingPolicyScalingScheduleOutputWithContext(context.Context) AutoscalingPolicyScalingScheduleOutput +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleArgs struct { + // A description of a scaling schedule. + Description pulumi.StringPtrInput `pulumi:"description"` + // A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + // The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + DurationSec pulumi.IntPtrInput `pulumi:"durationSec"` + // The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + MinRequiredReplicas pulumi.IntPtrInput `pulumi:"minRequiredReplicas"` + // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + Schedule pulumi.StringPtrInput `pulumi:"schedule"` + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (AutoscalingPolicyScalingScheduleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (i AutoscalingPolicyScalingScheduleArgs) ToAutoscalingPolicyScalingScheduleOutput() AutoscalingPolicyScalingScheduleOutput { + return i.ToAutoscalingPolicyScalingScheduleOutputWithContext(context.Background()) +} + +func (i AutoscalingPolicyScalingScheduleArgs) ToAutoscalingPolicyScalingScheduleOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutoscalingPolicyScalingScheduleOutput) +} + +// AutoscalingPolicyScalingScheduleMapInput is an input type that accepts AutoscalingPolicyScalingScheduleMap and AutoscalingPolicyScalingScheduleMapOutput values. +// You can construct a concrete instance of `AutoscalingPolicyScalingScheduleMapInput` via: +// +// AutoscalingPolicyScalingScheduleMap{ "key": AutoscalingPolicyScalingScheduleArgs{...} } +type AutoscalingPolicyScalingScheduleMapInput interface { + pulumi.Input + + ToAutoscalingPolicyScalingScheduleMapOutput() AutoscalingPolicyScalingScheduleMapOutput + ToAutoscalingPolicyScalingScheduleMapOutputWithContext(context.Context) AutoscalingPolicyScalingScheduleMapOutput +} + +type AutoscalingPolicyScalingScheduleMap map[string]AutoscalingPolicyScalingScheduleInput + +func (AutoscalingPolicyScalingScheduleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (i AutoscalingPolicyScalingScheduleMap) ToAutoscalingPolicyScalingScheduleMapOutput() AutoscalingPolicyScalingScheduleMapOutput { + return i.ToAutoscalingPolicyScalingScheduleMapOutputWithContext(context.Background()) +} + +func (i AutoscalingPolicyScalingScheduleMap) ToAutoscalingPolicyScalingScheduleMapOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutoscalingPolicyScalingScheduleMapOutput) +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleOutput) ToAutoscalingPolicyScalingScheduleOutput() AutoscalingPolicyScalingScheduleOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleOutput) ToAutoscalingPolicyScalingScheduleOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleOutput { + return o +} + +// A description of a scaling schedule. +func (o AutoscalingPolicyScalingScheduleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. +func (o AutoscalingPolicyScalingScheduleOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} + +// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. +func (o AutoscalingPolicyScalingScheduleOutput) DurationSec() pulumi.IntPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *int { return v.DurationSec }).(pulumi.IntPtrOutput) +} + +// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. +func (o AutoscalingPolicyScalingScheduleOutput) MinRequiredReplicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *int { return v.MinRequiredReplicas }).(pulumi.IntPtrOutput) +} + +// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. +func (o AutoscalingPolicyScalingScheduleOutput) Schedule() pulumi.StringPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *string { return v.Schedule }).(pulumi.StringPtrOutput) +} + +// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. +func (o AutoscalingPolicyScalingScheduleOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type AutoscalingPolicyScalingScheduleMapOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleMapOutput) ToAutoscalingPolicyScalingScheduleMapOutput() AutoscalingPolicyScalingScheduleMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleMapOutput) ToAutoscalingPolicyScalingScheduleMapOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleMapOutput) MapIndex(k pulumi.StringInput) AutoscalingPolicyScalingScheduleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AutoscalingPolicyScalingSchedule { + return vs[0].(map[string]AutoscalingPolicyScalingSchedule)[vs[1].(string)] + }).(AutoscalingPolicyScalingScheduleOutput) +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleResponse struct { + // A description of a scaling schedule. + Description string `pulumi:"description"` + // A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + Disabled bool `pulumi:"disabled"` + // The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + DurationSec int `pulumi:"durationSec"` + // The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + MinRequiredReplicas int `pulumi:"minRequiredReplicas"` + // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + Schedule string `pulumi:"schedule"` + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + TimeZone string `pulumi:"timeZone"` +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleResponseOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AutoscalingPolicyScalingScheduleResponse)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleResponseOutput) ToAutoscalingPolicyScalingScheduleResponseOutput() AutoscalingPolicyScalingScheduleResponseOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleResponseOutput) ToAutoscalingPolicyScalingScheduleResponseOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleResponseOutput { + return o +} + +// A description of a scaling schedule. +func (o AutoscalingPolicyScalingScheduleResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. +func (o AutoscalingPolicyScalingScheduleResponseOutput) Disabled() pulumi.BoolOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) bool { return v.Disabled }).(pulumi.BoolOutput) +} + +// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. +func (o AutoscalingPolicyScalingScheduleResponseOutput) DurationSec() pulumi.IntOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) int { return v.DurationSec }).(pulumi.IntOutput) +} + +// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. +func (o AutoscalingPolicyScalingScheduleResponseOutput) MinRequiredReplicas() pulumi.IntOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) int { return v.MinRequiredReplicas }).(pulumi.IntOutput) +} + +// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. +func (o AutoscalingPolicyScalingScheduleResponseOutput) Schedule() pulumi.StringOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) string { return v.Schedule }).(pulumi.StringOutput) +} + +// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. +func (o AutoscalingPolicyScalingScheduleResponseOutput) TimeZone() pulumi.StringOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) string { return v.TimeZone }).(pulumi.StringOutput) +} + +type AutoscalingPolicyScalingScheduleResponseMapOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AutoscalingPolicyScalingScheduleResponse)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleResponseMapOutput) ToAutoscalingPolicyScalingScheduleResponseMapOutput() AutoscalingPolicyScalingScheduleResponseMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleResponseMapOutput) ToAutoscalingPolicyScalingScheduleResponseMapOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleResponseMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleResponseMapOutput) MapIndex(k pulumi.StringInput) AutoscalingPolicyScalingScheduleResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AutoscalingPolicyScalingScheduleResponse { + return vs[0].(map[string]AutoscalingPolicyScalingScheduleResponse)[vs[1].(string)] + }).(AutoscalingPolicyScalingScheduleResponseOutput) +} + // Message containing information of one individual backend. type Backend struct { // Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected. @@ -12321,6 +12549,48 @@ func (o DiskAsyncReplicationPtrOutput) Disk() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type DiskAsyncReplicationListResponse struct { + AsyncReplicationDisk DiskAsyncReplicationResponse `pulumi:"asyncReplicationDisk"` +} + +type DiskAsyncReplicationListResponseOutput struct{ *pulumi.OutputState } + +func (DiskAsyncReplicationListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DiskAsyncReplicationListResponse)(nil)).Elem() +} + +func (o DiskAsyncReplicationListResponseOutput) ToDiskAsyncReplicationListResponseOutput() DiskAsyncReplicationListResponseOutput { + return o +} + +func (o DiskAsyncReplicationListResponseOutput) ToDiskAsyncReplicationListResponseOutputWithContext(ctx context.Context) DiskAsyncReplicationListResponseOutput { + return o +} + +func (o DiskAsyncReplicationListResponseOutput) AsyncReplicationDisk() DiskAsyncReplicationResponseOutput { + return o.ApplyT(func(v DiskAsyncReplicationListResponse) DiskAsyncReplicationResponse { return v.AsyncReplicationDisk }).(DiskAsyncReplicationResponseOutput) +} + +type DiskAsyncReplicationListResponseMapOutput struct{ *pulumi.OutputState } + +func (DiskAsyncReplicationListResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]DiskAsyncReplicationListResponse)(nil)).Elem() +} + +func (o DiskAsyncReplicationListResponseMapOutput) ToDiskAsyncReplicationListResponseMapOutput() DiskAsyncReplicationListResponseMapOutput { + return o +} + +func (o DiskAsyncReplicationListResponseMapOutput) ToDiskAsyncReplicationListResponseMapOutputWithContext(ctx context.Context) DiskAsyncReplicationListResponseMapOutput { + return o +} + +func (o DiskAsyncReplicationListResponseMapOutput) MapIndex(k pulumi.StringInput) DiskAsyncReplicationListResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) DiskAsyncReplicationListResponse { + return vs[0].(map[string]DiskAsyncReplicationListResponse)[vs[1].(string)] + }).(DiskAsyncReplicationListResponseOutput) +} + type DiskAsyncReplicationResponse struct { // URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group. ConsistencyGroupPolicy string `pulumi:"consistencyGroupPolicy"` @@ -12748,10 +13018,30 @@ func (o DiskResourceStatusAsyncReplicationStatusResponseOutput) State() pulumi.S return o.ApplyT(func(v DiskResourceStatusAsyncReplicationStatusResponse) string { return v.State }).(pulumi.StringOutput) } +type DiskResourceStatusAsyncReplicationStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (DiskResourceStatusAsyncReplicationStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]DiskResourceStatusAsyncReplicationStatusResponse)(nil)).Elem() +} + +func (o DiskResourceStatusAsyncReplicationStatusResponseMapOutput) ToDiskResourceStatusAsyncReplicationStatusResponseMapOutput() DiskResourceStatusAsyncReplicationStatusResponseMapOutput { + return o +} + +func (o DiskResourceStatusAsyncReplicationStatusResponseMapOutput) ToDiskResourceStatusAsyncReplicationStatusResponseMapOutputWithContext(ctx context.Context) DiskResourceStatusAsyncReplicationStatusResponseMapOutput { + return o +} + +func (o DiskResourceStatusAsyncReplicationStatusResponseMapOutput) MapIndex(k pulumi.StringInput) DiskResourceStatusAsyncReplicationStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) DiskResourceStatusAsyncReplicationStatusResponse { + return vs[0].(map[string]DiskResourceStatusAsyncReplicationStatusResponse)[vs[1].(string)] + }).(DiskResourceStatusAsyncReplicationStatusResponseOutput) +} + type DiskResourceStatusResponse struct { AsyncPrimaryDisk DiskResourceStatusAsyncReplicationStatusResponse `pulumi:"asyncPrimaryDisk"` // Key: disk, value: AsyncReplicationStatus message - AsyncSecondaryDisks map[string]string `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks map[string]DiskResourceStatusAsyncReplicationStatusResponse `pulumi:"asyncSecondaryDisks"` } type DiskResourceStatusResponseOutput struct{ *pulumi.OutputState } @@ -12775,8 +13065,10 @@ func (o DiskResourceStatusResponseOutput) AsyncPrimaryDisk() DiskResourceStatusA } // Key: disk, value: AsyncReplicationStatus message -func (o DiskResourceStatusResponseOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v DiskResourceStatusResponse) map[string]string { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o DiskResourceStatusResponseOutput) AsyncSecondaryDisks() DiskResourceStatusAsyncReplicationStatusResponseMapOutput { + return o.ApplyT(func(v DiskResourceStatusResponse) map[string]DiskResourceStatusAsyncReplicationStatusResponse { + return v.AsyncSecondaryDisks + }).(DiskResourceStatusAsyncReplicationStatusResponseMapOutput) } // A set of Display Device options @@ -22656,7 +22948,7 @@ func (o InstanceGroupManagerAutoHealingPolicyResponseArrayOutput) Index(i pulumi type InstanceGroupManagerInstanceFlexibilityPolicy struct { // Named instance selections configuring properties that the group will use when creating new VMs. - InstanceSelectionLists map[string]string `pulumi:"instanceSelectionLists"` + InstanceSelectionLists map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection `pulumi:"instanceSelectionLists"` } // InstanceGroupManagerInstanceFlexibilityPolicyInput is an input type that accepts InstanceGroupManagerInstanceFlexibilityPolicyArgs and InstanceGroupManagerInstanceFlexibilityPolicyOutput values. @@ -22672,7 +22964,7 @@ type InstanceGroupManagerInstanceFlexibilityPolicyInput interface { type InstanceGroupManagerInstanceFlexibilityPolicyArgs struct { // Named instance selections configuring properties that the group will use when creating new VMs. - InstanceSelectionLists pulumi.StringMapInput `pulumi:"instanceSelectionLists"` + InstanceSelectionLists InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput `pulumi:"instanceSelectionLists"` } func (InstanceGroupManagerInstanceFlexibilityPolicyArgs) ElementType() reflect.Type { @@ -22753,10 +23045,10 @@ func (o InstanceGroupManagerInstanceFlexibilityPolicyOutput) ToInstanceGroupMana } // Named instance selections configuring properties that the group will use when creating new VMs. -func (o InstanceGroupManagerInstanceFlexibilityPolicyOutput) InstanceSelectionLists() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicy) map[string]string { +func (o InstanceGroupManagerInstanceFlexibilityPolicyOutput) InstanceSelectionLists() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicy) map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection { return v.InstanceSelectionLists - }).(pulumi.StringMapOutput) + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) } type InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput struct{ *pulumi.OutputState } @@ -22784,18 +23076,177 @@ func (o InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput) Elem() InstanceG } // Named instance selections configuring properties that the group will use when creating new VMs. -func (o InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput) InstanceSelectionLists() pulumi.StringMapOutput { - return o.ApplyT(func(v *InstanceGroupManagerInstanceFlexibilityPolicy) map[string]string { +func (o InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput) InstanceSelectionLists() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o.ApplyT(func(v *InstanceGroupManagerInstanceFlexibilityPolicy) map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection { if v == nil { return nil } return v.InstanceSelectionLists - }).(pulumi.StringMapOutput) + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection struct { + // Full machine-type names, e.g. "n1-standard-16". + MachineTypes []string `pulumi:"machineTypes"` + // Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + Rank *int `pulumi:"rank"` +} + +// InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput is an input type that accepts InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs and InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput values. +// You can construct a concrete instance of `InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput` via: +// +// InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs{...} +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput interface { + pulumi.Input + + ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput + ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutputWithContext(context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs struct { + // Full machine-type names, e.g. "n1-standard-16". + MachineTypes pulumi.StringArrayInput `pulumi:"machineTypes"` + // Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + Rank pulumi.IntPtrInput `pulumi:"rank"` +} + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)(nil)).Elem() +} + +func (i InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return i.ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutputWithContext(context.Background()) +} + +func (i InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) +} + +// InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput is an input type that accepts InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap and InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput values. +// You can construct a concrete instance of `InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput` via: +// +// InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap{ "key": InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs{...} } +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput interface { + pulumi.Input + + ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput + ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutputWithContext(context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)(nil)).Elem() +} + +func (i InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return i.ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutputWithContext(context.Background()) +} + +func (i InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput struct{ *pulumi.OutputState } + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)(nil)).Elem() +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return o +} + +// Full machine-type names, e.g. "n1-standard-16". +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) MachineTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection) []string { return v.MachineTypes }).(pulumi.StringArrayOutput) +} + +// Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) Rank() pulumi.IntPtrOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection) *int { return v.Rank }).(pulumi.IntPtrOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput struct{ *pulumi.OutputState } + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)(nil)).Elem() +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput) MapIndex(k pulumi.StringInput) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection { + return vs[0].(map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection)[vs[1].(string)] + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse struct { + // Full machine-type names, e.g. "n1-standard-16". + MachineTypes []string `pulumi:"machineTypes"` + // Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + Rank int `pulumi:"rank"` +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput struct{ *pulumi.OutputState } + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse)(nil)).Elem() +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput { + return o +} + +// Full machine-type names, e.g. "n1-standard-16". +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) MachineTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse) []string { + return v.MachineTypes + }).(pulumi.StringArrayOutput) +} + +// Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) Rank() pulumi.IntOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse) int { return v.Rank }).(pulumi.IntOutput) +} + +type InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput struct{ *pulumi.OutputState } + +func (InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse)(nil)).Elem() +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) ToInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutputWithContext(ctx context.Context) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput { + return o +} + +func (o InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) MapIndex(k pulumi.StringInput) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse { + return vs[0].(map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse)[vs[1].(string)] + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput) } type InstanceGroupManagerInstanceFlexibilityPolicyResponse struct { // Named instance selections configuring properties that the group will use when creating new VMs. - InstanceSelectionLists map[string]string `pulumi:"instanceSelectionLists"` + InstanceSelectionLists map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse `pulumi:"instanceSelectionLists"` } type InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput struct{ *pulumi.OutputState } @@ -22813,10 +23264,10 @@ func (o InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput) ToInstanceG } // Named instance selections configuring properties that the group will use when creating new VMs. -func (o InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput) InstanceSelectionLists() pulumi.StringMapOutput { - return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyResponse) map[string]string { +func (o InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput) InstanceSelectionLists() InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput { + return o.ApplyT(func(v InstanceGroupManagerInstanceFlexibilityPolicyResponse) map[string]InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse { return v.InstanceSelectionLists - }).(pulumi.StringMapOutput) + }).(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput) } type InstanceGroupManagerInstanceLifecyclePolicy struct { @@ -41795,6 +42246,64 @@ func (o SavedDiskResponseArrayOutput) Index(i pulumi.IntInput) SavedDiskResponse }).(SavedDiskResponseOutput) } +type ScalingScheduleStatusResponse struct { + // The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + LastStartTime string `pulumi:"lastStartTime"` + // The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + NextStartTime string `pulumi:"nextStartTime"` + // The current state of a scaling schedule. + State string `pulumi:"state"` +} + +type ScalingScheduleStatusResponseOutput struct{ *pulumi.OutputState } + +func (ScalingScheduleStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScalingScheduleStatusResponse)(nil)).Elem() +} + +func (o ScalingScheduleStatusResponseOutput) ToScalingScheduleStatusResponseOutput() ScalingScheduleStatusResponseOutput { + return o +} + +func (o ScalingScheduleStatusResponseOutput) ToScalingScheduleStatusResponseOutputWithContext(ctx context.Context) ScalingScheduleStatusResponseOutput { + return o +} + +// The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. +func (o ScalingScheduleStatusResponseOutput) LastStartTime() pulumi.StringOutput { + return o.ApplyT(func(v ScalingScheduleStatusResponse) string { return v.LastStartTime }).(pulumi.StringOutput) +} + +// The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. +func (o ScalingScheduleStatusResponseOutput) NextStartTime() pulumi.StringOutput { + return o.ApplyT(func(v ScalingScheduleStatusResponse) string { return v.NextStartTime }).(pulumi.StringOutput) +} + +// The current state of a scaling schedule. +func (o ScalingScheduleStatusResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ScalingScheduleStatusResponse) string { return v.State }).(pulumi.StringOutput) +} + +type ScalingScheduleStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (ScalingScheduleStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScalingScheduleStatusResponse)(nil)).Elem() +} + +func (o ScalingScheduleStatusResponseMapOutput) ToScalingScheduleStatusResponseMapOutput() ScalingScheduleStatusResponseMapOutput { + return o +} + +func (o ScalingScheduleStatusResponseMapOutput) ToScalingScheduleStatusResponseMapOutputWithContext(ctx context.Context) ScalingScheduleStatusResponseMapOutput { + return o +} + +func (o ScalingScheduleStatusResponseMapOutput) MapIndex(k pulumi.StringInput) ScalingScheduleStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScalingScheduleStatusResponse { + return vs[0].(map[string]ScalingScheduleStatusResponse)[vs[1].(string)] + }).(ScalingScheduleStatusResponseOutput) +} + // Sets the scheduling options for an Instance. type Scheduling struct { // Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. @@ -49106,7 +49615,7 @@ func (o ServiceAttachmentTunnelingConfigResponseOutput) RoutingMode() pulumi.Str // The share setting for reservations and sole tenancy node groups. type ShareSettings struct { // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. - ProjectMap map[string]string `pulumi:"projectMap"` + ProjectMap map[string]ShareSettingsProjectConfig `pulumi:"projectMap"` // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. Projects []string `pulumi:"projects"` // Type of sharing for this shared-reservation @@ -49127,7 +49636,7 @@ type ShareSettingsInput interface { // The share setting for reservations and sole tenancy node groups. type ShareSettingsArgs struct { // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. - ProjectMap pulumi.StringMapInput `pulumi:"projectMap"` + ProjectMap ShareSettingsProjectConfigMapInput `pulumi:"projectMap"` // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. Projects pulumi.StringArrayInput `pulumi:"projects"` // Type of sharing for this shared-reservation @@ -49213,8 +49722,8 @@ func (o ShareSettingsOutput) ToShareSettingsPtrOutputWithContext(ctx context.Con } // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsOutput) ProjectMap() pulumi.StringMapOutput { - return o.ApplyT(func(v ShareSettings) map[string]string { return v.ProjectMap }).(pulumi.StringMapOutput) +func (o ShareSettingsOutput) ProjectMap() ShareSettingsProjectConfigMapOutput { + return o.ApplyT(func(v ShareSettings) map[string]ShareSettingsProjectConfig { return v.ProjectMap }).(ShareSettingsProjectConfigMapOutput) } // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. @@ -49252,13 +49761,13 @@ func (o ShareSettingsPtrOutput) Elem() ShareSettingsOutput { } // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsPtrOutput) ProjectMap() pulumi.StringMapOutput { - return o.ApplyT(func(v *ShareSettings) map[string]string { +func (o ShareSettingsPtrOutput) ProjectMap() ShareSettingsProjectConfigMapOutput { + return o.ApplyT(func(v *ShareSettings) map[string]ShareSettingsProjectConfig { if v == nil { return nil } return v.ProjectMap - }).(pulumi.StringMapOutput) + }).(ShareSettingsProjectConfigMapOutput) } // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. @@ -49281,10 +49790,156 @@ func (o ShareSettingsPtrOutput) ShareType() ShareSettingsShareTypePtrOutput { }).(ShareSettingsShareTypePtrOutput) } +// Config for each project in the share settings. +type ShareSettingsProjectConfig struct { + // The project ID, should be same as the key of this project config in the parent map. + Project *string `pulumi:"project"` +} + +// ShareSettingsProjectConfigInput is an input type that accepts ShareSettingsProjectConfigArgs and ShareSettingsProjectConfigOutput values. +// You can construct a concrete instance of `ShareSettingsProjectConfigInput` via: +// +// ShareSettingsProjectConfigArgs{...} +type ShareSettingsProjectConfigInput interface { + pulumi.Input + + ToShareSettingsProjectConfigOutput() ShareSettingsProjectConfigOutput + ToShareSettingsProjectConfigOutputWithContext(context.Context) ShareSettingsProjectConfigOutput +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigArgs struct { + // The project ID, should be same as the key of this project config in the parent map. + Project pulumi.StringPtrInput `pulumi:"project"` +} + +func (ShareSettingsProjectConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsProjectConfig)(nil)).Elem() +} + +func (i ShareSettingsProjectConfigArgs) ToShareSettingsProjectConfigOutput() ShareSettingsProjectConfigOutput { + return i.ToShareSettingsProjectConfigOutputWithContext(context.Background()) +} + +func (i ShareSettingsProjectConfigArgs) ToShareSettingsProjectConfigOutputWithContext(ctx context.Context) ShareSettingsProjectConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ShareSettingsProjectConfigOutput) +} + +// ShareSettingsProjectConfigMapInput is an input type that accepts ShareSettingsProjectConfigMap and ShareSettingsProjectConfigMapOutput values. +// You can construct a concrete instance of `ShareSettingsProjectConfigMapInput` via: +// +// ShareSettingsProjectConfigMap{ "key": ShareSettingsProjectConfigArgs{...} } +type ShareSettingsProjectConfigMapInput interface { + pulumi.Input + + ToShareSettingsProjectConfigMapOutput() ShareSettingsProjectConfigMapOutput + ToShareSettingsProjectConfigMapOutputWithContext(context.Context) ShareSettingsProjectConfigMapOutput +} + +type ShareSettingsProjectConfigMap map[string]ShareSettingsProjectConfigInput + +func (ShareSettingsProjectConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsProjectConfig)(nil)).Elem() +} + +func (i ShareSettingsProjectConfigMap) ToShareSettingsProjectConfigMapOutput() ShareSettingsProjectConfigMapOutput { + return i.ToShareSettingsProjectConfigMapOutputWithContext(context.Background()) +} + +func (i ShareSettingsProjectConfigMap) ToShareSettingsProjectConfigMapOutputWithContext(ctx context.Context) ShareSettingsProjectConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ShareSettingsProjectConfigMapOutput) +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsProjectConfig)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigOutput) ToShareSettingsProjectConfigOutput() ShareSettingsProjectConfigOutput { + return o +} + +func (o ShareSettingsProjectConfigOutput) ToShareSettingsProjectConfigOutputWithContext(ctx context.Context) ShareSettingsProjectConfigOutput { + return o +} + +// The project ID, should be same as the key of this project config in the parent map. +func (o ShareSettingsProjectConfigOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v ShareSettingsProjectConfig) *string { return v.Project }).(pulumi.StringPtrOutput) +} + +type ShareSettingsProjectConfigMapOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsProjectConfig)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigMapOutput) ToShareSettingsProjectConfigMapOutput() ShareSettingsProjectConfigMapOutput { + return o +} + +func (o ShareSettingsProjectConfigMapOutput) ToShareSettingsProjectConfigMapOutputWithContext(ctx context.Context) ShareSettingsProjectConfigMapOutput { + return o +} + +func (o ShareSettingsProjectConfigMapOutput) MapIndex(k pulumi.StringInput) ShareSettingsProjectConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ShareSettingsProjectConfig { + return vs[0].(map[string]ShareSettingsProjectConfig)[vs[1].(string)] + }).(ShareSettingsProjectConfigOutput) +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigResponse struct { + // The project ID, should be same as the key of this project config in the parent map. + Project string `pulumi:"project"` +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigResponseOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsProjectConfigResponse)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigResponseOutput) ToShareSettingsProjectConfigResponseOutput() ShareSettingsProjectConfigResponseOutput { + return o +} + +func (o ShareSettingsProjectConfigResponseOutput) ToShareSettingsProjectConfigResponseOutputWithContext(ctx context.Context) ShareSettingsProjectConfigResponseOutput { + return o +} + +// The project ID, should be same as the key of this project config in the parent map. +func (o ShareSettingsProjectConfigResponseOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v ShareSettingsProjectConfigResponse) string { return v.Project }).(pulumi.StringOutput) +} + +type ShareSettingsProjectConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsProjectConfigResponse)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigResponseMapOutput) ToShareSettingsProjectConfigResponseMapOutput() ShareSettingsProjectConfigResponseMapOutput { + return o +} + +func (o ShareSettingsProjectConfigResponseMapOutput) ToShareSettingsProjectConfigResponseMapOutputWithContext(ctx context.Context) ShareSettingsProjectConfigResponseMapOutput { + return o +} + +func (o ShareSettingsProjectConfigResponseMapOutput) MapIndex(k pulumi.StringInput) ShareSettingsProjectConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ShareSettingsProjectConfigResponse { + return vs[0].(map[string]ShareSettingsProjectConfigResponse)[vs[1].(string)] + }).(ShareSettingsProjectConfigResponseOutput) +} + // The share setting for reservations and sole tenancy node groups. type ShareSettingsResponse struct { // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. - ProjectMap map[string]string `pulumi:"projectMap"` + ProjectMap map[string]ShareSettingsProjectConfigResponse `pulumi:"projectMap"` // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. Projects []string `pulumi:"projects"` // Type of sharing for this shared-reservation @@ -49307,8 +49962,8 @@ func (o ShareSettingsResponseOutput) ToShareSettingsResponseOutputWithContext(ct } // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsResponseOutput) ProjectMap() pulumi.StringMapOutput { - return o.ApplyT(func(v ShareSettingsResponse) map[string]string { return v.ProjectMap }).(pulumi.StringMapOutput) +func (o ShareSettingsResponseOutput) ProjectMap() ShareSettingsProjectConfigResponseMapOutput { + return o.ApplyT(func(v ShareSettingsResponse) map[string]ShareSettingsProjectConfigResponse { return v.ProjectMap }).(ShareSettingsProjectConfigResponseMapOutput) } // A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. @@ -51153,11 +51808,11 @@ func (o StatefulPolicyPtrOutput) PreservedState() StatefulPolicyPreservedStatePt // Configuration of preserved resources. type StatefulPolicyPreservedState struct { // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - Disks map[string]string `pulumi:"disks"` + Disks map[string]StatefulPolicyPreservedStateDiskDevice `pulumi:"disks"` // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - ExternalIPs map[string]string `pulumi:"externalIPs"` + ExternalIPs map[string]StatefulPolicyPreservedStateNetworkIp `pulumi:"externalIPs"` // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - InternalIPs map[string]string `pulumi:"internalIPs"` + InternalIPs map[string]StatefulPolicyPreservedStateNetworkIp `pulumi:"internalIPs"` } // StatefulPolicyPreservedStateInput is an input type that accepts StatefulPolicyPreservedStateArgs and StatefulPolicyPreservedStateOutput values. @@ -51174,11 +51829,11 @@ type StatefulPolicyPreservedStateInput interface { // Configuration of preserved resources. type StatefulPolicyPreservedStateArgs struct { // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - Disks pulumi.StringMapInput `pulumi:"disks"` + Disks StatefulPolicyPreservedStateDiskDeviceMapInput `pulumi:"disks"` // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - ExternalIPs pulumi.StringMapInput `pulumi:"externalIPs"` + ExternalIPs StatefulPolicyPreservedStateNetworkIpMapInput `pulumi:"externalIPs"` // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - InternalIPs pulumi.StringMapInput `pulumi:"internalIPs"` + InternalIPs StatefulPolicyPreservedStateNetworkIpMapInput `pulumi:"internalIPs"` } func (StatefulPolicyPreservedStateArgs) ElementType() reflect.Type { @@ -51260,18 +51915,22 @@ func (o StatefulPolicyPreservedStateOutput) ToStatefulPolicyPreservedStatePtrOut } // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. -func (o StatefulPolicyPreservedStateOutput) Disks() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]string { return v.Disks }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateOutput) Disks() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateDiskDevice { return v.Disks }).(StatefulPolicyPreservedStateDiskDeviceMapOutput) } // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateOutput) ExternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]string { return v.ExternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateOutput) ExternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { + return v.ExternalIPs + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateOutput) InternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]string { return v.InternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateOutput) InternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { + return v.InternalIPs + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } type StatefulPolicyPreservedStatePtrOutput struct{ *pulumi.OutputState } @@ -51299,1186 +51958,275 @@ func (o StatefulPolicyPreservedStatePtrOutput) Elem() StatefulPolicyPreservedSta } // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. -func (o StatefulPolicyPreservedStatePtrOutput) Disks() pulumi.StringMapOutput { - return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]string { +func (o StatefulPolicyPreservedStatePtrOutput) Disks() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateDiskDevice { if v == nil { return nil } return v.Disks - }).(pulumi.StringMapOutput) + }).(StatefulPolicyPreservedStateDiskDeviceMapOutput) } // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStatePtrOutput) ExternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]string { +func (o StatefulPolicyPreservedStatePtrOutput) ExternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { if v == nil { return nil } return v.ExternalIPs - }).(pulumi.StringMapOutput) + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStatePtrOutput) InternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]string { +func (o StatefulPolicyPreservedStatePtrOutput) InternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { if v == nil { return nil } return v.InternalIPs - }).(pulumi.StringMapOutput) -} - -// Configuration of preserved resources. -type StatefulPolicyPreservedStateResponse struct { - // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - Disks map[string]string `pulumi:"disks"` - // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - ExternalIPs map[string]string `pulumi:"externalIPs"` - // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - InternalIPs map[string]string `pulumi:"internalIPs"` -} - -// Configuration of preserved resources. -type StatefulPolicyPreservedStateResponseOutput struct{ *pulumi.OutputState } - -func (StatefulPolicyPreservedStateResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StatefulPolicyPreservedStateResponse)(nil)).Elem() -} - -func (o StatefulPolicyPreservedStateResponseOutput) ToStatefulPolicyPreservedStateResponseOutput() StatefulPolicyPreservedStateResponseOutput { - return o -} - -func (o StatefulPolicyPreservedStateResponseOutput) ToStatefulPolicyPreservedStateResponseOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateResponseOutput { - return o -} - -// Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. -func (o StatefulPolicyPreservedStateResponseOutput) Disks() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]string { return v.Disks }).(pulumi.StringMapOutput) -} - -// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateResponseOutput) ExternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]string { return v.ExternalIPs }).(pulumi.StringMapOutput) -} - -// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateResponseOutput) InternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]string { return v.InternalIPs }).(pulumi.StringMapOutput) -} - -type StatefulPolicyResponse struct { - PreservedState StatefulPolicyPreservedStateResponse `pulumi:"preservedState"` -} - -type StatefulPolicyResponseOutput struct{ *pulumi.OutputState } - -func (StatefulPolicyResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*StatefulPolicyResponse)(nil)).Elem() -} - -func (o StatefulPolicyResponseOutput) ToStatefulPolicyResponseOutput() StatefulPolicyResponseOutput { - return o -} - -func (o StatefulPolicyResponseOutput) ToStatefulPolicyResponseOutputWithContext(ctx context.Context) StatefulPolicyResponseOutput { - return o -} - -func (o StatefulPolicyResponseOutput) PreservedState() StatefulPolicyPreservedStateResponseOutput { - return o.ApplyT(func(v StatefulPolicyResponse) StatefulPolicyPreservedStateResponse { return v.PreservedState }).(StatefulPolicyPreservedStateResponseOutput) -} - -// The available logging options for this subnetwork. -type SubnetworkLogConfig struct { - // Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. - AggregationInterval *SubnetworkLogConfigAggregationInterval `pulumi:"aggregationInterval"` - // Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. - Enable *bool `pulumi:"enable"` - // Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. - FilterExpr *string `pulumi:"filterExpr"` - // Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. - FlowSampling *float64 `pulumi:"flowSampling"` - // Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. - Metadata *SubnetworkLogConfigMetadata `pulumi:"metadata"` - // Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. - MetadataFields []string `pulumi:"metadataFields"` -} - -// SubnetworkLogConfigInput is an input type that accepts SubnetworkLogConfigArgs and SubnetworkLogConfigOutput values. -// You can construct a concrete instance of `SubnetworkLogConfigInput` via: -// -// SubnetworkLogConfigArgs{...} -type SubnetworkLogConfigInput interface { - pulumi.Input - - ToSubnetworkLogConfigOutput() SubnetworkLogConfigOutput - ToSubnetworkLogConfigOutputWithContext(context.Context) SubnetworkLogConfigOutput -} - -// The available logging options for this subnetwork. -type SubnetworkLogConfigArgs struct { - // Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. - AggregationInterval SubnetworkLogConfigAggregationIntervalPtrInput `pulumi:"aggregationInterval"` - // Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. - Enable pulumi.BoolPtrInput `pulumi:"enable"` - // Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. - FilterExpr pulumi.StringPtrInput `pulumi:"filterExpr"` - // Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. - FlowSampling pulumi.Float64PtrInput `pulumi:"flowSampling"` - // Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. - Metadata SubnetworkLogConfigMetadataPtrInput `pulumi:"metadata"` - // Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. - MetadataFields pulumi.StringArrayInput `pulumi:"metadataFields"` -} - -func (SubnetworkLogConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SubnetworkLogConfig)(nil)).Elem() -} - -func (i SubnetworkLogConfigArgs) ToSubnetworkLogConfigOutput() SubnetworkLogConfigOutput { - return i.ToSubnetworkLogConfigOutputWithContext(context.Background()) -} - -func (i SubnetworkLogConfigArgs) ToSubnetworkLogConfigOutputWithContext(ctx context.Context) SubnetworkLogConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubnetworkLogConfigOutput) -} - -func (i SubnetworkLogConfigArgs) ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput { - return i.ToSubnetworkLogConfigPtrOutputWithContext(context.Background()) -} - -func (i SubnetworkLogConfigArgs) ToSubnetworkLogConfigPtrOutputWithContext(ctx context.Context) SubnetworkLogConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubnetworkLogConfigOutput).ToSubnetworkLogConfigPtrOutputWithContext(ctx) -} - -// SubnetworkLogConfigPtrInput is an input type that accepts SubnetworkLogConfigArgs, SubnetworkLogConfigPtr and SubnetworkLogConfigPtrOutput values. -// You can construct a concrete instance of `SubnetworkLogConfigPtrInput` via: -// -// SubnetworkLogConfigArgs{...} -// -// or: -// -// nil -type SubnetworkLogConfigPtrInput interface { - pulumi.Input - - ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput - ToSubnetworkLogConfigPtrOutputWithContext(context.Context) SubnetworkLogConfigPtrOutput -} - -type subnetworkLogConfigPtrType SubnetworkLogConfigArgs - -func SubnetworkLogConfigPtr(v *SubnetworkLogConfigArgs) SubnetworkLogConfigPtrInput { - return (*subnetworkLogConfigPtrType)(v) -} - -func (*subnetworkLogConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SubnetworkLogConfig)(nil)).Elem() -} - -func (i *subnetworkLogConfigPtrType) ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput { - return i.ToSubnetworkLogConfigPtrOutputWithContext(context.Background()) -} - -func (i *subnetworkLogConfigPtrType) ToSubnetworkLogConfigPtrOutputWithContext(ctx context.Context) SubnetworkLogConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubnetworkLogConfigPtrOutput) -} - -// The available logging options for this subnetwork. -type SubnetworkLogConfigOutput struct{ *pulumi.OutputState } - -func (SubnetworkLogConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SubnetworkLogConfig)(nil)).Elem() -} - -func (o SubnetworkLogConfigOutput) ToSubnetworkLogConfigOutput() SubnetworkLogConfigOutput { - return o -} - -func (o SubnetworkLogConfigOutput) ToSubnetworkLogConfigOutputWithContext(ctx context.Context) SubnetworkLogConfigOutput { - return o -} - -func (o SubnetworkLogConfigOutput) ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput { - return o.ToSubnetworkLogConfigPtrOutputWithContext(context.Background()) -} - -func (o SubnetworkLogConfigOutput) ToSubnetworkLogConfigPtrOutputWithContext(ctx context.Context) SubnetworkLogConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SubnetworkLogConfig) *SubnetworkLogConfig { - return &v - }).(SubnetworkLogConfigPtrOutput) -} - -// Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. -func (o SubnetworkLogConfigOutput) AggregationInterval() SubnetworkLogConfigAggregationIntervalPtrOutput { - return o.ApplyT(func(v SubnetworkLogConfig) *SubnetworkLogConfigAggregationInterval { return v.AggregationInterval }).(SubnetworkLogConfigAggregationIntervalPtrOutput) -} - -// Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. -func (o SubnetworkLogConfigOutput) Enable() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SubnetworkLogConfig) *bool { return v.Enable }).(pulumi.BoolPtrOutput) -} - -// Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. -func (o SubnetworkLogConfigOutput) FilterExpr() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetworkLogConfig) *string { return v.FilterExpr }).(pulumi.StringPtrOutput) -} - -// Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. -func (o SubnetworkLogConfigOutput) FlowSampling() pulumi.Float64PtrOutput { - return o.ApplyT(func(v SubnetworkLogConfig) *float64 { return v.FlowSampling }).(pulumi.Float64PtrOutput) -} - -// Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. -func (o SubnetworkLogConfigOutput) Metadata() SubnetworkLogConfigMetadataPtrOutput { - return o.ApplyT(func(v SubnetworkLogConfig) *SubnetworkLogConfigMetadata { return v.Metadata }).(SubnetworkLogConfigMetadataPtrOutput) -} - -// Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. -func (o SubnetworkLogConfigOutput) MetadataFields() pulumi.StringArrayOutput { - return o.ApplyT(func(v SubnetworkLogConfig) []string { return v.MetadataFields }).(pulumi.StringArrayOutput) -} - -type SubnetworkLogConfigPtrOutput struct{ *pulumi.OutputState } - -func (SubnetworkLogConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SubnetworkLogConfig)(nil)).Elem() -} - -func (o SubnetworkLogConfigPtrOutput) ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput { - return o -} - -func (o SubnetworkLogConfigPtrOutput) ToSubnetworkLogConfigPtrOutputWithContext(ctx context.Context) SubnetworkLogConfigPtrOutput { - return o -} - -func (o SubnetworkLogConfigPtrOutput) Elem() SubnetworkLogConfigOutput { - return o.ApplyT(func(v *SubnetworkLogConfig) SubnetworkLogConfig { - if v != nil { - return *v - } - var ret SubnetworkLogConfig - return ret - }).(SubnetworkLogConfigOutput) -} - -// Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. -func (o SubnetworkLogConfigPtrOutput) AggregationInterval() SubnetworkLogConfigAggregationIntervalPtrOutput { - return o.ApplyT(func(v *SubnetworkLogConfig) *SubnetworkLogConfigAggregationInterval { - if v == nil { - return nil - } - return v.AggregationInterval - }).(SubnetworkLogConfigAggregationIntervalPtrOutput) -} - -// Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. -func (o SubnetworkLogConfigPtrOutput) Enable() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SubnetworkLogConfig) *bool { - if v == nil { - return nil - } - return v.Enable - }).(pulumi.BoolPtrOutput) -} - -// Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. -func (o SubnetworkLogConfigPtrOutput) FilterExpr() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SubnetworkLogConfig) *string { - if v == nil { - return nil - } - return v.FilterExpr - }).(pulumi.StringPtrOutput) -} - -// Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. -func (o SubnetworkLogConfigPtrOutput) FlowSampling() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *SubnetworkLogConfig) *float64 { - if v == nil { - return nil - } - return v.FlowSampling - }).(pulumi.Float64PtrOutput) -} - -// Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. -func (o SubnetworkLogConfigPtrOutput) Metadata() SubnetworkLogConfigMetadataPtrOutput { - return o.ApplyT(func(v *SubnetworkLogConfig) *SubnetworkLogConfigMetadata { - if v == nil { - return nil - } - return v.Metadata - }).(SubnetworkLogConfigMetadataPtrOutput) -} - -// Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. -func (o SubnetworkLogConfigPtrOutput) MetadataFields() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SubnetworkLogConfig) []string { - if v == nil { - return nil - } - return v.MetadataFields - }).(pulumi.StringArrayOutput) -} - -// The available logging options for this subnetwork. -type SubnetworkLogConfigResponse struct { - // Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. - AggregationInterval string `pulumi:"aggregationInterval"` - // Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. - Enable bool `pulumi:"enable"` - // Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. - FilterExpr string `pulumi:"filterExpr"` - // Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. - FlowSampling float64 `pulumi:"flowSampling"` - // Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. - Metadata string `pulumi:"metadata"` - // Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. - MetadataFields []string `pulumi:"metadataFields"` -} - -// The available logging options for this subnetwork. -type SubnetworkLogConfigResponseOutput struct{ *pulumi.OutputState } - -func (SubnetworkLogConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SubnetworkLogConfigResponse)(nil)).Elem() -} - -func (o SubnetworkLogConfigResponseOutput) ToSubnetworkLogConfigResponseOutput() SubnetworkLogConfigResponseOutput { - return o -} - -func (o SubnetworkLogConfigResponseOutput) ToSubnetworkLogConfigResponseOutputWithContext(ctx context.Context) SubnetworkLogConfigResponseOutput { - return o -} - -// Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. -func (o SubnetworkLogConfigResponseOutput) AggregationInterval() pulumi.StringOutput { - return o.ApplyT(func(v SubnetworkLogConfigResponse) string { return v.AggregationInterval }).(pulumi.StringOutput) -} - -// Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. -func (o SubnetworkLogConfigResponseOutput) Enable() pulumi.BoolOutput { - return o.ApplyT(func(v SubnetworkLogConfigResponse) bool { return v.Enable }).(pulumi.BoolOutput) -} - -// Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. -func (o SubnetworkLogConfigResponseOutput) FilterExpr() pulumi.StringOutput { - return o.ApplyT(func(v SubnetworkLogConfigResponse) string { return v.FilterExpr }).(pulumi.StringOutput) -} - -// Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. -func (o SubnetworkLogConfigResponseOutput) FlowSampling() pulumi.Float64Output { - return o.ApplyT(func(v SubnetworkLogConfigResponse) float64 { return v.FlowSampling }).(pulumi.Float64Output) -} - -// Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. -func (o SubnetworkLogConfigResponseOutput) Metadata() pulumi.StringOutput { - return o.ApplyT(func(v SubnetworkLogConfigResponse) string { return v.Metadata }).(pulumi.StringOutput) -} - -// Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. -func (o SubnetworkLogConfigResponseOutput) MetadataFields() pulumi.StringArrayOutput { - return o.ApplyT(func(v SubnetworkLogConfigResponse) []string { return v.MetadataFields }).(pulumi.StringArrayOutput) -} - -// Represents a secondary IP range of a subnetwork. -type SubnetworkSecondaryRange struct { - // The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. - IpCidrRange *string `pulumi:"ipCidrRange"` - // The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. - RangeName *string `pulumi:"rangeName"` - // The URL of the reserved internal range. - ReservedInternalRange *string `pulumi:"reservedInternalRange"` -} - -// SubnetworkSecondaryRangeInput is an input type that accepts SubnetworkSecondaryRangeArgs and SubnetworkSecondaryRangeOutput values. -// You can construct a concrete instance of `SubnetworkSecondaryRangeInput` via: -// -// SubnetworkSecondaryRangeArgs{...} -type SubnetworkSecondaryRangeInput interface { - pulumi.Input - - ToSubnetworkSecondaryRangeOutput() SubnetworkSecondaryRangeOutput - ToSubnetworkSecondaryRangeOutputWithContext(context.Context) SubnetworkSecondaryRangeOutput -} - -// Represents a secondary IP range of a subnetwork. -type SubnetworkSecondaryRangeArgs struct { - // The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. - IpCidrRange pulumi.StringPtrInput `pulumi:"ipCidrRange"` - // The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. - RangeName pulumi.StringPtrInput `pulumi:"rangeName"` - // The URL of the reserved internal range. - ReservedInternalRange pulumi.StringPtrInput `pulumi:"reservedInternalRange"` -} - -func (SubnetworkSecondaryRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SubnetworkSecondaryRange)(nil)).Elem() -} - -func (i SubnetworkSecondaryRangeArgs) ToSubnetworkSecondaryRangeOutput() SubnetworkSecondaryRangeOutput { - return i.ToSubnetworkSecondaryRangeOutputWithContext(context.Background()) -} - -func (i SubnetworkSecondaryRangeArgs) ToSubnetworkSecondaryRangeOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubnetworkSecondaryRangeOutput) -} - -// SubnetworkSecondaryRangeArrayInput is an input type that accepts SubnetworkSecondaryRangeArray and SubnetworkSecondaryRangeArrayOutput values. -// You can construct a concrete instance of `SubnetworkSecondaryRangeArrayInput` via: -// -// SubnetworkSecondaryRangeArray{ SubnetworkSecondaryRangeArgs{...} } -type SubnetworkSecondaryRangeArrayInput interface { - pulumi.Input - - ToSubnetworkSecondaryRangeArrayOutput() SubnetworkSecondaryRangeArrayOutput - ToSubnetworkSecondaryRangeArrayOutputWithContext(context.Context) SubnetworkSecondaryRangeArrayOutput -} - -type SubnetworkSecondaryRangeArray []SubnetworkSecondaryRangeInput - -func (SubnetworkSecondaryRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SubnetworkSecondaryRange)(nil)).Elem() -} - -func (i SubnetworkSecondaryRangeArray) ToSubnetworkSecondaryRangeArrayOutput() SubnetworkSecondaryRangeArrayOutput { - return i.ToSubnetworkSecondaryRangeArrayOutputWithContext(context.Background()) -} - -func (i SubnetworkSecondaryRangeArray) ToSubnetworkSecondaryRangeArrayOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubnetworkSecondaryRangeArrayOutput) -} - -// Represents a secondary IP range of a subnetwork. -type SubnetworkSecondaryRangeOutput struct{ *pulumi.OutputState } - -func (SubnetworkSecondaryRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SubnetworkSecondaryRange)(nil)).Elem() -} - -func (o SubnetworkSecondaryRangeOutput) ToSubnetworkSecondaryRangeOutput() SubnetworkSecondaryRangeOutput { - return o -} - -func (o SubnetworkSecondaryRangeOutput) ToSubnetworkSecondaryRangeOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeOutput { - return o -} - -// The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. -func (o SubnetworkSecondaryRangeOutput) IpCidrRange() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetworkSecondaryRange) *string { return v.IpCidrRange }).(pulumi.StringPtrOutput) -} - -// The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. -func (o SubnetworkSecondaryRangeOutput) RangeName() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetworkSecondaryRange) *string { return v.RangeName }).(pulumi.StringPtrOutput) -} - -// The URL of the reserved internal range. -func (o SubnetworkSecondaryRangeOutput) ReservedInternalRange() pulumi.StringPtrOutput { - return o.ApplyT(func(v SubnetworkSecondaryRange) *string { return v.ReservedInternalRange }).(pulumi.StringPtrOutput) -} - -type SubnetworkSecondaryRangeArrayOutput struct{ *pulumi.OutputState } - -func (SubnetworkSecondaryRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SubnetworkSecondaryRange)(nil)).Elem() -} - -func (o SubnetworkSecondaryRangeArrayOutput) ToSubnetworkSecondaryRangeArrayOutput() SubnetworkSecondaryRangeArrayOutput { - return o -} - -func (o SubnetworkSecondaryRangeArrayOutput) ToSubnetworkSecondaryRangeArrayOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeArrayOutput { - return o -} - -func (o SubnetworkSecondaryRangeArrayOutput) Index(i pulumi.IntInput) SubnetworkSecondaryRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubnetworkSecondaryRange { - return vs[0].([]SubnetworkSecondaryRange)[vs[1].(int)] - }).(SubnetworkSecondaryRangeOutput) -} - -// Represents a secondary IP range of a subnetwork. -type SubnetworkSecondaryRangeResponse struct { - // The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. - IpCidrRange string `pulumi:"ipCidrRange"` - // The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. - RangeName string `pulumi:"rangeName"` - // The URL of the reserved internal range. - ReservedInternalRange string `pulumi:"reservedInternalRange"` -} - -// Represents a secondary IP range of a subnetwork. -type SubnetworkSecondaryRangeResponseOutput struct{ *pulumi.OutputState } - -func (SubnetworkSecondaryRangeResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SubnetworkSecondaryRangeResponse)(nil)).Elem() -} - -func (o SubnetworkSecondaryRangeResponseOutput) ToSubnetworkSecondaryRangeResponseOutput() SubnetworkSecondaryRangeResponseOutput { - return o -} - -func (o SubnetworkSecondaryRangeResponseOutput) ToSubnetworkSecondaryRangeResponseOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeResponseOutput { - return o -} - -// The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. -func (o SubnetworkSecondaryRangeResponseOutput) IpCidrRange() pulumi.StringOutput { - return o.ApplyT(func(v SubnetworkSecondaryRangeResponse) string { return v.IpCidrRange }).(pulumi.StringOutput) -} - -// The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. -func (o SubnetworkSecondaryRangeResponseOutput) RangeName() pulumi.StringOutput { - return o.ApplyT(func(v SubnetworkSecondaryRangeResponse) string { return v.RangeName }).(pulumi.StringOutput) -} - -// The URL of the reserved internal range. -func (o SubnetworkSecondaryRangeResponseOutput) ReservedInternalRange() pulumi.StringOutput { - return o.ApplyT(func(v SubnetworkSecondaryRangeResponse) string { return v.ReservedInternalRange }).(pulumi.StringOutput) -} - -type SubnetworkSecondaryRangeResponseArrayOutput struct{ *pulumi.OutputState } - -func (SubnetworkSecondaryRangeResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SubnetworkSecondaryRangeResponse)(nil)).Elem() -} - -func (o SubnetworkSecondaryRangeResponseArrayOutput) ToSubnetworkSecondaryRangeResponseArrayOutput() SubnetworkSecondaryRangeResponseArrayOutput { - return o -} - -func (o SubnetworkSecondaryRangeResponseArrayOutput) ToSubnetworkSecondaryRangeResponseArrayOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeResponseArrayOutput { - return o -} - -func (o SubnetworkSecondaryRangeResponseArrayOutput) Index(i pulumi.IntInput) SubnetworkSecondaryRangeResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubnetworkSecondaryRangeResponse { - return vs[0].([]SubnetworkSecondaryRangeResponse)[vs[1].(int)] - }).(SubnetworkSecondaryRangeResponseOutput) + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } -// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. -type Subsetting struct { - Policy *SubsettingPolicy `pulumi:"policy"` - // The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. - SubsetSize *int `pulumi:"subsetSize"` +type StatefulPolicyPreservedStateDiskDevice struct { + // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + AutoDelete *StatefulPolicyPreservedStateDiskDeviceAutoDelete `pulumi:"autoDelete"` } -// SubsettingInput is an input type that accepts SubsettingArgs and SubsettingOutput values. -// You can construct a concrete instance of `SubsettingInput` via: +// StatefulPolicyPreservedStateDiskDeviceInput is an input type that accepts StatefulPolicyPreservedStateDiskDeviceArgs and StatefulPolicyPreservedStateDiskDeviceOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateDiskDeviceInput` via: // -// SubsettingArgs{...} -type SubsettingInput interface { +// StatefulPolicyPreservedStateDiskDeviceArgs{...} +type StatefulPolicyPreservedStateDiskDeviceInput interface { pulumi.Input - ToSubsettingOutput() SubsettingOutput - ToSubsettingOutputWithContext(context.Context) SubsettingOutput -} - -// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. -type SubsettingArgs struct { - Policy SubsettingPolicyPtrInput `pulumi:"policy"` - // The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. - SubsetSize pulumi.IntPtrInput `pulumi:"subsetSize"` -} - -func (SubsettingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*Subsetting)(nil)).Elem() + ToStatefulPolicyPreservedStateDiskDeviceOutput() StatefulPolicyPreservedStateDiskDeviceOutput + ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceOutput } -func (i SubsettingArgs) ToSubsettingOutput() SubsettingOutput { - return i.ToSubsettingOutputWithContext(context.Background()) +type StatefulPolicyPreservedStateDiskDeviceArgs struct { + // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + AutoDelete StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput `pulumi:"autoDelete"` } -func (i SubsettingArgs) ToSubsettingOutputWithContext(ctx context.Context) SubsettingOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubsettingOutput) +func (StatefulPolicyPreservedStateDiskDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() } -func (i SubsettingArgs) ToSubsettingPtrOutput() SubsettingPtrOutput { - return i.ToSubsettingPtrOutputWithContext(context.Background()) +func (i StatefulPolicyPreservedStateDiskDeviceArgs) ToStatefulPolicyPreservedStateDiskDeviceOutput() StatefulPolicyPreservedStateDiskDeviceOutput { + return i.ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(context.Background()) } -func (i SubsettingArgs) ToSubsettingPtrOutputWithContext(ctx context.Context) SubsettingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubsettingOutput).ToSubsettingPtrOutputWithContext(ctx) +func (i StatefulPolicyPreservedStateDiskDeviceArgs) ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateDiskDeviceOutput) } -// SubsettingPtrInput is an input type that accepts SubsettingArgs, SubsettingPtr and SubsettingPtrOutput values. -// You can construct a concrete instance of `SubsettingPtrInput` via: -// -// SubsettingArgs{...} +// StatefulPolicyPreservedStateDiskDeviceMapInput is an input type that accepts StatefulPolicyPreservedStateDiskDeviceMap and StatefulPolicyPreservedStateDiskDeviceMapOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateDiskDeviceMapInput` via: // -// or: -// -// nil -type SubsettingPtrInput interface { +// StatefulPolicyPreservedStateDiskDeviceMap{ "key": StatefulPolicyPreservedStateDiskDeviceArgs{...} } +type StatefulPolicyPreservedStateDiskDeviceMapInput interface { pulumi.Input - ToSubsettingPtrOutput() SubsettingPtrOutput - ToSubsettingPtrOutputWithContext(context.Context) SubsettingPtrOutput + ToStatefulPolicyPreservedStateDiskDeviceMapOutput() StatefulPolicyPreservedStateDiskDeviceMapOutput + ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceMapOutput } -type subsettingPtrType SubsettingArgs - -func SubsettingPtr(v *SubsettingArgs) SubsettingPtrInput { - return (*subsettingPtrType)(v) -} +type StatefulPolicyPreservedStateDiskDeviceMap map[string]StatefulPolicyPreservedStateDiskDeviceInput -func (*subsettingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**Subsetting)(nil)).Elem() +func (StatefulPolicyPreservedStateDiskDeviceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() } -func (i *subsettingPtrType) ToSubsettingPtrOutput() SubsettingPtrOutput { - return i.ToSubsettingPtrOutputWithContext(context.Background()) +func (i StatefulPolicyPreservedStateDiskDeviceMap) ToStatefulPolicyPreservedStateDiskDeviceMapOutput() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return i.ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(context.Background()) } -func (i *subsettingPtrType) ToSubsettingPtrOutputWithContext(ctx context.Context) SubsettingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SubsettingPtrOutput) +func (i StatefulPolicyPreservedStateDiskDeviceMap) ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateDiskDeviceMapOutput) } -// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. -type SubsettingOutput struct{ *pulumi.OutputState } +type StatefulPolicyPreservedStateDiskDeviceOutput struct{ *pulumi.OutputState } -func (SubsettingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*Subsetting)(nil)).Elem() +func (StatefulPolicyPreservedStateDiskDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() } -func (o SubsettingOutput) ToSubsettingOutput() SubsettingOutput { +func (o StatefulPolicyPreservedStateDiskDeviceOutput) ToStatefulPolicyPreservedStateDiskDeviceOutput() StatefulPolicyPreservedStateDiskDeviceOutput { return o } -func (o SubsettingOutput) ToSubsettingOutputWithContext(ctx context.Context) SubsettingOutput { +func (o StatefulPolicyPreservedStateDiskDeviceOutput) ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceOutput { return o } -func (o SubsettingOutput) ToSubsettingPtrOutput() SubsettingPtrOutput { - return o.ToSubsettingPtrOutputWithContext(context.Background()) +// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. +func (o StatefulPolicyPreservedStateDiskDeviceOutput) AutoDelete() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateDiskDevice) *StatefulPolicyPreservedStateDiskDeviceAutoDelete { + return v.AutoDelete + }).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) } -func (o SubsettingOutput) ToSubsettingPtrOutputWithContext(ctx context.Context) SubsettingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v Subsetting) *Subsetting { - return &v - }).(SubsettingPtrOutput) -} +type StatefulPolicyPreservedStateDiskDeviceMapOutput struct{ *pulumi.OutputState } -func (o SubsettingOutput) Policy() SubsettingPolicyPtrOutput { - return o.ApplyT(func(v Subsetting) *SubsettingPolicy { return v.Policy }).(SubsettingPolicyPtrOutput) +func (StatefulPolicyPreservedStateDiskDeviceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() } -// The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. -func (o SubsettingOutput) SubsetSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v Subsetting) *int { return v.SubsetSize }).(pulumi.IntPtrOutput) -} - -type SubsettingPtrOutput struct{ *pulumi.OutputState } - -func (SubsettingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**Subsetting)(nil)).Elem() -} - -func (o SubsettingPtrOutput) ToSubsettingPtrOutput() SubsettingPtrOutput { +func (o StatefulPolicyPreservedStateDiskDeviceMapOutput) ToStatefulPolicyPreservedStateDiskDeviceMapOutput() StatefulPolicyPreservedStateDiskDeviceMapOutput { return o } -func (o SubsettingPtrOutput) ToSubsettingPtrOutputWithContext(ctx context.Context) SubsettingPtrOutput { +func (o StatefulPolicyPreservedStateDiskDeviceMapOutput) ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceMapOutput { return o } -func (o SubsettingPtrOutput) Elem() SubsettingOutput { - return o.ApplyT(func(v *Subsetting) Subsetting { - if v != nil { - return *v - } - var ret Subsetting - return ret - }).(SubsettingOutput) +func (o StatefulPolicyPreservedStateDiskDeviceMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateDiskDeviceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateDiskDevice { + return vs[0].(map[string]StatefulPolicyPreservedStateDiskDevice)[vs[1].(string)] + }).(StatefulPolicyPreservedStateDiskDeviceOutput) } -func (o SubsettingPtrOutput) Policy() SubsettingPolicyPtrOutput { - return o.ApplyT(func(v *Subsetting) *SubsettingPolicy { - if v == nil { - return nil - } - return v.Policy - }).(SubsettingPolicyPtrOutput) +type StatefulPolicyPreservedStateDiskDeviceResponse struct { + // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + AutoDelete string `pulumi:"autoDelete"` } -// The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. -func (o SubsettingPtrOutput) SubsetSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v *Subsetting) *int { - if v == nil { - return nil - } - return v.SubsetSize - }).(pulumi.IntPtrOutput) -} - -// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. -type SubsettingResponse struct { - Policy string `pulumi:"policy"` - // The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. - SubsetSize int `pulumi:"subsetSize"` -} - -// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. -type SubsettingResponseOutput struct{ *pulumi.OutputState } +type StatefulPolicyPreservedStateDiskDeviceResponseOutput struct{ *pulumi.OutputState } -func (SubsettingResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SubsettingResponse)(nil)).Elem() +func (StatefulPolicyPreservedStateDiskDeviceResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceResponse)(nil)).Elem() } -func (o SubsettingResponseOutput) ToSubsettingResponseOutput() SubsettingResponseOutput { +func (o StatefulPolicyPreservedStateDiskDeviceResponseOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseOutput() StatefulPolicyPreservedStateDiskDeviceResponseOutput { return o } -func (o SubsettingResponseOutput) ToSubsettingResponseOutputWithContext(ctx context.Context) SubsettingResponseOutput { +func (o StatefulPolicyPreservedStateDiskDeviceResponseOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceResponseOutput { return o } -func (o SubsettingResponseOutput) Policy() pulumi.StringOutput { - return o.ApplyT(func(v SubsettingResponse) string { return v.Policy }).(pulumi.StringOutput) +// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. +func (o StatefulPolicyPreservedStateDiskDeviceResponseOutput) AutoDelete() pulumi.StringOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateDiskDeviceResponse) string { return v.AutoDelete }).(pulumi.StringOutput) } -// The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. -func (o SubsettingResponseOutput) SubsetSize() pulumi.IntOutput { - return o.ApplyT(func(v SubsettingResponse) int { return v.SubsetSize }).(pulumi.IntOutput) -} +type StatefulPolicyPreservedStateDiskDeviceResponseMapOutput struct{ *pulumi.OutputState } -type TCPHealthCheck struct { - // The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. - Port *int `pulumi:"port"` - // Not supported. - PortName *string `pulumi:"portName"` - // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. - PortSpecification *TCPHealthCheckPortSpecification `pulumi:"portSpecification"` - // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. - ProxyHeader *TCPHealthCheckProxyHeader `pulumi:"proxyHeader"` - // Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. - Request *string `pulumi:"request"` - // Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp - Response *string `pulumi:"response"` +func (StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateDiskDeviceResponse)(nil)).Elem() } -// TCPHealthCheckInput is an input type that accepts TCPHealthCheckArgs and TCPHealthCheckOutput values. -// You can construct a concrete instance of `TCPHealthCheckInput` via: -// -// TCPHealthCheckArgs{...} -type TCPHealthCheckInput interface { - pulumi.Input - - ToTCPHealthCheckOutput() TCPHealthCheckOutput - ToTCPHealthCheckOutputWithContext(context.Context) TCPHealthCheckOutput -} - -type TCPHealthCheckArgs struct { - // The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. - Port pulumi.IntPtrInput `pulumi:"port"` - // Not supported. - PortName pulumi.StringPtrInput `pulumi:"portName"` - // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. - PortSpecification TCPHealthCheckPortSpecificationPtrInput `pulumi:"portSpecification"` - // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. - ProxyHeader TCPHealthCheckProxyHeaderPtrInput `pulumi:"proxyHeader"` - // Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. - Request pulumi.StringPtrInput `pulumi:"request"` - // Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp - Response pulumi.StringPtrInput `pulumi:"response"` -} - -func (TCPHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*TCPHealthCheck)(nil)).Elem() -} - -func (i TCPHealthCheckArgs) ToTCPHealthCheckOutput() TCPHealthCheckOutput { - return i.ToTCPHealthCheckOutputWithContext(context.Background()) -} - -func (i TCPHealthCheckArgs) ToTCPHealthCheckOutputWithContext(ctx context.Context) TCPHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(TCPHealthCheckOutput) -} - -func (i TCPHealthCheckArgs) ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput { - return i.ToTCPHealthCheckPtrOutputWithContext(context.Background()) -} - -func (i TCPHealthCheckArgs) ToTCPHealthCheckPtrOutputWithContext(ctx context.Context) TCPHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TCPHealthCheckOutput).ToTCPHealthCheckPtrOutputWithContext(ctx) -} - -// TCPHealthCheckPtrInput is an input type that accepts TCPHealthCheckArgs, TCPHealthCheckPtr and TCPHealthCheckPtrOutput values. -// You can construct a concrete instance of `TCPHealthCheckPtrInput` via: -// -// TCPHealthCheckArgs{...} -// -// or: -// -// nil -type TCPHealthCheckPtrInput interface { - pulumi.Input - - ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput - ToTCPHealthCheckPtrOutputWithContext(context.Context) TCPHealthCheckPtrOutput -} - -type tcphealthCheckPtrType TCPHealthCheckArgs - -func TCPHealthCheckPtr(v *TCPHealthCheckArgs) TCPHealthCheckPtrInput { - return (*tcphealthCheckPtrType)(v) -} - -func (*tcphealthCheckPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**TCPHealthCheck)(nil)).Elem() -} - -func (i *tcphealthCheckPtrType) ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput { - return i.ToTCPHealthCheckPtrOutputWithContext(context.Background()) -} - -func (i *tcphealthCheckPtrType) ToTCPHealthCheckPtrOutputWithContext(ctx context.Context) TCPHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TCPHealthCheckPtrOutput) -} - -type TCPHealthCheckOutput struct{ *pulumi.OutputState } - -func (TCPHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*TCPHealthCheck)(nil)).Elem() -} - -func (o TCPHealthCheckOutput) ToTCPHealthCheckOutput() TCPHealthCheckOutput { +func (o StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseMapOutput() StatefulPolicyPreservedStateDiskDeviceResponseMapOutput { return o } -func (o TCPHealthCheckOutput) ToTCPHealthCheckOutputWithContext(ctx context.Context) TCPHealthCheckOutput { +func (o StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceResponseMapOutput { return o } -func (o TCPHealthCheckOutput) ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput { - return o.ToTCPHealthCheckPtrOutputWithContext(context.Background()) +func (o StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateDiskDeviceResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateDiskDeviceResponse { + return vs[0].(map[string]StatefulPolicyPreservedStateDiskDeviceResponse)[vs[1].(string)] + }).(StatefulPolicyPreservedStateDiskDeviceResponseOutput) } -func (o TCPHealthCheckOutput) ToTCPHealthCheckPtrOutputWithContext(ctx context.Context) TCPHealthCheckPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v TCPHealthCheck) *TCPHealthCheck { - return &v - }).(TCPHealthCheckPtrOutput) +type StatefulPolicyPreservedStateNetworkIp struct { + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + AutoDelete *StatefulPolicyPreservedStateNetworkIpAutoDelete `pulumi:"autoDelete"` } -// The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. -func (o TCPHealthCheckOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v TCPHealthCheck) *int { return v.Port }).(pulumi.IntPtrOutput) -} - -// Not supported. -func (o TCPHealthCheckOutput) PortName() pulumi.StringPtrOutput { - return o.ApplyT(func(v TCPHealthCheck) *string { return v.PortName }).(pulumi.StringPtrOutput) -} - -// Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. -func (o TCPHealthCheckOutput) PortSpecification() TCPHealthCheckPortSpecificationPtrOutput { - return o.ApplyT(func(v TCPHealthCheck) *TCPHealthCheckPortSpecification { return v.PortSpecification }).(TCPHealthCheckPortSpecificationPtrOutput) -} - -// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. -func (o TCPHealthCheckOutput) ProxyHeader() TCPHealthCheckProxyHeaderPtrOutput { - return o.ApplyT(func(v TCPHealthCheck) *TCPHealthCheckProxyHeader { return v.ProxyHeader }).(TCPHealthCheckProxyHeaderPtrOutput) -} - -// Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. -func (o TCPHealthCheckOutput) Request() pulumi.StringPtrOutput { - return o.ApplyT(func(v TCPHealthCheck) *string { return v.Request }).(pulumi.StringPtrOutput) -} - -// Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp -func (o TCPHealthCheckOutput) Response() pulumi.StringPtrOutput { - return o.ApplyT(func(v TCPHealthCheck) *string { return v.Response }).(pulumi.StringPtrOutput) -} - -type TCPHealthCheckPtrOutput struct{ *pulumi.OutputState } - -func (TCPHealthCheckPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**TCPHealthCheck)(nil)).Elem() -} - -func (o TCPHealthCheckPtrOutput) ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput { - return o -} - -func (o TCPHealthCheckPtrOutput) ToTCPHealthCheckPtrOutputWithContext(ctx context.Context) TCPHealthCheckPtrOutput { - return o -} - -func (o TCPHealthCheckPtrOutput) Elem() TCPHealthCheckOutput { - return o.ApplyT(func(v *TCPHealthCheck) TCPHealthCheck { - if v != nil { - return *v - } - var ret TCPHealthCheck - return ret - }).(TCPHealthCheckOutput) -} - -// The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. -func (o TCPHealthCheckPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *TCPHealthCheck) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) -} - -// Not supported. -func (o TCPHealthCheckPtrOutput) PortName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *TCPHealthCheck) *string { - if v == nil { - return nil - } - return v.PortName - }).(pulumi.StringPtrOutput) -} - -// Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. -func (o TCPHealthCheckPtrOutput) PortSpecification() TCPHealthCheckPortSpecificationPtrOutput { - return o.ApplyT(func(v *TCPHealthCheck) *TCPHealthCheckPortSpecification { - if v == nil { - return nil - } - return v.PortSpecification - }).(TCPHealthCheckPortSpecificationPtrOutput) -} - -// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. -func (o TCPHealthCheckPtrOutput) ProxyHeader() TCPHealthCheckProxyHeaderPtrOutput { - return o.ApplyT(func(v *TCPHealthCheck) *TCPHealthCheckProxyHeader { - if v == nil { - return nil - } - return v.ProxyHeader - }).(TCPHealthCheckProxyHeaderPtrOutput) -} - -// Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. -func (o TCPHealthCheckPtrOutput) Request() pulumi.StringPtrOutput { - return o.ApplyT(func(v *TCPHealthCheck) *string { - if v == nil { - return nil - } - return v.Request - }).(pulumi.StringPtrOutput) -} - -// Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp -func (o TCPHealthCheckPtrOutput) Response() pulumi.StringPtrOutput { - return o.ApplyT(func(v *TCPHealthCheck) *string { - if v == nil { - return nil - } - return v.Response - }).(pulumi.StringPtrOutput) -} - -type TCPHealthCheckResponse struct { - // The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. - Port int `pulumi:"port"` - // Not supported. - PortName string `pulumi:"portName"` - // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. - PortSpecification string `pulumi:"portSpecification"` - // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. - ProxyHeader string `pulumi:"proxyHeader"` - // Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. - Request string `pulumi:"request"` - // Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp - Response string `pulumi:"response"` -} - -type TCPHealthCheckResponseOutput struct{ *pulumi.OutputState } - -func (TCPHealthCheckResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*TCPHealthCheckResponse)(nil)).Elem() -} - -func (o TCPHealthCheckResponseOutput) ToTCPHealthCheckResponseOutput() TCPHealthCheckResponseOutput { - return o -} - -func (o TCPHealthCheckResponseOutput) ToTCPHealthCheckResponseOutputWithContext(ctx context.Context) TCPHealthCheckResponseOutput { - return o -} - -// The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. -func (o TCPHealthCheckResponseOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v TCPHealthCheckResponse) int { return v.Port }).(pulumi.IntOutput) -} - -// Not supported. -func (o TCPHealthCheckResponseOutput) PortName() pulumi.StringOutput { - return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.PortName }).(pulumi.StringOutput) -} - -// Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. -func (o TCPHealthCheckResponseOutput) PortSpecification() pulumi.StringOutput { - return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.PortSpecification }).(pulumi.StringOutput) -} - -// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. -func (o TCPHealthCheckResponseOutput) ProxyHeader() pulumi.StringOutput { - return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.ProxyHeader }).(pulumi.StringOutput) -} - -// Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. -func (o TCPHealthCheckResponseOutput) Request() pulumi.StringOutput { - return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.Request }).(pulumi.StringOutput) -} - -// Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp -func (o TCPHealthCheckResponseOutput) Response() pulumi.StringOutput { - return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.Response }).(pulumi.StringOutput) -} - -// A set of instance tags. -type Tags struct { - // An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. - Items []string `pulumi:"items"` -} - -// TagsInput is an input type that accepts TagsArgs and TagsOutput values. -// You can construct a concrete instance of `TagsInput` via: +// StatefulPolicyPreservedStateNetworkIpInput is an input type that accepts StatefulPolicyPreservedStateNetworkIpArgs and StatefulPolicyPreservedStateNetworkIpOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateNetworkIpInput` via: // -// TagsArgs{...} -type TagsInput interface { +// StatefulPolicyPreservedStateNetworkIpArgs{...} +type StatefulPolicyPreservedStateNetworkIpInput interface { pulumi.Input - ToTagsOutput() TagsOutput - ToTagsOutputWithContext(context.Context) TagsOutput -} - -// A set of instance tags. -type TagsArgs struct { - // An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. - Items pulumi.StringArrayInput `pulumi:"items"` -} - -func (TagsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*Tags)(nil)).Elem() + ToStatefulPolicyPreservedStateNetworkIpOutput() StatefulPolicyPreservedStateNetworkIpOutput + ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpOutput } -func (i TagsArgs) ToTagsOutput() TagsOutput { - return i.ToTagsOutputWithContext(context.Background()) +type StatefulPolicyPreservedStateNetworkIpArgs struct { + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + AutoDelete StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput `pulumi:"autoDelete"` } -func (i TagsArgs) ToTagsOutputWithContext(ctx context.Context) TagsOutput { - return pulumi.ToOutputWithContext(ctx, i).(TagsOutput) +func (StatefulPolicyPreservedStateNetworkIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() } -func (i TagsArgs) ToTagsPtrOutput() TagsPtrOutput { - return i.ToTagsPtrOutputWithContext(context.Background()) +func (i StatefulPolicyPreservedStateNetworkIpArgs) ToStatefulPolicyPreservedStateNetworkIpOutput() StatefulPolicyPreservedStateNetworkIpOutput { + return i.ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(context.Background()) } -func (i TagsArgs) ToTagsPtrOutputWithContext(ctx context.Context) TagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TagsOutput).ToTagsPtrOutputWithContext(ctx) +func (i StatefulPolicyPreservedStateNetworkIpArgs) ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateNetworkIpOutput) } -// TagsPtrInput is an input type that accepts TagsArgs, TagsPtr and TagsPtrOutput values. -// You can construct a concrete instance of `TagsPtrInput` via: +// StatefulPolicyPreservedStateNetworkIpMapInput is an input type that accepts StatefulPolicyPreservedStateNetworkIpMap and StatefulPolicyPreservedStateNetworkIpMapOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateNetworkIpMapInput` via: // -// TagsArgs{...} -// -// or: -// -// nil -type TagsPtrInput interface { +// StatefulPolicyPreservedStateNetworkIpMap{ "key": StatefulPolicyPreservedStateNetworkIpArgs{...} } +type StatefulPolicyPreservedStateNetworkIpMapInput interface { pulumi.Input - ToTagsPtrOutput() TagsPtrOutput - ToTagsPtrOutputWithContext(context.Context) TagsPtrOutput + ToStatefulPolicyPreservedStateNetworkIpMapOutput() StatefulPolicyPreservedStateNetworkIpMapOutput + ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpMapOutput } -type tagsPtrType TagsArgs +type StatefulPolicyPreservedStateNetworkIpMap map[string]StatefulPolicyPreservedStateNetworkIpInput -func TagsPtr(v *TagsArgs) TagsPtrInput { - return (*tagsPtrType)(v) +func (StatefulPolicyPreservedStateNetworkIpMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() } -func (*tagsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**Tags)(nil)).Elem() +func (i StatefulPolicyPreservedStateNetworkIpMap) ToStatefulPolicyPreservedStateNetworkIpMapOutput() StatefulPolicyPreservedStateNetworkIpMapOutput { + return i.ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(context.Background()) } -func (i *tagsPtrType) ToTagsPtrOutput() TagsPtrOutput { - return i.ToTagsPtrOutputWithContext(context.Background()) +func (i StatefulPolicyPreservedStateNetworkIpMap) ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateNetworkIpMapOutput) } -func (i *tagsPtrType) ToTagsPtrOutputWithContext(ctx context.Context) TagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TagsPtrOutput) -} - -// A set of instance tags. -type TagsOutput struct{ *pulumi.OutputState } +type StatefulPolicyPreservedStateNetworkIpOutput struct{ *pulumi.OutputState } -func (TagsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*Tags)(nil)).Elem() +func (StatefulPolicyPreservedStateNetworkIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() } -func (o TagsOutput) ToTagsOutput() TagsOutput { +func (o StatefulPolicyPreservedStateNetworkIpOutput) ToStatefulPolicyPreservedStateNetworkIpOutput() StatefulPolicyPreservedStateNetworkIpOutput { return o } -func (o TagsOutput) ToTagsOutputWithContext(ctx context.Context) TagsOutput { +func (o StatefulPolicyPreservedStateNetworkIpOutput) ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpOutput { return o } -func (o TagsOutput) ToTagsPtrOutput() TagsPtrOutput { - return o.ToTagsPtrOutputWithContext(context.Background()) +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +func (o StatefulPolicyPreservedStateNetworkIpOutput) AutoDelete() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateNetworkIp) *StatefulPolicyPreservedStateNetworkIpAutoDelete { + return v.AutoDelete + }).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) } -func (o TagsOutput) ToTagsPtrOutputWithContext(ctx context.Context) TagsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v Tags) *Tags { - return &v - }).(TagsPtrOutput) -} - -// An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. -func (o TagsOutput) Items() pulumi.StringArrayOutput { - return o.ApplyT(func(v Tags) []string { return v.Items }).(pulumi.StringArrayOutput) -} - -type TagsPtrOutput struct{ *pulumi.OutputState } +type StatefulPolicyPreservedStateNetworkIpMapOutput struct{ *pulumi.OutputState } -func (TagsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**Tags)(nil)).Elem() +func (StatefulPolicyPreservedStateNetworkIpMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() } -func (o TagsPtrOutput) ToTagsPtrOutput() TagsPtrOutput { +func (o StatefulPolicyPreservedStateNetworkIpMapOutput) ToStatefulPolicyPreservedStateNetworkIpMapOutput() StatefulPolicyPreservedStateNetworkIpMapOutput { return o } -func (o TagsPtrOutput) ToTagsPtrOutputWithContext(ctx context.Context) TagsPtrOutput { +func (o StatefulPolicyPreservedStateNetworkIpMapOutput) ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpMapOutput { return o } -func (o TagsPtrOutput) Elem() TagsOutput { - return o.ApplyT(func(v *Tags) Tags { - if v != nil { - return *v - } - var ret Tags - return ret - }).(TagsOutput) -} - -// An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. -func (o TagsPtrOutput) Items() pulumi.StringArrayOutput { - return o.ApplyT(func(v *Tags) []string { - if v == nil { - return nil - } - return v.Items - }).(pulumi.StringArrayOutput) +func (o StatefulPolicyPreservedStateNetworkIpMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateNetworkIpOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateNetworkIp { + return vs[0].(map[string]StatefulPolicyPreservedStateNetworkIp)[vs[1].(string)] + }).(StatefulPolicyPreservedStateNetworkIpOutput) } func init() { @@ -52526,6 +52274,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScaleDownControlPtrInput)(nil)).Elem(), AutoscalingPolicyScaleDownControlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScaleInControlInput)(nil)).Elem(), AutoscalingPolicyScaleInControlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScaleInControlPtrInput)(nil)).Elem(), AutoscalingPolicyScaleInControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScalingScheduleInput)(nil)).Elem(), AutoscalingPolicyScalingScheduleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScalingScheduleMapInput)(nil)).Elem(), AutoscalingPolicyScalingScheduleMap{}) pulumi.RegisterInputType(reflect.TypeOf((*BackendInput)(nil)).Elem(), BackendArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BackendArrayInput)(nil)).Elem(), BackendArray{}) pulumi.RegisterInputType(reflect.TypeOf((*BackendBucketCdnPolicyInput)(nil)).Elem(), BackendBucketCdnPolicyArgs{}) @@ -52679,6 +52429,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerAutoHealingPolicyArrayInput)(nil)).Elem(), InstanceGroupManagerAutoHealingPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInput)(nil)).Elem(), InstanceGroupManagerInstanceFlexibilityPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyPtrInput)(nil)).Elem(), InstanceGroupManagerInstanceFlexibilityPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionInput)(nil)).Elem(), InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapInput)(nil)).Elem(), InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMap{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceLifecyclePolicyInput)(nil)).Elem(), InstanceGroupManagerInstanceLifecyclePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerInstanceLifecyclePolicyPtrInput)(nil)).Elem(), InstanceGroupManagerInstanceLifecyclePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceGroupManagerStandbyPolicyInput)(nil)).Elem(), InstanceGroupManagerStandbyPolicyArgs{}) @@ -52907,6 +52659,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServiceAttachmentTunnelingConfigPtrInput)(nil)).Elem(), ServiceAttachmentTunnelingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsInput)(nil)).Elem(), ShareSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsPtrInput)(nil)).Elem(), ShareSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsProjectConfigInput)(nil)).Elem(), ShareSettingsProjectConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsProjectConfigMapInput)(nil)).Elem(), ShareSettingsProjectConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*ShieldedInstanceConfigInput)(nil)).Elem(), ShieldedInstanceConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShieldedInstanceConfigPtrInput)(nil)).Elem(), ShieldedInstanceConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShieldedInstanceIntegrityPolicyInput)(nil)).Elem(), ShieldedInstanceIntegrityPolicyArgs{}) @@ -52927,16 +52681,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPtrInput)(nil)).Elem(), StatefulPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateInput)(nil)).Elem(), StatefulPolicyPreservedStateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStatePtrInput)(nil)).Elem(), StatefulPolicyPreservedStateArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigInput)(nil)).Elem(), SubnetworkLogConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigPtrInput)(nil)).Elem(), SubnetworkLogConfigArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkSecondaryRangeInput)(nil)).Elem(), SubnetworkSecondaryRangeArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkSecondaryRangeArrayInput)(nil)).Elem(), SubnetworkSecondaryRangeArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*SubsettingInput)(nil)).Elem(), SubsettingArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*SubsettingPtrInput)(nil)).Elem(), SubsettingArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TCPHealthCheckInput)(nil)).Elem(), TCPHealthCheckArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TCPHealthCheckPtrInput)(nil)).Elem(), TCPHealthCheckArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TagsInput)(nil)).Elem(), TagsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TagsPtrInput)(nil)).Elem(), TagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceMapInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpMapInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpMap{}) pulumi.RegisterOutputType(AWSV4SignatureOutput{}) pulumi.RegisterOutputType(AWSV4SignaturePtrOutput{}) pulumi.RegisterOutputType(AWSV4SignatureResponseOutput{}) @@ -53016,6 +52764,10 @@ func init() { pulumi.RegisterOutputType(AutoscalingPolicyScaleInControlOutput{}) pulumi.RegisterOutputType(AutoscalingPolicyScaleInControlPtrOutput{}) pulumi.RegisterOutputType(AutoscalingPolicyScaleInControlResponseOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleMapOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleResponseOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleResponseMapOutput{}) pulumi.RegisterOutputType(BackendOutput{}) pulumi.RegisterOutputType(BackendArrayOutput{}) pulumi.RegisterOutputType(BackendBucketCdnPolicyOutput{}) @@ -53115,6 +52867,8 @@ func init() { pulumi.RegisterOutputType(DeprecationStatusResponseOutput{}) pulumi.RegisterOutputType(DiskAsyncReplicationOutput{}) pulumi.RegisterOutputType(DiskAsyncReplicationPtrOutput{}) + pulumi.RegisterOutputType(DiskAsyncReplicationListResponseOutput{}) + pulumi.RegisterOutputType(DiskAsyncReplicationListResponseMapOutput{}) pulumi.RegisterOutputType(DiskAsyncReplicationResponseOutput{}) pulumi.RegisterOutputType(DiskInstantiationConfigOutput{}) pulumi.RegisterOutputType(DiskInstantiationConfigArrayOutput{}) @@ -53124,6 +52878,7 @@ func init() { pulumi.RegisterOutputType(DiskParamsPtrOutput{}) pulumi.RegisterOutputType(DiskParamsResponseOutput{}) pulumi.RegisterOutputType(DiskResourceStatusAsyncReplicationStatusResponseOutput{}) + pulumi.RegisterOutputType(DiskResourceStatusAsyncReplicationStatusResponseMapOutput{}) pulumi.RegisterOutputType(DiskResourceStatusResponseOutput{}) pulumi.RegisterOutputType(DisplayDeviceOutput{}) pulumi.RegisterOutputType(DisplayDevicePtrOutput{}) @@ -53285,6 +53040,10 @@ func init() { pulumi.RegisterOutputType(InstanceGroupManagerAutoHealingPolicyResponseArrayOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyPtrOutput{}) + pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionOutput{}) + pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionMapOutput{}) + pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseOutput{}) + pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponseMapOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceFlexibilityPolicyResponseOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceLifecyclePolicyOutput{}) pulumi.RegisterOutputType(InstanceGroupManagerInstanceLifecyclePolicyPtrOutput{}) @@ -53595,6 +53354,8 @@ func init() { pulumi.RegisterOutputType(SavedDiskArrayOutput{}) pulumi.RegisterOutputType(SavedDiskResponseOutput{}) pulumi.RegisterOutputType(SavedDiskResponseArrayOutput{}) + pulumi.RegisterOutputType(ScalingScheduleStatusResponseOutput{}) + pulumi.RegisterOutputType(ScalingScheduleStatusResponseMapOutput{}) pulumi.RegisterOutputType(SchedulingOutput{}) pulumi.RegisterOutputType(SchedulingPtrOutput{}) pulumi.RegisterOutputType(SchedulingNodeAffinityOutput{}) @@ -53714,6 +53475,10 @@ func init() { pulumi.RegisterOutputType(ServiceAttachmentTunnelingConfigResponseOutput{}) pulumi.RegisterOutputType(ShareSettingsOutput{}) pulumi.RegisterOutputType(ShareSettingsPtrOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigMapOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigResponseOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigResponseMapOutput{}) pulumi.RegisterOutputType(ShareSettingsResponseOutput{}) pulumi.RegisterOutputType(ShieldedInstanceConfigOutput{}) pulumi.RegisterOutputType(ShieldedInstanceConfigPtrOutput{}) @@ -53749,21 +53514,10 @@ func init() { pulumi.RegisterOutputType(StatefulPolicyPtrOutput{}) pulumi.RegisterOutputType(StatefulPolicyPreservedStateOutput{}) pulumi.RegisterOutputType(StatefulPolicyPreservedStatePtrOutput{}) - pulumi.RegisterOutputType(StatefulPolicyPreservedStateResponseOutput{}) - pulumi.RegisterOutputType(StatefulPolicyResponseOutput{}) - pulumi.RegisterOutputType(SubnetworkLogConfigOutput{}) - pulumi.RegisterOutputType(SubnetworkLogConfigPtrOutput{}) - pulumi.RegisterOutputType(SubnetworkLogConfigResponseOutput{}) - pulumi.RegisterOutputType(SubnetworkSecondaryRangeOutput{}) - pulumi.RegisterOutputType(SubnetworkSecondaryRangeArrayOutput{}) - pulumi.RegisterOutputType(SubnetworkSecondaryRangeResponseOutput{}) - pulumi.RegisterOutputType(SubnetworkSecondaryRangeResponseArrayOutput{}) - pulumi.RegisterOutputType(SubsettingOutput{}) - pulumi.RegisterOutputType(SubsettingPtrOutput{}) - pulumi.RegisterOutputType(SubsettingResponseOutput{}) - pulumi.RegisterOutputType(TCPHealthCheckOutput{}) - pulumi.RegisterOutputType(TCPHealthCheckPtrOutput{}) - pulumi.RegisterOutputType(TCPHealthCheckResponseOutput{}) - pulumi.RegisterOutputType(TagsOutput{}) - pulumi.RegisterOutputType(TagsPtrOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceMapOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceResponseOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceResponseMapOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpMapOutput{}) } diff --git a/sdk/go/google/compute/beta/pulumiTypes1.go b/sdk/go/google/compute/beta/pulumiTypes1.go index 74575fdd4e..85b7464c93 100644 --- a/sdk/go/google/compute/beta/pulumiTypes1.go +++ b/sdk/go/google/compute/beta/pulumiTypes1.go @@ -13,6 +13,1209 @@ import ( var _ = internal.GetEnvOrDefault +type StatefulPolicyPreservedStateNetworkIpResponse struct { + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + AutoDelete string `pulumi:"autoDelete"` +} + +type StatefulPolicyPreservedStateNetworkIpResponseOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseOutput) ToStatefulPolicyPreservedStateNetworkIpResponseOutput() StatefulPolicyPreservedStateNetworkIpResponseOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseOutput) ToStatefulPolicyPreservedStateNetworkIpResponseOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpResponseOutput { + return o +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +func (o StatefulPolicyPreservedStateNetworkIpResponseOutput) AutoDelete() pulumi.StringOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateNetworkIpResponse) string { return v.AutoDelete }).(pulumi.StringOutput) +} + +type StatefulPolicyPreservedStateNetworkIpResponseMapOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateNetworkIpResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseMapOutput) ToStatefulPolicyPreservedStateNetworkIpResponseMapOutput() StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseMapOutput) ToStatefulPolicyPreservedStateNetworkIpResponseMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateNetworkIpResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateNetworkIpResponse { + return vs[0].(map[string]StatefulPolicyPreservedStateNetworkIpResponse)[vs[1].(string)] + }).(StatefulPolicyPreservedStateNetworkIpResponseOutput) +} + +// Configuration of preserved resources. +type StatefulPolicyPreservedStateResponse struct { + // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. + Disks map[string]StatefulPolicyPreservedStateDiskDeviceResponse `pulumi:"disks"` + // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + ExternalIPs map[string]StatefulPolicyPreservedStateNetworkIpResponse `pulumi:"externalIPs"` + // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + InternalIPs map[string]StatefulPolicyPreservedStateNetworkIpResponse `pulumi:"internalIPs"` +} + +// Configuration of preserved resources. +type StatefulPolicyPreservedStateResponseOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateResponseOutput) ToStatefulPolicyPreservedStateResponseOutput() StatefulPolicyPreservedStateResponseOutput { + return o +} + +func (o StatefulPolicyPreservedStateResponseOutput) ToStatefulPolicyPreservedStateResponseOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateResponseOutput { + return o +} + +// Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. +func (o StatefulPolicyPreservedStateResponseOutput) Disks() StatefulPolicyPreservedStateDiskDeviceResponseMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]StatefulPolicyPreservedStateDiskDeviceResponse { + return v.Disks + }).(StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) +} + +// External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. +func (o StatefulPolicyPreservedStateResponseOutput) ExternalIPs() StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]StatefulPolicyPreservedStateNetworkIpResponse { + return v.ExternalIPs + }).(StatefulPolicyPreservedStateNetworkIpResponseMapOutput) +} + +// Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. +func (o StatefulPolicyPreservedStateResponseOutput) InternalIPs() StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]StatefulPolicyPreservedStateNetworkIpResponse { + return v.InternalIPs + }).(StatefulPolicyPreservedStateNetworkIpResponseMapOutput) +} + +type StatefulPolicyResponse struct { + PreservedState StatefulPolicyPreservedStateResponse `pulumi:"preservedState"` +} + +type StatefulPolicyResponseOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyResponse)(nil)).Elem() +} + +func (o StatefulPolicyResponseOutput) ToStatefulPolicyResponseOutput() StatefulPolicyResponseOutput { + return o +} + +func (o StatefulPolicyResponseOutput) ToStatefulPolicyResponseOutputWithContext(ctx context.Context) StatefulPolicyResponseOutput { + return o +} + +func (o StatefulPolicyResponseOutput) PreservedState() StatefulPolicyPreservedStateResponseOutput { + return o.ApplyT(func(v StatefulPolicyResponse) StatefulPolicyPreservedStateResponse { return v.PreservedState }).(StatefulPolicyPreservedStateResponseOutput) +} + +// The available logging options for this subnetwork. +type SubnetworkLogConfig struct { + // Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. + AggregationInterval *SubnetworkLogConfigAggregationInterval `pulumi:"aggregationInterval"` + // Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. + Enable *bool `pulumi:"enable"` + // Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. + FilterExpr *string `pulumi:"filterExpr"` + // Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. + FlowSampling *float64 `pulumi:"flowSampling"` + // Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. + Metadata *SubnetworkLogConfigMetadata `pulumi:"metadata"` + // Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. + MetadataFields []string `pulumi:"metadataFields"` +} + +// SubnetworkLogConfigInput is an input type that accepts SubnetworkLogConfigArgs and SubnetworkLogConfigOutput values. +// You can construct a concrete instance of `SubnetworkLogConfigInput` via: +// +// SubnetworkLogConfigArgs{...} +type SubnetworkLogConfigInput interface { + pulumi.Input + + ToSubnetworkLogConfigOutput() SubnetworkLogConfigOutput + ToSubnetworkLogConfigOutputWithContext(context.Context) SubnetworkLogConfigOutput +} + +// The available logging options for this subnetwork. +type SubnetworkLogConfigArgs struct { + // Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. + AggregationInterval SubnetworkLogConfigAggregationIntervalPtrInput `pulumi:"aggregationInterval"` + // Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. + Enable pulumi.BoolPtrInput `pulumi:"enable"` + // Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. + FilterExpr pulumi.StringPtrInput `pulumi:"filterExpr"` + // Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. + FlowSampling pulumi.Float64PtrInput `pulumi:"flowSampling"` + // Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. + Metadata SubnetworkLogConfigMetadataPtrInput `pulumi:"metadata"` + // Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. + MetadataFields pulumi.StringArrayInput `pulumi:"metadataFields"` +} + +func (SubnetworkLogConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetworkLogConfig)(nil)).Elem() +} + +func (i SubnetworkLogConfigArgs) ToSubnetworkLogConfigOutput() SubnetworkLogConfigOutput { + return i.ToSubnetworkLogConfigOutputWithContext(context.Background()) +} + +func (i SubnetworkLogConfigArgs) ToSubnetworkLogConfigOutputWithContext(ctx context.Context) SubnetworkLogConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubnetworkLogConfigOutput) +} + +func (i SubnetworkLogConfigArgs) ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput { + return i.ToSubnetworkLogConfigPtrOutputWithContext(context.Background()) +} + +func (i SubnetworkLogConfigArgs) ToSubnetworkLogConfigPtrOutputWithContext(ctx context.Context) SubnetworkLogConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubnetworkLogConfigOutput).ToSubnetworkLogConfigPtrOutputWithContext(ctx) +} + +// SubnetworkLogConfigPtrInput is an input type that accepts SubnetworkLogConfigArgs, SubnetworkLogConfigPtr and SubnetworkLogConfigPtrOutput values. +// You can construct a concrete instance of `SubnetworkLogConfigPtrInput` via: +// +// SubnetworkLogConfigArgs{...} +// +// or: +// +// nil +type SubnetworkLogConfigPtrInput interface { + pulumi.Input + + ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput + ToSubnetworkLogConfigPtrOutputWithContext(context.Context) SubnetworkLogConfigPtrOutput +} + +type subnetworkLogConfigPtrType SubnetworkLogConfigArgs + +func SubnetworkLogConfigPtr(v *SubnetworkLogConfigArgs) SubnetworkLogConfigPtrInput { + return (*subnetworkLogConfigPtrType)(v) +} + +func (*subnetworkLogConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SubnetworkLogConfig)(nil)).Elem() +} + +func (i *subnetworkLogConfigPtrType) ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput { + return i.ToSubnetworkLogConfigPtrOutputWithContext(context.Background()) +} + +func (i *subnetworkLogConfigPtrType) ToSubnetworkLogConfigPtrOutputWithContext(ctx context.Context) SubnetworkLogConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubnetworkLogConfigPtrOutput) +} + +// The available logging options for this subnetwork. +type SubnetworkLogConfigOutput struct{ *pulumi.OutputState } + +func (SubnetworkLogConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetworkLogConfig)(nil)).Elem() +} + +func (o SubnetworkLogConfigOutput) ToSubnetworkLogConfigOutput() SubnetworkLogConfigOutput { + return o +} + +func (o SubnetworkLogConfigOutput) ToSubnetworkLogConfigOutputWithContext(ctx context.Context) SubnetworkLogConfigOutput { + return o +} + +func (o SubnetworkLogConfigOutput) ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput { + return o.ToSubnetworkLogConfigPtrOutputWithContext(context.Background()) +} + +func (o SubnetworkLogConfigOutput) ToSubnetworkLogConfigPtrOutputWithContext(ctx context.Context) SubnetworkLogConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SubnetworkLogConfig) *SubnetworkLogConfig { + return &v + }).(SubnetworkLogConfigPtrOutput) +} + +// Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. +func (o SubnetworkLogConfigOutput) AggregationInterval() SubnetworkLogConfigAggregationIntervalPtrOutput { + return o.ApplyT(func(v SubnetworkLogConfig) *SubnetworkLogConfigAggregationInterval { return v.AggregationInterval }).(SubnetworkLogConfigAggregationIntervalPtrOutput) +} + +// Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. +func (o SubnetworkLogConfigOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SubnetworkLogConfig) *bool { return v.Enable }).(pulumi.BoolPtrOutput) +} + +// Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. +func (o SubnetworkLogConfigOutput) FilterExpr() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetworkLogConfig) *string { return v.FilterExpr }).(pulumi.StringPtrOutput) +} + +// Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. +func (o SubnetworkLogConfigOutput) FlowSampling() pulumi.Float64PtrOutput { + return o.ApplyT(func(v SubnetworkLogConfig) *float64 { return v.FlowSampling }).(pulumi.Float64PtrOutput) +} + +// Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. +func (o SubnetworkLogConfigOutput) Metadata() SubnetworkLogConfigMetadataPtrOutput { + return o.ApplyT(func(v SubnetworkLogConfig) *SubnetworkLogConfigMetadata { return v.Metadata }).(SubnetworkLogConfigMetadataPtrOutput) +} + +// Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. +func (o SubnetworkLogConfigOutput) MetadataFields() pulumi.StringArrayOutput { + return o.ApplyT(func(v SubnetworkLogConfig) []string { return v.MetadataFields }).(pulumi.StringArrayOutput) +} + +type SubnetworkLogConfigPtrOutput struct{ *pulumi.OutputState } + +func (SubnetworkLogConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SubnetworkLogConfig)(nil)).Elem() +} + +func (o SubnetworkLogConfigPtrOutput) ToSubnetworkLogConfigPtrOutput() SubnetworkLogConfigPtrOutput { + return o +} + +func (o SubnetworkLogConfigPtrOutput) ToSubnetworkLogConfigPtrOutputWithContext(ctx context.Context) SubnetworkLogConfigPtrOutput { + return o +} + +func (o SubnetworkLogConfigPtrOutput) Elem() SubnetworkLogConfigOutput { + return o.ApplyT(func(v *SubnetworkLogConfig) SubnetworkLogConfig { + if v != nil { + return *v + } + var ret SubnetworkLogConfig + return ret + }).(SubnetworkLogConfigOutput) +} + +// Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. +func (o SubnetworkLogConfigPtrOutput) AggregationInterval() SubnetworkLogConfigAggregationIntervalPtrOutput { + return o.ApplyT(func(v *SubnetworkLogConfig) *SubnetworkLogConfigAggregationInterval { + if v == nil { + return nil + } + return v.AggregationInterval + }).(SubnetworkLogConfigAggregationIntervalPtrOutput) +} + +// Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. +func (o SubnetworkLogConfigPtrOutput) Enable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SubnetworkLogConfig) *bool { + if v == nil { + return nil + } + return v.Enable + }).(pulumi.BoolPtrOutput) +} + +// Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. +func (o SubnetworkLogConfigPtrOutput) FilterExpr() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubnetworkLogConfig) *string { + if v == nil { + return nil + } + return v.FilterExpr + }).(pulumi.StringPtrOutput) +} + +// Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. +func (o SubnetworkLogConfigPtrOutput) FlowSampling() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *SubnetworkLogConfig) *float64 { + if v == nil { + return nil + } + return v.FlowSampling + }).(pulumi.Float64PtrOutput) +} + +// Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. +func (o SubnetworkLogConfigPtrOutput) Metadata() SubnetworkLogConfigMetadataPtrOutput { + return o.ApplyT(func(v *SubnetworkLogConfig) *SubnetworkLogConfigMetadata { + if v == nil { + return nil + } + return v.Metadata + }).(SubnetworkLogConfigMetadataPtrOutput) +} + +// Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. +func (o SubnetworkLogConfigPtrOutput) MetadataFields() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SubnetworkLogConfig) []string { + if v == nil { + return nil + } + return v.MetadataFields + }).(pulumi.StringArrayOutput) +} + +// The available logging options for this subnetwork. +type SubnetworkLogConfigResponse struct { + // Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. + AggregationInterval string `pulumi:"aggregationInterval"` + // Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. + Enable bool `pulumi:"enable"` + // Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. + FilterExpr string `pulumi:"filterExpr"` + // Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. + FlowSampling float64 `pulumi:"flowSampling"` + // Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. + Metadata string `pulumi:"metadata"` + // Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. + MetadataFields []string `pulumi:"metadataFields"` +} + +// The available logging options for this subnetwork. +type SubnetworkLogConfigResponseOutput struct{ *pulumi.OutputState } + +func (SubnetworkLogConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetworkLogConfigResponse)(nil)).Elem() +} + +func (o SubnetworkLogConfigResponseOutput) ToSubnetworkLogConfigResponseOutput() SubnetworkLogConfigResponseOutput { + return o +} + +func (o SubnetworkLogConfigResponseOutput) ToSubnetworkLogConfigResponseOutputWithContext(ctx context.Context) SubnetworkLogConfigResponseOutput { + return o +} + +// Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. +func (o SubnetworkLogConfigResponseOutput) AggregationInterval() pulumi.StringOutput { + return o.ApplyT(func(v SubnetworkLogConfigResponse) string { return v.AggregationInterval }).(pulumi.StringOutput) +} + +// Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. +func (o SubnetworkLogConfigResponseOutput) Enable() pulumi.BoolOutput { + return o.ApplyT(func(v SubnetworkLogConfigResponse) bool { return v.Enable }).(pulumi.BoolOutput) +} + +// Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging. +func (o SubnetworkLogConfigResponseOutput) FilterExpr() pulumi.StringOutput { + return o.ApplyT(func(v SubnetworkLogConfigResponse) string { return v.FilterExpr }).(pulumi.StringOutput) +} + +// Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported. +func (o SubnetworkLogConfigResponseOutput) FlowSampling() pulumi.Float64Output { + return o.ApplyT(func(v SubnetworkLogConfigResponse) float64 { return v.FlowSampling }).(pulumi.Float64Output) +} + +// Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. +func (o SubnetworkLogConfigResponseOutput) Metadata() pulumi.StringOutput { + return o.ApplyT(func(v SubnetworkLogConfigResponse) string { return v.Metadata }).(pulumi.StringOutput) +} + +// Can only be specified if VPC flow logs for this subnetwork is enabled and "metadata" was set to CUSTOM_METADATA. +func (o SubnetworkLogConfigResponseOutput) MetadataFields() pulumi.StringArrayOutput { + return o.ApplyT(func(v SubnetworkLogConfigResponse) []string { return v.MetadataFields }).(pulumi.StringArrayOutput) +} + +// Represents a secondary IP range of a subnetwork. +type SubnetworkSecondaryRange struct { + // The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. + IpCidrRange *string `pulumi:"ipCidrRange"` + // The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. + RangeName *string `pulumi:"rangeName"` + // The URL of the reserved internal range. + ReservedInternalRange *string `pulumi:"reservedInternalRange"` +} + +// SubnetworkSecondaryRangeInput is an input type that accepts SubnetworkSecondaryRangeArgs and SubnetworkSecondaryRangeOutput values. +// You can construct a concrete instance of `SubnetworkSecondaryRangeInput` via: +// +// SubnetworkSecondaryRangeArgs{...} +type SubnetworkSecondaryRangeInput interface { + pulumi.Input + + ToSubnetworkSecondaryRangeOutput() SubnetworkSecondaryRangeOutput + ToSubnetworkSecondaryRangeOutputWithContext(context.Context) SubnetworkSecondaryRangeOutput +} + +// Represents a secondary IP range of a subnetwork. +type SubnetworkSecondaryRangeArgs struct { + // The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. + IpCidrRange pulumi.StringPtrInput `pulumi:"ipCidrRange"` + // The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. + RangeName pulumi.StringPtrInput `pulumi:"rangeName"` + // The URL of the reserved internal range. + ReservedInternalRange pulumi.StringPtrInput `pulumi:"reservedInternalRange"` +} + +func (SubnetworkSecondaryRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetworkSecondaryRange)(nil)).Elem() +} + +func (i SubnetworkSecondaryRangeArgs) ToSubnetworkSecondaryRangeOutput() SubnetworkSecondaryRangeOutput { + return i.ToSubnetworkSecondaryRangeOutputWithContext(context.Background()) +} + +func (i SubnetworkSecondaryRangeArgs) ToSubnetworkSecondaryRangeOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubnetworkSecondaryRangeOutput) +} + +// SubnetworkSecondaryRangeArrayInput is an input type that accepts SubnetworkSecondaryRangeArray and SubnetworkSecondaryRangeArrayOutput values. +// You can construct a concrete instance of `SubnetworkSecondaryRangeArrayInput` via: +// +// SubnetworkSecondaryRangeArray{ SubnetworkSecondaryRangeArgs{...} } +type SubnetworkSecondaryRangeArrayInput interface { + pulumi.Input + + ToSubnetworkSecondaryRangeArrayOutput() SubnetworkSecondaryRangeArrayOutput + ToSubnetworkSecondaryRangeArrayOutputWithContext(context.Context) SubnetworkSecondaryRangeArrayOutput +} + +type SubnetworkSecondaryRangeArray []SubnetworkSecondaryRangeInput + +func (SubnetworkSecondaryRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubnetworkSecondaryRange)(nil)).Elem() +} + +func (i SubnetworkSecondaryRangeArray) ToSubnetworkSecondaryRangeArrayOutput() SubnetworkSecondaryRangeArrayOutput { + return i.ToSubnetworkSecondaryRangeArrayOutputWithContext(context.Background()) +} + +func (i SubnetworkSecondaryRangeArray) ToSubnetworkSecondaryRangeArrayOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubnetworkSecondaryRangeArrayOutput) +} + +// Represents a secondary IP range of a subnetwork. +type SubnetworkSecondaryRangeOutput struct{ *pulumi.OutputState } + +func (SubnetworkSecondaryRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetworkSecondaryRange)(nil)).Elem() +} + +func (o SubnetworkSecondaryRangeOutput) ToSubnetworkSecondaryRangeOutput() SubnetworkSecondaryRangeOutput { + return o +} + +func (o SubnetworkSecondaryRangeOutput) ToSubnetworkSecondaryRangeOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeOutput { + return o +} + +// The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. +func (o SubnetworkSecondaryRangeOutput) IpCidrRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetworkSecondaryRange) *string { return v.IpCidrRange }).(pulumi.StringPtrOutput) +} + +// The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. +func (o SubnetworkSecondaryRangeOutput) RangeName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetworkSecondaryRange) *string { return v.RangeName }).(pulumi.StringPtrOutput) +} + +// The URL of the reserved internal range. +func (o SubnetworkSecondaryRangeOutput) ReservedInternalRange() pulumi.StringPtrOutput { + return o.ApplyT(func(v SubnetworkSecondaryRange) *string { return v.ReservedInternalRange }).(pulumi.StringPtrOutput) +} + +type SubnetworkSecondaryRangeArrayOutput struct{ *pulumi.OutputState } + +func (SubnetworkSecondaryRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubnetworkSecondaryRange)(nil)).Elem() +} + +func (o SubnetworkSecondaryRangeArrayOutput) ToSubnetworkSecondaryRangeArrayOutput() SubnetworkSecondaryRangeArrayOutput { + return o +} + +func (o SubnetworkSecondaryRangeArrayOutput) ToSubnetworkSecondaryRangeArrayOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeArrayOutput { + return o +} + +func (o SubnetworkSecondaryRangeArrayOutput) Index(i pulumi.IntInput) SubnetworkSecondaryRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubnetworkSecondaryRange { + return vs[0].([]SubnetworkSecondaryRange)[vs[1].(int)] + }).(SubnetworkSecondaryRangeOutput) +} + +// Represents a secondary IP range of a subnetwork. +type SubnetworkSecondaryRangeResponse struct { + // The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. + IpCidrRange string `pulumi:"ipCidrRange"` + // The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. + RangeName string `pulumi:"rangeName"` + // The URL of the reserved internal range. + ReservedInternalRange string `pulumi:"reservedInternalRange"` +} + +// Represents a secondary IP range of a subnetwork. +type SubnetworkSecondaryRangeResponseOutput struct{ *pulumi.OutputState } + +func (SubnetworkSecondaryRangeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubnetworkSecondaryRangeResponse)(nil)).Elem() +} + +func (o SubnetworkSecondaryRangeResponseOutput) ToSubnetworkSecondaryRangeResponseOutput() SubnetworkSecondaryRangeResponseOutput { + return o +} + +func (o SubnetworkSecondaryRangeResponseOutput) ToSubnetworkSecondaryRangeResponseOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeResponseOutput { + return o +} + +// The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list. +func (o SubnetworkSecondaryRangeResponseOutput) IpCidrRange() pulumi.StringOutput { + return o.ApplyT(func(v SubnetworkSecondaryRangeResponse) string { return v.IpCidrRange }).(pulumi.StringOutput) +} + +// The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork. +func (o SubnetworkSecondaryRangeResponseOutput) RangeName() pulumi.StringOutput { + return o.ApplyT(func(v SubnetworkSecondaryRangeResponse) string { return v.RangeName }).(pulumi.StringOutput) +} + +// The URL of the reserved internal range. +func (o SubnetworkSecondaryRangeResponseOutput) ReservedInternalRange() pulumi.StringOutput { + return o.ApplyT(func(v SubnetworkSecondaryRangeResponse) string { return v.ReservedInternalRange }).(pulumi.StringOutput) +} + +type SubnetworkSecondaryRangeResponseArrayOutput struct{ *pulumi.OutputState } + +func (SubnetworkSecondaryRangeResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SubnetworkSecondaryRangeResponse)(nil)).Elem() +} + +func (o SubnetworkSecondaryRangeResponseArrayOutput) ToSubnetworkSecondaryRangeResponseArrayOutput() SubnetworkSecondaryRangeResponseArrayOutput { + return o +} + +func (o SubnetworkSecondaryRangeResponseArrayOutput) ToSubnetworkSecondaryRangeResponseArrayOutputWithContext(ctx context.Context) SubnetworkSecondaryRangeResponseArrayOutput { + return o +} + +func (o SubnetworkSecondaryRangeResponseArrayOutput) Index(i pulumi.IntInput) SubnetworkSecondaryRangeResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SubnetworkSecondaryRangeResponse { + return vs[0].([]SubnetworkSecondaryRangeResponse)[vs[1].(int)] + }).(SubnetworkSecondaryRangeResponseOutput) +} + +// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. +type Subsetting struct { + Policy *SubsettingPolicy `pulumi:"policy"` + // The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. + SubsetSize *int `pulumi:"subsetSize"` +} + +// SubsettingInput is an input type that accepts SubsettingArgs and SubsettingOutput values. +// You can construct a concrete instance of `SubsettingInput` via: +// +// SubsettingArgs{...} +type SubsettingInput interface { + pulumi.Input + + ToSubsettingOutput() SubsettingOutput + ToSubsettingOutputWithContext(context.Context) SubsettingOutput +} + +// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. +type SubsettingArgs struct { + Policy SubsettingPolicyPtrInput `pulumi:"policy"` + // The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. + SubsetSize pulumi.IntPtrInput `pulumi:"subsetSize"` +} + +func (SubsettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Subsetting)(nil)).Elem() +} + +func (i SubsettingArgs) ToSubsettingOutput() SubsettingOutput { + return i.ToSubsettingOutputWithContext(context.Background()) +} + +func (i SubsettingArgs) ToSubsettingOutputWithContext(ctx context.Context) SubsettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubsettingOutput) +} + +func (i SubsettingArgs) ToSubsettingPtrOutput() SubsettingPtrOutput { + return i.ToSubsettingPtrOutputWithContext(context.Background()) +} + +func (i SubsettingArgs) ToSubsettingPtrOutputWithContext(ctx context.Context) SubsettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubsettingOutput).ToSubsettingPtrOutputWithContext(ctx) +} + +// SubsettingPtrInput is an input type that accepts SubsettingArgs, SubsettingPtr and SubsettingPtrOutput values. +// You can construct a concrete instance of `SubsettingPtrInput` via: +// +// SubsettingArgs{...} +// +// or: +// +// nil +type SubsettingPtrInput interface { + pulumi.Input + + ToSubsettingPtrOutput() SubsettingPtrOutput + ToSubsettingPtrOutputWithContext(context.Context) SubsettingPtrOutput +} + +type subsettingPtrType SubsettingArgs + +func SubsettingPtr(v *SubsettingArgs) SubsettingPtrInput { + return (*subsettingPtrType)(v) +} + +func (*subsettingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Subsetting)(nil)).Elem() +} + +func (i *subsettingPtrType) ToSubsettingPtrOutput() SubsettingPtrOutput { + return i.ToSubsettingPtrOutputWithContext(context.Background()) +} + +func (i *subsettingPtrType) ToSubsettingPtrOutputWithContext(ctx context.Context) SubsettingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SubsettingPtrOutput) +} + +// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. +type SubsettingOutput struct{ *pulumi.OutputState } + +func (SubsettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Subsetting)(nil)).Elem() +} + +func (o SubsettingOutput) ToSubsettingOutput() SubsettingOutput { + return o +} + +func (o SubsettingOutput) ToSubsettingOutputWithContext(ctx context.Context) SubsettingOutput { + return o +} + +func (o SubsettingOutput) ToSubsettingPtrOutput() SubsettingPtrOutput { + return o.ToSubsettingPtrOutputWithContext(context.Background()) +} + +func (o SubsettingOutput) ToSubsettingPtrOutputWithContext(ctx context.Context) SubsettingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Subsetting) *Subsetting { + return &v + }).(SubsettingPtrOutput) +} + +func (o SubsettingOutput) Policy() SubsettingPolicyPtrOutput { + return o.ApplyT(func(v Subsetting) *SubsettingPolicy { return v.Policy }).(SubsettingPolicyPtrOutput) +} + +// The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. +func (o SubsettingOutput) SubsetSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v Subsetting) *int { return v.SubsetSize }).(pulumi.IntPtrOutput) +} + +type SubsettingPtrOutput struct{ *pulumi.OutputState } + +func (SubsettingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Subsetting)(nil)).Elem() +} + +func (o SubsettingPtrOutput) ToSubsettingPtrOutput() SubsettingPtrOutput { + return o +} + +func (o SubsettingPtrOutput) ToSubsettingPtrOutputWithContext(ctx context.Context) SubsettingPtrOutput { + return o +} + +func (o SubsettingPtrOutput) Elem() SubsettingOutput { + return o.ApplyT(func(v *Subsetting) Subsetting { + if v != nil { + return *v + } + var ret Subsetting + return ret + }).(SubsettingOutput) +} + +func (o SubsettingPtrOutput) Policy() SubsettingPolicyPtrOutput { + return o.ApplyT(func(v *Subsetting) *SubsettingPolicy { + if v == nil { + return nil + } + return v.Policy + }).(SubsettingPolicyPtrOutput) +} + +// The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. +func (o SubsettingPtrOutput) SubsetSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *Subsetting) *int { + if v == nil { + return nil + } + return v.SubsetSize + }).(pulumi.IntPtrOutput) +} + +// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. +type SubsettingResponse struct { + Policy string `pulumi:"policy"` + // The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. + SubsetSize int `pulumi:"subsetSize"` +} + +// Subsetting configuration for this BackendService. Currently this is applicable only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and Traffic Director. +type SubsettingResponseOutput struct{ *pulumi.OutputState } + +func (SubsettingResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SubsettingResponse)(nil)).Elem() +} + +func (o SubsettingResponseOutput) ToSubsettingResponseOutput() SubsettingResponseOutput { + return o +} + +func (o SubsettingResponseOutput) ToSubsettingResponseOutputWithContext(ctx context.Context) SubsettingResponseOutput { + return o +} + +func (o SubsettingResponseOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v SubsettingResponse) string { return v.Policy }).(pulumi.StringOutput) +} + +// The number of backends per backend group assigned to each proxy instance or each service mesh client. An input parameter to the `CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for Internal HTTP(S) load balancing and required for Traffic Director. If you do not provide this value, Cloud Load Balancing will calculate it dynamically to optimize the number of proxies/clients visible to each backend and vice versa. Must be greater than 0. If `subset_size` is larger than the number of backends/endpoints, then subsetting is disabled. +func (o SubsettingResponseOutput) SubsetSize() pulumi.IntOutput { + return o.ApplyT(func(v SubsettingResponse) int { return v.SubsetSize }).(pulumi.IntOutput) +} + +type TCPHealthCheck struct { + // The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. + Port *int `pulumi:"port"` + // Not supported. + PortName *string `pulumi:"portName"` + // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. + PortSpecification *TCPHealthCheckPortSpecification `pulumi:"portSpecification"` + // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. + ProxyHeader *TCPHealthCheckProxyHeader `pulumi:"proxyHeader"` + // Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. + Request *string `pulumi:"request"` + // Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp + Response *string `pulumi:"response"` +} + +// TCPHealthCheckInput is an input type that accepts TCPHealthCheckArgs and TCPHealthCheckOutput values. +// You can construct a concrete instance of `TCPHealthCheckInput` via: +// +// TCPHealthCheckArgs{...} +type TCPHealthCheckInput interface { + pulumi.Input + + ToTCPHealthCheckOutput() TCPHealthCheckOutput + ToTCPHealthCheckOutputWithContext(context.Context) TCPHealthCheckOutput +} + +type TCPHealthCheckArgs struct { + // The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. + Port pulumi.IntPtrInput `pulumi:"port"` + // Not supported. + PortName pulumi.StringPtrInput `pulumi:"portName"` + // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. + PortSpecification TCPHealthCheckPortSpecificationPtrInput `pulumi:"portSpecification"` + // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. + ProxyHeader TCPHealthCheckProxyHeaderPtrInput `pulumi:"proxyHeader"` + // Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. + Request pulumi.StringPtrInput `pulumi:"request"` + // Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp + Response pulumi.StringPtrInput `pulumi:"response"` +} + +func (TCPHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TCPHealthCheck)(nil)).Elem() +} + +func (i TCPHealthCheckArgs) ToTCPHealthCheckOutput() TCPHealthCheckOutput { + return i.ToTCPHealthCheckOutputWithContext(context.Background()) +} + +func (i TCPHealthCheckArgs) ToTCPHealthCheckOutputWithContext(ctx context.Context) TCPHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(TCPHealthCheckOutput) +} + +func (i TCPHealthCheckArgs) ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput { + return i.ToTCPHealthCheckPtrOutputWithContext(context.Background()) +} + +func (i TCPHealthCheckArgs) ToTCPHealthCheckPtrOutputWithContext(ctx context.Context) TCPHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TCPHealthCheckOutput).ToTCPHealthCheckPtrOutputWithContext(ctx) +} + +// TCPHealthCheckPtrInput is an input type that accepts TCPHealthCheckArgs, TCPHealthCheckPtr and TCPHealthCheckPtrOutput values. +// You can construct a concrete instance of `TCPHealthCheckPtrInput` via: +// +// TCPHealthCheckArgs{...} +// +// or: +// +// nil +type TCPHealthCheckPtrInput interface { + pulumi.Input + + ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput + ToTCPHealthCheckPtrOutputWithContext(context.Context) TCPHealthCheckPtrOutput +} + +type tcphealthCheckPtrType TCPHealthCheckArgs + +func TCPHealthCheckPtr(v *TCPHealthCheckArgs) TCPHealthCheckPtrInput { + return (*tcphealthCheckPtrType)(v) +} + +func (*tcphealthCheckPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TCPHealthCheck)(nil)).Elem() +} + +func (i *tcphealthCheckPtrType) ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput { + return i.ToTCPHealthCheckPtrOutputWithContext(context.Background()) +} + +func (i *tcphealthCheckPtrType) ToTCPHealthCheckPtrOutputWithContext(ctx context.Context) TCPHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TCPHealthCheckPtrOutput) +} + +type TCPHealthCheckOutput struct{ *pulumi.OutputState } + +func (TCPHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TCPHealthCheck)(nil)).Elem() +} + +func (o TCPHealthCheckOutput) ToTCPHealthCheckOutput() TCPHealthCheckOutput { + return o +} + +func (o TCPHealthCheckOutput) ToTCPHealthCheckOutputWithContext(ctx context.Context) TCPHealthCheckOutput { + return o +} + +func (o TCPHealthCheckOutput) ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput { + return o.ToTCPHealthCheckPtrOutputWithContext(context.Background()) +} + +func (o TCPHealthCheckOutput) ToTCPHealthCheckPtrOutputWithContext(ctx context.Context) TCPHealthCheckPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TCPHealthCheck) *TCPHealthCheck { + return &v + }).(TCPHealthCheckPtrOutput) +} + +// The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. +func (o TCPHealthCheckOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v TCPHealthCheck) *int { return v.Port }).(pulumi.IntPtrOutput) +} + +// Not supported. +func (o TCPHealthCheckOutput) PortName() pulumi.StringPtrOutput { + return o.ApplyT(func(v TCPHealthCheck) *string { return v.PortName }).(pulumi.StringPtrOutput) +} + +// Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. +func (o TCPHealthCheckOutput) PortSpecification() TCPHealthCheckPortSpecificationPtrOutput { + return o.ApplyT(func(v TCPHealthCheck) *TCPHealthCheckPortSpecification { return v.PortSpecification }).(TCPHealthCheckPortSpecificationPtrOutput) +} + +// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. +func (o TCPHealthCheckOutput) ProxyHeader() TCPHealthCheckProxyHeaderPtrOutput { + return o.ApplyT(func(v TCPHealthCheck) *TCPHealthCheckProxyHeader { return v.ProxyHeader }).(TCPHealthCheckProxyHeaderPtrOutput) +} + +// Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. +func (o TCPHealthCheckOutput) Request() pulumi.StringPtrOutput { + return o.ApplyT(func(v TCPHealthCheck) *string { return v.Request }).(pulumi.StringPtrOutput) +} + +// Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp +func (o TCPHealthCheckOutput) Response() pulumi.StringPtrOutput { + return o.ApplyT(func(v TCPHealthCheck) *string { return v.Response }).(pulumi.StringPtrOutput) +} + +type TCPHealthCheckPtrOutput struct{ *pulumi.OutputState } + +func (TCPHealthCheckPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TCPHealthCheck)(nil)).Elem() +} + +func (o TCPHealthCheckPtrOutput) ToTCPHealthCheckPtrOutput() TCPHealthCheckPtrOutput { + return o +} + +func (o TCPHealthCheckPtrOutput) ToTCPHealthCheckPtrOutputWithContext(ctx context.Context) TCPHealthCheckPtrOutput { + return o +} + +func (o TCPHealthCheckPtrOutput) Elem() TCPHealthCheckOutput { + return o.ApplyT(func(v *TCPHealthCheck) TCPHealthCheck { + if v != nil { + return *v + } + var ret TCPHealthCheck + return ret + }).(TCPHealthCheckOutput) +} + +// The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. +func (o TCPHealthCheckPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TCPHealthCheck) *int { + if v == nil { + return nil + } + return v.Port + }).(pulumi.IntPtrOutput) +} + +// Not supported. +func (o TCPHealthCheckPtrOutput) PortName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TCPHealthCheck) *string { + if v == nil { + return nil + } + return v.PortName + }).(pulumi.StringPtrOutput) +} + +// Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. +func (o TCPHealthCheckPtrOutput) PortSpecification() TCPHealthCheckPortSpecificationPtrOutput { + return o.ApplyT(func(v *TCPHealthCheck) *TCPHealthCheckPortSpecification { + if v == nil { + return nil + } + return v.PortSpecification + }).(TCPHealthCheckPortSpecificationPtrOutput) +} + +// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. +func (o TCPHealthCheckPtrOutput) ProxyHeader() TCPHealthCheckProxyHeaderPtrOutput { + return o.ApplyT(func(v *TCPHealthCheck) *TCPHealthCheckProxyHeader { + if v == nil { + return nil + } + return v.ProxyHeader + }).(TCPHealthCheckProxyHeaderPtrOutput) +} + +// Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. +func (o TCPHealthCheckPtrOutput) Request() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TCPHealthCheck) *string { + if v == nil { + return nil + } + return v.Request + }).(pulumi.StringPtrOutput) +} + +// Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp +func (o TCPHealthCheckPtrOutput) Response() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TCPHealthCheck) *string { + if v == nil { + return nil + } + return v.Response + }).(pulumi.StringPtrOutput) +} + +type TCPHealthCheckResponse struct { + // The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. + Port int `pulumi:"port"` + // Not supported. + PortName string `pulumi:"portName"` + // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. + PortSpecification string `pulumi:"portSpecification"` + // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. + ProxyHeader string `pulumi:"proxyHeader"` + // Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. + Request string `pulumi:"request"` + // Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp + Response string `pulumi:"response"` +} + +type TCPHealthCheckResponseOutput struct{ *pulumi.OutputState } + +func (TCPHealthCheckResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TCPHealthCheckResponse)(nil)).Elem() +} + +func (o TCPHealthCheckResponseOutput) ToTCPHealthCheckResponseOutput() TCPHealthCheckResponseOutput { + return o +} + +func (o TCPHealthCheckResponseOutput) ToTCPHealthCheckResponseOutputWithContext(ctx context.Context) TCPHealthCheckResponseOutput { + return o +} + +// The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535. +func (o TCPHealthCheckResponseOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v TCPHealthCheckResponse) int { return v.Port }).(pulumi.IntOutput) +} + +// Not supported. +func (o TCPHealthCheckResponseOutput) PortName() pulumi.StringOutput { + return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.PortName }).(pulumi.StringOutput) +} + +// Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. +func (o TCPHealthCheckResponseOutput) PortSpecification() pulumi.StringOutput { + return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.PortSpecification }).(pulumi.StringOutput) +} + +// Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. +func (o TCPHealthCheckResponseOutput) ProxyHeader() pulumi.StringOutput { + return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.ProxyHeader }).(pulumi.StringOutput) +} + +// Instructs the health check prober to send this exact ASCII string, up to 1024 bytes in length, after establishing the TCP connection. +func (o TCPHealthCheckResponseOutput) Request() pulumi.StringOutput { + return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.Request }).(pulumi.StringOutput) +} + +// Creates a content-based TCP health check. In addition to establishing a TCP connection, you can configure the health check to pass only when the backend sends this exact response ASCII string, up to 1024 bytes in length. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-ssl-tcp +func (o TCPHealthCheckResponseOutput) Response() pulumi.StringOutput { + return o.ApplyT(func(v TCPHealthCheckResponse) string { return v.Response }).(pulumi.StringOutput) +} + +// A set of instance tags. +type Tags struct { + // An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. + Items []string `pulumi:"items"` +} + +// TagsInput is an input type that accepts TagsArgs and TagsOutput values. +// You can construct a concrete instance of `TagsInput` via: +// +// TagsArgs{...} +type TagsInput interface { + pulumi.Input + + ToTagsOutput() TagsOutput + ToTagsOutputWithContext(context.Context) TagsOutput +} + +// A set of instance tags. +type TagsArgs struct { + // An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. + Items pulumi.StringArrayInput `pulumi:"items"` +} + +func (TagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Tags)(nil)).Elem() +} + +func (i TagsArgs) ToTagsOutput() TagsOutput { + return i.ToTagsOutputWithContext(context.Background()) +} + +func (i TagsArgs) ToTagsOutputWithContext(ctx context.Context) TagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(TagsOutput) +} + +func (i TagsArgs) ToTagsPtrOutput() TagsPtrOutput { + return i.ToTagsPtrOutputWithContext(context.Background()) +} + +func (i TagsArgs) ToTagsPtrOutputWithContext(ctx context.Context) TagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TagsOutput).ToTagsPtrOutputWithContext(ctx) +} + +// TagsPtrInput is an input type that accepts TagsArgs, TagsPtr and TagsPtrOutput values. +// You can construct a concrete instance of `TagsPtrInput` via: +// +// TagsArgs{...} +// +// or: +// +// nil +type TagsPtrInput interface { + pulumi.Input + + ToTagsPtrOutput() TagsPtrOutput + ToTagsPtrOutputWithContext(context.Context) TagsPtrOutput +} + +type tagsPtrType TagsArgs + +func TagsPtr(v *TagsArgs) TagsPtrInput { + return (*tagsPtrType)(v) +} + +func (*tagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Tags)(nil)).Elem() +} + +func (i *tagsPtrType) ToTagsPtrOutput() TagsPtrOutput { + return i.ToTagsPtrOutputWithContext(context.Background()) +} + +func (i *tagsPtrType) ToTagsPtrOutputWithContext(ctx context.Context) TagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TagsPtrOutput) +} + +// A set of instance tags. +type TagsOutput struct{ *pulumi.OutputState } + +func (TagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Tags)(nil)).Elem() +} + +func (o TagsOutput) ToTagsOutput() TagsOutput { + return o +} + +func (o TagsOutput) ToTagsOutputWithContext(ctx context.Context) TagsOutput { + return o +} + +func (o TagsOutput) ToTagsPtrOutput() TagsPtrOutput { + return o.ToTagsPtrOutputWithContext(context.Background()) +} + +func (o TagsOutput) ToTagsPtrOutputWithContext(ctx context.Context) TagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Tags) *Tags { + return &v + }).(TagsPtrOutput) +} + +// An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. +func (o TagsOutput) Items() pulumi.StringArrayOutput { + return o.ApplyT(func(v Tags) []string { return v.Items }).(pulumi.StringArrayOutput) +} + +type TagsPtrOutput struct{ *pulumi.OutputState } + +func (TagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Tags)(nil)).Elem() +} + +func (o TagsPtrOutput) ToTagsPtrOutput() TagsPtrOutput { + return o +} + +func (o TagsPtrOutput) ToTagsPtrOutputWithContext(ctx context.Context) TagsPtrOutput { + return o +} + +func (o TagsPtrOutput) Elem() TagsOutput { + return o.ApplyT(func(v *Tags) Tags { + if v != nil { + return *v + } + var ret Tags + return ret + }).(TagsOutput) +} + +// An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. +func (o TagsPtrOutput) Items() pulumi.StringArrayOutput { + return o.ApplyT(func(v *Tags) []string { + if v == nil { + return nil + } + return v.Items + }).(pulumi.StringArrayOutput) +} + // A set of instance tags. type TagsResponse struct { // Specifies a fingerprint for this request, which is essentially a hash of the tags' contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update tags. You must always provide an up-to-date fingerprint hash in order to update or change tags. To see the latest fingerprint, make get() request to the instance. @@ -1093,6 +2296,16 @@ func (o WeightedBackendServiceResponseArrayOutput) Index(i pulumi.IntInput) Weig } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigInput)(nil)).Elem(), SubnetworkLogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigPtrInput)(nil)).Elem(), SubnetworkLogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkSecondaryRangeInput)(nil)).Elem(), SubnetworkSecondaryRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkSecondaryRangeArrayInput)(nil)).Elem(), SubnetworkSecondaryRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SubsettingInput)(nil)).Elem(), SubsettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SubsettingPtrInput)(nil)).Elem(), SubsettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TCPHealthCheckInput)(nil)).Elem(), TCPHealthCheckArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TCPHealthCheckPtrInput)(nil)).Elem(), TCPHealthCheckArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TagsInput)(nil)).Elem(), TagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TagsPtrInput)(nil)).Elem(), TagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UrlMapTestInput)(nil)).Elem(), UrlMapTestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UrlMapTestArrayInput)(nil)).Elem(), UrlMapTestArray{}) pulumi.RegisterInputType(reflect.TypeOf((*UrlMapTestHeaderInput)(nil)).Elem(), UrlMapTestHeaderArgs{}) @@ -1103,6 +2316,25 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayVpnGatewayInterfaceArrayInput)(nil)).Elem(), VpnGatewayVpnGatewayInterfaceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*WeightedBackendServiceInput)(nil)).Elem(), WeightedBackendServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WeightedBackendServiceArrayInput)(nil)).Elem(), WeightedBackendServiceArray{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpResponseOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpResponseMapOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateResponseOutput{}) + pulumi.RegisterOutputType(StatefulPolicyResponseOutput{}) + pulumi.RegisterOutputType(SubnetworkLogConfigOutput{}) + pulumi.RegisterOutputType(SubnetworkLogConfigPtrOutput{}) + pulumi.RegisterOutputType(SubnetworkLogConfigResponseOutput{}) + pulumi.RegisterOutputType(SubnetworkSecondaryRangeOutput{}) + pulumi.RegisterOutputType(SubnetworkSecondaryRangeArrayOutput{}) + pulumi.RegisterOutputType(SubnetworkSecondaryRangeResponseOutput{}) + pulumi.RegisterOutputType(SubnetworkSecondaryRangeResponseArrayOutput{}) + pulumi.RegisterOutputType(SubsettingOutput{}) + pulumi.RegisterOutputType(SubsettingPtrOutput{}) + pulumi.RegisterOutputType(SubsettingResponseOutput{}) + pulumi.RegisterOutputType(TCPHealthCheckOutput{}) + pulumi.RegisterOutputType(TCPHealthCheckPtrOutput{}) + pulumi.RegisterOutputType(TCPHealthCheckResponseOutput{}) + pulumi.RegisterOutputType(TagsOutput{}) + pulumi.RegisterOutputType(TagsPtrOutput{}) pulumi.RegisterOutputType(TagsResponseOutput{}) pulumi.RegisterOutputType(Uint128ResponseOutput{}) pulumi.RegisterOutputType(UpcomingMaintenanceResponseOutput{}) diff --git a/sdk/go/google/compute/beta/regionAutoscaler.go b/sdk/go/google/compute/beta/regionAutoscaler.go index 29f62377a2..31ea050a1f 100644 --- a/sdk/go/google/compute/beta/regionAutoscaler.go +++ b/sdk/go/google/compute/beta/regionAutoscaler.go @@ -33,7 +33,7 @@ type RegionAutoscaler struct { // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrOutput `pulumi:"requestId"` // Status information of existing scaling schedules. - ScalingScheduleStatus pulumi.StringMapOutput `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus ScalingScheduleStatusResponseMapOutput `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink pulumi.StringOutput `pulumi:"selfLink"` // The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future. @@ -205,8 +205,8 @@ func (o RegionAutoscalerOutput) RequestId() pulumi.StringPtrOutput { } // Status information of existing scaling schedules. -func (o RegionAutoscalerOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v *RegionAutoscaler) pulumi.StringMapOutput { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o RegionAutoscalerOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v *RegionAutoscaler) ScalingScheduleStatusResponseMapOutput { return v.ScalingScheduleStatus }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/beta/regionDisk.go b/sdk/go/google/compute/beta/regionDisk.go index 4a808ad306..dd7a6c4d21 100644 --- a/sdk/go/google/compute/beta/regionDisk.go +++ b/sdk/go/google/compute/beta/regionDisk.go @@ -21,7 +21,7 @@ type RegionDisk struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponseOutput `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks pulumi.StringMapOutput `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks DiskAsyncReplicationListResponseMapOutput `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp pulumi.StringOutput `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -374,8 +374,8 @@ func (o RegionDiskOutput) AsyncPrimaryDisk() DiskAsyncReplicationResponseOutput } // A list of disks this disk is asynchronously replicated to. -func (o RegionDiskOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v *RegionDisk) pulumi.StringMapOutput { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o RegionDiskOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v *RegionDisk) DiskAsyncReplicationListResponseMapOutput { return v.AsyncSecondaryDisks }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/v1/autoscaler.go b/sdk/go/google/compute/v1/autoscaler.go index 733ee966ef..bdcef5bc9d 100644 --- a/sdk/go/google/compute/v1/autoscaler.go +++ b/sdk/go/google/compute/v1/autoscaler.go @@ -33,7 +33,7 @@ type Autoscaler struct { // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrOutput `pulumi:"requestId"` // Status information of existing scaling schedules. - ScalingScheduleStatus pulumi.StringMapOutput `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus ScalingScheduleStatusResponseMapOutput `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink pulumi.StringOutput `pulumi:"selfLink"` // The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future. @@ -202,8 +202,8 @@ func (o AutoscalerOutput) RequestId() pulumi.StringPtrOutput { } // Status information of existing scaling schedules. -func (o AutoscalerOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v *Autoscaler) pulumi.StringMapOutput { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o AutoscalerOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v *Autoscaler) ScalingScheduleStatusResponseMapOutput { return v.ScalingScheduleStatus }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/v1/disk.go b/sdk/go/google/compute/v1/disk.go index f7caa523db..e48e60f7da 100644 --- a/sdk/go/google/compute/v1/disk.go +++ b/sdk/go/google/compute/v1/disk.go @@ -20,7 +20,7 @@ type Disk struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponseOutput `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks pulumi.StringMapOutput `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks DiskAsyncReplicationListResponseMapOutput `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp pulumi.StringOutput `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -312,8 +312,8 @@ func (o DiskOutput) AsyncPrimaryDisk() DiskAsyncReplicationResponseOutput { } // A list of disks this disk is asynchronously replicated to. -func (o DiskOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v *Disk) pulumi.StringMapOutput { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o DiskOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v *Disk) DiskAsyncReplicationListResponseMapOutput { return v.AsyncSecondaryDisks }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/v1/getAutoscaler.go b/sdk/go/google/compute/v1/getAutoscaler.go index a46697d04d..14b1e97bcf 100644 --- a/sdk/go/google/compute/v1/getAutoscaler.go +++ b/sdk/go/google/compute/v1/getAutoscaler.go @@ -44,7 +44,7 @@ type LookupAutoscalerResult struct { // URL of the region where the instance group resides (for autoscalers living in regional scope). Region string `pulumi:"region"` // Status information of existing scaling schedules. - ScalingScheduleStatus map[string]string `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus map[string]ScalingScheduleStatusResponse `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink string `pulumi:"selfLink"` // The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future. @@ -130,8 +130,10 @@ func (o LookupAutoscalerResultOutput) Region() pulumi.StringOutput { } // Status information of existing scaling schedules. -func (o LookupAutoscalerResultOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupAutoscalerResult) map[string]string { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o LookupAutoscalerResultOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v LookupAutoscalerResult) map[string]ScalingScheduleStatusResponse { + return v.ScalingScheduleStatus + }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/v1/getDisk.go b/sdk/go/google/compute/v1/getDisk.go index 803a5a6ea0..c0b5a00edf 100644 --- a/sdk/go/google/compute/v1/getDisk.go +++ b/sdk/go/google/compute/v1/getDisk.go @@ -34,7 +34,7 @@ type LookupDiskResult struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponse `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks map[string]string `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks map[string]DiskAsyncReplicationListResponse `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp string `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -165,8 +165,8 @@ func (o LookupDiskResultOutput) AsyncPrimaryDisk() DiskAsyncReplicationResponseO } // A list of disks this disk is asynchronously replicated to. -func (o LookupDiskResultOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupDiskResult) map[string]string { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o LookupDiskResultOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v LookupDiskResult) map[string]DiskAsyncReplicationListResponse { return v.AsyncSecondaryDisks }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/v1/getRegionAutoscaler.go b/sdk/go/google/compute/v1/getRegionAutoscaler.go index eb24a8c665..aac6d27680 100644 --- a/sdk/go/google/compute/v1/getRegionAutoscaler.go +++ b/sdk/go/google/compute/v1/getRegionAutoscaler.go @@ -44,7 +44,7 @@ type LookupRegionAutoscalerResult struct { // URL of the region where the instance group resides (for autoscalers living in regional scope). Region string `pulumi:"region"` // Status information of existing scaling schedules. - ScalingScheduleStatus map[string]string `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus map[string]ScalingScheduleStatusResponse `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink string `pulumi:"selfLink"` // The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future. @@ -130,8 +130,10 @@ func (o LookupRegionAutoscalerResultOutput) Region() pulumi.StringOutput { } // Status information of existing scaling schedules. -func (o LookupRegionAutoscalerResultOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupRegionAutoscalerResult) map[string]string { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o LookupRegionAutoscalerResultOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v LookupRegionAutoscalerResult) map[string]ScalingScheduleStatusResponse { + return v.ScalingScheduleStatus + }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/v1/getRegionDisk.go b/sdk/go/google/compute/v1/getRegionDisk.go index e1d285f58e..8f4209ac06 100644 --- a/sdk/go/google/compute/v1/getRegionDisk.go +++ b/sdk/go/google/compute/v1/getRegionDisk.go @@ -34,7 +34,7 @@ type LookupRegionDiskResult struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponse `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks map[string]string `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks map[string]DiskAsyncReplicationListResponse `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp string `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -165,8 +165,10 @@ func (o LookupRegionDiskResultOutput) AsyncPrimaryDisk() DiskAsyncReplicationRes } // A list of disks this disk is asynchronously replicated to. -func (o LookupRegionDiskResultOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupRegionDiskResult) map[string]string { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o LookupRegionDiskResultOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v LookupRegionDiskResult) map[string]DiskAsyncReplicationListResponse { + return v.AsyncSecondaryDisks + }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/compute/v1/pulumiEnums.go b/sdk/go/google/compute/v1/pulumiEnums.go index 3890423b25..c5ff845dc9 100644 --- a/sdk/go/google/compute/v1/pulumiEnums.go +++ b/sdk/go/google/compute/v1/pulumiEnums.go @@ -29621,6 +29621,338 @@ func (in *sslPolicyProfilePtr) ToSslPolicyProfilePtrOutputWithContext(ctx contex return pulumi.ToOutputWithContext(ctx, in).(SslPolicyProfilePtrOutput) } +// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. +type StatefulPolicyPreservedStateDiskDeviceAutoDelete string + +const ( + StatefulPolicyPreservedStateDiskDeviceAutoDeleteNever = StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER") + StatefulPolicyPreservedStateDiskDeviceAutoDeleteOnPermanentInstanceDeletion = StatefulPolicyPreservedStateDiskDeviceAutoDelete("ON_PERMANENT_INSTANCE_DELETION") +) + +func (StatefulPolicyPreservedStateDiskDeviceAutoDelete) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return pulumi.ToOutput(e).(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return pulumi.ToOutputWithContext(ctx, e).(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return e.ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return StatefulPolicyPreservedStateDiskDeviceAutoDelete(e).ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(ctx).ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateDiskDeviceAutoDelete) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o.ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StatefulPolicyPreservedStateDiskDeviceAutoDelete) *StatefulPolicyPreservedStateDiskDeviceAutoDelete { + return &v + }).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateDiskDeviceAutoDelete) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateDiskDeviceAutoDelete) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) Elem() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedStateDiskDeviceAutoDelete) StatefulPolicyPreservedStateDiskDeviceAutoDelete { + if v != nil { + return *v + } + var ret StatefulPolicyPreservedStateDiskDeviceAutoDelete + return ret + }).(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *StatefulPolicyPreservedStateDiskDeviceAutoDelete) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput is an input type that accepts values of the StatefulPolicyPreservedStateDiskDeviceAutoDelete enum +// A concrete instance of `StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput` can be one of the following: +// +// StatefulPolicyPreservedStateDiskDeviceAutoDeleteNever +// StatefulPolicyPreservedStateDiskDeviceAutoDeleteOnPermanentInstanceDeletion +type StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput + ToStatefulPolicyPreservedStateDiskDeviceAutoDeleteOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput +} + +var statefulPolicyPreservedStateDiskDeviceAutoDeletePtrType = reflect.TypeOf((**StatefulPolicyPreservedStateDiskDeviceAutoDelete)(nil)).Elem() + +type StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput + ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput +} + +type statefulPolicyPreservedStateDiskDeviceAutoDeletePtr string + +func StatefulPolicyPreservedStateDiskDeviceAutoDeletePtr(v string) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput { + return (*statefulPolicyPreservedStateDiskDeviceAutoDeletePtr)(&v) +} + +func (*statefulPolicyPreservedStateDiskDeviceAutoDeletePtr) ElementType() reflect.Type { + return statefulPolicyPreservedStateDiskDeviceAutoDeletePtrType +} + +func (in *statefulPolicyPreservedStateDiskDeviceAutoDeletePtr) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return pulumi.ToOutput(in).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +func (in *statefulPolicyPreservedStateDiskDeviceAutoDeletePtr) ToStatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +type StatefulPolicyPreservedStateNetworkIpAutoDelete string + +const ( + StatefulPolicyPreservedStateNetworkIpAutoDeleteNever = StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER") + StatefulPolicyPreservedStateNetworkIpAutoDeleteOnPermanentInstanceDeletion = StatefulPolicyPreservedStateNetworkIpAutoDelete("ON_PERMANENT_INSTANCE_DELETION") +) + +func (StatefulPolicyPreservedStateNetworkIpAutoDelete) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutput() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return pulumi.ToOutput(e).(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return pulumi.ToOutputWithContext(ctx, e).(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return e.ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return StatefulPolicyPreservedStateNetworkIpAutoDelete(e).ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(ctx).ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e StatefulPolicyPreservedStateNetworkIpAutoDelete) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutput() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o.ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StatefulPolicyPreservedStateNetworkIpAutoDelete) *StatefulPolicyPreservedStateNetworkIpAutoDelete { + return &v + }).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateNetworkIpAutoDelete) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StatefulPolicyPreservedStateNetworkIpAutoDelete) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) Elem() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedStateNetworkIpAutoDelete) StatefulPolicyPreservedStateNetworkIpAutoDelete { + if v != nil { + return *v + } + var ret StatefulPolicyPreservedStateNetworkIpAutoDelete + return ret + }).(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *StatefulPolicyPreservedStateNetworkIpAutoDelete) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// StatefulPolicyPreservedStateNetworkIpAutoDeleteInput is an input type that accepts values of the StatefulPolicyPreservedStateNetworkIpAutoDelete enum +// A concrete instance of `StatefulPolicyPreservedStateNetworkIpAutoDeleteInput` can be one of the following: +// +// StatefulPolicyPreservedStateNetworkIpAutoDeleteNever +// StatefulPolicyPreservedStateNetworkIpAutoDeleteOnPermanentInstanceDeletion +type StatefulPolicyPreservedStateNetworkIpAutoDeleteInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutput() StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput + ToStatefulPolicyPreservedStateNetworkIpAutoDeleteOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput +} + +var statefulPolicyPreservedStateNetworkIpAutoDeletePtrType = reflect.TypeOf((**StatefulPolicyPreservedStateNetworkIpAutoDelete)(nil)).Elem() + +type StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput + ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput +} + +type statefulPolicyPreservedStateNetworkIpAutoDeletePtr string + +func StatefulPolicyPreservedStateNetworkIpAutoDeletePtr(v string) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput { + return (*statefulPolicyPreservedStateNetworkIpAutoDeletePtr)(&v) +} + +func (*statefulPolicyPreservedStateNetworkIpAutoDeletePtr) ElementType() reflect.Type { + return statefulPolicyPreservedStateNetworkIpAutoDeletePtrType +} + +func (in *statefulPolicyPreservedStateNetworkIpAutoDeletePtr) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return pulumi.ToOutput(in).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + +func (in *statefulPolicyPreservedStateNetworkIpAutoDeletePtr) ToStatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + // The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. type SubnetworkIpv6AccessType string @@ -32695,6 +33027,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SslPolicyMinTlsVersionPtrInput)(nil)).Elem(), SslPolicyMinTlsVersion("TLS_1_0")) pulumi.RegisterInputType(reflect.TypeOf((*SslPolicyProfileInput)(nil)).Elem(), SslPolicyProfile("COMPATIBLE")) pulumi.RegisterInputType(reflect.TypeOf((*SslPolicyProfilePtrInput)(nil)).Elem(), SslPolicyProfile("COMPATIBLE")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDeleteInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceAutoDelete("NEVER")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDeleteInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER")) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpAutoDelete("NEVER")) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkIpv6AccessTypeInput)(nil)).Elem(), SubnetworkIpv6AccessType("EXTERNAL")) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkIpv6AccessTypePtrInput)(nil)).Elem(), SubnetworkIpv6AccessType("EXTERNAL")) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigAggregationIntervalInput)(nil)).Elem(), SubnetworkLogConfigAggregationInterval("INTERVAL_10_MIN")) @@ -33074,6 +33410,10 @@ func init() { pulumi.RegisterOutputType(SslPolicyMinTlsVersionPtrOutput{}) pulumi.RegisterOutputType(SslPolicyProfileOutput{}) pulumi.RegisterOutputType(SslPolicyProfilePtrOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceAutoDeleteOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpAutoDeleteOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput{}) pulumi.RegisterOutputType(SubnetworkIpv6AccessTypeOutput{}) pulumi.RegisterOutputType(SubnetworkIpv6AccessTypePtrOutput{}) pulumi.RegisterOutputType(SubnetworkLogConfigAggregationIntervalOutput{}) diff --git a/sdk/go/google/compute/v1/pulumiTypes.go b/sdk/go/google/compute/v1/pulumiTypes.go index 38e4a60c42..9a6a0404f3 100644 --- a/sdk/go/google/compute/v1/pulumiTypes.go +++ b/sdk/go/google/compute/v1/pulumiTypes.go @@ -3390,7 +3390,7 @@ type AutoscalingPolicy struct { Mode *AutoscalingPolicyMode `pulumi:"mode"` ScaleInControl *AutoscalingPolicyScaleInControl `pulumi:"scaleInControl"` // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. - ScalingSchedules map[string]string `pulumi:"scalingSchedules"` + ScalingSchedules map[string]AutoscalingPolicyScalingSchedule `pulumi:"scalingSchedules"` } // AutoscalingPolicyInput is an input type that accepts AutoscalingPolicyArgs and AutoscalingPolicyOutput values. @@ -3422,7 +3422,7 @@ type AutoscalingPolicyArgs struct { Mode AutoscalingPolicyModePtrInput `pulumi:"mode"` ScaleInControl AutoscalingPolicyScaleInControlPtrInput `pulumi:"scaleInControl"` // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. - ScalingSchedules pulumi.StringMapInput `pulumi:"scalingSchedules"` + ScalingSchedules AutoscalingPolicyScalingScheduleMapInput `pulumi:"scalingSchedules"` } func (AutoscalingPolicyArgs) ElementType() reflect.Type { @@ -3547,8 +3547,8 @@ func (o AutoscalingPolicyOutput) ScaleInControl() AutoscalingPolicyScaleInContro } // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. -func (o AutoscalingPolicyOutput) ScalingSchedules() pulumi.StringMapOutput { - return o.ApplyT(func(v AutoscalingPolicy) map[string]string { return v.ScalingSchedules }).(pulumi.StringMapOutput) +func (o AutoscalingPolicyOutput) ScalingSchedules() AutoscalingPolicyScalingScheduleMapOutput { + return o.ApplyT(func(v AutoscalingPolicy) map[string]AutoscalingPolicyScalingSchedule { return v.ScalingSchedules }).(AutoscalingPolicyScalingScheduleMapOutput) } type AutoscalingPolicyPtrOutput struct{ *pulumi.OutputState } @@ -3655,13 +3655,13 @@ func (o AutoscalingPolicyPtrOutput) ScaleInControl() AutoscalingPolicyScaleInCon } // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. -func (o AutoscalingPolicyPtrOutput) ScalingSchedules() pulumi.StringMapOutput { - return o.ApplyT(func(v *AutoscalingPolicy) map[string]string { +func (o AutoscalingPolicyPtrOutput) ScalingSchedules() AutoscalingPolicyScalingScheduleMapOutput { + return o.ApplyT(func(v *AutoscalingPolicy) map[string]AutoscalingPolicyScalingSchedule { if v == nil { return nil } return v.ScalingSchedules - }).(pulumi.StringMapOutput) + }).(AutoscalingPolicyScalingScheduleMapOutput) } // CPU utilization policy. @@ -4254,7 +4254,7 @@ type AutoscalingPolicyResponse struct { Mode string `pulumi:"mode"` ScaleInControl AutoscalingPolicyScaleInControlResponse `pulumi:"scaleInControl"` // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. - ScalingSchedules map[string]string `pulumi:"scalingSchedules"` + ScalingSchedules map[string]AutoscalingPolicyScalingScheduleResponse `pulumi:"scalingSchedules"` } // Cloud Autoscaler policy. @@ -4316,8 +4316,10 @@ func (o AutoscalingPolicyResponseOutput) ScaleInControl() AutoscalingPolicyScale } // Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. -func (o AutoscalingPolicyResponseOutput) ScalingSchedules() pulumi.StringMapOutput { - return o.ApplyT(func(v AutoscalingPolicyResponse) map[string]string { return v.ScalingSchedules }).(pulumi.StringMapOutput) +func (o AutoscalingPolicyResponseOutput) ScalingSchedules() AutoscalingPolicyScalingScheduleResponseMapOutput { + return o.ApplyT(func(v AutoscalingPolicyResponse) map[string]AutoscalingPolicyScalingScheduleResponse { + return v.ScalingSchedules + }).(AutoscalingPolicyScalingScheduleResponseMapOutput) } // Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below. @@ -4512,6 +4514,232 @@ func (o AutoscalingPolicyScaleInControlResponseOutput) TimeWindowSec() pulumi.In return o.ApplyT(func(v AutoscalingPolicyScaleInControlResponse) int { return v.TimeWindowSec }).(pulumi.IntOutput) } +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingSchedule struct { + // A description of a scaling schedule. + Description *string `pulumi:"description"` + // A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + Disabled *bool `pulumi:"disabled"` + // The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + DurationSec *int `pulumi:"durationSec"` + // The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + MinRequiredReplicas *int `pulumi:"minRequiredReplicas"` + // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + Schedule *string `pulumi:"schedule"` + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + TimeZone *string `pulumi:"timeZone"` +} + +// AutoscalingPolicyScalingScheduleInput is an input type that accepts AutoscalingPolicyScalingScheduleArgs and AutoscalingPolicyScalingScheduleOutput values. +// You can construct a concrete instance of `AutoscalingPolicyScalingScheduleInput` via: +// +// AutoscalingPolicyScalingScheduleArgs{...} +type AutoscalingPolicyScalingScheduleInput interface { + pulumi.Input + + ToAutoscalingPolicyScalingScheduleOutput() AutoscalingPolicyScalingScheduleOutput + ToAutoscalingPolicyScalingScheduleOutputWithContext(context.Context) AutoscalingPolicyScalingScheduleOutput +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleArgs struct { + // A description of a scaling schedule. + Description pulumi.StringPtrInput `pulumi:"description"` + // A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + Disabled pulumi.BoolPtrInput `pulumi:"disabled"` + // The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + DurationSec pulumi.IntPtrInput `pulumi:"durationSec"` + // The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + MinRequiredReplicas pulumi.IntPtrInput `pulumi:"minRequiredReplicas"` + // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + Schedule pulumi.StringPtrInput `pulumi:"schedule"` + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + TimeZone pulumi.StringPtrInput `pulumi:"timeZone"` +} + +func (AutoscalingPolicyScalingScheduleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (i AutoscalingPolicyScalingScheduleArgs) ToAutoscalingPolicyScalingScheduleOutput() AutoscalingPolicyScalingScheduleOutput { + return i.ToAutoscalingPolicyScalingScheduleOutputWithContext(context.Background()) +} + +func (i AutoscalingPolicyScalingScheduleArgs) ToAutoscalingPolicyScalingScheduleOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutoscalingPolicyScalingScheduleOutput) +} + +// AutoscalingPolicyScalingScheduleMapInput is an input type that accepts AutoscalingPolicyScalingScheduleMap and AutoscalingPolicyScalingScheduleMapOutput values. +// You can construct a concrete instance of `AutoscalingPolicyScalingScheduleMapInput` via: +// +// AutoscalingPolicyScalingScheduleMap{ "key": AutoscalingPolicyScalingScheduleArgs{...} } +type AutoscalingPolicyScalingScheduleMapInput interface { + pulumi.Input + + ToAutoscalingPolicyScalingScheduleMapOutput() AutoscalingPolicyScalingScheduleMapOutput + ToAutoscalingPolicyScalingScheduleMapOutputWithContext(context.Context) AutoscalingPolicyScalingScheduleMapOutput +} + +type AutoscalingPolicyScalingScheduleMap map[string]AutoscalingPolicyScalingScheduleInput + +func (AutoscalingPolicyScalingScheduleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (i AutoscalingPolicyScalingScheduleMap) ToAutoscalingPolicyScalingScheduleMapOutput() AutoscalingPolicyScalingScheduleMapOutput { + return i.ToAutoscalingPolicyScalingScheduleMapOutputWithContext(context.Background()) +} + +func (i AutoscalingPolicyScalingScheduleMap) ToAutoscalingPolicyScalingScheduleMapOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AutoscalingPolicyScalingScheduleMapOutput) +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleOutput) ToAutoscalingPolicyScalingScheduleOutput() AutoscalingPolicyScalingScheduleOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleOutput) ToAutoscalingPolicyScalingScheduleOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleOutput { + return o +} + +// A description of a scaling schedule. +func (o AutoscalingPolicyScalingScheduleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. +func (o AutoscalingPolicyScalingScheduleOutput) Disabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *bool { return v.Disabled }).(pulumi.BoolPtrOutput) +} + +// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. +func (o AutoscalingPolicyScalingScheduleOutput) DurationSec() pulumi.IntPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *int { return v.DurationSec }).(pulumi.IntPtrOutput) +} + +// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. +func (o AutoscalingPolicyScalingScheduleOutput) MinRequiredReplicas() pulumi.IntPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *int { return v.MinRequiredReplicas }).(pulumi.IntPtrOutput) +} + +// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. +func (o AutoscalingPolicyScalingScheduleOutput) Schedule() pulumi.StringPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *string { return v.Schedule }).(pulumi.StringPtrOutput) +} + +// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. +func (o AutoscalingPolicyScalingScheduleOutput) TimeZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingSchedule) *string { return v.TimeZone }).(pulumi.StringPtrOutput) +} + +type AutoscalingPolicyScalingScheduleMapOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AutoscalingPolicyScalingSchedule)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleMapOutput) ToAutoscalingPolicyScalingScheduleMapOutput() AutoscalingPolicyScalingScheduleMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleMapOutput) ToAutoscalingPolicyScalingScheduleMapOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleMapOutput) MapIndex(k pulumi.StringInput) AutoscalingPolicyScalingScheduleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AutoscalingPolicyScalingSchedule { + return vs[0].(map[string]AutoscalingPolicyScalingSchedule)[vs[1].(string)] + }).(AutoscalingPolicyScalingScheduleOutput) +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleResponse struct { + // A description of a scaling schedule. + Description string `pulumi:"description"` + // A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + Disabled bool `pulumi:"disabled"` + // The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + DurationSec int `pulumi:"durationSec"` + // The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + MinRequiredReplicas int `pulumi:"minRequiredReplicas"` + // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + Schedule string `pulumi:"schedule"` + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + TimeZone string `pulumi:"timeZone"` +} + +// Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. +type AutoscalingPolicyScalingScheduleResponseOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AutoscalingPolicyScalingScheduleResponse)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleResponseOutput) ToAutoscalingPolicyScalingScheduleResponseOutput() AutoscalingPolicyScalingScheduleResponseOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleResponseOutput) ToAutoscalingPolicyScalingScheduleResponseOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleResponseOutput { + return o +} + +// A description of a scaling schedule. +func (o AutoscalingPolicyScalingScheduleResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. +func (o AutoscalingPolicyScalingScheduleResponseOutput) Disabled() pulumi.BoolOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) bool { return v.Disabled }).(pulumi.BoolOutput) +} + +// The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. +func (o AutoscalingPolicyScalingScheduleResponseOutput) DurationSec() pulumi.IntOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) int { return v.DurationSec }).(pulumi.IntOutput) +} + +// The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. +func (o AutoscalingPolicyScalingScheduleResponseOutput) MinRequiredReplicas() pulumi.IntOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) int { return v.MinRequiredReplicas }).(pulumi.IntOutput) +} + +// The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. +func (o AutoscalingPolicyScalingScheduleResponseOutput) Schedule() pulumi.StringOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) string { return v.Schedule }).(pulumi.StringOutput) +} + +// The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. +func (o AutoscalingPolicyScalingScheduleResponseOutput) TimeZone() pulumi.StringOutput { + return o.ApplyT(func(v AutoscalingPolicyScalingScheduleResponse) string { return v.TimeZone }).(pulumi.StringOutput) +} + +type AutoscalingPolicyScalingScheduleResponseMapOutput struct{ *pulumi.OutputState } + +func (AutoscalingPolicyScalingScheduleResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AutoscalingPolicyScalingScheduleResponse)(nil)).Elem() +} + +func (o AutoscalingPolicyScalingScheduleResponseMapOutput) ToAutoscalingPolicyScalingScheduleResponseMapOutput() AutoscalingPolicyScalingScheduleResponseMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleResponseMapOutput) ToAutoscalingPolicyScalingScheduleResponseMapOutputWithContext(ctx context.Context) AutoscalingPolicyScalingScheduleResponseMapOutput { + return o +} + +func (o AutoscalingPolicyScalingScheduleResponseMapOutput) MapIndex(k pulumi.StringInput) AutoscalingPolicyScalingScheduleResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AutoscalingPolicyScalingScheduleResponse { + return vs[0].(map[string]AutoscalingPolicyScalingScheduleResponse)[vs[1].(string)] + }).(AutoscalingPolicyScalingScheduleResponseOutput) +} + // Message containing information of one individual backend. type Backend struct { // Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected. @@ -10888,6 +11116,48 @@ func (o DiskAsyncReplicationPtrOutput) Disk() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type DiskAsyncReplicationListResponse struct { + AsyncReplicationDisk DiskAsyncReplicationResponse `pulumi:"asyncReplicationDisk"` +} + +type DiskAsyncReplicationListResponseOutput struct{ *pulumi.OutputState } + +func (DiskAsyncReplicationListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DiskAsyncReplicationListResponse)(nil)).Elem() +} + +func (o DiskAsyncReplicationListResponseOutput) ToDiskAsyncReplicationListResponseOutput() DiskAsyncReplicationListResponseOutput { + return o +} + +func (o DiskAsyncReplicationListResponseOutput) ToDiskAsyncReplicationListResponseOutputWithContext(ctx context.Context) DiskAsyncReplicationListResponseOutput { + return o +} + +func (o DiskAsyncReplicationListResponseOutput) AsyncReplicationDisk() DiskAsyncReplicationResponseOutput { + return o.ApplyT(func(v DiskAsyncReplicationListResponse) DiskAsyncReplicationResponse { return v.AsyncReplicationDisk }).(DiskAsyncReplicationResponseOutput) +} + +type DiskAsyncReplicationListResponseMapOutput struct{ *pulumi.OutputState } + +func (DiskAsyncReplicationListResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]DiskAsyncReplicationListResponse)(nil)).Elem() +} + +func (o DiskAsyncReplicationListResponseMapOutput) ToDiskAsyncReplicationListResponseMapOutput() DiskAsyncReplicationListResponseMapOutput { + return o +} + +func (o DiskAsyncReplicationListResponseMapOutput) ToDiskAsyncReplicationListResponseMapOutputWithContext(ctx context.Context) DiskAsyncReplicationListResponseMapOutput { + return o +} + +func (o DiskAsyncReplicationListResponseMapOutput) MapIndex(k pulumi.StringInput) DiskAsyncReplicationListResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) DiskAsyncReplicationListResponse { + return vs[0].(map[string]DiskAsyncReplicationListResponse)[vs[1].(string)] + }).(DiskAsyncReplicationListResponseOutput) +} + type DiskAsyncReplicationResponse struct { // URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group. ConsistencyGroupPolicy string `pulumi:"consistencyGroupPolicy"` @@ -11315,10 +11585,30 @@ func (o DiskResourceStatusAsyncReplicationStatusResponseOutput) State() pulumi.S return o.ApplyT(func(v DiskResourceStatusAsyncReplicationStatusResponse) string { return v.State }).(pulumi.StringOutput) } +type DiskResourceStatusAsyncReplicationStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (DiskResourceStatusAsyncReplicationStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]DiskResourceStatusAsyncReplicationStatusResponse)(nil)).Elem() +} + +func (o DiskResourceStatusAsyncReplicationStatusResponseMapOutput) ToDiskResourceStatusAsyncReplicationStatusResponseMapOutput() DiskResourceStatusAsyncReplicationStatusResponseMapOutput { + return o +} + +func (o DiskResourceStatusAsyncReplicationStatusResponseMapOutput) ToDiskResourceStatusAsyncReplicationStatusResponseMapOutputWithContext(ctx context.Context) DiskResourceStatusAsyncReplicationStatusResponseMapOutput { + return o +} + +func (o DiskResourceStatusAsyncReplicationStatusResponseMapOutput) MapIndex(k pulumi.StringInput) DiskResourceStatusAsyncReplicationStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) DiskResourceStatusAsyncReplicationStatusResponse { + return vs[0].(map[string]DiskResourceStatusAsyncReplicationStatusResponse)[vs[1].(string)] + }).(DiskResourceStatusAsyncReplicationStatusResponseOutput) +} + type DiskResourceStatusResponse struct { AsyncPrimaryDisk DiskResourceStatusAsyncReplicationStatusResponse `pulumi:"asyncPrimaryDisk"` // Key: disk, value: AsyncReplicationStatus message - AsyncSecondaryDisks map[string]string `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks map[string]DiskResourceStatusAsyncReplicationStatusResponse `pulumi:"asyncSecondaryDisks"` } type DiskResourceStatusResponseOutput struct{ *pulumi.OutputState } @@ -11342,8 +11632,10 @@ func (o DiskResourceStatusResponseOutput) AsyncPrimaryDisk() DiskResourceStatusA } // Key: disk, value: AsyncReplicationStatus message -func (o DiskResourceStatusResponseOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v DiskResourceStatusResponse) map[string]string { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o DiskResourceStatusResponseOutput) AsyncSecondaryDisks() DiskResourceStatusAsyncReplicationStatusResponseMapOutput { + return o.ApplyT(func(v DiskResourceStatusResponse) map[string]DiskResourceStatusAsyncReplicationStatusResponse { + return v.AsyncSecondaryDisks + }).(DiskResourceStatusAsyncReplicationStatusResponseMapOutput) } // A set of Display Device options @@ -37185,6 +37477,64 @@ func (o SavedDiskResponseArrayOutput) Index(i pulumi.IntInput) SavedDiskResponse }).(SavedDiskResponseOutput) } +type ScalingScheduleStatusResponse struct { + // The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + LastStartTime string `pulumi:"lastStartTime"` + // The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + NextStartTime string `pulumi:"nextStartTime"` + // The current state of a scaling schedule. + State string `pulumi:"state"` +} + +type ScalingScheduleStatusResponseOutput struct{ *pulumi.OutputState } + +func (ScalingScheduleStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScalingScheduleStatusResponse)(nil)).Elem() +} + +func (o ScalingScheduleStatusResponseOutput) ToScalingScheduleStatusResponseOutput() ScalingScheduleStatusResponseOutput { + return o +} + +func (o ScalingScheduleStatusResponseOutput) ToScalingScheduleStatusResponseOutputWithContext(ctx context.Context) ScalingScheduleStatusResponseOutput { + return o +} + +// The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. +func (o ScalingScheduleStatusResponseOutput) LastStartTime() pulumi.StringOutput { + return o.ApplyT(func(v ScalingScheduleStatusResponse) string { return v.LastStartTime }).(pulumi.StringOutput) +} + +// The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. +func (o ScalingScheduleStatusResponseOutput) NextStartTime() pulumi.StringOutput { + return o.ApplyT(func(v ScalingScheduleStatusResponse) string { return v.NextStartTime }).(pulumi.StringOutput) +} + +// The current state of a scaling schedule. +func (o ScalingScheduleStatusResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ScalingScheduleStatusResponse) string { return v.State }).(pulumi.StringOutput) +} + +type ScalingScheduleStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (ScalingScheduleStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScalingScheduleStatusResponse)(nil)).Elem() +} + +func (o ScalingScheduleStatusResponseMapOutput) ToScalingScheduleStatusResponseMapOutput() ScalingScheduleStatusResponseMapOutput { + return o +} + +func (o ScalingScheduleStatusResponseMapOutput) ToScalingScheduleStatusResponseMapOutputWithContext(ctx context.Context) ScalingScheduleStatusResponseMapOutput { + return o +} + +func (o ScalingScheduleStatusResponseMapOutput) MapIndex(k pulumi.StringInput) ScalingScheduleStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScalingScheduleStatusResponse { + return vs[0].(map[string]ScalingScheduleStatusResponse)[vs[1].(string)] + }).(ScalingScheduleStatusResponseOutput) +} + // Sets the scheduling options for an Instance. type Scheduling struct { // Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. @@ -43027,7 +43377,7 @@ func (o ServiceAttachmentConsumerProjectLimitResponseArrayOutput) Index(i pulumi // The share setting for reservations and sole tenancy node groups. type ShareSettings struct { // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. - ProjectMap map[string]string `pulumi:"projectMap"` + ProjectMap map[string]ShareSettingsProjectConfig `pulumi:"projectMap"` // Type of sharing for this shared-reservation ShareType *ShareSettingsShareType `pulumi:"shareType"` } @@ -43046,7 +43396,7 @@ type ShareSettingsInput interface { // The share setting for reservations and sole tenancy node groups. type ShareSettingsArgs struct { // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. - ProjectMap pulumi.StringMapInput `pulumi:"projectMap"` + ProjectMap ShareSettingsProjectConfigMapInput `pulumi:"projectMap"` // Type of sharing for this shared-reservation ShareType ShareSettingsShareTypePtrInput `pulumi:"shareType"` } @@ -43130,8 +43480,8 @@ func (o ShareSettingsOutput) ToShareSettingsPtrOutputWithContext(ctx context.Con } // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsOutput) ProjectMap() pulumi.StringMapOutput { - return o.ApplyT(func(v ShareSettings) map[string]string { return v.ProjectMap }).(pulumi.StringMapOutput) +func (o ShareSettingsOutput) ProjectMap() ShareSettingsProjectConfigMapOutput { + return o.ApplyT(func(v ShareSettings) map[string]ShareSettingsProjectConfig { return v.ProjectMap }).(ShareSettingsProjectConfigMapOutput) } // Type of sharing for this shared-reservation @@ -43164,13 +43514,13 @@ func (o ShareSettingsPtrOutput) Elem() ShareSettingsOutput { } // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsPtrOutput) ProjectMap() pulumi.StringMapOutput { - return o.ApplyT(func(v *ShareSettings) map[string]string { +func (o ShareSettingsPtrOutput) ProjectMap() ShareSettingsProjectConfigMapOutput { + return o.ApplyT(func(v *ShareSettings) map[string]ShareSettingsProjectConfig { if v == nil { return nil } return v.ProjectMap - }).(pulumi.StringMapOutput) + }).(ShareSettingsProjectConfigMapOutput) } // Type of sharing for this shared-reservation @@ -43183,10 +43533,156 @@ func (o ShareSettingsPtrOutput) ShareType() ShareSettingsShareTypePtrOutput { }).(ShareSettingsShareTypePtrOutput) } +// Config for each project in the share settings. +type ShareSettingsProjectConfig struct { + // The project ID, should be same as the key of this project config in the parent map. + Project *string `pulumi:"project"` +} + +// ShareSettingsProjectConfigInput is an input type that accepts ShareSettingsProjectConfigArgs and ShareSettingsProjectConfigOutput values. +// You can construct a concrete instance of `ShareSettingsProjectConfigInput` via: +// +// ShareSettingsProjectConfigArgs{...} +type ShareSettingsProjectConfigInput interface { + pulumi.Input + + ToShareSettingsProjectConfigOutput() ShareSettingsProjectConfigOutput + ToShareSettingsProjectConfigOutputWithContext(context.Context) ShareSettingsProjectConfigOutput +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigArgs struct { + // The project ID, should be same as the key of this project config in the parent map. + Project pulumi.StringPtrInput `pulumi:"project"` +} + +func (ShareSettingsProjectConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsProjectConfig)(nil)).Elem() +} + +func (i ShareSettingsProjectConfigArgs) ToShareSettingsProjectConfigOutput() ShareSettingsProjectConfigOutput { + return i.ToShareSettingsProjectConfigOutputWithContext(context.Background()) +} + +func (i ShareSettingsProjectConfigArgs) ToShareSettingsProjectConfigOutputWithContext(ctx context.Context) ShareSettingsProjectConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ShareSettingsProjectConfigOutput) +} + +// ShareSettingsProjectConfigMapInput is an input type that accepts ShareSettingsProjectConfigMap and ShareSettingsProjectConfigMapOutput values. +// You can construct a concrete instance of `ShareSettingsProjectConfigMapInput` via: +// +// ShareSettingsProjectConfigMap{ "key": ShareSettingsProjectConfigArgs{...} } +type ShareSettingsProjectConfigMapInput interface { + pulumi.Input + + ToShareSettingsProjectConfigMapOutput() ShareSettingsProjectConfigMapOutput + ToShareSettingsProjectConfigMapOutputWithContext(context.Context) ShareSettingsProjectConfigMapOutput +} + +type ShareSettingsProjectConfigMap map[string]ShareSettingsProjectConfigInput + +func (ShareSettingsProjectConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsProjectConfig)(nil)).Elem() +} + +func (i ShareSettingsProjectConfigMap) ToShareSettingsProjectConfigMapOutput() ShareSettingsProjectConfigMapOutput { + return i.ToShareSettingsProjectConfigMapOutputWithContext(context.Background()) +} + +func (i ShareSettingsProjectConfigMap) ToShareSettingsProjectConfigMapOutputWithContext(ctx context.Context) ShareSettingsProjectConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ShareSettingsProjectConfigMapOutput) +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsProjectConfig)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigOutput) ToShareSettingsProjectConfigOutput() ShareSettingsProjectConfigOutput { + return o +} + +func (o ShareSettingsProjectConfigOutput) ToShareSettingsProjectConfigOutputWithContext(ctx context.Context) ShareSettingsProjectConfigOutput { + return o +} + +// The project ID, should be same as the key of this project config in the parent map. +func (o ShareSettingsProjectConfigOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v ShareSettingsProjectConfig) *string { return v.Project }).(pulumi.StringPtrOutput) +} + +type ShareSettingsProjectConfigMapOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsProjectConfig)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigMapOutput) ToShareSettingsProjectConfigMapOutput() ShareSettingsProjectConfigMapOutput { + return o +} + +func (o ShareSettingsProjectConfigMapOutput) ToShareSettingsProjectConfigMapOutputWithContext(ctx context.Context) ShareSettingsProjectConfigMapOutput { + return o +} + +func (o ShareSettingsProjectConfigMapOutput) MapIndex(k pulumi.StringInput) ShareSettingsProjectConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ShareSettingsProjectConfig { + return vs[0].(map[string]ShareSettingsProjectConfig)[vs[1].(string)] + }).(ShareSettingsProjectConfigOutput) +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigResponse struct { + // The project ID, should be same as the key of this project config in the parent map. + Project string `pulumi:"project"` +} + +// Config for each project in the share settings. +type ShareSettingsProjectConfigResponseOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ShareSettingsProjectConfigResponse)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigResponseOutput) ToShareSettingsProjectConfigResponseOutput() ShareSettingsProjectConfigResponseOutput { + return o +} + +func (o ShareSettingsProjectConfigResponseOutput) ToShareSettingsProjectConfigResponseOutputWithContext(ctx context.Context) ShareSettingsProjectConfigResponseOutput { + return o +} + +// The project ID, should be same as the key of this project config in the parent map. +func (o ShareSettingsProjectConfigResponseOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v ShareSettingsProjectConfigResponse) string { return v.Project }).(pulumi.StringOutput) +} + +type ShareSettingsProjectConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (ShareSettingsProjectConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ShareSettingsProjectConfigResponse)(nil)).Elem() +} + +func (o ShareSettingsProjectConfigResponseMapOutput) ToShareSettingsProjectConfigResponseMapOutput() ShareSettingsProjectConfigResponseMapOutput { + return o +} + +func (o ShareSettingsProjectConfigResponseMapOutput) ToShareSettingsProjectConfigResponseMapOutputWithContext(ctx context.Context) ShareSettingsProjectConfigResponseMapOutput { + return o +} + +func (o ShareSettingsProjectConfigResponseMapOutput) MapIndex(k pulumi.StringInput) ShareSettingsProjectConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ShareSettingsProjectConfigResponse { + return vs[0].(map[string]ShareSettingsProjectConfigResponse)[vs[1].(string)] + }).(ShareSettingsProjectConfigResponseOutput) +} + // The share setting for reservations and sole tenancy node groups. type ShareSettingsResponse struct { // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. - ProjectMap map[string]string `pulumi:"projectMap"` + ProjectMap map[string]ShareSettingsProjectConfigResponse `pulumi:"projectMap"` // Type of sharing for this shared-reservation ShareType string `pulumi:"shareType"` } @@ -43207,8 +43703,8 @@ func (o ShareSettingsResponseOutput) ToShareSettingsResponseOutputWithContext(ct } // A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. -func (o ShareSettingsResponseOutput) ProjectMap() pulumi.StringMapOutput { - return o.ApplyT(func(v ShareSettingsResponse) map[string]string { return v.ProjectMap }).(pulumi.StringMapOutput) +func (o ShareSettingsResponseOutput) ProjectMap() ShareSettingsProjectConfigResponseMapOutput { + return o.ApplyT(func(v ShareSettingsResponse) map[string]ShareSettingsProjectConfigResponse { return v.ProjectMap }).(ShareSettingsProjectConfigResponseMapOutput) } // Type of sharing for this shared-reservation @@ -44657,11 +45153,11 @@ func (o StatefulPolicyPtrOutput) PreservedState() StatefulPolicyPreservedStatePt // Configuration of preserved resources. type StatefulPolicyPreservedState struct { // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - Disks map[string]string `pulumi:"disks"` + Disks map[string]StatefulPolicyPreservedStateDiskDevice `pulumi:"disks"` // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - ExternalIPs map[string]string `pulumi:"externalIPs"` + ExternalIPs map[string]StatefulPolicyPreservedStateNetworkIp `pulumi:"externalIPs"` // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - InternalIPs map[string]string `pulumi:"internalIPs"` + InternalIPs map[string]StatefulPolicyPreservedStateNetworkIp `pulumi:"internalIPs"` } // StatefulPolicyPreservedStateInput is an input type that accepts StatefulPolicyPreservedStateArgs and StatefulPolicyPreservedStateOutput values. @@ -44678,11 +45174,11 @@ type StatefulPolicyPreservedStateInput interface { // Configuration of preserved resources. type StatefulPolicyPreservedStateArgs struct { // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - Disks pulumi.StringMapInput `pulumi:"disks"` + Disks StatefulPolicyPreservedStateDiskDeviceMapInput `pulumi:"disks"` // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - ExternalIPs pulumi.StringMapInput `pulumi:"externalIPs"` + ExternalIPs StatefulPolicyPreservedStateNetworkIpMapInput `pulumi:"externalIPs"` // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - InternalIPs pulumi.StringMapInput `pulumi:"internalIPs"` + InternalIPs StatefulPolicyPreservedStateNetworkIpMapInput `pulumi:"internalIPs"` } func (StatefulPolicyPreservedStateArgs) ElementType() reflect.Type { @@ -44764,18 +45260,22 @@ func (o StatefulPolicyPreservedStateOutput) ToStatefulPolicyPreservedStatePtrOut } // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. -func (o StatefulPolicyPreservedStateOutput) Disks() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]string { return v.Disks }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateOutput) Disks() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateDiskDevice { return v.Disks }).(StatefulPolicyPreservedStateDiskDeviceMapOutput) } // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateOutput) ExternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]string { return v.ExternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateOutput) ExternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { + return v.ExternalIPs + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateOutput) InternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]string { return v.InternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateOutput) InternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { + return v.InternalIPs + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } type StatefulPolicyPreservedStatePtrOutput struct{ *pulumi.OutputState } @@ -44803,43 +45303,329 @@ func (o StatefulPolicyPreservedStatePtrOutput) Elem() StatefulPolicyPreservedSta } // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. -func (o StatefulPolicyPreservedStatePtrOutput) Disks() pulumi.StringMapOutput { - return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]string { +func (o StatefulPolicyPreservedStatePtrOutput) Disks() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateDiskDevice { if v == nil { return nil } return v.Disks - }).(pulumi.StringMapOutput) + }).(StatefulPolicyPreservedStateDiskDeviceMapOutput) } // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStatePtrOutput) ExternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]string { +func (o StatefulPolicyPreservedStatePtrOutput) ExternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { if v == nil { return nil } return v.ExternalIPs - }).(pulumi.StringMapOutput) + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) } // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStatePtrOutput) InternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]string { +func (o StatefulPolicyPreservedStatePtrOutput) InternalIPs() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o.ApplyT(func(v *StatefulPolicyPreservedState) map[string]StatefulPolicyPreservedStateNetworkIp { if v == nil { return nil } return v.InternalIPs - }).(pulumi.StringMapOutput) + }).(StatefulPolicyPreservedStateNetworkIpMapOutput) +} + +type StatefulPolicyPreservedStateDiskDevice struct { + // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + AutoDelete *StatefulPolicyPreservedStateDiskDeviceAutoDelete `pulumi:"autoDelete"` +} + +// StatefulPolicyPreservedStateDiskDeviceInput is an input type that accepts StatefulPolicyPreservedStateDiskDeviceArgs and StatefulPolicyPreservedStateDiskDeviceOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateDiskDeviceInput` via: +// +// StatefulPolicyPreservedStateDiskDeviceArgs{...} +type StatefulPolicyPreservedStateDiskDeviceInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceOutput() StatefulPolicyPreservedStateDiskDeviceOutput + ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceOutput +} + +type StatefulPolicyPreservedStateDiskDeviceArgs struct { + // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + AutoDelete StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrInput `pulumi:"autoDelete"` +} + +func (StatefulPolicyPreservedStateDiskDeviceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() +} + +func (i StatefulPolicyPreservedStateDiskDeviceArgs) ToStatefulPolicyPreservedStateDiskDeviceOutput() StatefulPolicyPreservedStateDiskDeviceOutput { + return i.ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(context.Background()) +} + +func (i StatefulPolicyPreservedStateDiskDeviceArgs) ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateDiskDeviceOutput) +} + +// StatefulPolicyPreservedStateDiskDeviceMapInput is an input type that accepts StatefulPolicyPreservedStateDiskDeviceMap and StatefulPolicyPreservedStateDiskDeviceMapOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateDiskDeviceMapInput` via: +// +// StatefulPolicyPreservedStateDiskDeviceMap{ "key": StatefulPolicyPreservedStateDiskDeviceArgs{...} } +type StatefulPolicyPreservedStateDiskDeviceMapInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateDiskDeviceMapOutput() StatefulPolicyPreservedStateDiskDeviceMapOutput + ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(context.Context) StatefulPolicyPreservedStateDiskDeviceMapOutput +} + +type StatefulPolicyPreservedStateDiskDeviceMap map[string]StatefulPolicyPreservedStateDiskDeviceInput + +func (StatefulPolicyPreservedStateDiskDeviceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() +} + +func (i StatefulPolicyPreservedStateDiskDeviceMap) ToStatefulPolicyPreservedStateDiskDeviceMapOutput() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return i.ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(context.Background()) +} + +func (i StatefulPolicyPreservedStateDiskDeviceMap) ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateDiskDeviceMapOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceOutput) ToStatefulPolicyPreservedStateDiskDeviceOutput() StatefulPolicyPreservedStateDiskDeviceOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceOutput) ToStatefulPolicyPreservedStateDiskDeviceOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceOutput { + return o +} + +// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. +func (o StatefulPolicyPreservedStateDiskDeviceOutput) AutoDelete() StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateDiskDevice) *StatefulPolicyPreservedStateDiskDeviceAutoDelete { + return v.AutoDelete + }).(StatefulPolicyPreservedStateDiskDeviceAutoDeletePtrOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceMapOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateDiskDevice)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceMapOutput) ToStatefulPolicyPreservedStateDiskDeviceMapOutput() StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceMapOutput) ToStatefulPolicyPreservedStateDiskDeviceMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateDiskDeviceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateDiskDevice { + return vs[0].(map[string]StatefulPolicyPreservedStateDiskDevice)[vs[1].(string)] + }).(StatefulPolicyPreservedStateDiskDeviceOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceResponse struct { + // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + AutoDelete string `pulumi:"autoDelete"` +} + +type StatefulPolicyPreservedStateDiskDeviceResponseOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseOutput() StatefulPolicyPreservedStateDiskDeviceResponseOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceResponseOutput { + return o +} + +// These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. +func (o StatefulPolicyPreservedStateDiskDeviceResponseOutput) AutoDelete() pulumi.StringOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateDiskDeviceResponse) string { return v.AutoDelete }).(pulumi.StringOutput) +} + +type StatefulPolicyPreservedStateDiskDeviceResponseMapOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateDiskDeviceResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseMapOutput() StatefulPolicyPreservedStateDiskDeviceResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) ToStatefulPolicyPreservedStateDiskDeviceResponseMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateDiskDeviceResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateDiskDeviceResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateDiskDeviceResponse { + return vs[0].(map[string]StatefulPolicyPreservedStateDiskDeviceResponse)[vs[1].(string)] + }).(StatefulPolicyPreservedStateDiskDeviceResponseOutput) +} + +type StatefulPolicyPreservedStateNetworkIp struct { + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + AutoDelete *StatefulPolicyPreservedStateNetworkIpAutoDelete `pulumi:"autoDelete"` +} + +// StatefulPolicyPreservedStateNetworkIpInput is an input type that accepts StatefulPolicyPreservedStateNetworkIpArgs and StatefulPolicyPreservedStateNetworkIpOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateNetworkIpInput` via: +// +// StatefulPolicyPreservedStateNetworkIpArgs{...} +type StatefulPolicyPreservedStateNetworkIpInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpOutput() StatefulPolicyPreservedStateNetworkIpOutput + ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpOutput +} + +type StatefulPolicyPreservedStateNetworkIpArgs struct { + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + AutoDelete StatefulPolicyPreservedStateNetworkIpAutoDeletePtrInput `pulumi:"autoDelete"` +} + +func (StatefulPolicyPreservedStateNetworkIpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() +} + +func (i StatefulPolicyPreservedStateNetworkIpArgs) ToStatefulPolicyPreservedStateNetworkIpOutput() StatefulPolicyPreservedStateNetworkIpOutput { + return i.ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(context.Background()) +} + +func (i StatefulPolicyPreservedStateNetworkIpArgs) ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateNetworkIpOutput) +} + +// StatefulPolicyPreservedStateNetworkIpMapInput is an input type that accepts StatefulPolicyPreservedStateNetworkIpMap and StatefulPolicyPreservedStateNetworkIpMapOutput values. +// You can construct a concrete instance of `StatefulPolicyPreservedStateNetworkIpMapInput` via: +// +// StatefulPolicyPreservedStateNetworkIpMap{ "key": StatefulPolicyPreservedStateNetworkIpArgs{...} } +type StatefulPolicyPreservedStateNetworkIpMapInput interface { + pulumi.Input + + ToStatefulPolicyPreservedStateNetworkIpMapOutput() StatefulPolicyPreservedStateNetworkIpMapOutput + ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(context.Context) StatefulPolicyPreservedStateNetworkIpMapOutput +} + +type StatefulPolicyPreservedStateNetworkIpMap map[string]StatefulPolicyPreservedStateNetworkIpInput + +func (StatefulPolicyPreservedStateNetworkIpMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() +} + +func (i StatefulPolicyPreservedStateNetworkIpMap) ToStatefulPolicyPreservedStateNetworkIpMapOutput() StatefulPolicyPreservedStateNetworkIpMapOutput { + return i.ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(context.Background()) +} + +func (i StatefulPolicyPreservedStateNetworkIpMap) ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(StatefulPolicyPreservedStateNetworkIpMapOutput) +} + +type StatefulPolicyPreservedStateNetworkIpOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpOutput) ToStatefulPolicyPreservedStateNetworkIpOutput() StatefulPolicyPreservedStateNetworkIpOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpOutput) ToStatefulPolicyPreservedStateNetworkIpOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpOutput { + return o +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +func (o StatefulPolicyPreservedStateNetworkIpOutput) AutoDelete() StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateNetworkIp) *StatefulPolicyPreservedStateNetworkIpAutoDelete { + return v.AutoDelete + }).(StatefulPolicyPreservedStateNetworkIpAutoDeletePtrOutput) +} + +type StatefulPolicyPreservedStateNetworkIpMapOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateNetworkIp)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpMapOutput) ToStatefulPolicyPreservedStateNetworkIpMapOutput() StatefulPolicyPreservedStateNetworkIpMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpMapOutput) ToStatefulPolicyPreservedStateNetworkIpMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateNetworkIpOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateNetworkIp { + return vs[0].(map[string]StatefulPolicyPreservedStateNetworkIp)[vs[1].(string)] + }).(StatefulPolicyPreservedStateNetworkIpOutput) +} + +type StatefulPolicyPreservedStateNetworkIpResponse struct { + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + AutoDelete string `pulumi:"autoDelete"` +} + +type StatefulPolicyPreservedStateNetworkIpResponseOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseOutput) ToStatefulPolicyPreservedStateNetworkIpResponseOutput() StatefulPolicyPreservedStateNetworkIpResponseOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseOutput) ToStatefulPolicyPreservedStateNetworkIpResponseOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpResponseOutput { + return o +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +func (o StatefulPolicyPreservedStateNetworkIpResponseOutput) AutoDelete() pulumi.StringOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateNetworkIpResponse) string { return v.AutoDelete }).(pulumi.StringOutput) +} + +type StatefulPolicyPreservedStateNetworkIpResponseMapOutput struct{ *pulumi.OutputState } + +func (StatefulPolicyPreservedStateNetworkIpResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StatefulPolicyPreservedStateNetworkIpResponse)(nil)).Elem() +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseMapOutput) ToStatefulPolicyPreservedStateNetworkIpResponseMapOutput() StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseMapOutput) ToStatefulPolicyPreservedStateNetworkIpResponseMapOutputWithContext(ctx context.Context) StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o +} + +func (o StatefulPolicyPreservedStateNetworkIpResponseMapOutput) MapIndex(k pulumi.StringInput) StatefulPolicyPreservedStateNetworkIpResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StatefulPolicyPreservedStateNetworkIpResponse { + return vs[0].(map[string]StatefulPolicyPreservedStateNetworkIpResponse)[vs[1].(string)] + }).(StatefulPolicyPreservedStateNetworkIpResponseOutput) } // Configuration of preserved resources. type StatefulPolicyPreservedStateResponse struct { // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - Disks map[string]string `pulumi:"disks"` + Disks map[string]StatefulPolicyPreservedStateDiskDeviceResponse `pulumi:"disks"` // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - ExternalIPs map[string]string `pulumi:"externalIPs"` + ExternalIPs map[string]StatefulPolicyPreservedStateNetworkIpResponse `pulumi:"externalIPs"` // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - InternalIPs map[string]string `pulumi:"internalIPs"` + InternalIPs map[string]StatefulPolicyPreservedStateNetworkIpResponse `pulumi:"internalIPs"` } // Configuration of preserved resources. @@ -44858,18 +45644,24 @@ func (o StatefulPolicyPreservedStateResponseOutput) ToStatefulPolicyPreservedSta } // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. -func (o StatefulPolicyPreservedStateResponseOutput) Disks() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]string { return v.Disks }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateResponseOutput) Disks() StatefulPolicyPreservedStateDiskDeviceResponseMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]StatefulPolicyPreservedStateDiskDeviceResponse { + return v.Disks + }).(StatefulPolicyPreservedStateDiskDeviceResponseMapOutput) } // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateResponseOutput) ExternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]string { return v.ExternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateResponseOutput) ExternalIPs() StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]StatefulPolicyPreservedStateNetworkIpResponse { + return v.ExternalIPs + }).(StatefulPolicyPreservedStateNetworkIpResponseMapOutput) } // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. -func (o StatefulPolicyPreservedStateResponseOutput) InternalIPs() pulumi.StringMapOutput { - return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]string { return v.InternalIPs }).(pulumi.StringMapOutput) +func (o StatefulPolicyPreservedStateResponseOutput) InternalIPs() StatefulPolicyPreservedStateNetworkIpResponseMapOutput { + return o.ApplyT(func(v StatefulPolicyPreservedStateResponse) map[string]StatefulPolicyPreservedStateNetworkIpResponse { + return v.InternalIPs + }).(StatefulPolicyPreservedStateNetworkIpResponseMapOutput) } type StatefulPolicyResponse struct { @@ -47052,6 +47844,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyLoadBalancingUtilizationPtrInput)(nil)).Elem(), AutoscalingPolicyLoadBalancingUtilizationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScaleInControlInput)(nil)).Elem(), AutoscalingPolicyScaleInControlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScaleInControlPtrInput)(nil)).Elem(), AutoscalingPolicyScaleInControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScalingScheduleInput)(nil)).Elem(), AutoscalingPolicyScalingScheduleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AutoscalingPolicyScalingScheduleMapInput)(nil)).Elem(), AutoscalingPolicyScalingScheduleMap{}) pulumi.RegisterInputType(reflect.TypeOf((*BackendInput)(nil)).Elem(), BackendArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BackendArrayInput)(nil)).Elem(), BackendArray{}) pulumi.RegisterInputType(reflect.TypeOf((*BackendBucketCdnPolicyInput)(nil)).Elem(), BackendBucketCdnPolicyArgs{}) @@ -47397,6 +48191,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServiceAttachmentConsumerProjectLimitArrayInput)(nil)).Elem(), ServiceAttachmentConsumerProjectLimitArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsInput)(nil)).Elem(), ShareSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsPtrInput)(nil)).Elem(), ShareSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsProjectConfigInput)(nil)).Elem(), ShareSettingsProjectConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ShareSettingsProjectConfigMapInput)(nil)).Elem(), ShareSettingsProjectConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*ShieldedInstanceConfigInput)(nil)).Elem(), ShieldedInstanceConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShieldedInstanceConfigPtrInput)(nil)).Elem(), ShieldedInstanceConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ShieldedInstanceIntegrityPolicyInput)(nil)).Elem(), ShieldedInstanceIntegrityPolicyArgs{}) @@ -47413,6 +48209,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPtrInput)(nil)).Elem(), StatefulPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateInput)(nil)).Elem(), StatefulPolicyPreservedStateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStatePtrInput)(nil)).Elem(), StatefulPolicyPreservedStateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateDiskDeviceMapInput)(nil)).Elem(), StatefulPolicyPreservedStateDiskDeviceMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*StatefulPolicyPreservedStateNetworkIpMapInput)(nil)).Elem(), StatefulPolicyPreservedStateNetworkIpMap{}) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigInput)(nil)).Elem(), SubnetworkLogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkLogConfigPtrInput)(nil)).Elem(), SubnetworkLogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SubnetworkSecondaryRangeInput)(nil)).Elem(), SubnetworkSecondaryRangeArgs{}) @@ -47499,6 +48299,10 @@ func init() { pulumi.RegisterOutputType(AutoscalingPolicyScaleInControlOutput{}) pulumi.RegisterOutputType(AutoscalingPolicyScaleInControlPtrOutput{}) pulumi.RegisterOutputType(AutoscalingPolicyScaleInControlResponseOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleMapOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleResponseOutput{}) + pulumi.RegisterOutputType(AutoscalingPolicyScalingScheduleResponseMapOutput{}) pulumi.RegisterOutputType(BackendOutput{}) pulumi.RegisterOutputType(BackendArrayOutput{}) pulumi.RegisterOutputType(BackendBucketCdnPolicyOutput{}) @@ -47591,6 +48395,8 @@ func init() { pulumi.RegisterOutputType(DeprecationStatusResponseOutput{}) pulumi.RegisterOutputType(DiskAsyncReplicationOutput{}) pulumi.RegisterOutputType(DiskAsyncReplicationPtrOutput{}) + pulumi.RegisterOutputType(DiskAsyncReplicationListResponseOutput{}) + pulumi.RegisterOutputType(DiskAsyncReplicationListResponseMapOutput{}) pulumi.RegisterOutputType(DiskAsyncReplicationResponseOutput{}) pulumi.RegisterOutputType(DiskInstantiationConfigOutput{}) pulumi.RegisterOutputType(DiskInstantiationConfigArrayOutput{}) @@ -47600,6 +48406,7 @@ func init() { pulumi.RegisterOutputType(DiskParamsPtrOutput{}) pulumi.RegisterOutputType(DiskParamsResponseOutput{}) pulumi.RegisterOutputType(DiskResourceStatusAsyncReplicationStatusResponseOutput{}) + pulumi.RegisterOutputType(DiskResourceStatusAsyncReplicationStatusResponseMapOutput{}) pulumi.RegisterOutputType(DiskResourceStatusResponseOutput{}) pulumi.RegisterOutputType(DisplayDeviceOutput{}) pulumi.RegisterOutputType(DisplayDevicePtrOutput{}) @@ -48021,6 +48828,8 @@ func init() { pulumi.RegisterOutputType(SavedDiskArrayOutput{}) pulumi.RegisterOutputType(SavedDiskResponseOutput{}) pulumi.RegisterOutputType(SavedDiskResponseArrayOutput{}) + pulumi.RegisterOutputType(ScalingScheduleStatusResponseOutput{}) + pulumi.RegisterOutputType(ScalingScheduleStatusResponseMapOutput{}) pulumi.RegisterOutputType(SchedulingOutput{}) pulumi.RegisterOutputType(SchedulingPtrOutput{}) pulumi.RegisterOutputType(SchedulingNodeAffinityOutput{}) @@ -48120,6 +48929,10 @@ func init() { pulumi.RegisterOutputType(ServiceAttachmentConsumerProjectLimitResponseArrayOutput{}) pulumi.RegisterOutputType(ShareSettingsOutput{}) pulumi.RegisterOutputType(ShareSettingsPtrOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigMapOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigResponseOutput{}) + pulumi.RegisterOutputType(ShareSettingsProjectConfigResponseMapOutput{}) pulumi.RegisterOutputType(ShareSettingsResponseOutput{}) pulumi.RegisterOutputType(ShieldedInstanceConfigOutput{}) pulumi.RegisterOutputType(ShieldedInstanceConfigPtrOutput{}) @@ -48149,6 +48962,14 @@ func init() { pulumi.RegisterOutputType(StatefulPolicyPtrOutput{}) pulumi.RegisterOutputType(StatefulPolicyPreservedStateOutput{}) pulumi.RegisterOutputType(StatefulPolicyPreservedStatePtrOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceMapOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceResponseOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateDiskDeviceResponseMapOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpMapOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpResponseOutput{}) + pulumi.RegisterOutputType(StatefulPolicyPreservedStateNetworkIpResponseMapOutput{}) pulumi.RegisterOutputType(StatefulPolicyPreservedStateResponseOutput{}) pulumi.RegisterOutputType(StatefulPolicyResponseOutput{}) pulumi.RegisterOutputType(SubnetworkLogConfigOutput{}) diff --git a/sdk/go/google/compute/v1/regionAutoscaler.go b/sdk/go/google/compute/v1/regionAutoscaler.go index 33446695ce..98f1640939 100644 --- a/sdk/go/google/compute/v1/regionAutoscaler.go +++ b/sdk/go/google/compute/v1/regionAutoscaler.go @@ -33,7 +33,7 @@ type RegionAutoscaler struct { // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrOutput `pulumi:"requestId"` // Status information of existing scaling schedules. - ScalingScheduleStatus pulumi.StringMapOutput `pulumi:"scalingScheduleStatus"` + ScalingScheduleStatus ScalingScheduleStatusResponseMapOutput `pulumi:"scalingScheduleStatus"` // Server-defined URL for the resource. SelfLink pulumi.StringOutput `pulumi:"selfLink"` // The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future. @@ -205,8 +205,8 @@ func (o RegionAutoscalerOutput) RequestId() pulumi.StringPtrOutput { } // Status information of existing scaling schedules. -func (o RegionAutoscalerOutput) ScalingScheduleStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v *RegionAutoscaler) pulumi.StringMapOutput { return v.ScalingScheduleStatus }).(pulumi.StringMapOutput) +func (o RegionAutoscalerOutput) ScalingScheduleStatus() ScalingScheduleStatusResponseMapOutput { + return o.ApplyT(func(v *RegionAutoscaler) ScalingScheduleStatusResponseMapOutput { return v.ScalingScheduleStatus }).(ScalingScheduleStatusResponseMapOutput) } // Server-defined URL for the resource. diff --git a/sdk/go/google/compute/v1/regionDisk.go b/sdk/go/google/compute/v1/regionDisk.go index 0d9f836e54..a236a5e41b 100644 --- a/sdk/go/google/compute/v1/regionDisk.go +++ b/sdk/go/google/compute/v1/regionDisk.go @@ -21,7 +21,7 @@ type RegionDisk struct { // Disk asynchronously replicated into this disk. AsyncPrimaryDisk DiskAsyncReplicationResponseOutput `pulumi:"asyncPrimaryDisk"` // A list of disks this disk is asynchronously replicated to. - AsyncSecondaryDisks pulumi.StringMapOutput `pulumi:"asyncSecondaryDisks"` + AsyncSecondaryDisks DiskAsyncReplicationListResponseMapOutput `pulumi:"asyncSecondaryDisks"` // Creation timestamp in RFC3339 text format. CreationTimestamp pulumi.StringOutput `pulumi:"creationTimestamp"` // An optional description of this resource. Provide this property when you create the resource. @@ -316,8 +316,8 @@ func (o RegionDiskOutput) AsyncPrimaryDisk() DiskAsyncReplicationResponseOutput } // A list of disks this disk is asynchronously replicated to. -func (o RegionDiskOutput) AsyncSecondaryDisks() pulumi.StringMapOutput { - return o.ApplyT(func(v *RegionDisk) pulumi.StringMapOutput { return v.AsyncSecondaryDisks }).(pulumi.StringMapOutput) +func (o RegionDiskOutput) AsyncSecondaryDisks() DiskAsyncReplicationListResponseMapOutput { + return o.ApplyT(func(v *RegionDisk) DiskAsyncReplicationListResponseMapOutput { return v.AsyncSecondaryDisks }).(DiskAsyncReplicationListResponseMapOutput) } // Creation timestamp in RFC3339 text format. diff --git a/sdk/go/google/connectors/v2/entity.go b/sdk/go/google/connectors/v2/entity.go index 41ecc27334..a734beb0b6 100644 --- a/sdk/go/google/connectors/v2/entity.go +++ b/sdk/go/google/connectors/v2/entity.go @@ -20,8 +20,8 @@ type Entity struct { ConnectionId pulumi.StringOutput `pulumi:"connectionId"` EntityTypeId pulumi.StringOutput `pulumi:"entityTypeId"` // Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. - Fields pulumi.StringMapOutput `pulumi:"fields"` - Location pulumi.StringOutput `pulumi:"location"` + Fields pulumi.MapOutput `pulumi:"fields"` + Location pulumi.StringOutput `pulumi:"location"` // Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id} Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` @@ -83,9 +83,9 @@ type entityArgs struct { ConnectionId string `pulumi:"connectionId"` EntityTypeId string `pulumi:"entityTypeId"` // Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. - Fields map[string]string `pulumi:"fields"` - Location *string `pulumi:"location"` - Project *string `pulumi:"project"` + Fields map[string]interface{} `pulumi:"fields"` + Location *string `pulumi:"location"` + Project *string `pulumi:"project"` } // The set of arguments for constructing a Entity resource. @@ -93,7 +93,7 @@ type EntityArgs struct { ConnectionId pulumi.StringInput EntityTypeId pulumi.StringInput // Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. - Fields pulumi.StringMapInput + Fields pulumi.MapInput Location pulumi.StringPtrInput Project pulumi.StringPtrInput } @@ -144,8 +144,8 @@ func (o EntityOutput) EntityTypeId() pulumi.StringOutput { } // Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. -func (o EntityOutput) Fields() pulumi.StringMapOutput { - return o.ApplyT(func(v *Entity) pulumi.StringMapOutput { return v.Fields }).(pulumi.StringMapOutput) +func (o EntityOutput) Fields() pulumi.MapOutput { + return o.ApplyT(func(v *Entity) pulumi.MapOutput { return v.Fields }).(pulumi.MapOutput) } func (o EntityOutput) Location() pulumi.StringOutput { diff --git a/sdk/go/google/connectors/v2/getEntity.go b/sdk/go/google/connectors/v2/getEntity.go index 136a75fb4c..43520faf09 100644 --- a/sdk/go/google/connectors/v2/getEntity.go +++ b/sdk/go/google/connectors/v2/getEntity.go @@ -32,7 +32,7 @@ type LookupEntityArgs struct { type LookupEntityResult struct { // Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. - Fields map[string]string `pulumi:"fields"` + Fields map[string]interface{} `pulumi:"fields"` // Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id} Name string `pulumi:"name"` } @@ -77,8 +77,8 @@ func (o LookupEntityResultOutput) ToLookupEntityResultOutputWithContext(ctx cont } // Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. -func (o LookupEntityResultOutput) Fields() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupEntityResult) map[string]string { return v.Fields }).(pulumi.StringMapOutput) +func (o LookupEntityResultOutput) Fields() pulumi.MapOutput { + return o.ApplyT(func(v LookupEntityResult) map[string]interface{} { return v.Fields }).(pulumi.MapOutput) } // Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id} diff --git a/sdk/go/google/contactcenterinsights/v1/conversation.go b/sdk/go/google/contactcenterinsights/v1/conversation.go index a04cb23b1e..c3e89bb3e0 100644 --- a/sdk/go/google/contactcenterinsights/v1/conversation.go +++ b/sdk/go/google/contactcenterinsights/v1/conversation.go @@ -26,7 +26,7 @@ type Conversation struct { // The source of the audio and transcription for the conversation. DataSource GoogleCloudContactcenterinsightsV1ConversationDataSourceResponseOutput `pulumi:"dataSource"` // All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} - DialogflowIntents pulumi.StringMapOutput `pulumi:"dialogflowIntents"` + DialogflowIntents GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput `pulumi:"dialogflowIntents"` // The duration of the conversation. Duration pulumi.StringOutput `pulumi:"duration"` // The time at which this conversation should expire. After this time, the conversation data and any associated analyses will be deleted. @@ -231,8 +231,10 @@ func (o ConversationOutput) DataSource() GoogleCloudContactcenterinsightsV1Conve } // All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} -func (o ConversationOutput) DialogflowIntents() pulumi.StringMapOutput { - return o.ApplyT(func(v *Conversation) pulumi.StringMapOutput { return v.DialogflowIntents }).(pulumi.StringMapOutput) +func (o ConversationOutput) DialogflowIntents() GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput { + return o.ApplyT(func(v *Conversation) GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput { + return v.DialogflowIntents + }).(GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput) } // The duration of the conversation. diff --git a/sdk/go/google/contactcenterinsights/v1/getConversation.go b/sdk/go/google/contactcenterinsights/v1/getConversation.go index c30608adac..af05b2547c 100644 --- a/sdk/go/google/contactcenterinsights/v1/getConversation.go +++ b/sdk/go/google/contactcenterinsights/v1/getConversation.go @@ -39,7 +39,7 @@ type LookupConversationResult struct { // The source of the audio and transcription for the conversation. DataSource GoogleCloudContactcenterinsightsV1ConversationDataSourceResponse `pulumi:"dataSource"` // All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} - DialogflowIntents map[string]string `pulumi:"dialogflowIntents"` + DialogflowIntents map[string]GoogleCloudContactcenterinsightsV1DialogflowIntentResponse `pulumi:"dialogflowIntents"` // The duration of the conversation. Duration string `pulumi:"duration"` // The time at which this conversation should expire. After this time, the conversation data and any associated analyses will be deleted. @@ -135,8 +135,10 @@ func (o LookupConversationResultOutput) DataSource() GoogleCloudContactcenterins } // All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} -func (o LookupConversationResultOutput) DialogflowIntents() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupConversationResult) map[string]string { return v.DialogflowIntents }).(pulumi.StringMapOutput) +func (o LookupConversationResultOutput) DialogflowIntents() GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput { + return o.ApplyT(func(v LookupConversationResult) map[string]GoogleCloudContactcenterinsightsV1DialogflowIntentResponse { + return v.DialogflowIntents + }).(GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput) } // The duration of the conversation. diff --git a/sdk/go/google/contactcenterinsights/v1/pulumiTypes.go b/sdk/go/google/contactcenterinsights/v1/pulumiTypes.go index f5837a6815..34c8e7a64c 100644 --- a/sdk/go/google/contactcenterinsights/v1/pulumiTypes.go +++ b/sdk/go/google/contactcenterinsights/v1/pulumiTypes.go @@ -76,13 +76,13 @@ type GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataRespons // A list of call annotations that apply to this call. Annotations []GoogleCloudContactcenterinsightsV1CallAnnotationResponse `pulumi:"annotations"` // All the entities in the call. - Entities map[string]string `pulumi:"entities"` + Entities map[string]GoogleCloudContactcenterinsightsV1EntityResponse `pulumi:"entities"` // All the matched intents in the call. - Intents map[string]string `pulumi:"intents"` + Intents map[string]GoogleCloudContactcenterinsightsV1IntentResponse `pulumi:"intents"` // Overall conversation-level issue modeling result. IssueModelResult GoogleCloudContactcenterinsightsV1IssueModelResultResponse `pulumi:"issueModelResult"` // All the matched phrase matchers in the call. - PhraseMatchers map[string]string `pulumi:"phraseMatchers"` + PhraseMatchers map[string]GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse `pulumi:"phraseMatchers"` // Overall conversation-level sentiment for each channel of the call. Sentiments []GoogleCloudContactcenterinsightsV1ConversationLevelSentimentResponse `pulumi:"sentiments"` } @@ -110,17 +110,17 @@ func (o GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResp } // All the entities in the call. -func (o GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponseOutput) Entities() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse) map[string]string { +func (o GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponseOutput) Entities() GoogleCloudContactcenterinsightsV1EntityResponseMapOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse) map[string]GoogleCloudContactcenterinsightsV1EntityResponse { return v.Entities - }).(pulumi.StringMapOutput) + }).(GoogleCloudContactcenterinsightsV1EntityResponseMapOutput) } // All the matched intents in the call. -func (o GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponseOutput) Intents() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse) map[string]string { +func (o GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponseOutput) Intents() GoogleCloudContactcenterinsightsV1IntentResponseMapOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse) map[string]GoogleCloudContactcenterinsightsV1IntentResponse { return v.Intents - }).(pulumi.StringMapOutput) + }).(GoogleCloudContactcenterinsightsV1IntentResponseMapOutput) } // Overall conversation-level issue modeling result. @@ -131,10 +131,10 @@ func (o GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResp } // All the matched phrase matchers in the call. -func (o GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponseOutput) PhraseMatchers() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse) map[string]string { +func (o GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponseOutput) PhraseMatchers() GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadataResponse) map[string]GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse { return v.PhraseMatchers - }).(pulumi.StringMapOutput) + }).(GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput) } // Overall conversation-level sentiment for each channel of the call. @@ -1930,6 +1930,52 @@ func (o GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmen }).(GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfoResponseOutput) } +// The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. +type GoogleCloudContactcenterinsightsV1DialogflowIntentResponse struct { + // The human-readable name of the intent. + DisplayName string `pulumi:"displayName"` +} + +// The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. +type GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContactcenterinsightsV1DialogflowIntentResponse)(nil)).Elem() +} + +func (o GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput) ToGoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput() GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput) ToGoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutputWithContext(ctx context.Context) GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput { + return o +} + +// The human-readable name of the intent. +func (o GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1DialogflowIntentResponse) string { return v.DisplayName }).(pulumi.StringOutput) +} + +type GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudContactcenterinsightsV1DialogflowIntentResponse)(nil)).Elem() +} + +func (o GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput) ToGoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput() GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput) ToGoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutputWithContext(ctx context.Context) GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudContactcenterinsightsV1DialogflowIntentResponse { + return vs[0].(map[string]GoogleCloudContactcenterinsightsV1DialogflowIntentResponse)[vs[1].(string)] + }).(GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput) +} + // Dialogflow interaction data. type GoogleCloudContactcenterinsightsV1DialogflowInteractionDataResponse struct { // The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain). @@ -2184,6 +2230,82 @@ func (o GoogleCloudContactcenterinsightsV1EntityMentionDataResponseOutput) Type( return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1EntityMentionDataResponse) string { return v.Type }).(pulumi.StringOutput) } +// The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location. +type GoogleCloudContactcenterinsightsV1EntityResponse struct { + // The representative name for the entity. + DisplayName string `pulumi:"displayName"` + // Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below. + Metadata map[string]string `pulumi:"metadata"` + // The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient. + Salience float64 `pulumi:"salience"` + // The aggregate sentiment expressed for this entity in the conversation. + Sentiment GoogleCloudContactcenterinsightsV1SentimentDataResponse `pulumi:"sentiment"` + // The entity type. + Type string `pulumi:"type"` +} + +// The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location. +type GoogleCloudContactcenterinsightsV1EntityResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContactcenterinsightsV1EntityResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContactcenterinsightsV1EntityResponse)(nil)).Elem() +} + +func (o GoogleCloudContactcenterinsightsV1EntityResponseOutput) ToGoogleCloudContactcenterinsightsV1EntityResponseOutput() GoogleCloudContactcenterinsightsV1EntityResponseOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1EntityResponseOutput) ToGoogleCloudContactcenterinsightsV1EntityResponseOutputWithContext(ctx context.Context) GoogleCloudContactcenterinsightsV1EntityResponseOutput { + return o +} + +// The representative name for the entity. +func (o GoogleCloudContactcenterinsightsV1EntityResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1EntityResponse) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below. +func (o GoogleCloudContactcenterinsightsV1EntityResponseOutput) Metadata() pulumi.StringMapOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1EntityResponse) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +} + +// The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient. +func (o GoogleCloudContactcenterinsightsV1EntityResponseOutput) Salience() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1EntityResponse) float64 { return v.Salience }).(pulumi.Float64Output) +} + +// The aggregate sentiment expressed for this entity in the conversation. +func (o GoogleCloudContactcenterinsightsV1EntityResponseOutput) Sentiment() GoogleCloudContactcenterinsightsV1SentimentDataResponseOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1EntityResponse) GoogleCloudContactcenterinsightsV1SentimentDataResponse { + return v.Sentiment + }).(GoogleCloudContactcenterinsightsV1SentimentDataResponseOutput) +} + +// The entity type. +func (o GoogleCloudContactcenterinsightsV1EntityResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1EntityResponse) string { return v.Type }).(pulumi.StringOutput) +} + +type GoogleCloudContactcenterinsightsV1EntityResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContactcenterinsightsV1EntityResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudContactcenterinsightsV1EntityResponse)(nil)).Elem() +} + +func (o GoogleCloudContactcenterinsightsV1EntityResponseMapOutput) ToGoogleCloudContactcenterinsightsV1EntityResponseMapOutput() GoogleCloudContactcenterinsightsV1EntityResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1EntityResponseMapOutput) ToGoogleCloudContactcenterinsightsV1EntityResponseMapOutputWithContext(ctx context.Context) GoogleCloudContactcenterinsightsV1EntityResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1EntityResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudContactcenterinsightsV1EntityResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudContactcenterinsightsV1EntityResponse { + return vs[0].(map[string]GoogleCloudContactcenterinsightsV1EntityResponse)[vs[1].(string)] + }).(GoogleCloudContactcenterinsightsV1EntityResponseOutput) +} + // Exact match configuration. type GoogleCloudContactcenterinsightsV1ExactMatchConfig struct { // Whether to consider case sensitivity when performing an exact match. @@ -2648,6 +2770,52 @@ func (o GoogleCloudContactcenterinsightsV1IntentMatchDataResponseOutput) IntentU return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1IntentMatchDataResponse) string { return v.IntentUniqueId }).(pulumi.StringOutput) } +// The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE. +type GoogleCloudContactcenterinsightsV1IntentResponse struct { + // The human-readable name of the intent. + DisplayName string `pulumi:"displayName"` +} + +// The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE. +type GoogleCloudContactcenterinsightsV1IntentResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContactcenterinsightsV1IntentResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContactcenterinsightsV1IntentResponse)(nil)).Elem() +} + +func (o GoogleCloudContactcenterinsightsV1IntentResponseOutput) ToGoogleCloudContactcenterinsightsV1IntentResponseOutput() GoogleCloudContactcenterinsightsV1IntentResponseOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1IntentResponseOutput) ToGoogleCloudContactcenterinsightsV1IntentResponseOutputWithContext(ctx context.Context) GoogleCloudContactcenterinsightsV1IntentResponseOutput { + return o +} + +// The human-readable name of the intent. +func (o GoogleCloudContactcenterinsightsV1IntentResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1IntentResponse) string { return v.DisplayName }).(pulumi.StringOutput) +} + +type GoogleCloudContactcenterinsightsV1IntentResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContactcenterinsightsV1IntentResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudContactcenterinsightsV1IntentResponse)(nil)).Elem() +} + +func (o GoogleCloudContactcenterinsightsV1IntentResponseMapOutput) ToGoogleCloudContactcenterinsightsV1IntentResponseMapOutput() GoogleCloudContactcenterinsightsV1IntentResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1IntentResponseMapOutput) ToGoogleCloudContactcenterinsightsV1IntentResponseMapOutputWithContext(ctx context.Context) GoogleCloudContactcenterinsightsV1IntentResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1IntentResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudContactcenterinsightsV1IntentResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudContactcenterinsightsV1IntentResponse { + return vs[0].(map[string]GoogleCloudContactcenterinsightsV1IntentResponse)[vs[1].(string)] + }).(GoogleCloudContactcenterinsightsV1IntentResponseOutput) +} + // The data for an interruption annotation. type GoogleCloudContactcenterinsightsV1InterruptionDataResponse struct { } @@ -2958,12 +3126,78 @@ func (o GoogleCloudContactcenterinsightsV1IssueModelInputDataConfigResponseOutpu }).(pulumi.StringOutput) } +// Aggregated statistics about an issue. +type GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse struct { + // Display name of the issue. + DisplayName string `pulumi:"displayName"` + // Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} + Issue string `pulumi:"issue"` + // Number of conversations attached to the issue at this point in time. + LabeledConversationsCount string `pulumi:"labeledConversationsCount"` +} + +// Aggregated statistics about an issue. +type GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse)(nil)).Elem() +} + +func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput) ToGoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput() GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput) ToGoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutputWithContext(ctx context.Context) GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput { + return o +} + +// Display name of the issue. +func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse) string { + return v.DisplayName + }).(pulumi.StringOutput) +} + +// Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} +func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput) Issue() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse) string { + return v.Issue + }).(pulumi.StringOutput) +} + +// Number of conversations attached to the issue at this point in time. +func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput) LabeledConversationsCount() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse) string { + return v.LabeledConversationsCount + }).(pulumi.StringOutput) +} + +type GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse)(nil)).Elem() +} + +func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput) ToGoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput() GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput) ToGoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutputWithContext(ctx context.Context) GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse { + return vs[0].(map[string]GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse)[vs[1].(string)] + }).(GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput) +} + // Aggregated statistics about an issue model. type GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse struct { // Number of conversations the issue model has analyzed at this point in time. AnalyzedConversationsCount string `pulumi:"analyzedConversationsCount"` // Statistics on each issue. Key is the issue's resource name. - IssueStats map[string]string `pulumi:"issueStats"` + IssueStats map[string]GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse `pulumi:"issueStats"` // Number of analyzed conversations for which no issue was applicable at this point in time. UnclassifiedConversationsCount string `pulumi:"unclassifiedConversationsCount"` } @@ -2991,10 +3225,10 @@ func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponseOutput) An } // Statistics on each issue. Key is the issue's resource name. -func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponseOutput) IssueStats() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse) map[string]string { +func (o GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponseOutput) IssueStats() GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput { + return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse) map[string]GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse { return v.IssueStats - }).(pulumi.StringMapOutput) + }).(GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput) } // Number of analyzed conversations for which no issue was applicable at this point in time. @@ -3072,6 +3306,26 @@ func (o GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseOutput) PhraseM return o.ApplyT(func(v GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse) string { return v.PhraseMatcher }).(pulumi.StringOutput) } +type GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse)(nil)).Elem() +} + +func (o GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput) ToGoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput() GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput) ToGoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutputWithContext(ctx context.Context) GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput { + return o +} + +func (o GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse { + return vs[0].(map[string]GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse)[vs[1].(string)] + }).(GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseOutput) +} + // The data for a phrase match rule. type GoogleCloudContactcenterinsightsV1PhraseMatchRule struct { // Provides additional information about the rule that specifies how to apply the rule. @@ -3933,11 +4187,15 @@ func init() { pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentResponseArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfoResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfoResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1DialogflowIntentResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1DialogflowIntentResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1DialogflowInteractionDataResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1DialogflowSourceOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1DialogflowSourcePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1DialogflowSourceResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1EntityMentionDataResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1EntityResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1EntityResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1ExactMatchConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1ExactMatchConfigPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1ExactMatchConfigResponseOutput{}) @@ -3947,6 +4205,8 @@ func init() { pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1GcsSourceResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1HoldDataResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IntentMatchDataResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IntentResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IntentResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1InterruptionDataResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IssueAssignmentResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IssueAssignmentResponseArrayOutput{}) @@ -3954,9 +4214,12 @@ func init() { pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IssueModelInputDataConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IssueModelInputDataConfigPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IssueModelInputDataConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1IssueModelResultResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1PhraseMatchDataResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1PhraseMatchRuleOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1PhraseMatchRuleArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfigOutput{}) diff --git a/sdk/go/google/container/v1/pulumiTypes.go b/sdk/go/google/container/v1/pulumiTypes.go index be92596ce2..aeb343ba21 100644 --- a/sdk/go/google/container/v1/pulumiTypes.go +++ b/sdk/go/google/container/v1/pulumiTypes.go @@ -10857,7 +10857,7 @@ type MaintenanceWindow struct { // DailyMaintenanceWindow specifies a daily maintenance operation window. DailyMaintenanceWindow *DailyMaintenanceWindow `pulumi:"dailyMaintenanceWindow"` // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. - MaintenanceExclusions map[string]string `pulumi:"maintenanceExclusions"` + MaintenanceExclusions map[string]TimeWindow `pulumi:"maintenanceExclusions"` // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. RecurringWindow *RecurringTimeWindow `pulumi:"recurringWindow"` } @@ -10878,7 +10878,7 @@ type MaintenanceWindowArgs struct { // DailyMaintenanceWindow specifies a daily maintenance operation window. DailyMaintenanceWindow DailyMaintenanceWindowPtrInput `pulumi:"dailyMaintenanceWindow"` // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. - MaintenanceExclusions pulumi.StringMapInput `pulumi:"maintenanceExclusions"` + MaintenanceExclusions TimeWindowMapInput `pulumi:"maintenanceExclusions"` // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. RecurringWindow RecurringTimeWindowPtrInput `pulumi:"recurringWindow"` } @@ -10967,8 +10967,8 @@ func (o MaintenanceWindowOutput) DailyMaintenanceWindow() DailyMaintenanceWindow } // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. -func (o MaintenanceWindowOutput) MaintenanceExclusions() pulumi.StringMapOutput { - return o.ApplyT(func(v MaintenanceWindow) map[string]string { return v.MaintenanceExclusions }).(pulumi.StringMapOutput) +func (o MaintenanceWindowOutput) MaintenanceExclusions() TimeWindowMapOutput { + return o.ApplyT(func(v MaintenanceWindow) map[string]TimeWindow { return v.MaintenanceExclusions }).(TimeWindowMapOutput) } // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. @@ -11011,13 +11011,13 @@ func (o MaintenanceWindowPtrOutput) DailyMaintenanceWindow() DailyMaintenanceWin } // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. -func (o MaintenanceWindowPtrOutput) MaintenanceExclusions() pulumi.StringMapOutput { - return o.ApplyT(func(v *MaintenanceWindow) map[string]string { +func (o MaintenanceWindowPtrOutput) MaintenanceExclusions() TimeWindowMapOutput { + return o.ApplyT(func(v *MaintenanceWindow) map[string]TimeWindow { if v == nil { return nil } return v.MaintenanceExclusions - }).(pulumi.StringMapOutput) + }).(TimeWindowMapOutput) } // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. @@ -11035,7 +11035,7 @@ type MaintenanceWindowResponse struct { // DailyMaintenanceWindow specifies a daily maintenance operation window. DailyMaintenanceWindow DailyMaintenanceWindowResponse `pulumi:"dailyMaintenanceWindow"` // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. - MaintenanceExclusions map[string]string `pulumi:"maintenanceExclusions"` + MaintenanceExclusions map[string]TimeWindowResponse `pulumi:"maintenanceExclusions"` // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. RecurringWindow RecurringTimeWindowResponse `pulumi:"recurringWindow"` } @@ -11061,8 +11061,8 @@ func (o MaintenanceWindowResponseOutput) DailyMaintenanceWindow() DailyMaintenan } // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. -func (o MaintenanceWindowResponseOutput) MaintenanceExclusions() pulumi.StringMapOutput { - return o.ApplyT(func(v MaintenanceWindowResponse) map[string]string { return v.MaintenanceExclusions }).(pulumi.StringMapOutput) +func (o MaintenanceWindowResponseOutput) MaintenanceExclusions() TimeWindowResponseMapOutput { + return o.ApplyT(func(v MaintenanceWindowResponse) map[string]TimeWindowResponse { return v.MaintenanceExclusions }).(TimeWindowResponseMapOutput) } // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. @@ -21658,6 +21658,31 @@ func (i *timeWindowPtrType) ToTimeWindowPtrOutputWithContext(ctx context.Context return pulumi.ToOutputWithContext(ctx, i).(TimeWindowPtrOutput) } +// TimeWindowMapInput is an input type that accepts TimeWindowMap and TimeWindowMapOutput values. +// You can construct a concrete instance of `TimeWindowMapInput` via: +// +// TimeWindowMap{ "key": TimeWindowArgs{...} } +type TimeWindowMapInput interface { + pulumi.Input + + ToTimeWindowMapOutput() TimeWindowMapOutput + ToTimeWindowMapOutputWithContext(context.Context) TimeWindowMapOutput +} + +type TimeWindowMap map[string]TimeWindowInput + +func (TimeWindowMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TimeWindow)(nil)).Elem() +} + +func (i TimeWindowMap) ToTimeWindowMapOutput() TimeWindowMapOutput { + return i.ToTimeWindowMapOutputWithContext(context.Background()) +} + +func (i TimeWindowMap) ToTimeWindowMapOutputWithContext(ctx context.Context) TimeWindowMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TimeWindowMapOutput) +} + // Represents an arbitrary window of time. type TimeWindowOutput struct{ *pulumi.OutputState } @@ -21752,6 +21777,26 @@ func (o TimeWindowPtrOutput) StartTime() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type TimeWindowMapOutput struct{ *pulumi.OutputState } + +func (TimeWindowMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TimeWindow)(nil)).Elem() +} + +func (o TimeWindowMapOutput) ToTimeWindowMapOutput() TimeWindowMapOutput { + return o +} + +func (o TimeWindowMapOutput) ToTimeWindowMapOutputWithContext(ctx context.Context) TimeWindowMapOutput { + return o +} + +func (o TimeWindowMapOutput) MapIndex(k pulumi.StringInput) TimeWindowOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) TimeWindow { + return vs[0].(map[string]TimeWindow)[vs[1].(string)] + }).(TimeWindowOutput) +} + // Represents an arbitrary window of time. type TimeWindowResponse struct { // The time that the window ends. The end time should take place after the start time. @@ -21792,6 +21837,26 @@ func (o TimeWindowResponseOutput) StartTime() pulumi.StringOutput { return o.ApplyT(func(v TimeWindowResponse) string { return v.StartTime }).(pulumi.StringOutput) } +type TimeWindowResponseMapOutput struct{ *pulumi.OutputState } + +func (TimeWindowResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TimeWindowResponse)(nil)).Elem() +} + +func (o TimeWindowResponseMapOutput) ToTimeWindowResponseMapOutput() TimeWindowResponseMapOutput { + return o +} + +func (o TimeWindowResponseMapOutput) ToTimeWindowResponseMapOutputWithContext(ctx context.Context) TimeWindowResponseMapOutput { + return o +} + +func (o TimeWindowResponseMapOutput) MapIndex(k pulumi.StringInput) TimeWindowResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) TimeWindowResponse { + return vs[0].(map[string]TimeWindowResponse)[vs[1].(string)] + }).(TimeWindowResponseOutput) +} + // UpdateInfo contains resource (instance groups, etc), status and other intermediate information relevant to a node pool upgrade. type UpdateInfoResponse struct { // Information of a blue-green upgrade. @@ -23265,6 +23330,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*StatusConditionArrayInput)(nil)).Elem(), StatusConditionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TimeWindowInput)(nil)).Elem(), TimeWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TimeWindowPtrInput)(nil)).Elem(), TimeWindowArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TimeWindowMapInput)(nil)).Elem(), TimeWindowMap{}) pulumi.RegisterInputType(reflect.TypeOf((*UpgradeSettingsInput)(nil)).Elem(), UpgradeSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UpgradeSettingsPtrInput)(nil)).Elem(), UpgradeSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VerticalPodAutoscalingInput)(nil)).Elem(), VerticalPodAutoscalingArgs{}) @@ -23602,7 +23668,9 @@ func init() { pulumi.RegisterOutputType(StatusConditionResponseArrayOutput{}) pulumi.RegisterOutputType(TimeWindowOutput{}) pulumi.RegisterOutputType(TimeWindowPtrOutput{}) + pulumi.RegisterOutputType(TimeWindowMapOutput{}) pulumi.RegisterOutputType(TimeWindowResponseOutput{}) + pulumi.RegisterOutputType(TimeWindowResponseMapOutput{}) pulumi.RegisterOutputType(UpdateInfoResponseOutput{}) pulumi.RegisterOutputType(UpgradeSettingsOutput{}) pulumi.RegisterOutputType(UpgradeSettingsPtrOutput{}) diff --git a/sdk/go/google/container/v1beta1/getServerConfig.go b/sdk/go/google/container/v1beta1/getServerConfig.go index ba5b17f74a..d5557da4a8 100644 --- a/sdk/go/google/container/v1beta1/getServerConfig.go +++ b/sdk/go/google/container/v1beta1/getServerConfig.go @@ -43,7 +43,7 @@ type GetServerConfigResult struct { // List of valid node upgrade target versions, in descending order. ValidNodeVersions []string `pulumi:"validNodeVersions"` // Maps of Kubernetes version and supported Windows server versions. - WindowsVersionMaps map[string]string `pulumi:"windowsVersionMaps"` + WindowsVersionMaps map[string]WindowsVersionsResponse `pulumi:"windowsVersionMaps"` } func GetServerConfigOutput(ctx *pulumi.Context, args GetServerConfigOutputArgs, opts ...pulumi.InvokeOption) GetServerConfigResultOutput { @@ -115,8 +115,8 @@ func (o GetServerConfigResultOutput) ValidNodeVersions() pulumi.StringArrayOutpu } // Maps of Kubernetes version and supported Windows server versions. -func (o GetServerConfigResultOutput) WindowsVersionMaps() pulumi.StringMapOutput { - return o.ApplyT(func(v GetServerConfigResult) map[string]string { return v.WindowsVersionMaps }).(pulumi.StringMapOutput) +func (o GetServerConfigResultOutput) WindowsVersionMaps() WindowsVersionsResponseMapOutput { + return o.ApplyT(func(v GetServerConfigResult) map[string]WindowsVersionsResponse { return v.WindowsVersionMaps }).(WindowsVersionsResponseMapOutput) } func init() { diff --git a/sdk/go/google/container/v1beta1/pulumiTypes.go b/sdk/go/google/container/v1beta1/pulumiTypes.go index 281e3adce3..3fa38e1bb7 100644 --- a/sdk/go/google/container/v1beta1/pulumiTypes.go +++ b/sdk/go/google/container/v1beta1/pulumiTypes.go @@ -5999,6 +5999,46 @@ func (o DatabaseEncryptionResponseOutput) State() pulumi.StringOutput { return o.ApplyT(func(v DatabaseEncryptionResponse) string { return v.State }).(pulumi.StringOutput) } +// Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp +type DateResponse struct { + // Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + Day int `pulumi:"day"` + // Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + Month int `pulumi:"month"` + // Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + Year int `pulumi:"year"` +} + +// Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp +type DateResponseOutput struct{ *pulumi.OutputState } + +func (DateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DateResponse)(nil)).Elem() +} + +func (o DateResponseOutput) ToDateResponseOutput() DateResponseOutput { + return o +} + +func (o DateResponseOutput) ToDateResponseOutputWithContext(ctx context.Context) DateResponseOutput { + return o +} + +// Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. +func (o DateResponseOutput) Day() pulumi.IntOutput { + return o.ApplyT(func(v DateResponse) int { return v.Day }).(pulumi.IntOutput) +} + +// Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. +func (o DateResponseOutput) Month() pulumi.IntOutput { + return o.ApplyT(func(v DateResponse) int { return v.Month }).(pulumi.IntOutput) +} + +// Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. +func (o DateResponseOutput) Year() pulumi.IntOutput { + return o.ApplyT(func(v DateResponse) int { return v.Year }).(pulumi.IntOutput) +} + // DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. type DefaultSnatStatus struct { // Disables cluster default sNAT rules. @@ -12121,7 +12161,7 @@ type MaintenanceWindow struct { // DailyMaintenanceWindow specifies a daily maintenance operation window. DailyMaintenanceWindow *DailyMaintenanceWindow `pulumi:"dailyMaintenanceWindow"` // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. - MaintenanceExclusions map[string]string `pulumi:"maintenanceExclusions"` + MaintenanceExclusions map[string]TimeWindow `pulumi:"maintenanceExclusions"` // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. RecurringWindow *RecurringTimeWindow `pulumi:"recurringWindow"` } @@ -12142,7 +12182,7 @@ type MaintenanceWindowArgs struct { // DailyMaintenanceWindow specifies a daily maintenance operation window. DailyMaintenanceWindow DailyMaintenanceWindowPtrInput `pulumi:"dailyMaintenanceWindow"` // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. - MaintenanceExclusions pulumi.StringMapInput `pulumi:"maintenanceExclusions"` + MaintenanceExclusions TimeWindowMapInput `pulumi:"maintenanceExclusions"` // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. RecurringWindow RecurringTimeWindowPtrInput `pulumi:"recurringWindow"` } @@ -12231,8 +12271,8 @@ func (o MaintenanceWindowOutput) DailyMaintenanceWindow() DailyMaintenanceWindow } // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. -func (o MaintenanceWindowOutput) MaintenanceExclusions() pulumi.StringMapOutput { - return o.ApplyT(func(v MaintenanceWindow) map[string]string { return v.MaintenanceExclusions }).(pulumi.StringMapOutput) +func (o MaintenanceWindowOutput) MaintenanceExclusions() TimeWindowMapOutput { + return o.ApplyT(func(v MaintenanceWindow) map[string]TimeWindow { return v.MaintenanceExclusions }).(TimeWindowMapOutput) } // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. @@ -12275,13 +12315,13 @@ func (o MaintenanceWindowPtrOutput) DailyMaintenanceWindow() DailyMaintenanceWin } // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. -func (o MaintenanceWindowPtrOutput) MaintenanceExclusions() pulumi.StringMapOutput { - return o.ApplyT(func(v *MaintenanceWindow) map[string]string { +func (o MaintenanceWindowPtrOutput) MaintenanceExclusions() TimeWindowMapOutput { + return o.ApplyT(func(v *MaintenanceWindow) map[string]TimeWindow { if v == nil { return nil } return v.MaintenanceExclusions - }).(pulumi.StringMapOutput) + }).(TimeWindowMapOutput) } // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. @@ -12299,7 +12339,7 @@ type MaintenanceWindowResponse struct { // DailyMaintenanceWindow specifies a daily maintenance operation window. DailyMaintenanceWindow DailyMaintenanceWindowResponse `pulumi:"dailyMaintenanceWindow"` // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. - MaintenanceExclusions map[string]string `pulumi:"maintenanceExclusions"` + MaintenanceExclusions map[string]TimeWindowResponse `pulumi:"maintenanceExclusions"` // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. RecurringWindow RecurringTimeWindowResponse `pulumi:"recurringWindow"` } @@ -12325,8 +12365,8 @@ func (o MaintenanceWindowResponseOutput) DailyMaintenanceWindow() DailyMaintenan } // Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. -func (o MaintenanceWindowResponseOutput) MaintenanceExclusions() pulumi.StringMapOutput { - return o.ApplyT(func(v MaintenanceWindowResponse) map[string]string { return v.MaintenanceExclusions }).(pulumi.StringMapOutput) +func (o MaintenanceWindowResponseOutput) MaintenanceExclusions() TimeWindowResponseMapOutput { + return o.ApplyT(func(v MaintenanceWindowResponse) map[string]TimeWindowResponse { return v.MaintenanceExclusions }).(TimeWindowResponseMapOutput) } // RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. @@ -23992,6 +24032,31 @@ func (i *timeWindowPtrType) ToTimeWindowPtrOutputWithContext(ctx context.Context return pulumi.ToOutputWithContext(ctx, i).(TimeWindowPtrOutput) } +// TimeWindowMapInput is an input type that accepts TimeWindowMap and TimeWindowMapOutput values. +// You can construct a concrete instance of `TimeWindowMapInput` via: +// +// TimeWindowMap{ "key": TimeWindowArgs{...} } +type TimeWindowMapInput interface { + pulumi.Input + + ToTimeWindowMapOutput() TimeWindowMapOutput + ToTimeWindowMapOutputWithContext(context.Context) TimeWindowMapOutput +} + +type TimeWindowMap map[string]TimeWindowInput + +func (TimeWindowMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TimeWindow)(nil)).Elem() +} + +func (i TimeWindowMap) ToTimeWindowMapOutput() TimeWindowMapOutput { + return i.ToTimeWindowMapOutputWithContext(context.Background()) +} + +func (i TimeWindowMap) ToTimeWindowMapOutputWithContext(ctx context.Context) TimeWindowMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TimeWindowMapOutput) +} + // Represents an arbitrary window of time. type TimeWindowOutput struct{ *pulumi.OutputState } @@ -24086,6 +24151,26 @@ func (o TimeWindowPtrOutput) StartTime() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type TimeWindowMapOutput struct{ *pulumi.OutputState } + +func (TimeWindowMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TimeWindow)(nil)).Elem() +} + +func (o TimeWindowMapOutput) ToTimeWindowMapOutput() TimeWindowMapOutput { + return o +} + +func (o TimeWindowMapOutput) ToTimeWindowMapOutputWithContext(ctx context.Context) TimeWindowMapOutput { + return o +} + +func (o TimeWindowMapOutput) MapIndex(k pulumi.StringInput) TimeWindowOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) TimeWindow { + return vs[0].(map[string]TimeWindow)[vs[1].(string)] + }).(TimeWindowOutput) +} + // Represents an arbitrary window of time. type TimeWindowResponse struct { // The time that the window ends. The end time should take place after the start time. @@ -24126,6 +24211,26 @@ func (o TimeWindowResponseOutput) StartTime() pulumi.StringOutput { return o.ApplyT(func(v TimeWindowResponse) string { return v.StartTime }).(pulumi.StringOutput) } +type TimeWindowResponseMapOutput struct{ *pulumi.OutputState } + +func (TimeWindowResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]TimeWindowResponse)(nil)).Elem() +} + +func (o TimeWindowResponseMapOutput) ToTimeWindowResponseMapOutput() TimeWindowResponseMapOutput { + return o +} + +func (o TimeWindowResponseMapOutput) ToTimeWindowResponseMapOutputWithContext(ctx context.Context) TimeWindowResponseMapOutput { + return o +} + +func (o TimeWindowResponseMapOutput) MapIndex(k pulumi.StringInput) TimeWindowResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) TimeWindowResponse { + return vs[0].(map[string]TimeWindowResponse)[vs[1].(string)] + }).(TimeWindowResponseOutput) +} + // Configuration for Cloud TPU. type TpuConfig struct { // Whether Cloud TPU integration is enabled or not. @@ -25112,6 +25217,112 @@ func (o WindowsNodeConfigResponseOutput) OsVersion() pulumi.StringOutput { return o.ApplyT(func(v WindowsNodeConfigResponse) string { return v.OsVersion }).(pulumi.StringOutput) } +// Windows server version. +type WindowsVersionResponse struct { + // Windows server image type + ImageType string `pulumi:"imageType"` + // Windows server build number + OsVersion string `pulumi:"osVersion"` + // Mainstream support end date + SupportEndDate DateResponse `pulumi:"supportEndDate"` +} + +// Windows server version. +type WindowsVersionResponseOutput struct{ *pulumi.OutputState } + +func (WindowsVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsVersionResponse)(nil)).Elem() +} + +func (o WindowsVersionResponseOutput) ToWindowsVersionResponseOutput() WindowsVersionResponseOutput { + return o +} + +func (o WindowsVersionResponseOutput) ToWindowsVersionResponseOutputWithContext(ctx context.Context) WindowsVersionResponseOutput { + return o +} + +// Windows server image type +func (o WindowsVersionResponseOutput) ImageType() pulumi.StringOutput { + return o.ApplyT(func(v WindowsVersionResponse) string { return v.ImageType }).(pulumi.StringOutput) +} + +// Windows server build number +func (o WindowsVersionResponseOutput) OsVersion() pulumi.StringOutput { + return o.ApplyT(func(v WindowsVersionResponse) string { return v.OsVersion }).(pulumi.StringOutput) +} + +// Mainstream support end date +func (o WindowsVersionResponseOutput) SupportEndDate() DateResponseOutput { + return o.ApplyT(func(v WindowsVersionResponse) DateResponse { return v.SupportEndDate }).(DateResponseOutput) +} + +type WindowsVersionResponseArrayOutput struct{ *pulumi.OutputState } + +func (WindowsVersionResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]WindowsVersionResponse)(nil)).Elem() +} + +func (o WindowsVersionResponseArrayOutput) ToWindowsVersionResponseArrayOutput() WindowsVersionResponseArrayOutput { + return o +} + +func (o WindowsVersionResponseArrayOutput) ToWindowsVersionResponseArrayOutputWithContext(ctx context.Context) WindowsVersionResponseArrayOutput { + return o +} + +func (o WindowsVersionResponseArrayOutput) Index(i pulumi.IntInput) WindowsVersionResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) WindowsVersionResponse { + return vs[0].([]WindowsVersionResponse)[vs[1].(int)] + }).(WindowsVersionResponseOutput) +} + +// Windows server versions. +type WindowsVersionsResponse struct { + // List of Windows server versions. + WindowsVersions []WindowsVersionResponse `pulumi:"windowsVersions"` +} + +// Windows server versions. +type WindowsVersionsResponseOutput struct{ *pulumi.OutputState } + +func (WindowsVersionsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*WindowsVersionsResponse)(nil)).Elem() +} + +func (o WindowsVersionsResponseOutput) ToWindowsVersionsResponseOutput() WindowsVersionsResponseOutput { + return o +} + +func (o WindowsVersionsResponseOutput) ToWindowsVersionsResponseOutputWithContext(ctx context.Context) WindowsVersionsResponseOutput { + return o +} + +// List of Windows server versions. +func (o WindowsVersionsResponseOutput) WindowsVersions() WindowsVersionResponseArrayOutput { + return o.ApplyT(func(v WindowsVersionsResponse) []WindowsVersionResponse { return v.WindowsVersions }).(WindowsVersionResponseArrayOutput) +} + +type WindowsVersionsResponseMapOutput struct{ *pulumi.OutputState } + +func (WindowsVersionsResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]WindowsVersionsResponse)(nil)).Elem() +} + +func (o WindowsVersionsResponseMapOutput) ToWindowsVersionsResponseMapOutput() WindowsVersionsResponseMapOutput { + return o +} + +func (o WindowsVersionsResponseMapOutput) ToWindowsVersionsResponseMapOutputWithContext(ctx context.Context) WindowsVersionsResponseMapOutput { + return o +} + +func (o WindowsVersionsResponseMapOutput) MapIndex(k pulumi.StringInput) WindowsVersionsResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) WindowsVersionsResponse { + return vs[0].(map[string]WindowsVersionsResponse)[vs[1].(string)] + }).(WindowsVersionsResponseOutput) +} + // Configuration for direct-path (via ALTS) with workload identity. type WorkloadALTSConfig struct { // enable_alts controls whether the alts handshaker should be enabled or not for direct-path. Requires Workload Identity (workload_pool must be non-empty). @@ -26415,6 +26626,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*StatusConditionArrayInput)(nil)).Elem(), StatusConditionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TimeWindowInput)(nil)).Elem(), TimeWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TimeWindowPtrInput)(nil)).Elem(), TimeWindowArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TimeWindowMapInput)(nil)).Elem(), TimeWindowMap{}) pulumi.RegisterInputType(reflect.TypeOf((*TpuConfigInput)(nil)).Elem(), TpuConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TpuConfigPtrInput)(nil)).Elem(), TpuConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UpgradeSettingsInput)(nil)).Elem(), UpgradeSettingsArgs{}) @@ -26529,6 +26741,7 @@ func init() { pulumi.RegisterOutputType(DatabaseEncryptionOutput{}) pulumi.RegisterOutputType(DatabaseEncryptionPtrOutput{}) pulumi.RegisterOutputType(DatabaseEncryptionResponseOutput{}) + pulumi.RegisterOutputType(DateResponseOutput{}) pulumi.RegisterOutputType(DefaultSnatStatusOutput{}) pulumi.RegisterOutputType(DefaultSnatStatusPtrOutput{}) pulumi.RegisterOutputType(DefaultSnatStatusResponseOutput{}) @@ -26796,7 +27009,9 @@ func init() { pulumi.RegisterOutputType(StatusConditionResponseArrayOutput{}) pulumi.RegisterOutputType(TimeWindowOutput{}) pulumi.RegisterOutputType(TimeWindowPtrOutput{}) + pulumi.RegisterOutputType(TimeWindowMapOutput{}) pulumi.RegisterOutputType(TimeWindowResponseOutput{}) + pulumi.RegisterOutputType(TimeWindowResponseMapOutput{}) pulumi.RegisterOutputType(TpuConfigOutput{}) pulumi.RegisterOutputType(TpuConfigPtrOutput{}) pulumi.RegisterOutputType(TpuConfigResponseOutput{}) @@ -26813,6 +27028,10 @@ func init() { pulumi.RegisterOutputType(WindowsNodeConfigOutput{}) pulumi.RegisterOutputType(WindowsNodeConfigPtrOutput{}) pulumi.RegisterOutputType(WindowsNodeConfigResponseOutput{}) + pulumi.RegisterOutputType(WindowsVersionResponseOutput{}) + pulumi.RegisterOutputType(WindowsVersionResponseArrayOutput{}) + pulumi.RegisterOutputType(WindowsVersionsResponseOutput{}) + pulumi.RegisterOutputType(WindowsVersionsResponseMapOutput{}) pulumi.RegisterOutputType(WorkloadALTSConfigOutput{}) pulumi.RegisterOutputType(WorkloadALTSConfigPtrOutput{}) pulumi.RegisterOutputType(WorkloadALTSConfigResponseOutput{}) diff --git a/sdk/go/google/containeranalysis/v1/pulumiTypes.go b/sdk/go/google/containeranalysis/v1/pulumiTypes.go index 9cf392af93..254da79eff 100644 --- a/sdk/go/google/containeranalysis/v1/pulumiTypes.go +++ b/sdk/go/google/containeranalysis/v1/pulumiTypes.go @@ -1485,10 +1485,10 @@ func (o BindingResponseArrayOutput) Index(i pulumi.IntInput) BindingResponseOutp } type BuildDefinition struct { - BuildType *string `pulumi:"buildType"` - ExternalParameters map[string]string `pulumi:"externalParameters"` - InternalParameters map[string]string `pulumi:"internalParameters"` - ResolvedDependencies []ResourceDescriptor `pulumi:"resolvedDependencies"` + BuildType *string `pulumi:"buildType"` + ExternalParameters map[string]interface{} `pulumi:"externalParameters"` + InternalParameters map[string]interface{} `pulumi:"internalParameters"` + ResolvedDependencies []ResourceDescriptor `pulumi:"resolvedDependencies"` } // BuildDefinitionInput is an input type that accepts BuildDefinitionArgs and BuildDefinitionOutput values. @@ -1504,8 +1504,8 @@ type BuildDefinitionInput interface { type BuildDefinitionArgs struct { BuildType pulumi.StringPtrInput `pulumi:"buildType"` - ExternalParameters pulumi.StringMapInput `pulumi:"externalParameters"` - InternalParameters pulumi.StringMapInput `pulumi:"internalParameters"` + ExternalParameters pulumi.MapInput `pulumi:"externalParameters"` + InternalParameters pulumi.MapInput `pulumi:"internalParameters"` ResolvedDependencies ResourceDescriptorArrayInput `pulumi:"resolvedDependencies"` } @@ -1590,12 +1590,12 @@ func (o BuildDefinitionOutput) BuildType() pulumi.StringPtrOutput { return o.ApplyT(func(v BuildDefinition) *string { return v.BuildType }).(pulumi.StringPtrOutput) } -func (o BuildDefinitionOutput) ExternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinition) map[string]string { return v.ExternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionOutput) ExternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinition) map[string]interface{} { return v.ExternalParameters }).(pulumi.MapOutput) } -func (o BuildDefinitionOutput) InternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinition) map[string]string { return v.InternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionOutput) InternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinition) map[string]interface{} { return v.InternalParameters }).(pulumi.MapOutput) } func (o BuildDefinitionOutput) ResolvedDependencies() ResourceDescriptorArrayOutput { @@ -1635,22 +1635,22 @@ func (o BuildDefinitionPtrOutput) BuildType() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -func (o BuildDefinitionPtrOutput) ExternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *BuildDefinition) map[string]string { +func (o BuildDefinitionPtrOutput) ExternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v *BuildDefinition) map[string]interface{} { if v == nil { return nil } return v.ExternalParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } -func (o BuildDefinitionPtrOutput) InternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *BuildDefinition) map[string]string { +func (o BuildDefinitionPtrOutput) InternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v *BuildDefinition) map[string]interface{} { if v == nil { return nil } return v.InternalParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } func (o BuildDefinitionPtrOutput) ResolvedDependencies() ResourceDescriptorArrayOutput { @@ -1664,8 +1664,8 @@ func (o BuildDefinitionPtrOutput) ResolvedDependencies() ResourceDescriptorArray type BuildDefinitionResponse struct { BuildType string `pulumi:"buildType"` - ExternalParameters map[string]string `pulumi:"externalParameters"` - InternalParameters map[string]string `pulumi:"internalParameters"` + ExternalParameters map[string]interface{} `pulumi:"externalParameters"` + InternalParameters map[string]interface{} `pulumi:"internalParameters"` ResolvedDependencies []ResourceDescriptorResponse `pulumi:"resolvedDependencies"` } @@ -1687,12 +1687,12 @@ func (o BuildDefinitionResponseOutput) BuildType() pulumi.StringOutput { return o.ApplyT(func(v BuildDefinitionResponse) string { return v.BuildType }).(pulumi.StringOutput) } -func (o BuildDefinitionResponseOutput) ExternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinitionResponse) map[string]string { return v.ExternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionResponseOutput) ExternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinitionResponse) map[string]interface{} { return v.ExternalParameters }).(pulumi.MapOutput) } -func (o BuildDefinitionResponseOutput) InternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinitionResponse) map[string]string { return v.InternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionResponseOutput) InternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinitionResponse) map[string]interface{} { return v.InternalParameters }).(pulumi.MapOutput) } func (o BuildDefinitionResponseOutput) ResolvedDependencies() ResourceDescriptorResponseArrayOutput { @@ -8223,6 +8223,152 @@ func (o ExprResponseOutput) Title() pulumi.StringOutput { return o.ApplyT(func(v ExprResponse) string { return v.Title }).(pulumi.StringOutput) } +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashes struct { + // Collection of file hashes. + FileHash []Hash `pulumi:"fileHash"` +} + +// FileHashesInput is an input type that accepts FileHashesArgs and FileHashesOutput values. +// You can construct a concrete instance of `FileHashesInput` via: +// +// FileHashesArgs{...} +type FileHashesInput interface { + pulumi.Input + + ToFileHashesOutput() FileHashesOutput + ToFileHashesOutputWithContext(context.Context) FileHashesOutput +} + +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashesArgs struct { + // Collection of file hashes. + FileHash HashArrayInput `pulumi:"fileHash"` +} + +func (FileHashesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FileHashes)(nil)).Elem() +} + +func (i FileHashesArgs) ToFileHashesOutput() FileHashesOutput { + return i.ToFileHashesOutputWithContext(context.Background()) +} + +func (i FileHashesArgs) ToFileHashesOutputWithContext(ctx context.Context) FileHashesOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileHashesOutput) +} + +// FileHashesMapInput is an input type that accepts FileHashesMap and FileHashesMapOutput values. +// You can construct a concrete instance of `FileHashesMapInput` via: +// +// FileHashesMap{ "key": FileHashesArgs{...} } +type FileHashesMapInput interface { + pulumi.Input + + ToFileHashesMapOutput() FileHashesMapOutput + ToFileHashesMapOutputWithContext(context.Context) FileHashesMapOutput +} + +type FileHashesMap map[string]FileHashesInput + +func (FileHashesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashes)(nil)).Elem() +} + +func (i FileHashesMap) ToFileHashesMapOutput() FileHashesMapOutput { + return i.ToFileHashesMapOutputWithContext(context.Background()) +} + +func (i FileHashesMap) ToFileHashesMapOutputWithContext(ctx context.Context) FileHashesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileHashesMapOutput) +} + +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashesOutput struct{ *pulumi.OutputState } + +func (FileHashesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileHashes)(nil)).Elem() +} + +func (o FileHashesOutput) ToFileHashesOutput() FileHashesOutput { + return o +} + +func (o FileHashesOutput) ToFileHashesOutputWithContext(ctx context.Context) FileHashesOutput { + return o +} + +// Collection of file hashes. +func (o FileHashesOutput) FileHash() HashArrayOutput { + return o.ApplyT(func(v FileHashes) []Hash { return v.FileHash }).(HashArrayOutput) +} + +type FileHashesMapOutput struct{ *pulumi.OutputState } + +func (FileHashesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashes)(nil)).Elem() +} + +func (o FileHashesMapOutput) ToFileHashesMapOutput() FileHashesMapOutput { + return o +} + +func (o FileHashesMapOutput) ToFileHashesMapOutputWithContext(ctx context.Context) FileHashesMapOutput { + return o +} + +func (o FileHashesMapOutput) MapIndex(k pulumi.StringInput) FileHashesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileHashes { + return vs[0].(map[string]FileHashes)[vs[1].(string)] + }).(FileHashesOutput) +} + +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashesResponse struct { + // Collection of file hashes. + FileHash []HashResponse `pulumi:"fileHash"` +} + +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashesResponseOutput struct{ *pulumi.OutputState } + +func (FileHashesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileHashesResponse)(nil)).Elem() +} + +func (o FileHashesResponseOutput) ToFileHashesResponseOutput() FileHashesResponseOutput { + return o +} + +func (o FileHashesResponseOutput) ToFileHashesResponseOutputWithContext(ctx context.Context) FileHashesResponseOutput { + return o +} + +// Collection of file hashes. +func (o FileHashesResponseOutput) FileHash() HashResponseArrayOutput { + return o.ApplyT(func(v FileHashesResponse) []HashResponse { return v.FileHash }).(HashResponseArrayOutput) +} + +type FileHashesResponseMapOutput struct{ *pulumi.OutputState } + +func (FileHashesResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashesResponse)(nil)).Elem() +} + +func (o FileHashesResponseMapOutput) ToFileHashesResponseMapOutput() FileHashesResponseMapOutput { + return o +} + +func (o FileHashesResponseMapOutput) ToFileHashesResponseMapOutputWithContext(ctx context.Context) FileHashesResponseMapOutput { + return o +} + +func (o FileHashesResponseMapOutput) MapIndex(k pulumi.StringInput) FileHashesResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileHashesResponse { + return vs[0].(map[string]FileHashesResponse)[vs[1].(string)] + }).(FileHashesResponseOutput) +} + // A set of properties that uniquely identify a given Docker image. type Fingerprint struct { // The layer ID of the final layer in the Docker image's v1 representation. @@ -9562,8 +9708,8 @@ func (o GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceResponseOutput) Uri() pulu // Identifies the event that kicked off the build. type GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation struct { ConfigSource *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource `pulumi:"configSource"` - Environment map[string]string `pulumi:"environment"` - Parameters map[string]string `pulumi:"parameters"` + Environment map[string]interface{} `pulumi:"environment"` + Parameters map[string]interface{} `pulumi:"parameters"` } // GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationInput is an input type that accepts GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs and GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationOutput values. @@ -9580,8 +9726,8 @@ type GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationInput interface { // Identifies the event that kicked off the build. type GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs struct { ConfigSource GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourcePtrInput `pulumi:"configSource"` - Environment pulumi.StringMapInput `pulumi:"environment"` - Parameters pulumi.StringMapInput `pulumi:"parameters"` + Environment pulumi.MapInput `pulumi:"environment"` + Parameters pulumi.MapInput `pulumi:"parameters"` } func (GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs) ElementType() reflect.Type { @@ -9668,12 +9814,12 @@ func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationOutput) ConfigSource() Grafe }).(GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourcePtrOutput) } -func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) map[string]string { return v.Environment }).(pulumi.StringMapOutput) +func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) map[string]interface{} { return v.Environment }).(pulumi.MapOutput) } -func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) map[string]interface{} { return v.Parameters }).(pulumi.MapOutput) } type GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput struct{ *pulumi.OutputState } @@ -9709,29 +9855,29 @@ func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput) ConfigSource() Gr }).(GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourcePtrOutput) } -func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) map[string]string { +func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) map[string]interface{} { if v == nil { return nil } return v.Environment - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } -func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) map[string]string { +func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) map[string]interface{} { if v == nil { return nil } return v.Parameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Identifies the event that kicked off the build. type GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse struct { ConfigSource GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceResponse `pulumi:"configSource"` - Environment map[string]string `pulumi:"environment"` - Parameters map[string]string `pulumi:"parameters"` + Environment map[string]interface{} `pulumi:"environment"` + Parameters map[string]interface{} `pulumi:"parameters"` } // Identifies the event that kicked off the build. @@ -9755,12 +9901,16 @@ func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponseOutput) ConfigSource }).(GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceResponseOutput) } -func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponseOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse) map[string]string { return v.Environment }).(pulumi.StringMapOutput) +func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponseOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse) map[string]interface{} { + return v.Environment + }).(pulumi.MapOutput) } -func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponseOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponseOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse) map[string]interface{} { + return v.Parameters + }).(pulumi.MapOutput) } // The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on. @@ -10159,6 +10309,168 @@ func (o GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataResponseOutput) Reproducible() return o.ApplyT(func(v GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataResponse) bool { return v.Reproducible }).(pulumi.BoolOutput) } +// Container message for hash values. +type Hash struct { + // The type of hash that was performed, e.g. "SHA-256". + Type string `pulumi:"type"` + // The hash value. + Value string `pulumi:"value"` +} + +// HashInput is an input type that accepts HashArgs and HashOutput values. +// You can construct a concrete instance of `HashInput` via: +// +// HashArgs{...} +type HashInput interface { + pulumi.Input + + ToHashOutput() HashOutput + ToHashOutputWithContext(context.Context) HashOutput +} + +// Container message for hash values. +type HashArgs struct { + // The type of hash that was performed, e.g. "SHA-256". + Type pulumi.StringInput `pulumi:"type"` + // The hash value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (HashArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Hash)(nil)).Elem() +} + +func (i HashArgs) ToHashOutput() HashOutput { + return i.ToHashOutputWithContext(context.Background()) +} + +func (i HashArgs) ToHashOutputWithContext(ctx context.Context) HashOutput { + return pulumi.ToOutputWithContext(ctx, i).(HashOutput) +} + +// HashArrayInput is an input type that accepts HashArray and HashArrayOutput values. +// You can construct a concrete instance of `HashArrayInput` via: +// +// HashArray{ HashArgs{...} } +type HashArrayInput interface { + pulumi.Input + + ToHashArrayOutput() HashArrayOutput + ToHashArrayOutputWithContext(context.Context) HashArrayOutput +} + +type HashArray []HashInput + +func (HashArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]Hash)(nil)).Elem() +} + +func (i HashArray) ToHashArrayOutput() HashArrayOutput { + return i.ToHashArrayOutputWithContext(context.Background()) +} + +func (i HashArray) ToHashArrayOutputWithContext(ctx context.Context) HashArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HashArrayOutput) +} + +// Container message for hash values. +type HashOutput struct{ *pulumi.OutputState } + +func (HashOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Hash)(nil)).Elem() +} + +func (o HashOutput) ToHashOutput() HashOutput { + return o +} + +func (o HashOutput) ToHashOutputWithContext(ctx context.Context) HashOutput { + return o +} + +// The type of hash that was performed, e.g. "SHA-256". +func (o HashOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v Hash) string { return v.Type }).(pulumi.StringOutput) +} + +// The hash value. +func (o HashOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v Hash) string { return v.Value }).(pulumi.StringOutput) +} + +type HashArrayOutput struct{ *pulumi.OutputState } + +func (HashArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]Hash)(nil)).Elem() +} + +func (o HashArrayOutput) ToHashArrayOutput() HashArrayOutput { + return o +} + +func (o HashArrayOutput) ToHashArrayOutputWithContext(ctx context.Context) HashArrayOutput { + return o +} + +func (o HashArrayOutput) Index(i pulumi.IntInput) HashOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) Hash { + return vs[0].([]Hash)[vs[1].(int)] + }).(HashOutput) +} + +// Container message for hash values. +type HashResponse struct { + // The type of hash that was performed, e.g. "SHA-256". + Type string `pulumi:"type"` + // The hash value. + Value string `pulumi:"value"` +} + +// Container message for hash values. +type HashResponseOutput struct{ *pulumi.OutputState } + +func (HashResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HashResponse)(nil)).Elem() +} + +func (o HashResponseOutput) ToHashResponseOutput() HashResponseOutput { + return o +} + +func (o HashResponseOutput) ToHashResponseOutputWithContext(ctx context.Context) HashResponseOutput { + return o +} + +// The type of hash that was performed, e.g. "SHA-256". +func (o HashResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v HashResponse) string { return v.Type }).(pulumi.StringOutput) +} + +// The hash value. +func (o HashResponseOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v HashResponse) string { return v.Value }).(pulumi.StringOutput) +} + +type HashResponseArrayOutput struct{ *pulumi.OutputState } + +func (HashResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HashResponse)(nil)).Elem() +} + +func (o HashResponseArrayOutput) ToHashResponseArrayOutput() HashResponseArrayOutput { + return o +} + +func (o HashResponseArrayOutput) ToHashResponseArrayOutputWithContext(ctx context.Context) HashResponseArrayOutput { + return o +} + +func (o HashResponseArrayOutput) Index(i pulumi.IntInput) HashResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HashResponse { + return vs[0].([]HashResponse)[vs[1].(int)] + }).(HashResponseOutput) +} + // This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from "readable" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify. type Hint struct { // The human readable name of this attestation authority, for example "qa". @@ -15029,13 +15341,13 @@ func (o PublisherResponseOutput) PublisherNamespace() pulumi.StringOutput { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type Recipe struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". - Arguments []map[string]string `pulumi:"arguments"` + Arguments []map[string]interface{} `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial *string `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint *string `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". - Environment []map[string]string `pulumi:"environment"` + Environment []map[string]interface{} `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type *string `pulumi:"type"` } @@ -15054,13 +15366,13 @@ type RecipeInput interface { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type RecipeArgs struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". - Arguments pulumi.StringMapArrayInput `pulumi:"arguments"` + Arguments pulumi.MapArrayInput `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial pulumi.StringPtrInput `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint pulumi.StringPtrInput `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". - Environment pulumi.StringMapArrayInput `pulumi:"environment"` + Environment pulumi.MapArrayInput `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -15144,8 +15456,8 @@ func (o RecipeOutput) ToRecipePtrOutputWithContext(ctx context.Context) RecipePt } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". -func (o RecipeOutput) Arguments() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v Recipe) []map[string]string { return v.Arguments }).(pulumi.StringMapArrayOutput) +func (o RecipeOutput) Arguments() pulumi.MapArrayOutput { + return o.ApplyT(func(v Recipe) []map[string]interface{} { return v.Arguments }).(pulumi.MapArrayOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -15159,8 +15471,8 @@ func (o RecipeOutput) EntryPoint() pulumi.StringPtrOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". -func (o RecipeOutput) Environment() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v Recipe) []map[string]string { return v.Environment }).(pulumi.StringMapArrayOutput) +func (o RecipeOutput) Environment() pulumi.MapArrayOutput { + return o.ApplyT(func(v Recipe) []map[string]interface{} { return v.Environment }).(pulumi.MapArrayOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -15193,13 +15505,13 @@ func (o RecipePtrOutput) Elem() RecipeOutput { } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". -func (o RecipePtrOutput) Arguments() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *Recipe) []map[string]string { +func (o RecipePtrOutput) Arguments() pulumi.MapArrayOutput { + return o.ApplyT(func(v *Recipe) []map[string]interface{} { if v == nil { return nil } return v.Arguments - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -15223,13 +15535,13 @@ func (o RecipePtrOutput) EntryPoint() pulumi.StringPtrOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". -func (o RecipePtrOutput) Environment() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *Recipe) []map[string]string { +func (o RecipePtrOutput) Environment() pulumi.MapArrayOutput { + return o.ApplyT(func(v *Recipe) []map[string]interface{} { if v == nil { return nil } return v.Environment - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -15245,13 +15557,13 @@ func (o RecipePtrOutput) Type() pulumi.StringPtrOutput { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type RecipeResponse struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". - Arguments []map[string]string `pulumi:"arguments"` + Arguments []map[string]interface{} `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial string `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint string `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". - Environment []map[string]string `pulumi:"environment"` + Environment []map[string]interface{} `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type string `pulumi:"type"` } @@ -15272,8 +15584,8 @@ func (o RecipeResponseOutput) ToRecipeResponseOutputWithContext(ctx context.Cont } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". -func (o RecipeResponseOutput) Arguments() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v RecipeResponse) []map[string]string { return v.Arguments }).(pulumi.StringMapArrayOutput) +func (o RecipeResponseOutput) Arguments() pulumi.MapArrayOutput { + return o.ApplyT(func(v RecipeResponse) []map[string]interface{} { return v.Arguments }).(pulumi.MapArrayOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -15287,8 +15599,8 @@ func (o RecipeResponseOutput) EntryPoint() pulumi.StringOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". -func (o RecipeResponseOutput) Environment() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v RecipeResponse) []map[string]string { return v.Environment }).(pulumi.StringMapArrayOutput) +func (o RecipeResponseOutput) Environment() pulumi.MapArrayOutput { + return o.ApplyT(func(v RecipeResponse) []map[string]interface{} { return v.Environment }).(pulumi.MapArrayOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -15924,13 +16236,13 @@ func (o RepoIdResponseOutput) Uid() pulumi.StringOutput { } type ResourceDescriptor struct { - Annotations map[string]string `pulumi:"annotations"` - Content *string `pulumi:"content"` - Digest map[string]string `pulumi:"digest"` - DownloadLocation *string `pulumi:"downloadLocation"` - MediaType *string `pulumi:"mediaType"` - Name *string `pulumi:"name"` - Uri *string `pulumi:"uri"` + Annotations map[string]interface{} `pulumi:"annotations"` + Content *string `pulumi:"content"` + Digest map[string]string `pulumi:"digest"` + DownloadLocation *string `pulumi:"downloadLocation"` + MediaType *string `pulumi:"mediaType"` + Name *string `pulumi:"name"` + Uri *string `pulumi:"uri"` } // ResourceDescriptorInput is an input type that accepts ResourceDescriptorArgs and ResourceDescriptorOutput values. @@ -15945,7 +16257,7 @@ type ResourceDescriptorInput interface { } type ResourceDescriptorArgs struct { - Annotations pulumi.StringMapInput `pulumi:"annotations"` + Annotations pulumi.MapInput `pulumi:"annotations"` Content pulumi.StringPtrInput `pulumi:"content"` Digest pulumi.StringMapInput `pulumi:"digest"` DownloadLocation pulumi.StringPtrInput `pulumi:"downloadLocation"` @@ -16005,8 +16317,8 @@ func (o ResourceDescriptorOutput) ToResourceDescriptorOutputWithContext(ctx cont return o } -func (o ResourceDescriptorOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v ResourceDescriptor) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +func (o ResourceDescriptorOutput) Annotations() pulumi.MapOutput { + return o.ApplyT(func(v ResourceDescriptor) map[string]interface{} { return v.Annotations }).(pulumi.MapOutput) } func (o ResourceDescriptorOutput) Content() pulumi.StringPtrOutput { @@ -16054,13 +16366,13 @@ func (o ResourceDescriptorArrayOutput) Index(i pulumi.IntInput) ResourceDescript } type ResourceDescriptorResponse struct { - Annotations map[string]string `pulumi:"annotations"` - Content string `pulumi:"content"` - Digest map[string]string `pulumi:"digest"` - DownloadLocation string `pulumi:"downloadLocation"` - MediaType string `pulumi:"mediaType"` - Name string `pulumi:"name"` - Uri string `pulumi:"uri"` + Annotations map[string]interface{} `pulumi:"annotations"` + Content string `pulumi:"content"` + Digest map[string]string `pulumi:"digest"` + DownloadLocation string `pulumi:"downloadLocation"` + MediaType string `pulumi:"mediaType"` + Name string `pulumi:"name"` + Uri string `pulumi:"uri"` } type ResourceDescriptorResponseOutput struct{ *pulumi.OutputState } @@ -16077,8 +16389,8 @@ func (o ResourceDescriptorResponseOutput) ToResourceDescriptorResponseOutputWith return o } -func (o ResourceDescriptorResponseOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v ResourceDescriptorResponse) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +func (o ResourceDescriptorResponseOutput) Annotations() pulumi.MapOutput { + return o.ApplyT(func(v ResourceDescriptorResponse) map[string]interface{} { return v.Annotations }).(pulumi.MapOutput) } func (o ResourceDescriptorResponseOutput) Content() pulumi.StringOutput { @@ -18625,7 +18937,7 @@ func (o SlsaProvenanceV1ResponseOutput) RunDetails() RunDetailsResponseOutput { // See full explanation of fields at slsa.dev/provenance/v0.2. type SlsaProvenanceZeroTwo struct { - BuildConfig map[string]string `pulumi:"buildConfig"` + BuildConfig map[string]interface{} `pulumi:"buildConfig"` BuildType *string `pulumi:"buildType"` Builder *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder `pulumi:"builder"` Invocation *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation `pulumi:"invocation"` @@ -18646,7 +18958,7 @@ type SlsaProvenanceZeroTwoInput interface { // See full explanation of fields at slsa.dev/provenance/v0.2. type SlsaProvenanceZeroTwoArgs struct { - BuildConfig pulumi.StringMapInput `pulumi:"buildConfig"` + BuildConfig pulumi.MapInput `pulumi:"buildConfig"` BuildType pulumi.StringPtrInput `pulumi:"buildType"` Builder GrafeasV1SlsaProvenanceZeroTwoSlsaBuilderPtrInput `pulumi:"builder"` Invocation GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationPtrInput `pulumi:"invocation"` @@ -18732,8 +19044,8 @@ func (o SlsaProvenanceZeroTwoOutput) ToSlsaProvenanceZeroTwoPtrOutputWithContext }).(SlsaProvenanceZeroTwoPtrOutput) } -func (o SlsaProvenanceZeroTwoOutput) BuildConfig() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaProvenanceZeroTwo) map[string]string { return v.BuildConfig }).(pulumi.StringMapOutput) +func (o SlsaProvenanceZeroTwoOutput) BuildConfig() pulumi.MapOutput { + return o.ApplyT(func(v SlsaProvenanceZeroTwo) map[string]interface{} { return v.BuildConfig }).(pulumi.MapOutput) } func (o SlsaProvenanceZeroTwoOutput) BuildType() pulumi.StringPtrOutput { @@ -18780,13 +19092,13 @@ func (o SlsaProvenanceZeroTwoPtrOutput) Elem() SlsaProvenanceZeroTwoOutput { }).(SlsaProvenanceZeroTwoOutput) } -func (o SlsaProvenanceZeroTwoPtrOutput) BuildConfig() pulumi.StringMapOutput { - return o.ApplyT(func(v *SlsaProvenanceZeroTwo) map[string]string { +func (o SlsaProvenanceZeroTwoPtrOutput) BuildConfig() pulumi.MapOutput { + return o.ApplyT(func(v *SlsaProvenanceZeroTwo) map[string]interface{} { if v == nil { return nil } return v.BuildConfig - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } func (o SlsaProvenanceZeroTwoPtrOutput) BuildType() pulumi.StringPtrOutput { @@ -18836,7 +19148,7 @@ func (o SlsaProvenanceZeroTwoPtrOutput) Metadata() GrafeasV1SlsaProvenanceZeroTw // See full explanation of fields at slsa.dev/provenance/v0.2. type SlsaProvenanceZeroTwoResponse struct { - BuildConfig map[string]string `pulumi:"buildConfig"` + BuildConfig map[string]interface{} `pulumi:"buildConfig"` BuildType string `pulumi:"buildType"` Builder GrafeasV1SlsaProvenanceZeroTwoSlsaBuilderResponse `pulumi:"builder"` Invocation GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse `pulumi:"invocation"` @@ -18859,8 +19171,8 @@ func (o SlsaProvenanceZeroTwoResponseOutput) ToSlsaProvenanceZeroTwoResponseOutp return o } -func (o SlsaProvenanceZeroTwoResponseOutput) BuildConfig() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaProvenanceZeroTwoResponse) map[string]string { return v.BuildConfig }).(pulumi.StringMapOutput) +func (o SlsaProvenanceZeroTwoResponseOutput) BuildConfig() pulumi.MapOutput { + return o.ApplyT(func(v SlsaProvenanceZeroTwoResponse) map[string]interface{} { return v.BuildConfig }).(pulumi.MapOutput) } func (o SlsaProvenanceZeroTwoResponseOutput) BuildType() pulumi.StringOutput { @@ -18894,13 +19206,13 @@ func (o SlsaProvenanceZeroTwoResponseOutput) Metadata() GrafeasV1SlsaProvenanceZ // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type SlsaRecipe struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. - Arguments map[string]string `pulumi:"arguments"` + Arguments map[string]interface{} `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial *string `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint *string `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. - Environment map[string]string `pulumi:"environment"` + Environment map[string]interface{} `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type *string `pulumi:"type"` } @@ -18919,13 +19231,13 @@ type SlsaRecipeInput interface { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type SlsaRecipeArgs struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. - Arguments pulumi.StringMapInput `pulumi:"arguments"` + Arguments pulumi.MapInput `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial pulumi.StringPtrInput `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint pulumi.StringPtrInput `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. - Environment pulumi.StringMapInput `pulumi:"environment"` + Environment pulumi.MapInput `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -19009,8 +19321,8 @@ func (o SlsaRecipeOutput) ToSlsaRecipePtrOutputWithContext(ctx context.Context) } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipeOutput) Arguments() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaRecipe) map[string]string { return v.Arguments }).(pulumi.StringMapOutput) +func (o SlsaRecipeOutput) Arguments() pulumi.MapOutput { + return o.ApplyT(func(v SlsaRecipe) map[string]interface{} { return v.Arguments }).(pulumi.MapOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -19024,8 +19336,8 @@ func (o SlsaRecipeOutput) EntryPoint() pulumi.StringPtrOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipeOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaRecipe) map[string]string { return v.Environment }).(pulumi.StringMapOutput) +func (o SlsaRecipeOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v SlsaRecipe) map[string]interface{} { return v.Environment }).(pulumi.MapOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -19058,13 +19370,13 @@ func (o SlsaRecipePtrOutput) Elem() SlsaRecipeOutput { } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipePtrOutput) Arguments() pulumi.StringMapOutput { - return o.ApplyT(func(v *SlsaRecipe) map[string]string { +func (o SlsaRecipePtrOutput) Arguments() pulumi.MapOutput { + return o.ApplyT(func(v *SlsaRecipe) map[string]interface{} { if v == nil { return nil } return v.Arguments - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -19088,13 +19400,13 @@ func (o SlsaRecipePtrOutput) EntryPoint() pulumi.StringPtrOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipePtrOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v *SlsaRecipe) map[string]string { +func (o SlsaRecipePtrOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v *SlsaRecipe) map[string]interface{} { if v == nil { return nil } return v.Environment - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -19110,13 +19422,13 @@ func (o SlsaRecipePtrOutput) Type() pulumi.StringPtrOutput { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type SlsaRecipeResponse struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. - Arguments map[string]string `pulumi:"arguments"` + Arguments map[string]interface{} `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial string `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint string `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. - Environment map[string]string `pulumi:"environment"` + Environment map[string]interface{} `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type string `pulumi:"type"` } @@ -19137,8 +19449,8 @@ func (o SlsaRecipeResponseOutput) ToSlsaRecipeResponseOutputWithContext(ctx cont } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipeResponseOutput) Arguments() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaRecipeResponse) map[string]string { return v.Arguments }).(pulumi.StringMapOutput) +func (o SlsaRecipeResponseOutput) Arguments() pulumi.MapOutput { + return o.ApplyT(func(v SlsaRecipeResponse) map[string]interface{} { return v.Arguments }).(pulumi.MapOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -19152,8 +19464,8 @@ func (o SlsaRecipeResponseOutput) EntryPoint() pulumi.StringOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipeResponseOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaRecipeResponse) map[string]string { return v.Environment }).(pulumi.StringMapOutput) +func (o SlsaRecipeResponseOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v SlsaRecipeResponse) map[string]interface{} { return v.Environment }).(pulumi.MapOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -19170,7 +19482,7 @@ type Source struct { // If provided, the source code used for the build came from this location. Context *SourceContext `pulumi:"context"` // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. - FileHashes map[string]string `pulumi:"fileHashes"` + FileHashes map[string]FileHashes `pulumi:"fileHashes"` } // SourceInput is an input type that accepts SourceArgs and SourceOutput values. @@ -19193,7 +19505,7 @@ type SourceArgs struct { // If provided, the source code used for the build came from this location. Context SourceContextPtrInput `pulumi:"context"` // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. - FileHashes pulumi.StringMapInput `pulumi:"fileHashes"` + FileHashes FileHashesMapInput `pulumi:"fileHashes"` } func (SourceArgs) ElementType() reflect.Type { @@ -19290,8 +19602,8 @@ func (o SourceOutput) Context() SourceContextPtrOutput { } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. -func (o SourceOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v Source) map[string]string { return v.FileHashes }).(pulumi.StringMapOutput) +func (o SourceOutput) FileHashes() FileHashesMapOutput { + return o.ApplyT(func(v Source) map[string]FileHashes { return v.FileHashes }).(FileHashesMapOutput) } type SourcePtrOutput struct{ *pulumi.OutputState } @@ -19349,13 +19661,13 @@ func (o SourcePtrOutput) Context() SourceContextPtrOutput { } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. -func (o SourcePtrOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Source) map[string]string { +func (o SourcePtrOutput) FileHashes() FileHashesMapOutput { + return o.ApplyT(func(v *Source) map[string]FileHashes { if v == nil { return nil } return v.FileHashes - }).(pulumi.StringMapOutput) + }).(FileHashesMapOutput) } // A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory. @@ -19676,7 +19988,7 @@ type SourceResponse struct { // If provided, the source code used for the build came from this location. Context SourceContextResponse `pulumi:"context"` // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. - FileHashes map[string]string `pulumi:"fileHashes"` + FileHashes map[string]FileHashesResponse `pulumi:"fileHashes"` } // Source describes the location of the source used for the build. @@ -19710,8 +20022,8 @@ func (o SourceResponseOutput) Context() SourceContextResponseOutput { } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. -func (o SourceResponseOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v SourceResponse) map[string]string { return v.FileHashes }).(pulumi.StringMapOutput) +func (o SourceResponseOutput) FileHashes() FileHashesResponseMapOutput { + return o.ApplyT(func(v SourceResponse) map[string]FileHashesResponse { return v.FileHashes }).(FileHashesResponseMapOutput) } // The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). @@ -19719,7 +20031,7 @@ type Status struct { // The status code, which should be an enum value of google.rpc.Code. Code *int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message *string `pulumi:"message"` } @@ -19740,7 +20052,7 @@ type StatusArgs struct { // The status code, which should be an enum value of google.rpc.Code. Code pulumi.IntPtrInput `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details pulumi.StringMapArrayInput `pulumi:"details"` + Details pulumi.MapArrayInput `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message pulumi.StringPtrInput `pulumi:"message"` } @@ -19854,8 +20166,8 @@ func (o StatusOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v Status) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v Status) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -19898,13 +20210,13 @@ func (o StatusPtrOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusPtrOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *Status) []map[string]string { +func (o StatusPtrOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v *Status) []map[string]interface{} { if v == nil { return nil } return v.Details - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -19942,7 +20254,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -19968,8 +20280,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -23221,6 +23533,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EnvelopeSignatureArrayInput)(nil)).Elem(), EnvelopeSignatureArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ExprInput)(nil)).Elem(), ExprArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExprPtrInput)(nil)).Elem(), ExprArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileHashesInput)(nil)).Elem(), FileHashesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileHashesMapInput)(nil)).Elem(), FileHashesMap{}) pulumi.RegisterInputType(reflect.TypeOf((*FingerprintInput)(nil)).Elem(), FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FingerprintPtrInput)(nil)).Elem(), FingerprintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GerritSourceContextInput)(nil)).Elem(), GerritSourceContextArgs{}) @@ -23241,6 +23555,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterialArrayInput)(nil)).Elem(), GrafeasV1SlsaProvenanceZeroTwoSlsaMaterialArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataInput)(nil)).Elem(), GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataPtrInput)(nil)).Elem(), GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HashInput)(nil)).Elem(), HashArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HashArrayInput)(nil)).Elem(), HashArray{}) pulumi.RegisterInputType(reflect.TypeOf((*HintInput)(nil)).Elem(), HintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HintPtrInput)(nil)).Elem(), HintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IdentityInput)(nil)).Elem(), IdentityArgs{}) @@ -23474,6 +23790,10 @@ func init() { pulumi.RegisterOutputType(ExprOutput{}) pulumi.RegisterOutputType(ExprPtrOutput{}) pulumi.RegisterOutputType(ExprResponseOutput{}) + pulumi.RegisterOutputType(FileHashesOutput{}) + pulumi.RegisterOutputType(FileHashesMapOutput{}) + pulumi.RegisterOutputType(FileHashesResponseOutput{}) + pulumi.RegisterOutputType(FileHashesResponseMapOutput{}) pulumi.RegisterOutputType(FingerprintOutput{}) pulumi.RegisterOutputType(FingerprintPtrOutput{}) pulumi.RegisterOutputType(FingerprintResponseOutput{}) @@ -23506,6 +23826,10 @@ func init() { pulumi.RegisterOutputType(GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataOutput{}) pulumi.RegisterOutputType(GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataPtrOutput{}) pulumi.RegisterOutputType(GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataResponseOutput{}) + pulumi.RegisterOutputType(HashOutput{}) + pulumi.RegisterOutputType(HashArrayOutput{}) + pulumi.RegisterOutputType(HashResponseOutput{}) + pulumi.RegisterOutputType(HashResponseArrayOutput{}) pulumi.RegisterOutputType(HintOutput{}) pulumi.RegisterOutputType(HintPtrOutput{}) pulumi.RegisterOutputType(HintResponseOutput{}) diff --git a/sdk/go/google/containeranalysis/v1alpha1/pulumiTypes.go b/sdk/go/google/containeranalysis/v1alpha1/pulumiTypes.go index ca0fe66240..84e87ddf04 100644 --- a/sdk/go/google/containeranalysis/v1alpha1/pulumiTypes.go +++ b/sdk/go/google/containeranalysis/v1alpha1/pulumiTypes.go @@ -1607,10 +1607,10 @@ func (o BindingResponseArrayOutput) Index(i pulumi.IntInput) BindingResponseOutp } type BuildDefinition struct { - BuildType *string `pulumi:"buildType"` - ExternalParameters map[string]string `pulumi:"externalParameters"` - InternalParameters map[string]string `pulumi:"internalParameters"` - ResolvedDependencies []ResourceDescriptor `pulumi:"resolvedDependencies"` + BuildType *string `pulumi:"buildType"` + ExternalParameters map[string]interface{} `pulumi:"externalParameters"` + InternalParameters map[string]interface{} `pulumi:"internalParameters"` + ResolvedDependencies []ResourceDescriptor `pulumi:"resolvedDependencies"` } // BuildDefinitionInput is an input type that accepts BuildDefinitionArgs and BuildDefinitionOutput values. @@ -1626,8 +1626,8 @@ type BuildDefinitionInput interface { type BuildDefinitionArgs struct { BuildType pulumi.StringPtrInput `pulumi:"buildType"` - ExternalParameters pulumi.StringMapInput `pulumi:"externalParameters"` - InternalParameters pulumi.StringMapInput `pulumi:"internalParameters"` + ExternalParameters pulumi.MapInput `pulumi:"externalParameters"` + InternalParameters pulumi.MapInput `pulumi:"internalParameters"` ResolvedDependencies ResourceDescriptorArrayInput `pulumi:"resolvedDependencies"` } @@ -1712,12 +1712,12 @@ func (o BuildDefinitionOutput) BuildType() pulumi.StringPtrOutput { return o.ApplyT(func(v BuildDefinition) *string { return v.BuildType }).(pulumi.StringPtrOutput) } -func (o BuildDefinitionOutput) ExternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinition) map[string]string { return v.ExternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionOutput) ExternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinition) map[string]interface{} { return v.ExternalParameters }).(pulumi.MapOutput) } -func (o BuildDefinitionOutput) InternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinition) map[string]string { return v.InternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionOutput) InternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinition) map[string]interface{} { return v.InternalParameters }).(pulumi.MapOutput) } func (o BuildDefinitionOutput) ResolvedDependencies() ResourceDescriptorArrayOutput { @@ -1757,22 +1757,22 @@ func (o BuildDefinitionPtrOutput) BuildType() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -func (o BuildDefinitionPtrOutput) ExternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *BuildDefinition) map[string]string { +func (o BuildDefinitionPtrOutput) ExternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v *BuildDefinition) map[string]interface{} { if v == nil { return nil } return v.ExternalParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } -func (o BuildDefinitionPtrOutput) InternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *BuildDefinition) map[string]string { +func (o BuildDefinitionPtrOutput) InternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v *BuildDefinition) map[string]interface{} { if v == nil { return nil } return v.InternalParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } func (o BuildDefinitionPtrOutput) ResolvedDependencies() ResourceDescriptorArrayOutput { @@ -1786,8 +1786,8 @@ func (o BuildDefinitionPtrOutput) ResolvedDependencies() ResourceDescriptorArray type BuildDefinitionResponse struct { BuildType string `pulumi:"buildType"` - ExternalParameters map[string]string `pulumi:"externalParameters"` - InternalParameters map[string]string `pulumi:"internalParameters"` + ExternalParameters map[string]interface{} `pulumi:"externalParameters"` + InternalParameters map[string]interface{} `pulumi:"internalParameters"` ResolvedDependencies []ResourceDescriptorResponse `pulumi:"resolvedDependencies"` } @@ -1809,12 +1809,12 @@ func (o BuildDefinitionResponseOutput) BuildType() pulumi.StringOutput { return o.ApplyT(func(v BuildDefinitionResponse) string { return v.BuildType }).(pulumi.StringOutput) } -func (o BuildDefinitionResponseOutput) ExternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinitionResponse) map[string]string { return v.ExternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionResponseOutput) ExternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinitionResponse) map[string]interface{} { return v.ExternalParameters }).(pulumi.MapOutput) } -func (o BuildDefinitionResponseOutput) InternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinitionResponse) map[string]string { return v.InternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionResponseOutput) InternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinitionResponse) map[string]interface{} { return v.InternalParameters }).(pulumi.MapOutput) } func (o BuildDefinitionResponseOutput) ResolvedDependencies() ResourceDescriptorResponseArrayOutput { @@ -8931,6 +8931,152 @@ func (o ExternalRefResponseArrayOutput) Index(i pulumi.IntInput) ExternalRefResp }).(ExternalRefResponseOutput) } +// Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. +type FileHashes struct { + // Collection of file hashes. + FileHash []Hash `pulumi:"fileHash"` +} + +// FileHashesInput is an input type that accepts FileHashesArgs and FileHashesOutput values. +// You can construct a concrete instance of `FileHashesInput` via: +// +// FileHashesArgs{...} +type FileHashesInput interface { + pulumi.Input + + ToFileHashesOutput() FileHashesOutput + ToFileHashesOutputWithContext(context.Context) FileHashesOutput +} + +// Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. +type FileHashesArgs struct { + // Collection of file hashes. + FileHash HashArrayInput `pulumi:"fileHash"` +} + +func (FileHashesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FileHashes)(nil)).Elem() +} + +func (i FileHashesArgs) ToFileHashesOutput() FileHashesOutput { + return i.ToFileHashesOutputWithContext(context.Background()) +} + +func (i FileHashesArgs) ToFileHashesOutputWithContext(ctx context.Context) FileHashesOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileHashesOutput) +} + +// FileHashesMapInput is an input type that accepts FileHashesMap and FileHashesMapOutput values. +// You can construct a concrete instance of `FileHashesMapInput` via: +// +// FileHashesMap{ "key": FileHashesArgs{...} } +type FileHashesMapInput interface { + pulumi.Input + + ToFileHashesMapOutput() FileHashesMapOutput + ToFileHashesMapOutputWithContext(context.Context) FileHashesMapOutput +} + +type FileHashesMap map[string]FileHashesInput + +func (FileHashesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashes)(nil)).Elem() +} + +func (i FileHashesMap) ToFileHashesMapOutput() FileHashesMapOutput { + return i.ToFileHashesMapOutputWithContext(context.Background()) +} + +func (i FileHashesMap) ToFileHashesMapOutputWithContext(ctx context.Context) FileHashesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileHashesMapOutput) +} + +// Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. +type FileHashesOutput struct{ *pulumi.OutputState } + +func (FileHashesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileHashes)(nil)).Elem() +} + +func (o FileHashesOutput) ToFileHashesOutput() FileHashesOutput { + return o +} + +func (o FileHashesOutput) ToFileHashesOutputWithContext(ctx context.Context) FileHashesOutput { + return o +} + +// Collection of file hashes. +func (o FileHashesOutput) FileHash() HashArrayOutput { + return o.ApplyT(func(v FileHashes) []Hash { return v.FileHash }).(HashArrayOutput) +} + +type FileHashesMapOutput struct{ *pulumi.OutputState } + +func (FileHashesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashes)(nil)).Elem() +} + +func (o FileHashesMapOutput) ToFileHashesMapOutput() FileHashesMapOutput { + return o +} + +func (o FileHashesMapOutput) ToFileHashesMapOutputWithContext(ctx context.Context) FileHashesMapOutput { + return o +} + +func (o FileHashesMapOutput) MapIndex(k pulumi.StringInput) FileHashesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileHashes { + return vs[0].(map[string]FileHashes)[vs[1].(string)] + }).(FileHashesOutput) +} + +// Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. +type FileHashesResponse struct { + // Collection of file hashes. + FileHash []HashResponse `pulumi:"fileHash"` +} + +// Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. +type FileHashesResponseOutput struct{ *pulumi.OutputState } + +func (FileHashesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileHashesResponse)(nil)).Elem() +} + +func (o FileHashesResponseOutput) ToFileHashesResponseOutput() FileHashesResponseOutput { + return o +} + +func (o FileHashesResponseOutput) ToFileHashesResponseOutputWithContext(ctx context.Context) FileHashesResponseOutput { + return o +} + +// Collection of file hashes. +func (o FileHashesResponseOutput) FileHash() HashResponseArrayOutput { + return o.ApplyT(func(v FileHashesResponse) []HashResponse { return v.FileHash }).(HashResponseArrayOutput) +} + +type FileHashesResponseMapOutput struct{ *pulumi.OutputState } + +func (FileHashesResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashesResponse)(nil)).Elem() +} + +func (o FileHashesResponseMapOutput) ToFileHashesResponseMapOutput() FileHashesResponseMapOutput { + return o +} + +func (o FileHashesResponseMapOutput) ToFileHashesResponseMapOutputWithContext(ctx context.Context) FileHashesResponseMapOutput { + return o +} + +func (o FileHashesResponseMapOutput) MapIndex(k pulumi.StringInput) FileHashesResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileHashesResponse { + return vs[0].(map[string]FileHashesResponse)[vs[1].(string)] + }).(FileHashesResponseOutput) +} + // Indicates the location at which a package was found. type FileLocation struct { // For jars that are contained inside .war files, this filepath can indicate the path to war file combined with the path to jar file. @@ -11711,9 +11857,9 @@ type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation // Describes where the config file that kicked off the build came from. ConfigSource *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource `pulumi:"configSource"` // Any other builder-controlled inputs necessary for correctly evaluating the build. - Environment map[string]string `pulumi:"environment"` + Environment map[string]interface{} `pulumi:"environment"` // Collection of all external inputs that influenced the build on top of invocation.configSource. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]interface{} `pulumi:"parameters"` } // GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationInput is an input type that accepts GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationArgs and GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationOutput values. @@ -11732,9 +11878,9 @@ type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationA // Describes where the config file that kicked off the build came from. ConfigSource GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSourcePtrInput `pulumi:"configSource"` // Any other builder-controlled inputs necessary for correctly evaluating the build. - Environment pulumi.StringMapInput `pulumi:"environment"` + Environment pulumi.MapInput `pulumi:"environment"` // Collection of all external inputs that influenced the build on top of invocation.configSource. - Parameters pulumi.StringMapInput `pulumi:"parameters"` + Parameters pulumi.MapInput `pulumi:"parameters"` } func (GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationArgs) ElementType() reflect.Type { @@ -11823,17 +11969,17 @@ func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocati } // Any other builder-controlled inputs necessary for correctly evaluating the build. -func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation) map[string]string { +func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation) map[string]interface{} { return v.Environment - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Collection of all external inputs that influenced the build on top of invocation.configSource. -func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation) map[string]string { +func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation) map[string]interface{} { return v.Parameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput struct{ *pulumi.OutputState } @@ -11871,23 +12017,23 @@ func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocati } // Any other builder-controlled inputs necessary for correctly evaluating the build. -func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation) map[string]string { +func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation) map[string]interface{} { if v == nil { return nil } return v.Environment - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Collection of all external inputs that influenced the build on top of invocation.configSource. -func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation) map[string]string { +func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationPtrOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation) map[string]interface{} { if v == nil { return nil } return v.Parameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Identifies the event that kicked off the build. @@ -11895,9 +12041,9 @@ type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationR // Describes where the config file that kicked off the build came from. ConfigSource GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSourceResponse `pulumi:"configSource"` // Any other builder-controlled inputs necessary for correctly evaluating the build. - Environment map[string]string `pulumi:"environment"` + Environment map[string]interface{} `pulumi:"environment"` // Collection of all external inputs that influenced the build on top of invocation.configSource. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]interface{} `pulumi:"parameters"` } // Identifies the event that kicked off the build. @@ -11923,17 +12069,17 @@ func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocati } // Any other builder-controlled inputs necessary for correctly evaluating the build. -func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponseOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse) map[string]string { +func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponseOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse) map[string]interface{} { return v.Environment - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Collection of all external inputs that influenced the build on top of invocation.configSource. -func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponseOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse) map[string]string { +func (o GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponseOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse) map[string]interface{} { return v.Parameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on. @@ -12797,6 +12943,31 @@ func (i *hashPtrType) ToHashPtrOutputWithContext(ctx context.Context) HashPtrOut return pulumi.ToOutputWithContext(ctx, i).(HashPtrOutput) } +// HashArrayInput is an input type that accepts HashArray and HashArrayOutput values. +// You can construct a concrete instance of `HashArrayInput` via: +// +// HashArray{ HashArgs{...} } +type HashArrayInput interface { + pulumi.Input + + ToHashArrayOutput() HashArrayOutput + ToHashArrayOutputWithContext(context.Context) HashArrayOutput +} + +type HashArray []HashInput + +func (HashArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]Hash)(nil)).Elem() +} + +func (i HashArray) ToHashArrayOutput() HashArrayOutput { + return i.ToHashArrayOutputWithContext(context.Background()) +} + +func (i HashArray) ToHashArrayOutputWithContext(ctx context.Context) HashArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HashArrayOutput) +} + // Container message for hash values. type HashOutput struct{ *pulumi.OutputState } @@ -12876,6 +13047,26 @@ func (o HashPtrOutput) Value() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type HashArrayOutput struct{ *pulumi.OutputState } + +func (HashArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]Hash)(nil)).Elem() +} + +func (o HashArrayOutput) ToHashArrayOutput() HashArrayOutput { + return o +} + +func (o HashArrayOutput) ToHashArrayOutputWithContext(ctx context.Context) HashArrayOutput { + return o +} + +func (o HashArrayOutput) Index(i pulumi.IntInput) HashOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) Hash { + return vs[0].([]Hash)[vs[1].(int)] + }).(HashOutput) +} + // Container message for hash values. type HashResponse struct { // The type of hash that was performed. @@ -12909,6 +13100,26 @@ func (o HashResponseOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v HashResponse) string { return v.Value }).(pulumi.StringOutput) } +type HashResponseArrayOutput struct{ *pulumi.OutputState } + +func (HashResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HashResponse)(nil)).Elem() +} + +func (o HashResponseArrayOutput) ToHashResponseArrayOutput() HashResponseArrayOutput { + return o +} + +func (o HashResponseArrayOutput) ToHashResponseArrayOutputWithContext(ctx context.Context) HashResponseArrayOutput { + return o +} + +func (o HashResponseArrayOutput) Index(i pulumi.IntInput) HashResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HashResponse { + return vs[0].([]HashResponse)[vs[1].(int)] + }).(HashResponseOutput) +} + // Helps in identifying the underlying product. This should be treated like a one-of field. Only one field should be set in this proto. This is a workaround because spanner indexes on one-of fields restrict addition and deletion of fields. type IdentifierHelper struct { // The field that is set in the API proto. @@ -15439,11 +15650,11 @@ type OperationResponse struct { // The error result of the operation in case of failure or cancellation. Error StatusResponse `pulumi:"error"` // Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. Name string `pulumi:"name"` // The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. - Response map[string]string `pulumi:"response"` + Response map[string]interface{} `pulumi:"response"` } // This resource represents a long-running operation that is the result of a network API call. @@ -15472,8 +15683,8 @@ func (o OperationResponseOutput) Error() StatusResponseOutput { } // Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. -func (o OperationResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v OperationResponse) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o OperationResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v OperationResponse) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. @@ -15482,8 +15693,8 @@ func (o OperationResponseOutput) Name() pulumi.StringOutput { } // The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. -func (o OperationResponseOutput) Response() pulumi.StringMapOutput { - return o.ApplyT(func(v OperationResponse) map[string]string { return v.Response }).(pulumi.StringMapOutput) +func (o OperationResponseOutput) Response() pulumi.MapOutput { + return o.ApplyT(func(v OperationResponse) map[string]interface{} { return v.Response }).(pulumi.MapOutput) } // This represents a particular package that is distributed over various channels. e.g. glibc (aka libc6) is distributed by many, at various versions. @@ -17828,13 +18039,13 @@ func (o PublisherResponseOutput) PublisherNamespace() pulumi.StringOutput { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type Recipe struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. - Arguments []map[string]string `pulumi:"arguments"` + Arguments []map[string]interface{} `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial *string `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint *string `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. - Environment []map[string]string `pulumi:"environment"` + Environment []map[string]interface{} `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type *string `pulumi:"type"` } @@ -17853,13 +18064,13 @@ type RecipeInput interface { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type RecipeArgs struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. - Arguments pulumi.StringMapArrayInput `pulumi:"arguments"` + Arguments pulumi.MapArrayInput `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial pulumi.StringPtrInput `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint pulumi.StringPtrInput `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. - Environment pulumi.StringMapArrayInput `pulumi:"environment"` + Environment pulumi.MapArrayInput `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -17943,8 +18154,8 @@ func (o RecipeOutput) ToRecipePtrOutputWithContext(ctx context.Context) RecipePt } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. -func (o RecipeOutput) Arguments() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v Recipe) []map[string]string { return v.Arguments }).(pulumi.StringMapArrayOutput) +func (o RecipeOutput) Arguments() pulumi.MapArrayOutput { + return o.ApplyT(func(v Recipe) []map[string]interface{} { return v.Arguments }).(pulumi.MapArrayOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -17958,8 +18169,8 @@ func (o RecipeOutput) EntryPoint() pulumi.StringPtrOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. -func (o RecipeOutput) Environment() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v Recipe) []map[string]string { return v.Environment }).(pulumi.StringMapArrayOutput) +func (o RecipeOutput) Environment() pulumi.MapArrayOutput { + return o.ApplyT(func(v Recipe) []map[string]interface{} { return v.Environment }).(pulumi.MapArrayOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -17992,13 +18203,13 @@ func (o RecipePtrOutput) Elem() RecipeOutput { } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. -func (o RecipePtrOutput) Arguments() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *Recipe) []map[string]string { +func (o RecipePtrOutput) Arguments() pulumi.MapArrayOutput { + return o.ApplyT(func(v *Recipe) []map[string]interface{} { if v == nil { return nil } return v.Arguments - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -18022,13 +18233,13 @@ func (o RecipePtrOutput) EntryPoint() pulumi.StringPtrOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. -func (o RecipePtrOutput) Environment() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *Recipe) []map[string]string { +func (o RecipePtrOutput) Environment() pulumi.MapArrayOutput { + return o.ApplyT(func(v *Recipe) []map[string]interface{} { if v == nil { return nil } return v.Environment - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -18044,13 +18255,13 @@ func (o RecipePtrOutput) Type() pulumi.StringPtrOutput { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type RecipeResponse struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. - Arguments []map[string]string `pulumi:"arguments"` + Arguments []map[string]interface{} `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial string `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint string `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. - Environment []map[string]string `pulumi:"environment"` + Environment []map[string]interface{} `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type string `pulumi:"type"` } @@ -18071,8 +18282,8 @@ func (o RecipeResponseOutput) ToRecipeResponseOutputWithContext(ctx context.Cont } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. -func (o RecipeResponseOutput) Arguments() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v RecipeResponse) []map[string]string { return v.Arguments }).(pulumi.StringMapArrayOutput) +func (o RecipeResponseOutput) Arguments() pulumi.MapArrayOutput { + return o.ApplyT(func(v RecipeResponse) []map[string]interface{} { return v.Arguments }).(pulumi.MapArrayOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -18086,8 +18297,8 @@ func (o RecipeResponseOutput) EntryPoint() pulumi.StringOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. -func (o RecipeResponseOutput) Environment() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v RecipeResponse) []map[string]string { return v.Environment }).(pulumi.StringMapArrayOutput) +func (o RecipeResponseOutput) Environment() pulumi.MapArrayOutput { + return o.ApplyT(func(v RecipeResponse) []map[string]interface{} { return v.Environment }).(pulumi.MapArrayOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -19275,13 +19486,13 @@ func (o ResourcePtrOutput) Uri() pulumi.StringPtrOutput { } type ResourceDescriptor struct { - Annotations map[string]string `pulumi:"annotations"` - Content *string `pulumi:"content"` - Digest map[string]string `pulumi:"digest"` - DownloadLocation *string `pulumi:"downloadLocation"` - MediaType *string `pulumi:"mediaType"` - Name *string `pulumi:"name"` - Uri *string `pulumi:"uri"` + Annotations map[string]interface{} `pulumi:"annotations"` + Content *string `pulumi:"content"` + Digest map[string]string `pulumi:"digest"` + DownloadLocation *string `pulumi:"downloadLocation"` + MediaType *string `pulumi:"mediaType"` + Name *string `pulumi:"name"` + Uri *string `pulumi:"uri"` } // ResourceDescriptorInput is an input type that accepts ResourceDescriptorArgs and ResourceDescriptorOutput values. @@ -19296,7 +19507,7 @@ type ResourceDescriptorInput interface { } type ResourceDescriptorArgs struct { - Annotations pulumi.StringMapInput `pulumi:"annotations"` + Annotations pulumi.MapInput `pulumi:"annotations"` Content pulumi.StringPtrInput `pulumi:"content"` Digest pulumi.StringMapInput `pulumi:"digest"` DownloadLocation pulumi.StringPtrInput `pulumi:"downloadLocation"` @@ -19356,8 +19567,8 @@ func (o ResourceDescriptorOutput) ToResourceDescriptorOutputWithContext(ctx cont return o } -func (o ResourceDescriptorOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v ResourceDescriptor) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +func (o ResourceDescriptorOutput) Annotations() pulumi.MapOutput { + return o.ApplyT(func(v ResourceDescriptor) map[string]interface{} { return v.Annotations }).(pulumi.MapOutput) } func (o ResourceDescriptorOutput) Content() pulumi.StringPtrOutput { @@ -19405,13 +19616,13 @@ func (o ResourceDescriptorArrayOutput) Index(i pulumi.IntInput) ResourceDescript } type ResourceDescriptorResponse struct { - Annotations map[string]string `pulumi:"annotations"` - Content string `pulumi:"content"` - Digest map[string]string `pulumi:"digest"` - DownloadLocation string `pulumi:"downloadLocation"` - MediaType string `pulumi:"mediaType"` - Name string `pulumi:"name"` - Uri string `pulumi:"uri"` + Annotations map[string]interface{} `pulumi:"annotations"` + Content string `pulumi:"content"` + Digest map[string]string `pulumi:"digest"` + DownloadLocation string `pulumi:"downloadLocation"` + MediaType string `pulumi:"mediaType"` + Name string `pulumi:"name"` + Uri string `pulumi:"uri"` } type ResourceDescriptorResponseOutput struct{ *pulumi.OutputState } @@ -19428,8 +19639,8 @@ func (o ResourceDescriptorResponseOutput) ToResourceDescriptorResponseOutputWith return o } -func (o ResourceDescriptorResponseOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v ResourceDescriptorResponse) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +func (o ResourceDescriptorResponseOutput) Annotations() pulumi.MapOutput { + return o.ApplyT(func(v ResourceDescriptorResponse) map[string]interface{} { return v.Annotations }).(pulumi.MapOutput) } func (o ResourceDescriptorResponseOutput) Content() pulumi.StringOutput { @@ -21716,7 +21927,7 @@ func (o SlsaProvenanceV1ResponseOutput) RunDetails() RunDetailsResponseOutput { // SlsaProvenanceZeroTwo is the slsa provenance as defined by the slsa spec. See full explanation of fields at slsa.dev/provenance/v0.2. type SlsaProvenanceZeroTwo struct { // Lists the steps in the build. - BuildConfig map[string]string `pulumi:"buildConfig"` + BuildConfig map[string]interface{} `pulumi:"buildConfig"` // URI indicating what type of build was performed. BuildType *string `pulumi:"buildType"` // Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance. @@ -21743,7 +21954,7 @@ type SlsaProvenanceZeroTwoInput interface { // SlsaProvenanceZeroTwo is the slsa provenance as defined by the slsa spec. See full explanation of fields at slsa.dev/provenance/v0.2. type SlsaProvenanceZeroTwoArgs struct { // Lists the steps in the build. - BuildConfig pulumi.StringMapInput `pulumi:"buildConfig"` + BuildConfig pulumi.MapInput `pulumi:"buildConfig"` // URI indicating what type of build was performed. BuildType pulumi.StringPtrInput `pulumi:"buildType"` // Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance. @@ -21835,8 +22046,8 @@ func (o SlsaProvenanceZeroTwoOutput) ToSlsaProvenanceZeroTwoPtrOutputWithContext } // Lists the steps in the build. -func (o SlsaProvenanceZeroTwoOutput) BuildConfig() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaProvenanceZeroTwo) map[string]string { return v.BuildConfig }).(pulumi.StringMapOutput) +func (o SlsaProvenanceZeroTwoOutput) BuildConfig() pulumi.MapOutput { + return o.ApplyT(func(v SlsaProvenanceZeroTwo) map[string]interface{} { return v.BuildConfig }).(pulumi.MapOutput) } // URI indicating what type of build was performed. @@ -21897,13 +22108,13 @@ func (o SlsaProvenanceZeroTwoPtrOutput) Elem() SlsaProvenanceZeroTwoOutput { } // Lists the steps in the build. -func (o SlsaProvenanceZeroTwoPtrOutput) BuildConfig() pulumi.StringMapOutput { - return o.ApplyT(func(v *SlsaProvenanceZeroTwo) map[string]string { +func (o SlsaProvenanceZeroTwoPtrOutput) BuildConfig() pulumi.MapOutput { + return o.ApplyT(func(v *SlsaProvenanceZeroTwo) map[string]interface{} { if v == nil { return nil } return v.BuildConfig - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // URI indicating what type of build was performed. @@ -21959,7 +22170,7 @@ func (o SlsaProvenanceZeroTwoPtrOutput) Metadata() GoogleDevtoolsContaineranalys // SlsaProvenanceZeroTwo is the slsa provenance as defined by the slsa spec. See full explanation of fields at slsa.dev/provenance/v0.2. type SlsaProvenanceZeroTwoResponse struct { // Lists the steps in the build. - BuildConfig map[string]string `pulumi:"buildConfig"` + BuildConfig map[string]interface{} `pulumi:"buildConfig"` // URI indicating what type of build was performed. BuildType string `pulumi:"buildType"` // Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance. @@ -21988,8 +22199,8 @@ func (o SlsaProvenanceZeroTwoResponseOutput) ToSlsaProvenanceZeroTwoResponseOutp } // Lists the steps in the build. -func (o SlsaProvenanceZeroTwoResponseOutput) BuildConfig() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaProvenanceZeroTwoResponse) map[string]string { return v.BuildConfig }).(pulumi.StringMapOutput) +func (o SlsaProvenanceZeroTwoResponseOutput) BuildConfig() pulumi.MapOutput { + return o.ApplyT(func(v SlsaProvenanceZeroTwoResponse) map[string]interface{} { return v.BuildConfig }).(pulumi.MapOutput) } // URI indicating what type of build was performed. @@ -22028,13 +22239,13 @@ func (o SlsaProvenanceZeroTwoResponseOutput) Metadata() GoogleDevtoolsContainera // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type SlsaRecipe struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. - Arguments map[string]string `pulumi:"arguments"` + Arguments map[string]interface{} `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial *string `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint *string `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. - Environment map[string]string `pulumi:"environment"` + Environment map[string]interface{} `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type *string `pulumi:"type"` } @@ -22053,13 +22264,13 @@ type SlsaRecipeInput interface { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type SlsaRecipeArgs struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. - Arguments pulumi.StringMapInput `pulumi:"arguments"` + Arguments pulumi.MapInput `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial pulumi.StringPtrInput `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint pulumi.StringPtrInput `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. - Environment pulumi.StringMapInput `pulumi:"environment"` + Environment pulumi.MapInput `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -22143,8 +22354,8 @@ func (o SlsaRecipeOutput) ToSlsaRecipePtrOutputWithContext(ctx context.Context) } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipeOutput) Arguments() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaRecipe) map[string]string { return v.Arguments }).(pulumi.StringMapOutput) +func (o SlsaRecipeOutput) Arguments() pulumi.MapOutput { + return o.ApplyT(func(v SlsaRecipe) map[string]interface{} { return v.Arguments }).(pulumi.MapOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -22158,8 +22369,8 @@ func (o SlsaRecipeOutput) EntryPoint() pulumi.StringPtrOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipeOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaRecipe) map[string]string { return v.Environment }).(pulumi.StringMapOutput) +func (o SlsaRecipeOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v SlsaRecipe) map[string]interface{} { return v.Environment }).(pulumi.MapOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -22192,13 +22403,13 @@ func (o SlsaRecipePtrOutput) Elem() SlsaRecipeOutput { } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipePtrOutput) Arguments() pulumi.StringMapOutput { - return o.ApplyT(func(v *SlsaRecipe) map[string]string { +func (o SlsaRecipePtrOutput) Arguments() pulumi.MapOutput { + return o.ApplyT(func(v *SlsaRecipe) map[string]interface{} { if v == nil { return nil } return v.Arguments - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -22222,13 +22433,13 @@ func (o SlsaRecipePtrOutput) EntryPoint() pulumi.StringPtrOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipePtrOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v *SlsaRecipe) map[string]string { +func (o SlsaRecipePtrOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v *SlsaRecipe) map[string]interface{} { if v == nil { return nil } return v.Environment - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -22244,13 +22455,13 @@ func (o SlsaRecipePtrOutput) Type() pulumi.StringPtrOutput { // Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. type SlsaRecipeResponse struct { // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. - Arguments map[string]string `pulumi:"arguments"` + Arguments map[string]interface{} `pulumi:"arguments"` // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. DefinedInMaterial string `pulumi:"definedInMaterial"` // String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. EntryPoint string `pulumi:"entryPoint"` // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. - Environment map[string]string `pulumi:"environment"` + Environment map[string]interface{} `pulumi:"environment"` // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. Type string `pulumi:"type"` } @@ -22271,8 +22482,8 @@ func (o SlsaRecipeResponseOutput) ToSlsaRecipeResponseOutputWithContext(ctx cont } // Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipeResponseOutput) Arguments() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaRecipeResponse) map[string]string { return v.Arguments }).(pulumi.StringMapOutput) +func (o SlsaRecipeResponseOutput) Arguments() pulumi.MapOutput { + return o.ApplyT(func(v SlsaRecipeResponse) map[string]interface{} { return v.Arguments }).(pulumi.MapOutput) } // Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. @@ -22286,8 +22497,8 @@ func (o SlsaRecipeResponseOutput) EntryPoint() pulumi.StringOutput { } // Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. -func (o SlsaRecipeResponseOutput) Environment() pulumi.StringMapOutput { - return o.ApplyT(func(v SlsaRecipeResponse) map[string]string { return v.Environment }).(pulumi.StringMapOutput) +func (o SlsaRecipeResponseOutput) Environment() pulumi.MapOutput { + return o.ApplyT(func(v SlsaRecipeResponse) map[string]interface{} { return v.Environment }).(pulumi.MapOutput) } // URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. @@ -22304,7 +22515,7 @@ type Source struct { // If provided, the source code used for the build came from this location. Context *GoogleDevtoolsContaineranalysisV1alpha1SourceContext `pulumi:"context"` // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. - FileHashes map[string]string `pulumi:"fileHashes"` + FileHashes map[string]FileHashes `pulumi:"fileHashes"` // If provided, get source from this location in a Cloud Repo. RepoSource *RepoSource `pulumi:"repoSource"` // If provided, get the source from this location in Google Cloud Storage. @@ -22331,7 +22542,7 @@ type SourceArgs struct { // If provided, the source code used for the build came from this location. Context GoogleDevtoolsContaineranalysisV1alpha1SourceContextPtrInput `pulumi:"context"` // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. - FileHashes pulumi.StringMapInput `pulumi:"fileHashes"` + FileHashes FileHashesMapInput `pulumi:"fileHashes"` // If provided, get source from this location in a Cloud Repo. RepoSource RepoSourcePtrInput `pulumi:"repoSource"` // If provided, get the source from this location in Google Cloud Storage. @@ -22432,8 +22643,8 @@ func (o SourceOutput) Context() GoogleDevtoolsContaineranalysisV1alpha1SourceCon } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. -func (o SourceOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v Source) map[string]string { return v.FileHashes }).(pulumi.StringMapOutput) +func (o SourceOutput) FileHashes() FileHashesMapOutput { + return o.ApplyT(func(v Source) map[string]FileHashes { return v.FileHashes }).(FileHashesMapOutput) } // If provided, get source from this location in a Cloud Repo. @@ -22501,13 +22712,13 @@ func (o SourcePtrOutput) Context() GoogleDevtoolsContaineranalysisV1alpha1Source } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. -func (o SourcePtrOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Source) map[string]string { +func (o SourcePtrOutput) FileHashes() FileHashesMapOutput { + return o.ApplyT(func(v *Source) map[string]FileHashes { if v == nil { return nil } return v.FileHashes - }).(pulumi.StringMapOutput) + }).(FileHashesMapOutput) } // If provided, get source from this location in a Cloud Repo. @@ -22539,7 +22750,7 @@ type SourceResponse struct { // If provided, the source code used for the build came from this location. Context GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse `pulumi:"context"` // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. - FileHashes map[string]string `pulumi:"fileHashes"` + FileHashes map[string]FileHashesResponse `pulumi:"fileHashes"` // If provided, get source from this location in a Cloud Repo. RepoSource RepoSourceResponse `pulumi:"repoSource"` // If provided, get the source from this location in Google Cloud Storage. @@ -22579,8 +22790,8 @@ func (o SourceResponseOutput) Context() GoogleDevtoolsContaineranalysisV1alpha1S } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. -func (o SourceResponseOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v SourceResponse) map[string]string { return v.FileHashes }).(pulumi.StringMapOutput) +func (o SourceResponseOutput) FileHashes() FileHashesResponseMapOutput { + return o.ApplyT(func(v SourceResponse) map[string]FileHashesResponse { return v.FileHashes }).(FileHashesResponseMapOutput) } // If provided, get source from this location in a Cloud Repo. @@ -22598,7 +22809,7 @@ type Status struct { // The status code, which should be an enum value of google.rpc.Code. Code *int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message *string `pulumi:"message"` } @@ -22619,7 +22830,7 @@ type StatusArgs struct { // The status code, which should be an enum value of google.rpc.Code. Code pulumi.IntPtrInput `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details pulumi.StringMapArrayInput `pulumi:"details"` + Details pulumi.MapArrayInput `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message pulumi.StringPtrInput `pulumi:"message"` } @@ -22733,8 +22944,8 @@ func (o StatusOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v Status) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v Status) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -22777,13 +22988,13 @@ func (o StatusPtrOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusPtrOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *Status) []map[string]string { +func (o StatusPtrOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v *Status) []map[string]interface{} { if v == nil { return nil } return v.Details - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -22821,7 +23032,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -22847,8 +23058,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -26160,6 +26371,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ExprPtrInput)(nil)).Elem(), ExprArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalRefInput)(nil)).Elem(), ExternalRefArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalRefArrayInput)(nil)).Elem(), ExternalRefArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileHashesInput)(nil)).Elem(), FileHashesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileHashesMapInput)(nil)).Elem(), FileHashesMap{}) pulumi.RegisterInputType(reflect.TypeOf((*FileLocationInput)(nil)).Elem(), FileLocationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FileLocationArrayInput)(nil)).Elem(), FileLocationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FileNoteInput)(nil)).Elem(), FileNoteArgs{}) @@ -26197,6 +26410,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleDevtoolsContaineranalysisV1alpha1SourceContextArrayInput)(nil)).Elem(), GoogleDevtoolsContaineranalysisV1alpha1SourceContextArray{}) pulumi.RegisterInputType(reflect.TypeOf((*HashInput)(nil)).Elem(), HashArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HashPtrInput)(nil)).Elem(), HashArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HashArrayInput)(nil)).Elem(), HashArray{}) pulumi.RegisterInputType(reflect.TypeOf((*IdentifierHelperInput)(nil)).Elem(), IdentifierHelperArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*IdentifierHelperPtrInput)(nil)).Elem(), IdentifierHelperArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InTotoProvenanceInput)(nil)).Elem(), InTotoProvenanceArgs{}) @@ -26434,6 +26648,10 @@ func init() { pulumi.RegisterOutputType(ExternalRefArrayOutput{}) pulumi.RegisterOutputType(ExternalRefResponseOutput{}) pulumi.RegisterOutputType(ExternalRefResponseArrayOutput{}) + pulumi.RegisterOutputType(FileHashesOutput{}) + pulumi.RegisterOutputType(FileHashesMapOutput{}) + pulumi.RegisterOutputType(FileHashesResponseOutput{}) + pulumi.RegisterOutputType(FileHashesResponseMapOutput{}) pulumi.RegisterOutputType(FileLocationOutput{}) pulumi.RegisterOutputType(FileLocationArrayOutput{}) pulumi.RegisterOutputType(FileLocationResponseOutput{}) @@ -26491,7 +26709,9 @@ func init() { pulumi.RegisterOutputType(GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponseArrayOutput{}) pulumi.RegisterOutputType(HashOutput{}) pulumi.RegisterOutputType(HashPtrOutput{}) + pulumi.RegisterOutputType(HashArrayOutput{}) pulumi.RegisterOutputType(HashResponseOutput{}) + pulumi.RegisterOutputType(HashResponseArrayOutput{}) pulumi.RegisterOutputType(IdentifierHelperOutput{}) pulumi.RegisterOutputType(IdentifierHelperPtrOutput{}) pulumi.RegisterOutputType(IdentifierHelperResponseOutput{}) diff --git a/sdk/go/google/containeranalysis/v1beta1/pulumiTypes.go b/sdk/go/google/containeranalysis/v1beta1/pulumiTypes.go index 88df0557eb..f50d493f97 100644 --- a/sdk/go/google/containeranalysis/v1beta1/pulumiTypes.go +++ b/sdk/go/google/containeranalysis/v1beta1/pulumiTypes.go @@ -2105,10 +2105,10 @@ func (o BuildPtrOutput) Signature() BuildSignaturePtrOutput { } type BuildDefinition struct { - BuildType *string `pulumi:"buildType"` - ExternalParameters map[string]string `pulumi:"externalParameters"` - InternalParameters map[string]string `pulumi:"internalParameters"` - ResolvedDependencies []ResourceDescriptor `pulumi:"resolvedDependencies"` + BuildType *string `pulumi:"buildType"` + ExternalParameters map[string]interface{} `pulumi:"externalParameters"` + InternalParameters map[string]interface{} `pulumi:"internalParameters"` + ResolvedDependencies []ResourceDescriptor `pulumi:"resolvedDependencies"` } // BuildDefinitionInput is an input type that accepts BuildDefinitionArgs and BuildDefinitionOutput values. @@ -2124,8 +2124,8 @@ type BuildDefinitionInput interface { type BuildDefinitionArgs struct { BuildType pulumi.StringPtrInput `pulumi:"buildType"` - ExternalParameters pulumi.StringMapInput `pulumi:"externalParameters"` - InternalParameters pulumi.StringMapInput `pulumi:"internalParameters"` + ExternalParameters pulumi.MapInput `pulumi:"externalParameters"` + InternalParameters pulumi.MapInput `pulumi:"internalParameters"` ResolvedDependencies ResourceDescriptorArrayInput `pulumi:"resolvedDependencies"` } @@ -2210,12 +2210,12 @@ func (o BuildDefinitionOutput) BuildType() pulumi.StringPtrOutput { return o.ApplyT(func(v BuildDefinition) *string { return v.BuildType }).(pulumi.StringPtrOutput) } -func (o BuildDefinitionOutput) ExternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinition) map[string]string { return v.ExternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionOutput) ExternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinition) map[string]interface{} { return v.ExternalParameters }).(pulumi.MapOutput) } -func (o BuildDefinitionOutput) InternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinition) map[string]string { return v.InternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionOutput) InternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinition) map[string]interface{} { return v.InternalParameters }).(pulumi.MapOutput) } func (o BuildDefinitionOutput) ResolvedDependencies() ResourceDescriptorArrayOutput { @@ -2255,22 +2255,22 @@ func (o BuildDefinitionPtrOutput) BuildType() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -func (o BuildDefinitionPtrOutput) ExternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *BuildDefinition) map[string]string { +func (o BuildDefinitionPtrOutput) ExternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v *BuildDefinition) map[string]interface{} { if v == nil { return nil } return v.ExternalParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } -func (o BuildDefinitionPtrOutput) InternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *BuildDefinition) map[string]string { +func (o BuildDefinitionPtrOutput) InternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v *BuildDefinition) map[string]interface{} { if v == nil { return nil } return v.InternalParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } func (o BuildDefinitionPtrOutput) ResolvedDependencies() ResourceDescriptorArrayOutput { @@ -2284,8 +2284,8 @@ func (o BuildDefinitionPtrOutput) ResolvedDependencies() ResourceDescriptorArray type BuildDefinitionResponse struct { BuildType string `pulumi:"buildType"` - ExternalParameters map[string]string `pulumi:"externalParameters"` - InternalParameters map[string]string `pulumi:"internalParameters"` + ExternalParameters map[string]interface{} `pulumi:"externalParameters"` + InternalParameters map[string]interface{} `pulumi:"internalParameters"` ResolvedDependencies []ResourceDescriptorResponse `pulumi:"resolvedDependencies"` } @@ -2307,12 +2307,12 @@ func (o BuildDefinitionResponseOutput) BuildType() pulumi.StringOutput { return o.ApplyT(func(v BuildDefinitionResponse) string { return v.BuildType }).(pulumi.StringOutput) } -func (o BuildDefinitionResponseOutput) ExternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinitionResponse) map[string]string { return v.ExternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionResponseOutput) ExternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinitionResponse) map[string]interface{} { return v.ExternalParameters }).(pulumi.MapOutput) } -func (o BuildDefinitionResponseOutput) InternalParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v BuildDefinitionResponse) map[string]string { return v.InternalParameters }).(pulumi.StringMapOutput) +func (o BuildDefinitionResponseOutput) InternalParameters() pulumi.MapOutput { + return o.ApplyT(func(v BuildDefinitionResponse) map[string]interface{} { return v.InternalParameters }).(pulumi.MapOutput) } func (o BuildDefinitionResponseOutput) ResolvedDependencies() ResourceDescriptorResponseArrayOutput { @@ -8246,6 +8246,152 @@ func (o ExternalRefResponseArrayOutput) Index(i pulumi.IntInput) ExternalRefResp }).(ExternalRefResponseOutput) } +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashes struct { + // Collection of file hashes. + FileHash []Hash `pulumi:"fileHash"` +} + +// FileHashesInput is an input type that accepts FileHashesArgs and FileHashesOutput values. +// You can construct a concrete instance of `FileHashesInput` via: +// +// FileHashesArgs{...} +type FileHashesInput interface { + pulumi.Input + + ToFileHashesOutput() FileHashesOutput + ToFileHashesOutputWithContext(context.Context) FileHashesOutput +} + +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashesArgs struct { + // Collection of file hashes. + FileHash HashArrayInput `pulumi:"fileHash"` +} + +func (FileHashesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FileHashes)(nil)).Elem() +} + +func (i FileHashesArgs) ToFileHashesOutput() FileHashesOutput { + return i.ToFileHashesOutputWithContext(context.Background()) +} + +func (i FileHashesArgs) ToFileHashesOutputWithContext(ctx context.Context) FileHashesOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileHashesOutput) +} + +// FileHashesMapInput is an input type that accepts FileHashesMap and FileHashesMapOutput values. +// You can construct a concrete instance of `FileHashesMapInput` via: +// +// FileHashesMap{ "key": FileHashesArgs{...} } +type FileHashesMapInput interface { + pulumi.Input + + ToFileHashesMapOutput() FileHashesMapOutput + ToFileHashesMapOutputWithContext(context.Context) FileHashesMapOutput +} + +type FileHashesMap map[string]FileHashesInput + +func (FileHashesMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashes)(nil)).Elem() +} + +func (i FileHashesMap) ToFileHashesMapOutput() FileHashesMapOutput { + return i.ToFileHashesMapOutputWithContext(context.Background()) +} + +func (i FileHashesMap) ToFileHashesMapOutputWithContext(ctx context.Context) FileHashesMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(FileHashesMapOutput) +} + +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashesOutput struct{ *pulumi.OutputState } + +func (FileHashesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileHashes)(nil)).Elem() +} + +func (o FileHashesOutput) ToFileHashesOutput() FileHashesOutput { + return o +} + +func (o FileHashesOutput) ToFileHashesOutputWithContext(ctx context.Context) FileHashesOutput { + return o +} + +// Collection of file hashes. +func (o FileHashesOutput) FileHash() HashArrayOutput { + return o.ApplyT(func(v FileHashes) []Hash { return v.FileHash }).(HashArrayOutput) +} + +type FileHashesMapOutput struct{ *pulumi.OutputState } + +func (FileHashesMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashes)(nil)).Elem() +} + +func (o FileHashesMapOutput) ToFileHashesMapOutput() FileHashesMapOutput { + return o +} + +func (o FileHashesMapOutput) ToFileHashesMapOutputWithContext(ctx context.Context) FileHashesMapOutput { + return o +} + +func (o FileHashesMapOutput) MapIndex(k pulumi.StringInput) FileHashesOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileHashes { + return vs[0].(map[string]FileHashes)[vs[1].(string)] + }).(FileHashesOutput) +} + +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashesResponse struct { + // Collection of file hashes. + FileHash []HashResponse `pulumi:"fileHash"` +} + +// Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. +type FileHashesResponseOutput struct{ *pulumi.OutputState } + +func (FileHashesResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FileHashesResponse)(nil)).Elem() +} + +func (o FileHashesResponseOutput) ToFileHashesResponseOutput() FileHashesResponseOutput { + return o +} + +func (o FileHashesResponseOutput) ToFileHashesResponseOutputWithContext(ctx context.Context) FileHashesResponseOutput { + return o +} + +// Collection of file hashes. +func (o FileHashesResponseOutput) FileHash() HashResponseArrayOutput { + return o.ApplyT(func(v FileHashesResponse) []HashResponse { return v.FileHash }).(HashResponseArrayOutput) +} + +type FileHashesResponseMapOutput struct{ *pulumi.OutputState } + +func (FileHashesResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]FileHashesResponse)(nil)).Elem() +} + +func (o FileHashesResponseMapOutput) ToFileHashesResponseMapOutput() FileHashesResponseMapOutput { + return o +} + +func (o FileHashesResponseMapOutput) ToFileHashesResponseMapOutputWithContext(ctx context.Context) FileHashesResponseMapOutput { + return o +} + +func (o FileHashesResponseMapOutput) MapIndex(k pulumi.StringInput) FileHashesResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) FileHashesResponse { + return vs[0].(map[string]FileHashesResponse)[vs[1].(string)] + }).(FileHashesResponseOutput) +} + // FileNote represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/ type FileNote struct { // Provide a unique identifier to match analysis information on each specific file in a package @@ -11457,6 +11603,31 @@ func (i *hashPtrType) ToHashPtrOutputWithContext(ctx context.Context) HashPtrOut return pulumi.ToOutputWithContext(ctx, i).(HashPtrOutput) } +// HashArrayInput is an input type that accepts HashArray and HashArrayOutput values. +// You can construct a concrete instance of `HashArrayInput` via: +// +// HashArray{ HashArgs{...} } +type HashArrayInput interface { + pulumi.Input + + ToHashArrayOutput() HashArrayOutput + ToHashArrayOutputWithContext(context.Context) HashArrayOutput +} + +type HashArray []HashInput + +func (HashArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]Hash)(nil)).Elem() +} + +func (i HashArray) ToHashArrayOutput() HashArrayOutput { + return i.ToHashArrayOutputWithContext(context.Background()) +} + +func (i HashArray) ToHashArrayOutputWithContext(ctx context.Context) HashArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(HashArrayOutput) +} + // Container message for hash values. type HashOutput struct{ *pulumi.OutputState } @@ -11536,6 +11707,26 @@ func (o HashPtrOutput) Value() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type HashArrayOutput struct{ *pulumi.OutputState } + +func (HashArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]Hash)(nil)).Elem() +} + +func (o HashArrayOutput) ToHashArrayOutput() HashArrayOutput { + return o +} + +func (o HashArrayOutput) ToHashArrayOutputWithContext(ctx context.Context) HashArrayOutput { + return o +} + +func (o HashArrayOutput) Index(i pulumi.IntInput) HashOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) Hash { + return vs[0].([]Hash)[vs[1].(int)] + }).(HashOutput) +} + // Container message for hash values. type HashResponse struct { // The type of hash that was performed. @@ -11569,6 +11760,26 @@ func (o HashResponseOutput) Value() pulumi.StringOutput { return o.ApplyT(func(v HashResponse) string { return v.Value }).(pulumi.StringOutput) } +type HashResponseArrayOutput struct{ *pulumi.OutputState } + +func (HashResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]HashResponse)(nil)).Elem() +} + +func (o HashResponseArrayOutput) ToHashResponseArrayOutput() HashResponseArrayOutput { + return o +} + +func (o HashResponseArrayOutput) ToHashResponseArrayOutputWithContext(ctx context.Context) HashResponseArrayOutput { + return o +} + +func (o HashResponseArrayOutput) Index(i pulumi.IntInput) HashResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) HashResponse { + return vs[0].([]HashResponse)[vs[1].(int)] + }).(HashResponseOutput) +} + // This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from "readable" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify. type Hint struct { // The human readable name of this attestation authority, for example "qa". @@ -17294,13 +17505,13 @@ func (o ResourceOutput) Uri() pulumi.StringOutput { } type ResourceDescriptor struct { - Annotations map[string]string `pulumi:"annotations"` - Content *string `pulumi:"content"` - Digest map[string]string `pulumi:"digest"` - DownloadLocation *string `pulumi:"downloadLocation"` - MediaType *string `pulumi:"mediaType"` - Name *string `pulumi:"name"` - Uri *string `pulumi:"uri"` + Annotations map[string]interface{} `pulumi:"annotations"` + Content *string `pulumi:"content"` + Digest map[string]string `pulumi:"digest"` + DownloadLocation *string `pulumi:"downloadLocation"` + MediaType *string `pulumi:"mediaType"` + Name *string `pulumi:"name"` + Uri *string `pulumi:"uri"` } // ResourceDescriptorInput is an input type that accepts ResourceDescriptorArgs and ResourceDescriptorOutput values. @@ -17315,7 +17526,7 @@ type ResourceDescriptorInput interface { } type ResourceDescriptorArgs struct { - Annotations pulumi.StringMapInput `pulumi:"annotations"` + Annotations pulumi.MapInput `pulumi:"annotations"` Content pulumi.StringPtrInput `pulumi:"content"` Digest pulumi.StringMapInput `pulumi:"digest"` DownloadLocation pulumi.StringPtrInput `pulumi:"downloadLocation"` @@ -17375,8 +17586,8 @@ func (o ResourceDescriptorOutput) ToResourceDescriptorOutputWithContext(ctx cont return o } -func (o ResourceDescriptorOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v ResourceDescriptor) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +func (o ResourceDescriptorOutput) Annotations() pulumi.MapOutput { + return o.ApplyT(func(v ResourceDescriptor) map[string]interface{} { return v.Annotations }).(pulumi.MapOutput) } func (o ResourceDescriptorOutput) Content() pulumi.StringPtrOutput { @@ -17424,13 +17635,13 @@ func (o ResourceDescriptorArrayOutput) Index(i pulumi.IntInput) ResourceDescript } type ResourceDescriptorResponse struct { - Annotations map[string]string `pulumi:"annotations"` - Content string `pulumi:"content"` - Digest map[string]string `pulumi:"digest"` - DownloadLocation string `pulumi:"downloadLocation"` - MediaType string `pulumi:"mediaType"` - Name string `pulumi:"name"` - Uri string `pulumi:"uri"` + Annotations map[string]interface{} `pulumi:"annotations"` + Content string `pulumi:"content"` + Digest map[string]string `pulumi:"digest"` + DownloadLocation string `pulumi:"downloadLocation"` + MediaType string `pulumi:"mediaType"` + Name string `pulumi:"name"` + Uri string `pulumi:"uri"` } type ResourceDescriptorResponseOutput struct{ *pulumi.OutputState } @@ -17447,8 +17658,8 @@ func (o ResourceDescriptorResponseOutput) ToResourceDescriptorResponseOutputWith return o } -func (o ResourceDescriptorResponseOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v ResourceDescriptorResponse) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +func (o ResourceDescriptorResponseOutput) Annotations() pulumi.MapOutput { + return o.ApplyT(func(v ResourceDescriptorResponse) map[string]interface{} { return v.Annotations }).(pulumi.MapOutput) } func (o ResourceDescriptorResponseOutput) Content() pulumi.StringOutput { @@ -19373,7 +19584,7 @@ type Source struct { // If provided, the source code used for the build came from this location. Context *SourceContext `pulumi:"context"` // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. - FileHashes map[string]string `pulumi:"fileHashes"` + FileHashes map[string]FileHashes `pulumi:"fileHashes"` } // SourceInput is an input type that accepts SourceArgs and SourceOutput values. @@ -19396,7 +19607,7 @@ type SourceArgs struct { // If provided, the source code used for the build came from this location. Context SourceContextPtrInput `pulumi:"context"` // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. - FileHashes pulumi.StringMapInput `pulumi:"fileHashes"` + FileHashes FileHashesMapInput `pulumi:"fileHashes"` } func (SourceArgs) ElementType() reflect.Type { @@ -19493,8 +19704,8 @@ func (o SourceOutput) Context() SourceContextPtrOutput { } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. -func (o SourceOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v Source) map[string]string { return v.FileHashes }).(pulumi.StringMapOutput) +func (o SourceOutput) FileHashes() FileHashesMapOutput { + return o.ApplyT(func(v Source) map[string]FileHashes { return v.FileHashes }).(FileHashesMapOutput) } type SourcePtrOutput struct{ *pulumi.OutputState } @@ -19552,13 +19763,13 @@ func (o SourcePtrOutput) Context() SourceContextPtrOutput { } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. -func (o SourcePtrOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Source) map[string]string { +func (o SourcePtrOutput) FileHashes() FileHashesMapOutput { + return o.ApplyT(func(v *Source) map[string]FileHashes { if v == nil { return nil } return v.FileHashes - }).(pulumi.StringMapOutput) + }).(FileHashesMapOutput) } // A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory. @@ -19879,7 +20090,7 @@ type SourceResponse struct { // If provided, the source code used for the build came from this location. Context SourceContextResponse `pulumi:"context"` // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. - FileHashes map[string]string `pulumi:"fileHashes"` + FileHashes map[string]FileHashesResponse `pulumi:"fileHashes"` } // Source describes the location of the source used for the build. @@ -19913,8 +20124,8 @@ func (o SourceResponseOutput) Context() SourceContextResponseOutput { } // Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. -func (o SourceResponseOutput) FileHashes() pulumi.StringMapOutput { - return o.ApplyT(func(v SourceResponse) map[string]string { return v.FileHashes }).(pulumi.StringMapOutput) +func (o SourceResponseOutput) FileHashes() FileHashesResponseMapOutput { + return o.ApplyT(func(v SourceResponse) map[string]FileHashesResponse { return v.FileHashes }).(FileHashesResponseMapOutput) } // The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). @@ -19922,7 +20133,7 @@ type Status struct { // The status code, which should be an enum value of google.rpc.Code. Code *int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message *string `pulumi:"message"` } @@ -19943,7 +20154,7 @@ type StatusArgs struct { // The status code, which should be an enum value of google.rpc.Code. Code pulumi.IntPtrInput `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details pulumi.StringMapArrayInput `pulumi:"details"` + Details pulumi.MapArrayInput `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message pulumi.StringPtrInput `pulumi:"message"` } @@ -20057,8 +20268,8 @@ func (o StatusOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v Status) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v Status) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -20101,13 +20312,13 @@ func (o StatusPtrOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusPtrOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *Status) []map[string]string { +func (o StatusPtrOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v *Status) []map[string]interface{} { if v == nil { return nil } return v.Details - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -20145,7 +20356,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -20171,8 +20382,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -22168,6 +22379,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ExprPtrInput)(nil)).Elem(), ExprArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalRefInput)(nil)).Elem(), ExternalRefArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalRefArrayInput)(nil)).Elem(), ExternalRefArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileHashesInput)(nil)).Elem(), FileHashesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FileHashesMapInput)(nil)).Elem(), FileHashesMap{}) pulumi.RegisterInputType(reflect.TypeOf((*FileNoteInput)(nil)).Elem(), FileNoteArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FileNotePtrInput)(nil)).Elem(), FileNoteArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FileOccurrenceInput)(nil)).Elem(), FileOccurrenceArgs{}) @@ -22200,6 +22413,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GrafeasV1beta1VulnerabilityDetailsPtrInput)(nil)).Elem(), GrafeasV1beta1VulnerabilityDetailsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HashInput)(nil)).Elem(), HashArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HashPtrInput)(nil)).Elem(), HashArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HashArrayInput)(nil)).Elem(), HashArray{}) pulumi.RegisterInputType(reflect.TypeOf((*HintInput)(nil)).Elem(), HintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*HintPtrInput)(nil)).Elem(), HintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InTotoInput)(nil)).Elem(), InTotoArgs{}) @@ -22409,6 +22623,10 @@ func init() { pulumi.RegisterOutputType(ExternalRefArrayOutput{}) pulumi.RegisterOutputType(ExternalRefResponseOutput{}) pulumi.RegisterOutputType(ExternalRefResponseArrayOutput{}) + pulumi.RegisterOutputType(FileHashesOutput{}) + pulumi.RegisterOutputType(FileHashesMapOutput{}) + pulumi.RegisterOutputType(FileHashesResponseOutput{}) + pulumi.RegisterOutputType(FileHashesResponseMapOutput{}) pulumi.RegisterOutputType(FileNoteOutput{}) pulumi.RegisterOutputType(FileNotePtrOutput{}) pulumi.RegisterOutputType(FileNoteResponseOutput{}) @@ -22458,7 +22676,9 @@ func init() { pulumi.RegisterOutputType(GrafeasV1beta1VulnerabilityDetailsResponseOutput{}) pulumi.RegisterOutputType(HashOutput{}) pulumi.RegisterOutputType(HashPtrOutput{}) + pulumi.RegisterOutputType(HashArrayOutput{}) pulumi.RegisterOutputType(HashResponseOutput{}) + pulumi.RegisterOutputType(HashResponseArrayOutput{}) pulumi.RegisterOutputType(HintOutput{}) pulumi.RegisterOutputType(HintPtrOutput{}) pulumi.RegisterOutputType(HintResponseOutput{}) diff --git a/sdk/go/google/contentwarehouse/v1/pulumiTypes.go b/sdk/go/google/contentwarehouse/v1/pulumiTypes.go index 2dac17f8bc..559c59ca0a 100644 --- a/sdk/go/google/contentwarehouse/v1/pulumiTypes.go +++ b/sdk/go/google/contentwarehouse/v1/pulumiTypes.go @@ -1988,6 +1988,172 @@ func (o GoogleCloudContentwarehouseV1EnumTypeOptionsResponseOutput) ValidationCh return o.ApplyT(func(v GoogleCloudContentwarehouseV1EnumTypeOptionsResponse) bool { return v.ValidationCheckDisabled }).(pulumi.BoolOutput) } +// Represents the string value of the enum field. +type GoogleCloudContentwarehouseV1EnumValue struct { + // String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + Value *string `pulumi:"value"` +} + +// GoogleCloudContentwarehouseV1EnumValueInput is an input type that accepts GoogleCloudContentwarehouseV1EnumValueArgs and GoogleCloudContentwarehouseV1EnumValueOutput values. +// You can construct a concrete instance of `GoogleCloudContentwarehouseV1EnumValueInput` via: +// +// GoogleCloudContentwarehouseV1EnumValueArgs{...} +type GoogleCloudContentwarehouseV1EnumValueInput interface { + pulumi.Input + + ToGoogleCloudContentwarehouseV1EnumValueOutput() GoogleCloudContentwarehouseV1EnumValueOutput + ToGoogleCloudContentwarehouseV1EnumValueOutputWithContext(context.Context) GoogleCloudContentwarehouseV1EnumValueOutput +} + +// Represents the string value of the enum field. +type GoogleCloudContentwarehouseV1EnumValueArgs struct { + // String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (GoogleCloudContentwarehouseV1EnumValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContentwarehouseV1EnumValue)(nil)).Elem() +} + +func (i GoogleCloudContentwarehouseV1EnumValueArgs) ToGoogleCloudContentwarehouseV1EnumValueOutput() GoogleCloudContentwarehouseV1EnumValueOutput { + return i.ToGoogleCloudContentwarehouseV1EnumValueOutputWithContext(context.Background()) +} + +func (i GoogleCloudContentwarehouseV1EnumValueArgs) ToGoogleCloudContentwarehouseV1EnumValueOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1EnumValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudContentwarehouseV1EnumValueOutput) +} + +func (i GoogleCloudContentwarehouseV1EnumValueArgs) ToGoogleCloudContentwarehouseV1EnumValuePtrOutput() GoogleCloudContentwarehouseV1EnumValuePtrOutput { + return i.ToGoogleCloudContentwarehouseV1EnumValuePtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudContentwarehouseV1EnumValueArgs) ToGoogleCloudContentwarehouseV1EnumValuePtrOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1EnumValuePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudContentwarehouseV1EnumValueOutput).ToGoogleCloudContentwarehouseV1EnumValuePtrOutputWithContext(ctx) +} + +// GoogleCloudContentwarehouseV1EnumValuePtrInput is an input type that accepts GoogleCloudContentwarehouseV1EnumValueArgs, GoogleCloudContentwarehouseV1EnumValuePtr and GoogleCloudContentwarehouseV1EnumValuePtrOutput values. +// You can construct a concrete instance of `GoogleCloudContentwarehouseV1EnumValuePtrInput` via: +// +// GoogleCloudContentwarehouseV1EnumValueArgs{...} +// +// or: +// +// nil +type GoogleCloudContentwarehouseV1EnumValuePtrInput interface { + pulumi.Input + + ToGoogleCloudContentwarehouseV1EnumValuePtrOutput() GoogleCloudContentwarehouseV1EnumValuePtrOutput + ToGoogleCloudContentwarehouseV1EnumValuePtrOutputWithContext(context.Context) GoogleCloudContentwarehouseV1EnumValuePtrOutput +} + +type googleCloudContentwarehouseV1EnumValuePtrType GoogleCloudContentwarehouseV1EnumValueArgs + +func GoogleCloudContentwarehouseV1EnumValuePtr(v *GoogleCloudContentwarehouseV1EnumValueArgs) GoogleCloudContentwarehouseV1EnumValuePtrInput { + return (*googleCloudContentwarehouseV1EnumValuePtrType)(v) +} + +func (*googleCloudContentwarehouseV1EnumValuePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudContentwarehouseV1EnumValue)(nil)).Elem() +} + +func (i *googleCloudContentwarehouseV1EnumValuePtrType) ToGoogleCloudContentwarehouseV1EnumValuePtrOutput() GoogleCloudContentwarehouseV1EnumValuePtrOutput { + return i.ToGoogleCloudContentwarehouseV1EnumValuePtrOutputWithContext(context.Background()) +} + +func (i *googleCloudContentwarehouseV1EnumValuePtrType) ToGoogleCloudContentwarehouseV1EnumValuePtrOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1EnumValuePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudContentwarehouseV1EnumValuePtrOutput) +} + +// Represents the string value of the enum field. +type GoogleCloudContentwarehouseV1EnumValueOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContentwarehouseV1EnumValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContentwarehouseV1EnumValue)(nil)).Elem() +} + +func (o GoogleCloudContentwarehouseV1EnumValueOutput) ToGoogleCloudContentwarehouseV1EnumValueOutput() GoogleCloudContentwarehouseV1EnumValueOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1EnumValueOutput) ToGoogleCloudContentwarehouseV1EnumValueOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1EnumValueOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1EnumValueOutput) ToGoogleCloudContentwarehouseV1EnumValuePtrOutput() GoogleCloudContentwarehouseV1EnumValuePtrOutput { + return o.ToGoogleCloudContentwarehouseV1EnumValuePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudContentwarehouseV1EnumValueOutput) ToGoogleCloudContentwarehouseV1EnumValuePtrOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1EnumValuePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudContentwarehouseV1EnumValue) *GoogleCloudContentwarehouseV1EnumValue { + return &v + }).(GoogleCloudContentwarehouseV1EnumValuePtrOutput) +} + +// String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. +func (o GoogleCloudContentwarehouseV1EnumValueOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1EnumValue) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type GoogleCloudContentwarehouseV1EnumValuePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContentwarehouseV1EnumValuePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudContentwarehouseV1EnumValue)(nil)).Elem() +} + +func (o GoogleCloudContentwarehouseV1EnumValuePtrOutput) ToGoogleCloudContentwarehouseV1EnumValuePtrOutput() GoogleCloudContentwarehouseV1EnumValuePtrOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1EnumValuePtrOutput) ToGoogleCloudContentwarehouseV1EnumValuePtrOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1EnumValuePtrOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1EnumValuePtrOutput) Elem() GoogleCloudContentwarehouseV1EnumValueOutput { + return o.ApplyT(func(v *GoogleCloudContentwarehouseV1EnumValue) GoogleCloudContentwarehouseV1EnumValue { + if v != nil { + return *v + } + var ret GoogleCloudContentwarehouseV1EnumValue + return ret + }).(GoogleCloudContentwarehouseV1EnumValueOutput) +} + +// String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. +func (o GoogleCloudContentwarehouseV1EnumValuePtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleCloudContentwarehouseV1EnumValue) *string { + if v == nil { + return nil + } + return v.Value + }).(pulumi.StringPtrOutput) +} + +// Represents the string value of the enum field. +type GoogleCloudContentwarehouseV1EnumValueResponse struct { + // String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + Value string `pulumi:"value"` +} + +// Represents the string value of the enum field. +type GoogleCloudContentwarehouseV1EnumValueResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContentwarehouseV1EnumValueResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContentwarehouseV1EnumValueResponse)(nil)).Elem() +} + +func (o GoogleCloudContentwarehouseV1EnumValueResponseOutput) ToGoogleCloudContentwarehouseV1EnumValueResponseOutput() GoogleCloudContentwarehouseV1EnumValueResponseOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1EnumValueResponseOutput) ToGoogleCloudContentwarehouseV1EnumValueResponseOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1EnumValueResponseOutput { + return o +} + +// String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. +func (o GoogleCloudContentwarehouseV1EnumValueResponseOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1EnumValueResponse) string { return v.Value }).(pulumi.StringOutput) +} + // Float values. type GoogleCloudContentwarehouseV1FloatArray struct { // List of float values. @@ -2603,7 +2769,7 @@ func (o GoogleCloudContentwarehouseV1IntegerTypeOptionsResponseOutput) ToGoogleC // Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values. type GoogleCloudContentwarehouseV1MapProperty struct { // Unordered map of dynamically typed values. - Fields map[string]string `pulumi:"fields"` + Fields map[string]GoogleCloudContentwarehouseV1Value `pulumi:"fields"` } // GoogleCloudContentwarehouseV1MapPropertyInput is an input type that accepts GoogleCloudContentwarehouseV1MapPropertyArgs and GoogleCloudContentwarehouseV1MapPropertyOutput values. @@ -2620,7 +2786,7 @@ type GoogleCloudContentwarehouseV1MapPropertyInput interface { // Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values. type GoogleCloudContentwarehouseV1MapPropertyArgs struct { // Unordered map of dynamically typed values. - Fields pulumi.StringMapInput `pulumi:"fields"` + Fields GoogleCloudContentwarehouseV1ValueMapInput `pulumi:"fields"` } func (GoogleCloudContentwarehouseV1MapPropertyArgs) ElementType() reflect.Type { @@ -2702,8 +2868,10 @@ func (o GoogleCloudContentwarehouseV1MapPropertyOutput) ToGoogleCloudContentware } // Unordered map of dynamically typed values. -func (o GoogleCloudContentwarehouseV1MapPropertyOutput) Fields() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudContentwarehouseV1MapProperty) map[string]string { return v.Fields }).(pulumi.StringMapOutput) +func (o GoogleCloudContentwarehouseV1MapPropertyOutput) Fields() GoogleCloudContentwarehouseV1ValueMapOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1MapProperty) map[string]GoogleCloudContentwarehouseV1Value { + return v.Fields + }).(GoogleCloudContentwarehouseV1ValueMapOutput) } type GoogleCloudContentwarehouseV1MapPropertyPtrOutput struct{ *pulumi.OutputState } @@ -2731,19 +2899,19 @@ func (o GoogleCloudContentwarehouseV1MapPropertyPtrOutput) Elem() GoogleCloudCon } // Unordered map of dynamically typed values. -func (o GoogleCloudContentwarehouseV1MapPropertyPtrOutput) Fields() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudContentwarehouseV1MapProperty) map[string]string { +func (o GoogleCloudContentwarehouseV1MapPropertyPtrOutput) Fields() GoogleCloudContentwarehouseV1ValueMapOutput { + return o.ApplyT(func(v *GoogleCloudContentwarehouseV1MapProperty) map[string]GoogleCloudContentwarehouseV1Value { if v == nil { return nil } return v.Fields - }).(pulumi.StringMapOutput) + }).(GoogleCloudContentwarehouseV1ValueMapOutput) } // Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values. type GoogleCloudContentwarehouseV1MapPropertyResponse struct { // Unordered map of dynamically typed values. - Fields map[string]string `pulumi:"fields"` + Fields map[string]GoogleCloudContentwarehouseV1ValueResponse `pulumi:"fields"` } // Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values. @@ -2762,8 +2930,10 @@ func (o GoogleCloudContentwarehouseV1MapPropertyResponseOutput) ToGoogleCloudCon } // Unordered map of dynamically typed values. -func (o GoogleCloudContentwarehouseV1MapPropertyResponseOutput) Fields() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudContentwarehouseV1MapPropertyResponse) map[string]string { return v.Fields }).(pulumi.StringMapOutput) +func (o GoogleCloudContentwarehouseV1MapPropertyResponseOutput) Fields() GoogleCloudContentwarehouseV1ValueResponseMapOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1MapPropertyResponse) map[string]GoogleCloudContentwarehouseV1ValueResponse { + return v.Fields + }).(GoogleCloudContentwarehouseV1ValueResponseMapOutput) } // Configurations for a Map property. @@ -5660,6 +5830,47 @@ func (i GoogleCloudContentwarehouseV1TimestampValueArgs) ToGoogleCloudContentwar return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudContentwarehouseV1TimestampValueOutput) } +func (i GoogleCloudContentwarehouseV1TimestampValueArgs) ToGoogleCloudContentwarehouseV1TimestampValuePtrOutput() GoogleCloudContentwarehouseV1TimestampValuePtrOutput { + return i.ToGoogleCloudContentwarehouseV1TimestampValuePtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudContentwarehouseV1TimestampValueArgs) ToGoogleCloudContentwarehouseV1TimestampValuePtrOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1TimestampValuePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudContentwarehouseV1TimestampValueOutput).ToGoogleCloudContentwarehouseV1TimestampValuePtrOutputWithContext(ctx) +} + +// GoogleCloudContentwarehouseV1TimestampValuePtrInput is an input type that accepts GoogleCloudContentwarehouseV1TimestampValueArgs, GoogleCloudContentwarehouseV1TimestampValuePtr and GoogleCloudContentwarehouseV1TimestampValuePtrOutput values. +// You can construct a concrete instance of `GoogleCloudContentwarehouseV1TimestampValuePtrInput` via: +// +// GoogleCloudContentwarehouseV1TimestampValueArgs{...} +// +// or: +// +// nil +type GoogleCloudContentwarehouseV1TimestampValuePtrInput interface { + pulumi.Input + + ToGoogleCloudContentwarehouseV1TimestampValuePtrOutput() GoogleCloudContentwarehouseV1TimestampValuePtrOutput + ToGoogleCloudContentwarehouseV1TimestampValuePtrOutputWithContext(context.Context) GoogleCloudContentwarehouseV1TimestampValuePtrOutput +} + +type googleCloudContentwarehouseV1TimestampValuePtrType GoogleCloudContentwarehouseV1TimestampValueArgs + +func GoogleCloudContentwarehouseV1TimestampValuePtr(v *GoogleCloudContentwarehouseV1TimestampValueArgs) GoogleCloudContentwarehouseV1TimestampValuePtrInput { + return (*googleCloudContentwarehouseV1TimestampValuePtrType)(v) +} + +func (*googleCloudContentwarehouseV1TimestampValuePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudContentwarehouseV1TimestampValue)(nil)).Elem() +} + +func (i *googleCloudContentwarehouseV1TimestampValuePtrType) ToGoogleCloudContentwarehouseV1TimestampValuePtrOutput() GoogleCloudContentwarehouseV1TimestampValuePtrOutput { + return i.ToGoogleCloudContentwarehouseV1TimestampValuePtrOutputWithContext(context.Background()) +} + +func (i *googleCloudContentwarehouseV1TimestampValuePtrType) ToGoogleCloudContentwarehouseV1TimestampValuePtrOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1TimestampValuePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudContentwarehouseV1TimestampValuePtrOutput) +} + // GoogleCloudContentwarehouseV1TimestampValueArrayInput is an input type that accepts GoogleCloudContentwarehouseV1TimestampValueArray and GoogleCloudContentwarehouseV1TimestampValueArrayOutput values. // You can construct a concrete instance of `GoogleCloudContentwarehouseV1TimestampValueArrayInput` via: // @@ -5700,6 +5911,16 @@ func (o GoogleCloudContentwarehouseV1TimestampValueOutput) ToGoogleCloudContentw return o } +func (o GoogleCloudContentwarehouseV1TimestampValueOutput) ToGoogleCloudContentwarehouseV1TimestampValuePtrOutput() GoogleCloudContentwarehouseV1TimestampValuePtrOutput { + return o.ToGoogleCloudContentwarehouseV1TimestampValuePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudContentwarehouseV1TimestampValueOutput) ToGoogleCloudContentwarehouseV1TimestampValuePtrOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1TimestampValuePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudContentwarehouseV1TimestampValue) *GoogleCloudContentwarehouseV1TimestampValue { + return &v + }).(GoogleCloudContentwarehouseV1TimestampValuePtrOutput) +} + // The string must represent a valid instant in UTC and is parsed using java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. "2013-09-29T18:46:19Z" func (o GoogleCloudContentwarehouseV1TimestampValueOutput) TextValue() pulumi.StringPtrOutput { return o.ApplyT(func(v GoogleCloudContentwarehouseV1TimestampValue) *string { return v.TextValue }).(pulumi.StringPtrOutput) @@ -5710,6 +5931,50 @@ func (o GoogleCloudContentwarehouseV1TimestampValueOutput) TimestampValue() pulu return o.ApplyT(func(v GoogleCloudContentwarehouseV1TimestampValue) *string { return v.TimestampValue }).(pulumi.StringPtrOutput) } +type GoogleCloudContentwarehouseV1TimestampValuePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContentwarehouseV1TimestampValuePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudContentwarehouseV1TimestampValue)(nil)).Elem() +} + +func (o GoogleCloudContentwarehouseV1TimestampValuePtrOutput) ToGoogleCloudContentwarehouseV1TimestampValuePtrOutput() GoogleCloudContentwarehouseV1TimestampValuePtrOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1TimestampValuePtrOutput) ToGoogleCloudContentwarehouseV1TimestampValuePtrOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1TimestampValuePtrOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1TimestampValuePtrOutput) Elem() GoogleCloudContentwarehouseV1TimestampValueOutput { + return o.ApplyT(func(v *GoogleCloudContentwarehouseV1TimestampValue) GoogleCloudContentwarehouseV1TimestampValue { + if v != nil { + return *v + } + var ret GoogleCloudContentwarehouseV1TimestampValue + return ret + }).(GoogleCloudContentwarehouseV1TimestampValueOutput) +} + +// The string must represent a valid instant in UTC and is parsed using java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. "2013-09-29T18:46:19Z" +func (o GoogleCloudContentwarehouseV1TimestampValuePtrOutput) TextValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleCloudContentwarehouseV1TimestampValue) *string { + if v == nil { + return nil + } + return v.TextValue + }).(pulumi.StringPtrOutput) +} + +// Timestamp value +func (o GoogleCloudContentwarehouseV1TimestampValuePtrOutput) TimestampValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleCloudContentwarehouseV1TimestampValue) *string { + if v == nil { + return nil + } + return v.TimestampValue + }).(pulumi.StringPtrOutput) +} + type GoogleCloudContentwarehouseV1TimestampValueArrayOutput struct{ *pulumi.OutputState } func (GoogleCloudContentwarehouseV1TimestampValueArrayOutput) ElementType() reflect.Type { @@ -5952,6 +6217,254 @@ func (o GoogleCloudContentwarehouseV1UserInfoPtrOutput) Id() pulumi.StringPtrOut }).(pulumi.StringPtrOutput) } +// `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. +type GoogleCloudContentwarehouseV1Value struct { + // Represents a boolean value. + BooleanValue *bool `pulumi:"booleanValue"` + // Represents a datetime value. + DatetimeValue *GoogleTypeDateTime `pulumi:"datetimeValue"` + // Represents an enum value. + EnumValue *GoogleCloudContentwarehouseV1EnumValue `pulumi:"enumValue"` + // Represents a float value. + FloatValue *float64 `pulumi:"floatValue"` + // Represents a integer value. + IntValue *int `pulumi:"intValue"` + // Represents a string value. + StringValue *string `pulumi:"stringValue"` + // Represents a timestamp value. + TimestampValue *GoogleCloudContentwarehouseV1TimestampValue `pulumi:"timestampValue"` +} + +// GoogleCloudContentwarehouseV1ValueInput is an input type that accepts GoogleCloudContentwarehouseV1ValueArgs and GoogleCloudContentwarehouseV1ValueOutput values. +// You can construct a concrete instance of `GoogleCloudContentwarehouseV1ValueInput` via: +// +// GoogleCloudContentwarehouseV1ValueArgs{...} +type GoogleCloudContentwarehouseV1ValueInput interface { + pulumi.Input + + ToGoogleCloudContentwarehouseV1ValueOutput() GoogleCloudContentwarehouseV1ValueOutput + ToGoogleCloudContentwarehouseV1ValueOutputWithContext(context.Context) GoogleCloudContentwarehouseV1ValueOutput +} + +// `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. +type GoogleCloudContentwarehouseV1ValueArgs struct { + // Represents a boolean value. + BooleanValue pulumi.BoolPtrInput `pulumi:"booleanValue"` + // Represents a datetime value. + DatetimeValue GoogleTypeDateTimePtrInput `pulumi:"datetimeValue"` + // Represents an enum value. + EnumValue GoogleCloudContentwarehouseV1EnumValuePtrInput `pulumi:"enumValue"` + // Represents a float value. + FloatValue pulumi.Float64PtrInput `pulumi:"floatValue"` + // Represents a integer value. + IntValue pulumi.IntPtrInput `pulumi:"intValue"` + // Represents a string value. + StringValue pulumi.StringPtrInput `pulumi:"stringValue"` + // Represents a timestamp value. + TimestampValue GoogleCloudContentwarehouseV1TimestampValuePtrInput `pulumi:"timestampValue"` +} + +func (GoogleCloudContentwarehouseV1ValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContentwarehouseV1Value)(nil)).Elem() +} + +func (i GoogleCloudContentwarehouseV1ValueArgs) ToGoogleCloudContentwarehouseV1ValueOutput() GoogleCloudContentwarehouseV1ValueOutput { + return i.ToGoogleCloudContentwarehouseV1ValueOutputWithContext(context.Background()) +} + +func (i GoogleCloudContentwarehouseV1ValueArgs) ToGoogleCloudContentwarehouseV1ValueOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1ValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudContentwarehouseV1ValueOutput) +} + +// GoogleCloudContentwarehouseV1ValueMapInput is an input type that accepts GoogleCloudContentwarehouseV1ValueMap and GoogleCloudContentwarehouseV1ValueMapOutput values. +// You can construct a concrete instance of `GoogleCloudContentwarehouseV1ValueMapInput` via: +// +// GoogleCloudContentwarehouseV1ValueMap{ "key": GoogleCloudContentwarehouseV1ValueArgs{...} } +type GoogleCloudContentwarehouseV1ValueMapInput interface { + pulumi.Input + + ToGoogleCloudContentwarehouseV1ValueMapOutput() GoogleCloudContentwarehouseV1ValueMapOutput + ToGoogleCloudContentwarehouseV1ValueMapOutputWithContext(context.Context) GoogleCloudContentwarehouseV1ValueMapOutput +} + +type GoogleCloudContentwarehouseV1ValueMap map[string]GoogleCloudContentwarehouseV1ValueInput + +func (GoogleCloudContentwarehouseV1ValueMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudContentwarehouseV1Value)(nil)).Elem() +} + +func (i GoogleCloudContentwarehouseV1ValueMap) ToGoogleCloudContentwarehouseV1ValueMapOutput() GoogleCloudContentwarehouseV1ValueMapOutput { + return i.ToGoogleCloudContentwarehouseV1ValueMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudContentwarehouseV1ValueMap) ToGoogleCloudContentwarehouseV1ValueMapOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1ValueMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudContentwarehouseV1ValueMapOutput) +} + +// `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. +type GoogleCloudContentwarehouseV1ValueOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContentwarehouseV1ValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContentwarehouseV1Value)(nil)).Elem() +} + +func (o GoogleCloudContentwarehouseV1ValueOutput) ToGoogleCloudContentwarehouseV1ValueOutput() GoogleCloudContentwarehouseV1ValueOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1ValueOutput) ToGoogleCloudContentwarehouseV1ValueOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1ValueOutput { + return o +} + +// Represents a boolean value. +func (o GoogleCloudContentwarehouseV1ValueOutput) BooleanValue() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1Value) *bool { return v.BooleanValue }).(pulumi.BoolPtrOutput) +} + +// Represents a datetime value. +func (o GoogleCloudContentwarehouseV1ValueOutput) DatetimeValue() GoogleTypeDateTimePtrOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1Value) *GoogleTypeDateTime { return v.DatetimeValue }).(GoogleTypeDateTimePtrOutput) +} + +// Represents an enum value. +func (o GoogleCloudContentwarehouseV1ValueOutput) EnumValue() GoogleCloudContentwarehouseV1EnumValuePtrOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1Value) *GoogleCloudContentwarehouseV1EnumValue { return v.EnumValue }).(GoogleCloudContentwarehouseV1EnumValuePtrOutput) +} + +// Represents a float value. +func (o GoogleCloudContentwarehouseV1ValueOutput) FloatValue() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1Value) *float64 { return v.FloatValue }).(pulumi.Float64PtrOutput) +} + +// Represents a integer value. +func (o GoogleCloudContentwarehouseV1ValueOutput) IntValue() pulumi.IntPtrOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1Value) *int { return v.IntValue }).(pulumi.IntPtrOutput) +} + +// Represents a string value. +func (o GoogleCloudContentwarehouseV1ValueOutput) StringValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1Value) *string { return v.StringValue }).(pulumi.StringPtrOutput) +} + +// Represents a timestamp value. +func (o GoogleCloudContentwarehouseV1ValueOutput) TimestampValue() GoogleCloudContentwarehouseV1TimestampValuePtrOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1Value) *GoogleCloudContentwarehouseV1TimestampValue { + return v.TimestampValue + }).(GoogleCloudContentwarehouseV1TimestampValuePtrOutput) +} + +type GoogleCloudContentwarehouseV1ValueMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContentwarehouseV1ValueMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudContentwarehouseV1Value)(nil)).Elem() +} + +func (o GoogleCloudContentwarehouseV1ValueMapOutput) ToGoogleCloudContentwarehouseV1ValueMapOutput() GoogleCloudContentwarehouseV1ValueMapOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1ValueMapOutput) ToGoogleCloudContentwarehouseV1ValueMapOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1ValueMapOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1ValueMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudContentwarehouseV1ValueOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudContentwarehouseV1Value { + return vs[0].(map[string]GoogleCloudContentwarehouseV1Value)[vs[1].(string)] + }).(GoogleCloudContentwarehouseV1ValueOutput) +} + +// `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. +type GoogleCloudContentwarehouseV1ValueResponse struct { + // Represents a boolean value. + BooleanValue bool `pulumi:"booleanValue"` + // Represents a datetime value. + DatetimeValue GoogleTypeDateTimeResponse `pulumi:"datetimeValue"` + // Represents an enum value. + EnumValue GoogleCloudContentwarehouseV1EnumValueResponse `pulumi:"enumValue"` + // Represents a float value. + FloatValue float64 `pulumi:"floatValue"` + // Represents a integer value. + IntValue int `pulumi:"intValue"` + // Represents a string value. + StringValue string `pulumi:"stringValue"` + // Represents a timestamp value. + TimestampValue GoogleCloudContentwarehouseV1TimestampValueResponse `pulumi:"timestampValue"` +} + +// `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. +type GoogleCloudContentwarehouseV1ValueResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContentwarehouseV1ValueResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudContentwarehouseV1ValueResponse)(nil)).Elem() +} + +func (o GoogleCloudContentwarehouseV1ValueResponseOutput) ToGoogleCloudContentwarehouseV1ValueResponseOutput() GoogleCloudContentwarehouseV1ValueResponseOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1ValueResponseOutput) ToGoogleCloudContentwarehouseV1ValueResponseOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1ValueResponseOutput { + return o +} + +// Represents a boolean value. +func (o GoogleCloudContentwarehouseV1ValueResponseOutput) BooleanValue() pulumi.BoolOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1ValueResponse) bool { return v.BooleanValue }).(pulumi.BoolOutput) +} + +// Represents a datetime value. +func (o GoogleCloudContentwarehouseV1ValueResponseOutput) DatetimeValue() GoogleTypeDateTimeResponseOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1ValueResponse) GoogleTypeDateTimeResponse { return v.DatetimeValue }).(GoogleTypeDateTimeResponseOutput) +} + +// Represents an enum value. +func (o GoogleCloudContentwarehouseV1ValueResponseOutput) EnumValue() GoogleCloudContentwarehouseV1EnumValueResponseOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1ValueResponse) GoogleCloudContentwarehouseV1EnumValueResponse { + return v.EnumValue + }).(GoogleCloudContentwarehouseV1EnumValueResponseOutput) +} + +// Represents a float value. +func (o GoogleCloudContentwarehouseV1ValueResponseOutput) FloatValue() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1ValueResponse) float64 { return v.FloatValue }).(pulumi.Float64Output) +} + +// Represents a integer value. +func (o GoogleCloudContentwarehouseV1ValueResponseOutput) IntValue() pulumi.IntOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1ValueResponse) int { return v.IntValue }).(pulumi.IntOutput) +} + +// Represents a string value. +func (o GoogleCloudContentwarehouseV1ValueResponseOutput) StringValue() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1ValueResponse) string { return v.StringValue }).(pulumi.StringOutput) +} + +// Represents a timestamp value. +func (o GoogleCloudContentwarehouseV1ValueResponseOutput) TimestampValue() GoogleCloudContentwarehouseV1TimestampValueResponseOutput { + return o.ApplyT(func(v GoogleCloudContentwarehouseV1ValueResponse) GoogleCloudContentwarehouseV1TimestampValueResponse { + return v.TimestampValue + }).(GoogleCloudContentwarehouseV1TimestampValueResponseOutput) +} + +type GoogleCloudContentwarehouseV1ValueResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudContentwarehouseV1ValueResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudContentwarehouseV1ValueResponse)(nil)).Elem() +} + +func (o GoogleCloudContentwarehouseV1ValueResponseMapOutput) ToGoogleCloudContentwarehouseV1ValueResponseMapOutput() GoogleCloudContentwarehouseV1ValueResponseMapOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1ValueResponseMapOutput) ToGoogleCloudContentwarehouseV1ValueResponseMapOutputWithContext(ctx context.Context) GoogleCloudContentwarehouseV1ValueResponseMapOutput { + return o +} + +func (o GoogleCloudContentwarehouseV1ValueResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudContentwarehouseV1ValueResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudContentwarehouseV1ValueResponse { + return vs[0].(map[string]GoogleCloudContentwarehouseV1ValueResponse)[vs[1].(string)] + }).(GoogleCloudContentwarehouseV1ValueResponseOutput) +} + // Encodes the detailed information of a barcode. type GoogleCloudDocumentaiV1Barcode struct { // Format of a barcode. The supported formats are: - `CODE_128`: Code 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - `CODABAR`: Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - `ITF`: ITF type. - `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - `QR_CODE`: 2D QR code type. - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E type. - `PDF417`: PDF417 type. - `AZTEC`: 2D Aztec code type. - `DATABAR`: GS1 DataBar code type. @@ -16092,7 +16605,7 @@ type GoogleRpcStatus struct { // The status code, which should be an enum value of google.rpc.Code. Code *int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message *string `pulumi:"message"` } @@ -16113,7 +16626,7 @@ type GoogleRpcStatusArgs struct { // The status code, which should be an enum value of google.rpc.Code. Code pulumi.IntPtrInput `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details pulumi.StringMapArrayInput `pulumi:"details"` + Details pulumi.MapArrayInput `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message pulumi.StringPtrInput `pulumi:"message"` } @@ -16202,8 +16715,8 @@ func (o GoogleRpcStatusOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatus) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatus) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -16246,13 +16759,13 @@ func (o GoogleRpcStatusPtrOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusPtrOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *GoogleRpcStatus) []map[string]string { +func (o GoogleRpcStatusPtrOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v *GoogleRpcStatus) []map[string]interface{} { if v == nil { return nil } return v.Details - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -16270,7 +16783,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -16296,8 +16809,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -18302,6 +18815,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1EnumArrayPtrInput)(nil)).Elem(), GoogleCloudContentwarehouseV1EnumArrayArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1EnumTypeOptionsInput)(nil)).Elem(), GoogleCloudContentwarehouseV1EnumTypeOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1EnumTypeOptionsPtrInput)(nil)).Elem(), GoogleCloudContentwarehouseV1EnumTypeOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1EnumValueInput)(nil)).Elem(), GoogleCloudContentwarehouseV1EnumValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1EnumValuePtrInput)(nil)).Elem(), GoogleCloudContentwarehouseV1EnumValueArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1FloatArrayInput)(nil)).Elem(), GoogleCloudContentwarehouseV1FloatArrayArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1FloatArrayPtrInput)(nil)).Elem(), GoogleCloudContentwarehouseV1FloatArrayArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1FloatTypeOptionsInput)(nil)).Elem(), GoogleCloudContentwarehouseV1FloatTypeOptionsArgs{}) @@ -18342,9 +18857,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1TimestampTypeOptionsInput)(nil)).Elem(), GoogleCloudContentwarehouseV1TimestampTypeOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1TimestampTypeOptionsPtrInput)(nil)).Elem(), GoogleCloudContentwarehouseV1TimestampTypeOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1TimestampValueInput)(nil)).Elem(), GoogleCloudContentwarehouseV1TimestampValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1TimestampValuePtrInput)(nil)).Elem(), GoogleCloudContentwarehouseV1TimestampValueArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1TimestampValueArrayInput)(nil)).Elem(), GoogleCloudContentwarehouseV1TimestampValueArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1UserInfoInput)(nil)).Elem(), GoogleCloudContentwarehouseV1UserInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1UserInfoPtrInput)(nil)).Elem(), GoogleCloudContentwarehouseV1UserInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1ValueInput)(nil)).Elem(), GoogleCloudContentwarehouseV1ValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudContentwarehouseV1ValueMapInput)(nil)).Elem(), GoogleCloudContentwarehouseV1ValueMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDocumentaiV1BarcodeInput)(nil)).Elem(), GoogleCloudDocumentaiV1BarcodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDocumentaiV1BarcodePtrInput)(nil)).Elem(), GoogleCloudDocumentaiV1BarcodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDocumentaiV1BoundingPolyInput)(nil)).Elem(), GoogleCloudDocumentaiV1BoundingPolyArgs{}) @@ -18486,6 +19004,9 @@ func init() { pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1EnumTypeOptionsOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1EnumTypeOptionsPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1EnumTypeOptionsResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1EnumValueOutput{}) + pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1EnumValuePtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1EnumValueResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1FloatArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1FloatArrayPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1FloatArrayResponseOutput{}) @@ -18551,11 +19072,16 @@ func init() { pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1TimestampTypeOptionsPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1TimestampTypeOptionsResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1TimestampValueOutput{}) + pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1TimestampValuePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1TimestampValueArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1TimestampValueResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1TimestampValueResponseArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1UserInfoOutput{}) pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1UserInfoPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1ValueOutput{}) + pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1ValueMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1ValueResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudContentwarehouseV1ValueResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDocumentaiV1BarcodeOutput{}) pulumi.RegisterOutputType(GoogleCloudDocumentaiV1BarcodePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDocumentaiV1BarcodeResponseOutput{}) diff --git a/sdk/go/google/datacatalog/v1/getTagTemplate.go b/sdk/go/google/datacatalog/v1/getTagTemplate.go index 1d547061f7..68112b5f66 100644 --- a/sdk/go/google/datacatalog/v1/getTagTemplate.go +++ b/sdk/go/google/datacatalog/v1/getTagTemplate.go @@ -32,7 +32,7 @@ type LookupTagTemplateResult struct { // Display name for this template. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. DisplayName string `pulumi:"displayName"` // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. - Fields map[string]string `pulumi:"fields"` + Fields map[string]GoogleCloudDatacatalogV1TagTemplateFieldResponse `pulumi:"fields"` // Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. IsPubliclyReadable bool `pulumi:"isPubliclyReadable"` // The resource name of the tag template in URL format. Note: The tag template itself and its child resources might not be stored in the location specified in its name. @@ -82,8 +82,10 @@ func (o LookupTagTemplateResultOutput) DisplayName() pulumi.StringOutput { } // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. -func (o LookupTagTemplateResultOutput) Fields() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupTagTemplateResult) map[string]string { return v.Fields }).(pulumi.StringMapOutput) +func (o LookupTagTemplateResultOutput) Fields() GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput { + return o.ApplyT(func(v LookupTagTemplateResult) map[string]GoogleCloudDatacatalogV1TagTemplateFieldResponse { + return v.Fields + }).(GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput) } // Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a “tag:“ predicate. diff --git a/sdk/go/google/datacatalog/v1/pulumiEnums.go b/sdk/go/google/datacatalog/v1/pulumiEnums.go index 96c32865b7..36773f04a4 100644 --- a/sdk/go/google/datacatalog/v1/pulumiEnums.go +++ b/sdk/go/google/datacatalog/v1/pulumiEnums.go @@ -919,6 +919,186 @@ func (in *googleCloudDatacatalogV1DatabaseTableSpecTypePtr) ToGoogleCloudDatacat return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudDatacatalogV1DatabaseTableSpecTypePtrOutput) } +// Primitive types, such as string, boolean, etc. +type GoogleCloudDatacatalogV1FieldTypePrimitiveType string + +const ( + // The default invalid value for a type. + GoogleCloudDatacatalogV1FieldTypePrimitiveTypePrimitiveTypeUnspecified = GoogleCloudDatacatalogV1FieldTypePrimitiveType("PRIMITIVE_TYPE_UNSPECIFIED") + // A double precision number. + GoogleCloudDatacatalogV1FieldTypePrimitiveTypeDouble = GoogleCloudDatacatalogV1FieldTypePrimitiveType("DOUBLE") + // An UTF-8 string. + GoogleCloudDatacatalogV1FieldTypePrimitiveTypeString = GoogleCloudDatacatalogV1FieldTypePrimitiveType("STRING") + // A boolean value. + GoogleCloudDatacatalogV1FieldTypePrimitiveTypeBool = GoogleCloudDatacatalogV1FieldTypePrimitiveType("BOOL") + // A timestamp. + GoogleCloudDatacatalogV1FieldTypePrimitiveTypeTimestamp = GoogleCloudDatacatalogV1FieldTypePrimitiveType("TIMESTAMP") + // A Richtext description. + GoogleCloudDatacatalogV1FieldTypePrimitiveTypeRichtext = GoogleCloudDatacatalogV1FieldTypePrimitiveType("RICHTEXT") +) + +func (GoogleCloudDatacatalogV1FieldTypePrimitiveType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypePrimitiveType)(nil)).Elem() +} + +func (e GoogleCloudDatacatalogV1FieldTypePrimitiveType) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput() GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput { + return pulumi.ToOutput(e).(GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) +} + +func (e GoogleCloudDatacatalogV1FieldTypePrimitiveType) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) +} + +func (e GoogleCloudDatacatalogV1FieldTypePrimitiveType) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput { + return e.ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudDatacatalogV1FieldTypePrimitiveType) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput { + return GoogleCloudDatacatalogV1FieldTypePrimitiveType(e).ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutputWithContext(ctx).ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutputWithContext(ctx) +} + +func (e GoogleCloudDatacatalogV1FieldTypePrimitiveType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudDatacatalogV1FieldTypePrimitiveType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudDatacatalogV1FieldTypePrimitiveType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudDatacatalogV1FieldTypePrimitiveType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypePrimitiveType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput() GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput { + return o.ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudDatacatalogV1FieldTypePrimitiveType) *GoogleCloudDatacatalogV1FieldTypePrimitiveType { + return &v + }).(GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudDatacatalogV1FieldTypePrimitiveType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudDatacatalogV1FieldTypePrimitiveType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDatacatalogV1FieldTypePrimitiveType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) Elem() GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput { + return o.ApplyT(func(v *GoogleCloudDatacatalogV1FieldTypePrimitiveType) GoogleCloudDatacatalogV1FieldTypePrimitiveType { + if v != nil { + return *v + } + var ret GoogleCloudDatacatalogV1FieldTypePrimitiveType + return ret + }).(GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput) +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudDatacatalogV1FieldTypePrimitiveType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudDatacatalogV1FieldTypePrimitiveTypeInput is an input type that accepts values of the GoogleCloudDatacatalogV1FieldTypePrimitiveType enum +// A concrete instance of `GoogleCloudDatacatalogV1FieldTypePrimitiveTypeInput` can be one of the following: +// +// GoogleCloudDatacatalogV1FieldTypePrimitiveTypePrimitiveTypeUnspecified +// GoogleCloudDatacatalogV1FieldTypePrimitiveTypeDouble +// GoogleCloudDatacatalogV1FieldTypePrimitiveTypeString +// GoogleCloudDatacatalogV1FieldTypePrimitiveTypeBool +// GoogleCloudDatacatalogV1FieldTypePrimitiveTypeTimestamp +// GoogleCloudDatacatalogV1FieldTypePrimitiveTypeRichtext +type GoogleCloudDatacatalogV1FieldTypePrimitiveTypeInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput() GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput + ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutputWithContext(context.Context) GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput +} + +var googleCloudDatacatalogV1FieldTypePrimitiveTypePtrType = reflect.TypeOf((**GoogleCloudDatacatalogV1FieldTypePrimitiveType)(nil)).Elem() + +type GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput + ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutputWithContext(context.Context) GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput +} + +type googleCloudDatacatalogV1FieldTypePrimitiveTypePtr string + +func GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtr(v string) GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrInput { + return (*googleCloudDatacatalogV1FieldTypePrimitiveTypePtr)(&v) +} + +func (*googleCloudDatacatalogV1FieldTypePrimitiveTypePtr) ElementType() reflect.Type { + return googleCloudDatacatalogV1FieldTypePrimitiveTypePtrType +} + +func (in *googleCloudDatacatalogV1FieldTypePrimitiveTypePtr) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput { + return pulumi.ToOutput(in).(GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) +} + +func (in *googleCloudDatacatalogV1FieldTypePrimitiveTypePtr) ToGoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) +} + // Specifies whether the argument is input or output. type GoogleCloudDatacatalogV1RoutineSpecArgumentMode string @@ -1865,6 +2045,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpecViewTypePtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpecViewType("VIEW_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1DatabaseTableSpecTypeInput)(nil)).Elem(), GoogleCloudDatacatalogV1DatabaseTableSpecType("TABLE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1DatabaseTableSpecTypePtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1DatabaseTableSpecType("TABLE_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypePrimitiveTypeInput)(nil)).Elem(), GoogleCloudDatacatalogV1FieldTypePrimitiveType("PRIMITIVE_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1FieldTypePrimitiveType("PRIMITIVE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1RoutineSpecArgumentModeInput)(nil)).Elem(), GoogleCloudDatacatalogV1RoutineSpecArgumentMode("MODE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1RoutineSpecArgumentModePtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1RoutineSpecArgumentMode("MODE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1RoutineSpecRoutineTypeInput)(nil)).Elem(), GoogleCloudDatacatalogV1RoutineSpecRoutineType("ROUTINE_TYPE_UNSPECIFIED")) @@ -1886,6 +2068,8 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpecViewTypePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1DatabaseTableSpecTypeOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1DatabaseTableSpecTypePtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypePrimitiveTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1RoutineSpecArgumentModeOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1RoutineSpecArgumentModePtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1RoutineSpecRoutineTypeOutput{}) diff --git a/sdk/go/google/datacatalog/v1/pulumiTypes.go b/sdk/go/google/datacatalog/v1/pulumiTypes.go index 95bf55f3ba..4bcfbac124 100644 --- a/sdk/go/google/datacatalog/v1/pulumiTypes.go +++ b/sdk/go/google/datacatalog/v1/pulumiTypes.go @@ -1986,6 +1986,152 @@ func (o GoogleCloudDatacatalogV1ColumnSchemaResponseArrayOutput) Index(i pulumi. }).(GoogleCloudDatacatalogV1ColumnSchemaResponseOutput) } +// Common statistics on the entry's usage. They can be set on any system. +type GoogleCloudDatacatalogV1CommonUsageStats struct { + // View count in source system. + ViewCount *string `pulumi:"viewCount"` +} + +// GoogleCloudDatacatalogV1CommonUsageStatsInput is an input type that accepts GoogleCloudDatacatalogV1CommonUsageStatsArgs and GoogleCloudDatacatalogV1CommonUsageStatsOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1CommonUsageStatsInput` via: +// +// GoogleCloudDatacatalogV1CommonUsageStatsArgs{...} +type GoogleCloudDatacatalogV1CommonUsageStatsInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1CommonUsageStatsOutput() GoogleCloudDatacatalogV1CommonUsageStatsOutput + ToGoogleCloudDatacatalogV1CommonUsageStatsOutputWithContext(context.Context) GoogleCloudDatacatalogV1CommonUsageStatsOutput +} + +// Common statistics on the entry's usage. They can be set on any system. +type GoogleCloudDatacatalogV1CommonUsageStatsArgs struct { + // View count in source system. + ViewCount pulumi.StringPtrInput `pulumi:"viewCount"` +} + +func (GoogleCloudDatacatalogV1CommonUsageStatsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1CommonUsageStats)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1CommonUsageStatsArgs) ToGoogleCloudDatacatalogV1CommonUsageStatsOutput() GoogleCloudDatacatalogV1CommonUsageStatsOutput { + return i.ToGoogleCloudDatacatalogV1CommonUsageStatsOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1CommonUsageStatsArgs) ToGoogleCloudDatacatalogV1CommonUsageStatsOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1CommonUsageStatsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1CommonUsageStatsOutput) +} + +// GoogleCloudDatacatalogV1CommonUsageStatsMapInput is an input type that accepts GoogleCloudDatacatalogV1CommonUsageStatsMap and GoogleCloudDatacatalogV1CommonUsageStatsMapOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1CommonUsageStatsMapInput` via: +// +// GoogleCloudDatacatalogV1CommonUsageStatsMap{ "key": GoogleCloudDatacatalogV1CommonUsageStatsArgs{...} } +type GoogleCloudDatacatalogV1CommonUsageStatsMapInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1CommonUsageStatsMapOutput() GoogleCloudDatacatalogV1CommonUsageStatsMapOutput + ToGoogleCloudDatacatalogV1CommonUsageStatsMapOutputWithContext(context.Context) GoogleCloudDatacatalogV1CommonUsageStatsMapOutput +} + +type GoogleCloudDatacatalogV1CommonUsageStatsMap map[string]GoogleCloudDatacatalogV1CommonUsageStatsInput + +func (GoogleCloudDatacatalogV1CommonUsageStatsMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1CommonUsageStats)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1CommonUsageStatsMap) ToGoogleCloudDatacatalogV1CommonUsageStatsMapOutput() GoogleCloudDatacatalogV1CommonUsageStatsMapOutput { + return i.ToGoogleCloudDatacatalogV1CommonUsageStatsMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1CommonUsageStatsMap) ToGoogleCloudDatacatalogV1CommonUsageStatsMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1CommonUsageStatsMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1CommonUsageStatsMapOutput) +} + +// Common statistics on the entry's usage. They can be set on any system. +type GoogleCloudDatacatalogV1CommonUsageStatsOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1CommonUsageStatsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1CommonUsageStats)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsOutput) ToGoogleCloudDatacatalogV1CommonUsageStatsOutput() GoogleCloudDatacatalogV1CommonUsageStatsOutput { + return o +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsOutput) ToGoogleCloudDatacatalogV1CommonUsageStatsOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1CommonUsageStatsOutput { + return o +} + +// View count in source system. +func (o GoogleCloudDatacatalogV1CommonUsageStatsOutput) ViewCount() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1CommonUsageStats) *string { return v.ViewCount }).(pulumi.StringPtrOutput) +} + +type GoogleCloudDatacatalogV1CommonUsageStatsMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1CommonUsageStatsMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1CommonUsageStats)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsMapOutput) ToGoogleCloudDatacatalogV1CommonUsageStatsMapOutput() GoogleCloudDatacatalogV1CommonUsageStatsMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsMapOutput) ToGoogleCloudDatacatalogV1CommonUsageStatsMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1CommonUsageStatsMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDatacatalogV1CommonUsageStatsOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1CommonUsageStats { + return vs[0].(map[string]GoogleCloudDatacatalogV1CommonUsageStats)[vs[1].(string)] + }).(GoogleCloudDatacatalogV1CommonUsageStatsOutput) +} + +// Common statistics on the entry's usage. They can be set on any system. +type GoogleCloudDatacatalogV1CommonUsageStatsResponse struct { + // View count in source system. + ViewCount string `pulumi:"viewCount"` +} + +// Common statistics on the entry's usage. They can be set on any system. +type GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1CommonUsageStatsResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput) ToGoogleCloudDatacatalogV1CommonUsageStatsResponseOutput() GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput) ToGoogleCloudDatacatalogV1CommonUsageStatsResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput { + return o +} + +// View count in source system. +func (o GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput) ViewCount() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1CommonUsageStatsResponse) string { return v.ViewCount }).(pulumi.StringOutput) +} + +type GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1CommonUsageStatsResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput) ToGoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput() GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput) ToGoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1CommonUsageStatsResponse { + return vs[0].(map[string]GoogleCloudDatacatalogV1CommonUsageStatsResponse)[vs[1].(string)] + }).(GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput) +} + // Contact people for the entry. type GoogleCloudDatacatalogV1Contacts struct { // The list of contact people for the entry. @@ -3806,6 +3952,410 @@ func (o GoogleCloudDatacatalogV1EntryOverviewResponseOutput) Overview() pulumi.S return o.ApplyT(func(v GoogleCloudDatacatalogV1EntryOverviewResponse) string { return v.Overview }).(pulumi.StringOutput) } +type GoogleCloudDatacatalogV1FieldType struct { + // An enum type. + EnumType *GoogleCloudDatacatalogV1FieldTypeEnumType `pulumi:"enumType"` + // Primitive types, such as string, boolean, etc. + PrimitiveType *GoogleCloudDatacatalogV1FieldTypePrimitiveType `pulumi:"primitiveType"` +} + +// GoogleCloudDatacatalogV1FieldTypeInput is an input type that accepts GoogleCloudDatacatalogV1FieldTypeArgs and GoogleCloudDatacatalogV1FieldTypeOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1FieldTypeInput` via: +// +// GoogleCloudDatacatalogV1FieldTypeArgs{...} +type GoogleCloudDatacatalogV1FieldTypeInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1FieldTypeOutput() GoogleCloudDatacatalogV1FieldTypeOutput + ToGoogleCloudDatacatalogV1FieldTypeOutputWithContext(context.Context) GoogleCloudDatacatalogV1FieldTypeOutput +} + +type GoogleCloudDatacatalogV1FieldTypeArgs struct { + // An enum type. + EnumType GoogleCloudDatacatalogV1FieldTypeEnumTypePtrInput `pulumi:"enumType"` + // Primitive types, such as string, boolean, etc. + PrimitiveType GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrInput `pulumi:"primitiveType"` +} + +func (GoogleCloudDatacatalogV1FieldTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldType)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1FieldTypeArgs) ToGoogleCloudDatacatalogV1FieldTypeOutput() GoogleCloudDatacatalogV1FieldTypeOutput { + return i.ToGoogleCloudDatacatalogV1FieldTypeOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1FieldTypeArgs) ToGoogleCloudDatacatalogV1FieldTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1FieldTypeOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypeOutput) ToGoogleCloudDatacatalogV1FieldTypeOutput() GoogleCloudDatacatalogV1FieldTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeOutput) ToGoogleCloudDatacatalogV1FieldTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeOutput { + return o +} + +// An enum type. +func (o GoogleCloudDatacatalogV1FieldTypeOutput) EnumType() GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1FieldType) *GoogleCloudDatacatalogV1FieldTypeEnumType { + return v.EnumType + }).(GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput) +} + +// Primitive types, such as string, boolean, etc. +func (o GoogleCloudDatacatalogV1FieldTypeOutput) PrimitiveType() GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1FieldType) *GoogleCloudDatacatalogV1FieldTypePrimitiveType { + return v.PrimitiveType + }).(GoogleCloudDatacatalogV1FieldTypePrimitiveTypePtrOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeEnumType struct { + // The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + AllowedValues []GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue `pulumi:"allowedValues"` +} + +// GoogleCloudDatacatalogV1FieldTypeEnumTypeInput is an input type that accepts GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs and GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1FieldTypeEnumTypeInput` via: +// +// GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs{...} +type GoogleCloudDatacatalogV1FieldTypeEnumTypeInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1FieldTypeEnumTypeOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput + ToGoogleCloudDatacatalogV1FieldTypeEnumTypeOutputWithContext(context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs struct { + // The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + AllowedValues GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayInput `pulumi:"allowedValues"` +} + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumType)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput { + return i.ToGoogleCloudDatacatalogV1FieldTypeEnumTypeOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput) +} + +func (i GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs) ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput { + return i.ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs) ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput).ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutputWithContext(ctx) +} + +// GoogleCloudDatacatalogV1FieldTypeEnumTypePtrInput is an input type that accepts GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs, GoogleCloudDatacatalogV1FieldTypeEnumTypePtr and GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1FieldTypeEnumTypePtrInput` via: +// +// GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs{...} +// +// or: +// +// nil +type GoogleCloudDatacatalogV1FieldTypeEnumTypePtrInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput + ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutputWithContext(context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput +} + +type googleCloudDatacatalogV1FieldTypeEnumTypePtrType GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs + +func GoogleCloudDatacatalogV1FieldTypeEnumTypePtr(v *GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs) GoogleCloudDatacatalogV1FieldTypeEnumTypePtrInput { + return (*googleCloudDatacatalogV1FieldTypeEnumTypePtrType)(v) +} + +func (*googleCloudDatacatalogV1FieldTypeEnumTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDatacatalogV1FieldTypeEnumType)(nil)).Elem() +} + +func (i *googleCloudDatacatalogV1FieldTypeEnumTypePtrType) ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput { + return i.ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutputWithContext(context.Background()) +} + +func (i *googleCloudDatacatalogV1FieldTypeEnumTypePtrType) ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput { + return o.ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudDatacatalogV1FieldTypeEnumType) *GoogleCloudDatacatalogV1FieldTypeEnumType { + return &v + }).(GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput) +} + +// The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput) AllowedValues() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1FieldTypeEnumType) []GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue { + return v.AllowedValues + }).(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDatacatalogV1FieldTypeEnumType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput) Elem() GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput { + return o.ApplyT(func(v *GoogleCloudDatacatalogV1FieldTypeEnumType) GoogleCloudDatacatalogV1FieldTypeEnumType { + if v != nil { + return *v + } + var ret GoogleCloudDatacatalogV1FieldTypeEnumType + return ret + }).(GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput) +} + +// The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput) AllowedValues() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput { + return o.ApplyT(func(v *GoogleCloudDatacatalogV1FieldTypeEnumType) []GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue { + if v == nil { + return nil + } + return v.AllowedValues + }).(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue struct { + // The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + DisplayName string `pulumi:"displayName"` +} + +// GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueInput is an input type that accepts GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs and GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueInput` via: +// +// GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs{...} +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput + ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutputWithContext(context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs struct { + // The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + DisplayName pulumi.StringInput `pulumi:"displayName"` +} + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput { + return i.ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput) +} + +// GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayInput is an input type that accepts GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArray and GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayInput` via: +// +// GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArray{ GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs{...} } +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput + ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutputWithContext(context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArray []GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueInput + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArray) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput { + return i.ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArray) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput { + return o +} + +// The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue) string { return v.DisplayName }).(pulumi.StringOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput) Index(i pulumi.IntInput) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue { + return vs[0].([]GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValue)[vs[1].(int)] + }).(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse struct { + // The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + DisplayName string `pulumi:"displayName"` +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput { + return o +} + +// The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse) string { return v.DisplayName }).(pulumi.StringOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput) Index(i pulumi.IntInput) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse { + return vs[0].([]GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse)[vs[1].(int)] + }).(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse struct { + // The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + AllowedValues []GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse `pulumi:"allowedValues"` +} + +type GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput() GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput) ToGoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput { + return o +} + +// The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. +func (o GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput) AllowedValues() GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse) []GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse { + return v.AllowedValues + }).(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput) +} + +type GoogleCloudDatacatalogV1FieldTypeResponse struct { + // An enum type. + EnumType GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse `pulumi:"enumType"` + // Primitive types, such as string, boolean, etc. + PrimitiveType string `pulumi:"primitiveType"` +} + +type GoogleCloudDatacatalogV1FieldTypeResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1FieldTypeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1FieldTypeResponseOutput) ToGoogleCloudDatacatalogV1FieldTypeResponseOutput() GoogleCloudDatacatalogV1FieldTypeResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1FieldTypeResponseOutput) ToGoogleCloudDatacatalogV1FieldTypeResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1FieldTypeResponseOutput { + return o +} + +// An enum type. +func (o GoogleCloudDatacatalogV1FieldTypeResponseOutput) EnumType() GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1FieldTypeResponse) GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse { + return v.EnumType + }).(GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput) +} + +// Primitive types, such as string, boolean, etc. +func (o GoogleCloudDatacatalogV1FieldTypeResponseOutput) PrimitiveType() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1FieldTypeResponse) string { return v.PrimitiveType }).(pulumi.StringOutput) +} + // Specification that applies to a fileset. Valid only for entries with the 'FILESET' type. type GoogleCloudDatacatalogV1FilesetSpec struct { // Fields specific to a Dataplex fileset and present only in the Dataplex fileset entries. @@ -7250,6 +7800,225 @@ func (o GoogleCloudDatacatalogV1TableSpecResponseOutput) GroupedEntry() pulumi.S return o.ApplyT(func(v GoogleCloudDatacatalogV1TableSpecResponse) string { return v.GroupedEntry }).(pulumi.StringOutput) } +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1TagTemplateField struct { + // The description for this field. Defaults to an empty string. + Description *string `pulumi:"description"` + // The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + DisplayName *string `pulumi:"displayName"` + // If true, this field is required. Defaults to false. + IsRequired *bool `pulumi:"isRequired"` + // The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + Order *int `pulumi:"order"` + // The type of value this tag field can contain. + Type GoogleCloudDatacatalogV1FieldType `pulumi:"type"` +} + +// GoogleCloudDatacatalogV1TagTemplateFieldInput is an input type that accepts GoogleCloudDatacatalogV1TagTemplateFieldArgs and GoogleCloudDatacatalogV1TagTemplateFieldOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1TagTemplateFieldInput` via: +// +// GoogleCloudDatacatalogV1TagTemplateFieldArgs{...} +type GoogleCloudDatacatalogV1TagTemplateFieldInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1TagTemplateFieldOutput() GoogleCloudDatacatalogV1TagTemplateFieldOutput + ToGoogleCloudDatacatalogV1TagTemplateFieldOutputWithContext(context.Context) GoogleCloudDatacatalogV1TagTemplateFieldOutput +} + +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1TagTemplateFieldArgs struct { + // The description for this field. Defaults to an empty string. + Description pulumi.StringPtrInput `pulumi:"description"` + // The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + DisplayName pulumi.StringPtrInput `pulumi:"displayName"` + // If true, this field is required. Defaults to false. + IsRequired pulumi.BoolPtrInput `pulumi:"isRequired"` + // The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + Order pulumi.IntPtrInput `pulumi:"order"` + // The type of value this tag field can contain. + Type GoogleCloudDatacatalogV1FieldTypeInput `pulumi:"type"` +} + +func (GoogleCloudDatacatalogV1TagTemplateFieldArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1TagTemplateField)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1TagTemplateFieldArgs) ToGoogleCloudDatacatalogV1TagTemplateFieldOutput() GoogleCloudDatacatalogV1TagTemplateFieldOutput { + return i.ToGoogleCloudDatacatalogV1TagTemplateFieldOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1TagTemplateFieldArgs) ToGoogleCloudDatacatalogV1TagTemplateFieldOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1TagTemplateFieldOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1TagTemplateFieldOutput) +} + +// GoogleCloudDatacatalogV1TagTemplateFieldMapInput is an input type that accepts GoogleCloudDatacatalogV1TagTemplateFieldMap and GoogleCloudDatacatalogV1TagTemplateFieldMapOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1TagTemplateFieldMapInput` via: +// +// GoogleCloudDatacatalogV1TagTemplateFieldMap{ "key": GoogleCloudDatacatalogV1TagTemplateFieldArgs{...} } +type GoogleCloudDatacatalogV1TagTemplateFieldMapInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1TagTemplateFieldMapOutput() GoogleCloudDatacatalogV1TagTemplateFieldMapOutput + ToGoogleCloudDatacatalogV1TagTemplateFieldMapOutputWithContext(context.Context) GoogleCloudDatacatalogV1TagTemplateFieldMapOutput +} + +type GoogleCloudDatacatalogV1TagTemplateFieldMap map[string]GoogleCloudDatacatalogV1TagTemplateFieldInput + +func (GoogleCloudDatacatalogV1TagTemplateFieldMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1TagTemplateField)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1TagTemplateFieldMap) ToGoogleCloudDatacatalogV1TagTemplateFieldMapOutput() GoogleCloudDatacatalogV1TagTemplateFieldMapOutput { + return i.ToGoogleCloudDatacatalogV1TagTemplateFieldMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1TagTemplateFieldMap) ToGoogleCloudDatacatalogV1TagTemplateFieldMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1TagTemplateFieldMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1TagTemplateFieldMapOutput) +} + +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1TagTemplateFieldOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1TagTemplateFieldOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1TagTemplateField)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldOutput) ToGoogleCloudDatacatalogV1TagTemplateFieldOutput() GoogleCloudDatacatalogV1TagTemplateFieldOutput { + return o +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldOutput) ToGoogleCloudDatacatalogV1TagTemplateFieldOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1TagTemplateFieldOutput { + return o +} + +// The description for this field. Defaults to an empty string. +func (o GoogleCloudDatacatalogV1TagTemplateFieldOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateField) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. +func (o GoogleCloudDatacatalogV1TagTemplateFieldOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateField) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// If true, this field is required. Defaults to false. +func (o GoogleCloudDatacatalogV1TagTemplateFieldOutput) IsRequired() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateField) *bool { return v.IsRequired }).(pulumi.BoolPtrOutput) +} + +// The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. +func (o GoogleCloudDatacatalogV1TagTemplateFieldOutput) Order() pulumi.IntPtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateField) *int { return v.Order }).(pulumi.IntPtrOutput) +} + +// The type of value this tag field can contain. +func (o GoogleCloudDatacatalogV1TagTemplateFieldOutput) Type() GoogleCloudDatacatalogV1FieldTypeOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateField) GoogleCloudDatacatalogV1FieldType { return v.Type }).(GoogleCloudDatacatalogV1FieldTypeOutput) +} + +type GoogleCloudDatacatalogV1TagTemplateFieldMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1TagTemplateFieldMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1TagTemplateField)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldMapOutput) ToGoogleCloudDatacatalogV1TagTemplateFieldMapOutput() GoogleCloudDatacatalogV1TagTemplateFieldMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldMapOutput) ToGoogleCloudDatacatalogV1TagTemplateFieldMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1TagTemplateFieldMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDatacatalogV1TagTemplateFieldOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1TagTemplateField { + return vs[0].(map[string]GoogleCloudDatacatalogV1TagTemplateField)[vs[1].(string)] + }).(GoogleCloudDatacatalogV1TagTemplateFieldOutput) +} + +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1TagTemplateFieldResponse struct { + // The description for this field. Defaults to an empty string. + Description string `pulumi:"description"` + // The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + DisplayName string `pulumi:"displayName"` + // If true, this field is required. Defaults to false. + IsRequired bool `pulumi:"isRequired"` + // The resource name of the tag template field in URL format. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}` Note: The tag template field itself might not be stored in the location specified in its name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 64 characters. + Name string `pulumi:"name"` + // The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + Order int `pulumi:"order"` + // The type of value this tag field can contain. + Type GoogleCloudDatacatalogV1FieldTypeResponse `pulumi:"type"` +} + +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1TagTemplateFieldResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) ToGoogleCloudDatacatalogV1TagTemplateFieldResponseOutput() GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) ToGoogleCloudDatacatalogV1TagTemplateFieldResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput { + return o +} + +// The description for this field. Defaults to an empty string. +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateFieldResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateFieldResponse) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// If true, this field is required. Defaults to false. +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) IsRequired() pulumi.BoolOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateFieldResponse) bool { return v.IsRequired }).(pulumi.BoolOutput) +} + +// The resource name of the tag template field in URL format. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}` Note: The tag template field itself might not be stored in the location specified in its name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 64 characters. +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateFieldResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) Order() pulumi.IntOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateFieldResponse) int { return v.Order }).(pulumi.IntOutput) +} + +// The type of value this tag field can contain. +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) Type() GoogleCloudDatacatalogV1FieldTypeResponseOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1TagTemplateFieldResponse) GoogleCloudDatacatalogV1FieldTypeResponse { + return v.Type + }).(GoogleCloudDatacatalogV1FieldTypeResponseOutput) +} + +type GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1TagTemplateFieldResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput) ToGoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput() GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput) ToGoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1TagTemplateFieldResponse { + return vs[0].(map[string]GoogleCloudDatacatalogV1TagTemplateFieldResponse)[vs[1].(string)] + }).(GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput) +} + // The source system of the Taxonomy. type GoogleCloudDatacatalogV1TaxonomyServiceResponse struct { // The service agent for the service. @@ -7286,7 +8055,7 @@ func (o GoogleCloudDatacatalogV1TaxonomyServiceResponseOutput) Name() pulumi.Str // The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day. type GoogleCloudDatacatalogV1UsageSignal struct { // Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. - CommonUsageWithinTimeRange map[string]string `pulumi:"commonUsageWithinTimeRange"` + CommonUsageWithinTimeRange map[string]GoogleCloudDatacatalogV1CommonUsageStats `pulumi:"commonUsageWithinTimeRange"` // Favorite count in the source system. FavoriteCount *string `pulumi:"favoriteCount"` // The end timestamp of the duration of usage statistics. @@ -7307,7 +8076,7 @@ type GoogleCloudDatacatalogV1UsageSignalInput interface { // The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day. type GoogleCloudDatacatalogV1UsageSignalArgs struct { // Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. - CommonUsageWithinTimeRange pulumi.StringMapInput `pulumi:"commonUsageWithinTimeRange"` + CommonUsageWithinTimeRange GoogleCloudDatacatalogV1CommonUsageStatsMapInput `pulumi:"commonUsageWithinTimeRange"` // Favorite count in the source system. FavoriteCount pulumi.StringPtrInput `pulumi:"favoriteCount"` // The end timestamp of the duration of usage statistics. @@ -7393,8 +8162,10 @@ func (o GoogleCloudDatacatalogV1UsageSignalOutput) ToGoogleCloudDatacatalogV1Usa } // Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. -func (o GoogleCloudDatacatalogV1UsageSignalOutput) CommonUsageWithinTimeRange() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageSignal) map[string]string { return v.CommonUsageWithinTimeRange }).(pulumi.StringMapOutput) +func (o GoogleCloudDatacatalogV1UsageSignalOutput) CommonUsageWithinTimeRange() GoogleCloudDatacatalogV1CommonUsageStatsMapOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageSignal) map[string]GoogleCloudDatacatalogV1CommonUsageStats { + return v.CommonUsageWithinTimeRange + }).(GoogleCloudDatacatalogV1CommonUsageStatsMapOutput) } // Favorite count in the source system. @@ -7432,13 +8203,13 @@ func (o GoogleCloudDatacatalogV1UsageSignalPtrOutput) Elem() GoogleCloudDatacata } // Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. -func (o GoogleCloudDatacatalogV1UsageSignalPtrOutput) CommonUsageWithinTimeRange() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDatacatalogV1UsageSignal) map[string]string { +func (o GoogleCloudDatacatalogV1UsageSignalPtrOutput) CommonUsageWithinTimeRange() GoogleCloudDatacatalogV1CommonUsageStatsMapOutput { + return o.ApplyT(func(v *GoogleCloudDatacatalogV1UsageSignal) map[string]GoogleCloudDatacatalogV1CommonUsageStats { if v == nil { return nil } return v.CommonUsageWithinTimeRange - }).(pulumi.StringMapOutput) + }).(GoogleCloudDatacatalogV1CommonUsageStatsMapOutput) } // Favorite count in the source system. @@ -7464,13 +8235,13 @@ func (o GoogleCloudDatacatalogV1UsageSignalPtrOutput) UpdateTime() pulumi.String // The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day. type GoogleCloudDatacatalogV1UsageSignalResponse struct { // Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. - CommonUsageWithinTimeRange map[string]string `pulumi:"commonUsageWithinTimeRange"` + CommonUsageWithinTimeRange map[string]GoogleCloudDatacatalogV1CommonUsageStatsResponse `pulumi:"commonUsageWithinTimeRange"` // Favorite count in the source system. FavoriteCount string `pulumi:"favoriteCount"` // The end timestamp of the duration of usage statistics. UpdateTime string `pulumi:"updateTime"` // BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D"}`. - UsageWithinTimeRange map[string]string `pulumi:"usageWithinTimeRange"` + UsageWithinTimeRange map[string]GoogleCloudDatacatalogV1UsageStatsResponse `pulumi:"usageWithinTimeRange"` } // The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day. @@ -7489,10 +8260,10 @@ func (o GoogleCloudDatacatalogV1UsageSignalResponseOutput) ToGoogleCloudDatacata } // Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. -func (o GoogleCloudDatacatalogV1UsageSignalResponseOutput) CommonUsageWithinTimeRange() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageSignalResponse) map[string]string { +func (o GoogleCloudDatacatalogV1UsageSignalResponseOutput) CommonUsageWithinTimeRange() GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageSignalResponse) map[string]GoogleCloudDatacatalogV1CommonUsageStatsResponse { return v.CommonUsageWithinTimeRange - }).(pulumi.StringMapOutput) + }).(GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput) } // Favorite count in the source system. @@ -7506,8 +8277,79 @@ func (o GoogleCloudDatacatalogV1UsageSignalResponseOutput) UpdateTime() pulumi.S } // BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D"}`. -func (o GoogleCloudDatacatalogV1UsageSignalResponseOutput) UsageWithinTimeRange() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageSignalResponse) map[string]string { return v.UsageWithinTimeRange }).(pulumi.StringMapOutput) +func (o GoogleCloudDatacatalogV1UsageSignalResponseOutput) UsageWithinTimeRange() GoogleCloudDatacatalogV1UsageStatsResponseMapOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageSignalResponse) map[string]GoogleCloudDatacatalogV1UsageStatsResponse { + return v.UsageWithinTimeRange + }).(GoogleCloudDatacatalogV1UsageStatsResponseMapOutput) +} + +// Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables) +type GoogleCloudDatacatalogV1UsageStatsResponse struct { + // The number of cancelled attempts to use the underlying entry. + TotalCancellations float64 `pulumi:"totalCancellations"` + // The number of successful uses of the underlying entry. + TotalCompletions float64 `pulumi:"totalCompletions"` + // Total time spent only on successful uses, in milliseconds. + TotalExecutionTimeForCompletionsMillis float64 `pulumi:"totalExecutionTimeForCompletionsMillis"` + // The number of failed attempts to use the underlying entry. + TotalFailures float64 `pulumi:"totalFailures"` +} + +// Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables) +type GoogleCloudDatacatalogV1UsageStatsResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1UsageStatsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1UsageStatsResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1UsageStatsResponseOutput) ToGoogleCloudDatacatalogV1UsageStatsResponseOutput() GoogleCloudDatacatalogV1UsageStatsResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1UsageStatsResponseOutput) ToGoogleCloudDatacatalogV1UsageStatsResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1UsageStatsResponseOutput { + return o +} + +// The number of cancelled attempts to use the underlying entry. +func (o GoogleCloudDatacatalogV1UsageStatsResponseOutput) TotalCancellations() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageStatsResponse) float64 { return v.TotalCancellations }).(pulumi.Float64Output) +} + +// The number of successful uses of the underlying entry. +func (o GoogleCloudDatacatalogV1UsageStatsResponseOutput) TotalCompletions() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageStatsResponse) float64 { return v.TotalCompletions }).(pulumi.Float64Output) +} + +// Total time spent only on successful uses, in milliseconds. +func (o GoogleCloudDatacatalogV1UsageStatsResponseOutput) TotalExecutionTimeForCompletionsMillis() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageStatsResponse) float64 { + return v.TotalExecutionTimeForCompletionsMillis + }).(pulumi.Float64Output) +} + +// The number of failed attempts to use the underlying entry. +func (o GoogleCloudDatacatalogV1UsageStatsResponseOutput) TotalFailures() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDatacatalogV1UsageStatsResponse) float64 { return v.TotalFailures }).(pulumi.Float64Output) +} + +type GoogleCloudDatacatalogV1UsageStatsResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1UsageStatsResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1UsageStatsResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1UsageStatsResponseMapOutput) ToGoogleCloudDatacatalogV1UsageStatsResponseMapOutput() GoogleCloudDatacatalogV1UsageStatsResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1UsageStatsResponseMapOutput) ToGoogleCloudDatacatalogV1UsageStatsResponseMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1UsageStatsResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1UsageStatsResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDatacatalogV1UsageStatsResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1UsageStatsResponse { + return vs[0].(map[string]GoogleCloudDatacatalogV1UsageStatsResponse)[vs[1].(string)] + }).(GoogleCloudDatacatalogV1UsageStatsResponseOutput) } // Specification for vertex dataset resources. @@ -8217,6 +9059,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1ColumnSchemaArrayInput)(nil)).Elem(), GoogleCloudDatacatalogV1ColumnSchemaArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpecInput)(nil)).Elem(), GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpecPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1CommonUsageStatsInput)(nil)).Elem(), GoogleCloudDatacatalogV1CommonUsageStatsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1CommonUsageStatsMapInput)(nil)).Elem(), GoogleCloudDatacatalogV1CommonUsageStatsMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1ContactsInput)(nil)).Elem(), GoogleCloudDatacatalogV1ContactsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1ContactsPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1ContactsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1ContactsPersonInput)(nil)).Elem(), GoogleCloudDatacatalogV1ContactsPersonArgs{}) @@ -8235,6 +9079,11 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1DatasetSpecPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1DatasetSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1EntryOverviewInput)(nil)).Elem(), GoogleCloudDatacatalogV1EntryOverviewArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1EntryOverviewPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1EntryOverviewArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeInput)(nil)).Elem(), GoogleCloudDatacatalogV1FieldTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumTypeInput)(nil)).Elem(), GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumTypePtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueInput)(nil)).Elem(), GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayInput)(nil)).Elem(), GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1FilesetSpecInput)(nil)).Elem(), GoogleCloudDatacatalogV1FilesetSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1FilesetSpecPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1FilesetSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1GcsFilesetSpecInput)(nil)).Elem(), GoogleCloudDatacatalogV1GcsFilesetSpecArgs{}) @@ -8269,6 +9118,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1SqlDatabaseSystemSpecPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1SqlDatabaseSystemSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1SystemTimestampsInput)(nil)).Elem(), GoogleCloudDatacatalogV1SystemTimestampsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1SystemTimestampsPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1SystemTimestampsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1TagTemplateFieldInput)(nil)).Elem(), GoogleCloudDatacatalogV1TagTemplateFieldArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1TagTemplateFieldMapInput)(nil)).Elem(), GoogleCloudDatacatalogV1TagTemplateFieldMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1UsageSignalInput)(nil)).Elem(), GoogleCloudDatacatalogV1UsageSignalArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1UsageSignalPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1UsageSignalArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1VertexDatasetSpecInput)(nil)).Elem(), GoogleCloudDatacatalogV1VertexDatasetSpecArgs{}) @@ -8311,6 +9162,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpecResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1ColumnSchemaResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1ColumnSchemaResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1CommonUsageStatsOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1CommonUsageStatsMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1CommonUsageStatsResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1CommonUsageStatsResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1ContactsOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1ContactsPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1ContactsPersonOutput{}) @@ -8343,6 +9198,15 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDatacatalogV1EntryOverviewOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1EntryOverviewPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1EntryOverviewResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypeEnumTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypeEnumTypePtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypeEnumTypeResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FieldTypeResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FilesetSpecOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FilesetSpecPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1FilesetSpecResponseOutput{}) @@ -8400,10 +9264,16 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDatacatalogV1SystemTimestampsPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1SystemTimestampsResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1TableSpecResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1TagTemplateFieldOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1TagTemplateFieldMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1TagTemplateFieldResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1TaxonomyServiceResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1UsageSignalOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1UsageSignalPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1UsageSignalResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1UsageStatsResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1UsageStatsResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1VertexDatasetSpecOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1VertexDatasetSpecPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1VertexDatasetSpecResponseOutput{}) diff --git a/sdk/go/google/datacatalog/v1/tagTemplate.go b/sdk/go/google/datacatalog/v1/tagTemplate.go index 9886d93706..33b0e52b82 100644 --- a/sdk/go/google/datacatalog/v1/tagTemplate.go +++ b/sdk/go/google/datacatalog/v1/tagTemplate.go @@ -19,7 +19,7 @@ type TagTemplate struct { // Display name for this template. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. DisplayName pulumi.StringOutput `pulumi:"displayName"` // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. - Fields pulumi.StringMapOutput `pulumi:"fields"` + Fields GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput `pulumi:"fields"` // Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. IsPubliclyReadable pulumi.BoolOutput `pulumi:"isPubliclyReadable"` Location pulumi.StringOutput `pulumi:"location"` @@ -85,7 +85,7 @@ type tagTemplateArgs struct { // Display name for this template. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. DisplayName *string `pulumi:"displayName"` // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. - Fields map[string]string `pulumi:"fields"` + Fields map[string]GoogleCloudDatacatalogV1TagTemplateField `pulumi:"fields"` // Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. IsPubliclyReadable *bool `pulumi:"isPubliclyReadable"` Location *string `pulumi:"location"` @@ -101,7 +101,7 @@ type TagTemplateArgs struct { // Display name for this template. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. DisplayName pulumi.StringPtrInput // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. - Fields pulumi.StringMapInput + Fields GoogleCloudDatacatalogV1TagTemplateFieldMapInput // Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. IsPubliclyReadable pulumi.BoolPtrInput Location pulumi.StringPtrInput @@ -155,8 +155,8 @@ func (o TagTemplateOutput) DisplayName() pulumi.StringOutput { } // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. -func (o TagTemplateOutput) Fields() pulumi.StringMapOutput { - return o.ApplyT(func(v *TagTemplate) pulumi.StringMapOutput { return v.Fields }).(pulumi.StringMapOutput) +func (o TagTemplateOutput) Fields() GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput { + return o.ApplyT(func(v *TagTemplate) GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput { return v.Fields }).(GoogleCloudDatacatalogV1TagTemplateFieldResponseMapOutput) } // Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a “tag:“ predicate. diff --git a/sdk/go/google/datacatalog/v1beta1/getTagTemplate.go b/sdk/go/google/datacatalog/v1beta1/getTagTemplate.go index 9df303da4a..8d037942c1 100644 --- a/sdk/go/google/datacatalog/v1beta1/getTagTemplate.go +++ b/sdk/go/google/datacatalog/v1beta1/getTagTemplate.go @@ -32,7 +32,7 @@ type LookupTagTemplateResult struct { // The display name for this template. Defaults to an empty string. DisplayName string `pulumi:"displayName"` // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. - Fields map[string]string `pulumi:"fields"` + Fields map[string]GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse `pulumi:"fields"` // The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. Name string `pulumi:"name"` } @@ -80,8 +80,10 @@ func (o LookupTagTemplateResultOutput) DisplayName() pulumi.StringOutput { } // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. -func (o LookupTagTemplateResultOutput) Fields() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupTagTemplateResult) map[string]string { return v.Fields }).(pulumi.StringMapOutput) +func (o LookupTagTemplateResultOutput) Fields() GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput { + return o.ApplyT(func(v LookupTagTemplateResult) map[string]GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse { + return v.Fields + }).(GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput) } // The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. diff --git a/sdk/go/google/datacatalog/v1beta1/pulumiEnums.go b/sdk/go/google/datacatalog/v1beta1/pulumiEnums.go index 3b03fb0a50..1e497f392c 100644 --- a/sdk/go/google/datacatalog/v1beta1/pulumiEnums.go +++ b/sdk/go/google/datacatalog/v1beta1/pulumiEnums.go @@ -187,6 +187,183 @@ func (in *entryTypePtr) ToEntryTypePtrOutputWithContext(ctx context.Context) Ent return pulumi.ToOutputWithContext(ctx, in).(EntryTypePtrOutput) } +// Represents primitive types - string, bool etc. +type GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType string + +const ( + // This is the default invalid value for a type. + GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePrimitiveTypeUnspecified = GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("PRIMITIVE_TYPE_UNSPECIFIED") + // A double precision number. + GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeDouble = GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("DOUBLE") + // An UTF-8 string. + GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeString = GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("STRING") + // A boolean value. + GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeBool = GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("BOOL") + // A timestamp. + GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeTimestamp = GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("TIMESTAMP") +) + +func (GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType)(nil)).Elem() +} + +func (e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput { + return pulumi.ToOutput(e).(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) +} + +func (e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) +} + +func (e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput { + return e.ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput { + return GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType(e).ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutputWithContext(ctx).ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutputWithContext(ctx) +} + +func (e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput { + return o.ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) *GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType { + return &v + }).(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) Elem() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput { + return o.ApplyT(func(v *GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType { + if v != nil { + return *v + } + var ret GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType + return ret + }).(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeInput is an input type that accepts values of the GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType enum +// A concrete instance of `GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeInput` can be one of the following: +// +// GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePrimitiveTypeUnspecified +// GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeDouble +// GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeString +// GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeBool +// GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeTimestamp +type GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput + ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutputWithContext(context.Context) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput +} + +var googleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrType = reflect.TypeOf((**GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType)(nil)).Elem() + +type GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput + ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutputWithContext(context.Context) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput +} + +type googleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtr string + +func GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtr(v string) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrInput { + return (*googleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtr)(&v) +} + +func (*googleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtr) ElementType() reflect.Type { + return googleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrType +} + +func (in *googleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtr) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput { + return pulumi.ToOutput(in).(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) +} + +func (in *googleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtr) ToGoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) +} + type TaxonomyActivatedPolicyTypesItem string const ( @@ -402,11 +579,15 @@ func (o TaxonomyActivatedPolicyTypesItemArrayOutput) Index(i pulumi.IntInput) Ta func init() { pulumi.RegisterInputType(reflect.TypeOf((*EntryTypeInput)(nil)).Elem(), EntryType("ENTRY_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*EntryTypePtrInput)(nil)).Elem(), EntryType("ENTRY_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("PRIMITIVE_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType("PRIMITIVE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*TaxonomyActivatedPolicyTypesItemInput)(nil)).Elem(), TaxonomyActivatedPolicyTypesItem("POLICY_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*TaxonomyActivatedPolicyTypesItemPtrInput)(nil)).Elem(), TaxonomyActivatedPolicyTypesItem("POLICY_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*TaxonomyActivatedPolicyTypesItemArrayInput)(nil)).Elem(), TaxonomyActivatedPolicyTypesItemArray{}) pulumi.RegisterOutputType(EntryTypeOutput{}) pulumi.RegisterOutputType(EntryTypePtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput{}) pulumi.RegisterOutputType(TaxonomyActivatedPolicyTypesItemOutput{}) pulumi.RegisterOutputType(TaxonomyActivatedPolicyTypesItemPtrOutput{}) pulumi.RegisterOutputType(TaxonomyActivatedPolicyTypesItemArrayOutput{}) diff --git a/sdk/go/google/datacatalog/v1beta1/pulumiTypes.go b/sdk/go/google/datacatalog/v1beta1/pulumiTypes.go index c60c0db6e7..468f450384 100644 --- a/sdk/go/google/datacatalog/v1beta1/pulumiTypes.go +++ b/sdk/go/google/datacatalog/v1beta1/pulumiTypes.go @@ -1017,6 +1017,404 @@ func (o GoogleCloudDatacatalogV1beta1ColumnSchemaResponseArrayOutput) Index(i pu }).(GoogleCloudDatacatalogV1beta1ColumnSchemaResponseOutput) } +type GoogleCloudDatacatalogV1beta1FieldType struct { + // Represents an enum type. + EnumType *GoogleCloudDatacatalogV1beta1FieldTypeEnumType `pulumi:"enumType"` + // Represents primitive types - string, bool etc. + PrimitiveType *GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType `pulumi:"primitiveType"` +} + +// GoogleCloudDatacatalogV1beta1FieldTypeInput is an input type that accepts GoogleCloudDatacatalogV1beta1FieldTypeArgs and GoogleCloudDatacatalogV1beta1FieldTypeOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1beta1FieldTypeInput` via: +// +// GoogleCloudDatacatalogV1beta1FieldTypeArgs{...} +type GoogleCloudDatacatalogV1beta1FieldTypeInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1beta1FieldTypeOutput() GoogleCloudDatacatalogV1beta1FieldTypeOutput + ToGoogleCloudDatacatalogV1beta1FieldTypeOutputWithContext(context.Context) GoogleCloudDatacatalogV1beta1FieldTypeOutput +} + +type GoogleCloudDatacatalogV1beta1FieldTypeArgs struct { + // Represents an enum type. + EnumType GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrInput `pulumi:"enumType"` + // Represents primitive types - string, bool etc. + PrimitiveType GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrInput `pulumi:"primitiveType"` +} + +func (GoogleCloudDatacatalogV1beta1FieldTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldType)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeArgs) ToGoogleCloudDatacatalogV1beta1FieldTypeOutput() GoogleCloudDatacatalogV1beta1FieldTypeOutput { + return i.ToGoogleCloudDatacatalogV1beta1FieldTypeOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeArgs) ToGoogleCloudDatacatalogV1beta1FieldTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1beta1FieldTypeOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeOutput() GoogleCloudDatacatalogV1beta1FieldTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeOutput { + return o +} + +// Represents an enum type. +func (o GoogleCloudDatacatalogV1beta1FieldTypeOutput) EnumType() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1FieldType) *GoogleCloudDatacatalogV1beta1FieldTypeEnumType { + return v.EnumType + }).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput) +} + +// Represents primitive types - string, bool etc. +func (o GoogleCloudDatacatalogV1beta1FieldTypeOutput) PrimitiveType() GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1FieldType) *GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType { + return v.PrimitiveType + }).(GoogleCloudDatacatalogV1beta1FieldTypePrimitiveTypePtrOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumType struct { + AllowedValues []GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue `pulumi:"allowedValues"` +} + +// GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeInput is an input type that accepts GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs and GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeInput` via: +// +// GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs{...} +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput + ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutputWithContext(context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs struct { + AllowedValues GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayInput `pulumi:"allowedValues"` +} + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumType)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput { + return i.ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput) +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput { + return i.ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput).ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutputWithContext(ctx) +} + +// GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrInput is an input type that accepts GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs, GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtr and GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrInput` via: +// +// GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs{...} +// +// or: +// +// nil +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput + ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutputWithContext(context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput +} + +type googleCloudDatacatalogV1beta1FieldTypeEnumTypePtrType GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs + +func GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtr(v *GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrInput { + return (*googleCloudDatacatalogV1beta1FieldTypeEnumTypePtrType)(v) +} + +func (*googleCloudDatacatalogV1beta1FieldTypeEnumTypePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDatacatalogV1beta1FieldTypeEnumType)(nil)).Elem() +} + +func (i *googleCloudDatacatalogV1beta1FieldTypeEnumTypePtrType) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput { + return i.ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutputWithContext(context.Background()) +} + +func (i *googleCloudDatacatalogV1beta1FieldTypeEnumTypePtrType) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput { + return o.ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudDatacatalogV1beta1FieldTypeEnumType) *GoogleCloudDatacatalogV1beta1FieldTypeEnumType { + return &v + }).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput) AllowedValues() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1FieldTypeEnumType) []GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue { + return v.AllowedValues + }).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDatacatalogV1beta1FieldTypeEnumType)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput) Elem() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput { + return o.ApplyT(func(v *GoogleCloudDatacatalogV1beta1FieldTypeEnumType) GoogleCloudDatacatalogV1beta1FieldTypeEnumType { + if v != nil { + return *v + } + var ret GoogleCloudDatacatalogV1beta1FieldTypeEnumType + return ret + }).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput) +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput) AllowedValues() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput { + return o.ApplyT(func(v *GoogleCloudDatacatalogV1beta1FieldTypeEnumType) []GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue { + if v == nil { + return nil + } + return v.AllowedValues + }).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue struct { + // The display name of the enum value. Must not be an empty string. + DisplayName string `pulumi:"displayName"` +} + +// GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueInput is an input type that accepts GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs and GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueInput` via: +// +// GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs{...} +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput + ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutputWithContext(context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs struct { + // The display name of the enum value. Must not be an empty string. + DisplayName pulumi.StringInput `pulumi:"displayName"` +} + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput { + return i.ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput) +} + +// GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayInput is an input type that accepts GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArray and GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayInput` via: +// +// GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArray{ GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs{...} } +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput + ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutputWithContext(context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArray []GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueInput + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArray) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput { + return i.ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArray) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput { + return o +} + +// The display name of the enum value. Must not be an empty string. +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue) string { return v.DisplayName }).(pulumi.StringOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput) Index(i pulumi.IntInput) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue { + return vs[0].([]GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue)[vs[1].(int)] + }).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse struct { + // The display name of the enum value. Must not be an empty string. + DisplayName string `pulumi:"displayName"` +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput { + return o +} + +// The display name of the enum value. Must not be an empty string. +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse) string { return v.DisplayName }).(pulumi.StringOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput) Index(i pulumi.IntInput) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse { + return vs[0].([]GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse)[vs[1].(int)] + }).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse struct { + AllowedValues []GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse `pulumi:"allowedValues"` +} + +type GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput) AllowedValues() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse) []GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse { + return v.AllowedValues + }).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput) +} + +type GoogleCloudDatacatalogV1beta1FieldTypeResponse struct { + // Represents an enum type. + EnumType GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse `pulumi:"enumType"` + // Represents primitive types - string, bool etc. + PrimitiveType string `pulumi:"primitiveType"` +} + +type GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeResponseOutput() GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput) ToGoogleCloudDatacatalogV1beta1FieldTypeResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput { + return o +} + +// Represents an enum type. +func (o GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput) EnumType() GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1FieldTypeResponse) GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse { + return v.EnumType + }).(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput) +} + +// Represents primitive types - string, bool etc. +func (o GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput) PrimitiveType() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1FieldTypeResponse) string { return v.PrimitiveType }).(pulumi.StringOutput) +} + // Specifications of a single file in Cloud Storage. type GoogleCloudDatacatalogV1beta1GcsFileSpecResponse struct { // The full file path. Example: `gs://bucket_name/a/b.txt`. @@ -1611,6 +2009,227 @@ func (o GoogleCloudDatacatalogV1beta1TableSpecResponseOutput) GroupedEntry() pul return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TableSpecResponse) string { return v.GroupedEntry }).(pulumi.StringOutput) } +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1beta1TagTemplateField struct { + // The description for this field. Defaults to an empty string. + Description *string `pulumi:"description"` + // The display name for this field. Defaults to an empty string. + DisplayName *string `pulumi:"displayName"` + // Whether this is a required field. Defaults to false. + IsRequired *bool `pulumi:"isRequired"` + // The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + Order *int `pulumi:"order"` + // The type of value this tag field can contain. + Type GoogleCloudDatacatalogV1beta1FieldType `pulumi:"type"` +} + +// GoogleCloudDatacatalogV1beta1TagTemplateFieldInput is an input type that accepts GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs and GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1beta1TagTemplateFieldInput` via: +// +// GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs{...} +type GoogleCloudDatacatalogV1beta1TagTemplateFieldInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1beta1TagTemplateFieldOutput() GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput + ToGoogleCloudDatacatalogV1beta1TagTemplateFieldOutputWithContext(context.Context) GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput +} + +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs struct { + // The description for this field. Defaults to an empty string. + Description pulumi.StringPtrInput `pulumi:"description"` + // The display name for this field. Defaults to an empty string. + DisplayName pulumi.StringPtrInput `pulumi:"displayName"` + // Whether this is a required field. Defaults to false. + IsRequired pulumi.BoolPtrInput `pulumi:"isRequired"` + // The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + Order pulumi.IntPtrInput `pulumi:"order"` + // The type of value this tag field can contain. + Type GoogleCloudDatacatalogV1beta1FieldTypeInput `pulumi:"type"` +} + +func (GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1TagTemplateField)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldOutput() GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput { + return i.ToGoogleCloudDatacatalogV1beta1TagTemplateFieldOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) +} + +// GoogleCloudDatacatalogV1beta1TagTemplateFieldMapInput is an input type that accepts GoogleCloudDatacatalogV1beta1TagTemplateFieldMap and GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput values. +// You can construct a concrete instance of `GoogleCloudDatacatalogV1beta1TagTemplateFieldMapInput` via: +// +// GoogleCloudDatacatalogV1beta1TagTemplateFieldMap{ "key": GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs{...} } +type GoogleCloudDatacatalogV1beta1TagTemplateFieldMapInput interface { + pulumi.Input + + ToGoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput() GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput + ToGoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutputWithContext(context.Context) GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput +} + +type GoogleCloudDatacatalogV1beta1TagTemplateFieldMap map[string]GoogleCloudDatacatalogV1beta1TagTemplateFieldInput + +func (GoogleCloudDatacatalogV1beta1TagTemplateFieldMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1beta1TagTemplateField)(nil)).Elem() +} + +func (i GoogleCloudDatacatalogV1beta1TagTemplateFieldMap) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput() GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput { + return i.ToGoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudDatacatalogV1beta1TagTemplateFieldMap) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput) +} + +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1TagTemplateField)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldOutput() GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput { + return o +} + +// The description for this field. Defaults to an empty string. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateField) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name for this field. Defaults to an empty string. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateField) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +} + +// Whether this is a required field. Defaults to false. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) IsRequired() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateField) *bool { return v.IsRequired }).(pulumi.BoolPtrOutput) +} + +// The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) Order() pulumi.IntPtrOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateField) *int { return v.Order }).(pulumi.IntPtrOutput) +} + +// The type of value this tag field can contain. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) Type() GoogleCloudDatacatalogV1beta1FieldTypeOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateField) GoogleCloudDatacatalogV1beta1FieldType { + return v.Type + }).(GoogleCloudDatacatalogV1beta1FieldTypeOutput) +} + +type GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1beta1TagTemplateField)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput() GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1beta1TagTemplateField { + return vs[0].(map[string]GoogleCloudDatacatalogV1beta1TagTemplateField)[vs[1].(string)] + }).(GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput) +} + +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse struct { + // The description for this field. Defaults to an empty string. + Description string `pulumi:"description"` + // The display name for this field. Defaults to an empty string. + DisplayName string `pulumi:"displayName"` + // Whether this is a required field. Defaults to false. + IsRequired bool `pulumi:"isRequired"` + // The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name. + Name string `pulumi:"name"` + // The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + Order int `pulumi:"order"` + // The type of value this tag field can contain. + Type GoogleCloudDatacatalogV1beta1FieldTypeResponse `pulumi:"type"` +} + +// The template for an individual field within a tag template. +type GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput() GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput { + return o +} + +// The description for this field. Defaults to an empty string. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// The display name for this field. Defaults to an empty string. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Whether this is a required field. Defaults to false. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) IsRequired() pulumi.BoolOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse) bool { return v.IsRequired }).(pulumi.BoolOutput) +} + +// The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) Order() pulumi.IntOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse) int { return v.Order }).(pulumi.IntOutput) +} + +// The type of value this tag field can contain. +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) Type() GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse) GoogleCloudDatacatalogV1beta1FieldTypeResponse { + return v.Type + }).(GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput) +} + +type GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput() GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput) ToGoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse { + return vs[0].(map[string]GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse)[vs[1].(string)] + }).(GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput) +} + // The source system of the Taxonomy. type GoogleCloudDatacatalogV1beta1TaxonomyServiceResponse struct { // The service agent for the service. @@ -1649,7 +2268,7 @@ type GoogleCloudDatacatalogV1beta1UsageSignalResponse struct { // The timestamp of the end of the usage statistics duration. UpdateTime string `pulumi:"updateTime"` // Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {"24H", "7D", "30D"}. - UsageWithinTimeRange map[string]string `pulumi:"usageWithinTimeRange"` + UsageWithinTimeRange map[string]GoogleCloudDatacatalogV1beta1UsageStatsResponse `pulumi:"usageWithinTimeRange"` } // The set of all usage signals that we store in Data Catalog. @@ -1673,10 +2292,79 @@ func (o GoogleCloudDatacatalogV1beta1UsageSignalResponseOutput) UpdateTime() pul } // Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {"24H", "7D", "30D"}. -func (o GoogleCloudDatacatalogV1beta1UsageSignalResponseOutput) UsageWithinTimeRange() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1UsageSignalResponse) map[string]string { +func (o GoogleCloudDatacatalogV1beta1UsageSignalResponseOutput) UsageWithinTimeRange() GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1UsageSignalResponse) map[string]GoogleCloudDatacatalogV1beta1UsageStatsResponse { return v.UsageWithinTimeRange - }).(pulumi.StringMapOutput) + }).(GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput) +} + +// Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables +type GoogleCloudDatacatalogV1beta1UsageStatsResponse struct { + // The number of times that the underlying entry was attempted to be used but was cancelled by the user. + TotalCancellations float64 `pulumi:"totalCancellations"` + // The number of times that the underlying entry was successfully used. + TotalCompletions float64 `pulumi:"totalCompletions"` + // Total time spent (in milliseconds) during uses the resulted in completions. + TotalExecutionTimeForCompletionsMillis float64 `pulumi:"totalExecutionTimeForCompletionsMillis"` + // The number of times that the underlying entry was attempted to be used but failed. + TotalFailures float64 `pulumi:"totalFailures"` +} + +// Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables +type GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDatacatalogV1beta1UsageStatsResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput) ToGoogleCloudDatacatalogV1beta1UsageStatsResponseOutput() GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput) ToGoogleCloudDatacatalogV1beta1UsageStatsResponseOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput { + return o +} + +// The number of times that the underlying entry was attempted to be used but was cancelled by the user. +func (o GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput) TotalCancellations() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1UsageStatsResponse) float64 { return v.TotalCancellations }).(pulumi.Float64Output) +} + +// The number of times that the underlying entry was successfully used. +func (o GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput) TotalCompletions() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1UsageStatsResponse) float64 { return v.TotalCompletions }).(pulumi.Float64Output) +} + +// Total time spent (in milliseconds) during uses the resulted in completions. +func (o GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput) TotalExecutionTimeForCompletionsMillis() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1UsageStatsResponse) float64 { + return v.TotalExecutionTimeForCompletionsMillis + }).(pulumi.Float64Output) +} + +// The number of times that the underlying entry was attempted to be used but failed. +func (o GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput) TotalFailures() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDatacatalogV1beta1UsageStatsResponse) float64 { return v.TotalFailures }).(pulumi.Float64Output) +} + +type GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDatacatalogV1beta1UsageStatsResponse)(nil)).Elem() +} + +func (o GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput) ToGoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput() GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput) ToGoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutputWithContext(ctx context.Context) GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput { + return o +} + +func (o GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDatacatalogV1beta1UsageStatsResponse { + return vs[0].(map[string]GoogleCloudDatacatalogV1beta1UsageStatsResponse)[vs[1].(string)] + }).(GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput) } // Table view specification. @@ -1837,12 +2525,19 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1BigQueryTableSpecPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1BigQueryTableSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1ColumnSchemaInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1ColumnSchemaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1ColumnSchemaArrayInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1ColumnSchemaArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1FieldTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1GcsFilesetSpecInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1GcsFilesetSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1GcsFilesetSpecPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1GcsFilesetSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1SchemaInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1SchemaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1SchemaPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1SchemaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1TableSpecInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1TableSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1TableSpecPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1TableSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1TagTemplateFieldInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1TagTemplateFieldMapInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1TagTemplateFieldMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1ViewSpecInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1ViewSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDatacatalogV1beta1ViewSpecPtrInput)(nil)).Elem(), GoogleCloudDatacatalogV1beta1ViewSpecArgs{}) pulumi.RegisterOutputType(BindingOutput{}) @@ -1862,6 +2557,15 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1ColumnSchemaArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1ColumnSchemaResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1ColumnSchemaResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypePtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1FieldTypeResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1GcsFileSpecResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1GcsFileSpecResponseArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1GcsFilesetSpecOutput{}) @@ -1874,8 +2578,14 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1TableSpecOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1TableSpecPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1TableSpecResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1TagTemplateFieldOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1TagTemplateFieldMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1TaxonomyServiceResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1UsageSignalResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1UsageStatsResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1UsageStatsResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1ViewSpecOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1ViewSpecPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDatacatalogV1beta1ViewSpecResponseOutput{}) diff --git a/sdk/go/google/datacatalog/v1beta1/tagTemplate.go b/sdk/go/google/datacatalog/v1beta1/tagTemplate.go index 988db6f069..c57c806555 100644 --- a/sdk/go/google/datacatalog/v1beta1/tagTemplate.go +++ b/sdk/go/google/datacatalog/v1beta1/tagTemplate.go @@ -19,8 +19,8 @@ type TagTemplate struct { // The display name for this template. Defaults to an empty string. DisplayName pulumi.StringOutput `pulumi:"displayName"` // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. - Fields pulumi.StringMapOutput `pulumi:"fields"` - Location pulumi.StringOutput `pulumi:"location"` + Fields GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput `pulumi:"fields"` + Location pulumi.StringOutput `pulumi:"location"` // The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` @@ -83,8 +83,8 @@ type tagTemplateArgs struct { // The display name for this template. Defaults to an empty string. DisplayName *string `pulumi:"displayName"` // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. - Fields map[string]string `pulumi:"fields"` - Location *string `pulumi:"location"` + Fields map[string]GoogleCloudDatacatalogV1beta1TagTemplateField `pulumi:"fields"` + Location *string `pulumi:"location"` // The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. Name *string `pulumi:"name"` Project *string `pulumi:"project"` @@ -97,7 +97,7 @@ type TagTemplateArgs struct { // The display name for this template. Defaults to an empty string. DisplayName pulumi.StringPtrInput // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. - Fields pulumi.StringMapInput + Fields GoogleCloudDatacatalogV1beta1TagTemplateFieldMapInput Location pulumi.StringPtrInput // The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. Name pulumi.StringPtrInput @@ -149,8 +149,8 @@ func (o TagTemplateOutput) DisplayName() pulumi.StringOutput { } // Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. -func (o TagTemplateOutput) Fields() pulumi.StringMapOutput { - return o.ApplyT(func(v *TagTemplate) pulumi.StringMapOutput { return v.Fields }).(pulumi.StringMapOutput) +func (o TagTemplateOutput) Fields() GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput { + return o.ApplyT(func(v *TagTemplate) GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput { return v.Fields }).(GoogleCloudDatacatalogV1beta1TagTemplateFieldResponseMapOutput) } func (o TagTemplateOutput) Location() pulumi.StringOutput { diff --git a/sdk/go/google/dataflow/v1b3/pulumiTypes.go b/sdk/go/google/dataflow/v1b3/pulumiTypes.go index d64a2ed313..a06fe81aa1 100644 --- a/sdk/go/google/dataflow/v1b3/pulumiTypes.go +++ b/sdk/go/google/dataflow/v1b3/pulumiTypes.go @@ -1966,9 +1966,9 @@ type Environment struct { // Which Flexible Resource Scheduling mode to run in. FlexResourceSchedulingGoal *EnvironmentFlexResourceSchedulingGoal `pulumi:"flexResourceSchedulingGoal"` // Experimental settings. - InternalExperiments map[string]string `pulumi:"internalExperiments"` + InternalExperiments map[string]interface{} `pulumi:"internalExperiments"` // The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. - SdkPipelineOptions map[string]string `pulumi:"sdkPipelineOptions"` + SdkPipelineOptions map[string]interface{} `pulumi:"sdkPipelineOptions"` // Identity to run virtual machines as. Defaults to the default account. ServiceAccountEmail *string `pulumi:"serviceAccountEmail"` // If set, contains the Cloud KMS key identifier used to encrypt data at rest, AKA a Customer Managed Encryption Key (CMEK). Format: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY @@ -1978,9 +1978,9 @@ type Environment struct { // The prefix of the resources the system should use for temporary storage. The system will append the suffix "/temp-{JOBNAME} to this resource prefix, where {JOBNAME} is the value of the job_name field. The resulting bucket and object prefix is used as the prefix of the resources used to store temporary data needed during the job execution. NOTE: This will override the value in taskrunner_settings. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object} TempStoragePrefix *string `pulumi:"tempStoragePrefix"` // A description of the process that generated the request. - UserAgent map[string]string `pulumi:"userAgent"` + UserAgent map[string]interface{} `pulumi:"userAgent"` // A structure describing which components and their versions of the service are required in order to run the job. - Version map[string]string `pulumi:"version"` + Version map[string]interface{} `pulumi:"version"` // The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. WorkerPools []WorkerPool `pulumi:"workerPools"` // The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region. @@ -2013,9 +2013,9 @@ type EnvironmentArgs struct { // Which Flexible Resource Scheduling mode to run in. FlexResourceSchedulingGoal EnvironmentFlexResourceSchedulingGoalPtrInput `pulumi:"flexResourceSchedulingGoal"` // Experimental settings. - InternalExperiments pulumi.StringMapInput `pulumi:"internalExperiments"` + InternalExperiments pulumi.MapInput `pulumi:"internalExperiments"` // The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. - SdkPipelineOptions pulumi.StringMapInput `pulumi:"sdkPipelineOptions"` + SdkPipelineOptions pulumi.MapInput `pulumi:"sdkPipelineOptions"` // Identity to run virtual machines as. Defaults to the default account. ServiceAccountEmail pulumi.StringPtrInput `pulumi:"serviceAccountEmail"` // If set, contains the Cloud KMS key identifier used to encrypt data at rest, AKA a Customer Managed Encryption Key (CMEK). Format: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY @@ -2025,9 +2025,9 @@ type EnvironmentArgs struct { // The prefix of the resources the system should use for temporary storage. The system will append the suffix "/temp-{JOBNAME} to this resource prefix, where {JOBNAME} is the value of the job_name field. The resulting bucket and object prefix is used as the prefix of the resources used to store temporary data needed during the job execution. NOTE: This will override the value in taskrunner_settings. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object} TempStoragePrefix pulumi.StringPtrInput `pulumi:"tempStoragePrefix"` // A description of the process that generated the request. - UserAgent pulumi.StringMapInput `pulumi:"userAgent"` + UserAgent pulumi.MapInput `pulumi:"userAgent"` // A structure describing which components and their versions of the service are required in order to run the job. - Version pulumi.StringMapInput `pulumi:"version"` + Version pulumi.MapInput `pulumi:"version"` // The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. WorkerPools WorkerPoolArrayInput `pulumi:"workerPools"` // The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region. @@ -2140,13 +2140,13 @@ func (o EnvironmentOutput) FlexResourceSchedulingGoal() EnvironmentFlexResourceS } // Experimental settings. -func (o EnvironmentOutput) InternalExperiments() pulumi.StringMapOutput { - return o.ApplyT(func(v Environment) map[string]string { return v.InternalExperiments }).(pulumi.StringMapOutput) +func (o EnvironmentOutput) InternalExperiments() pulumi.MapOutput { + return o.ApplyT(func(v Environment) map[string]interface{} { return v.InternalExperiments }).(pulumi.MapOutput) } // The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. -func (o EnvironmentOutput) SdkPipelineOptions() pulumi.StringMapOutput { - return o.ApplyT(func(v Environment) map[string]string { return v.SdkPipelineOptions }).(pulumi.StringMapOutput) +func (o EnvironmentOutput) SdkPipelineOptions() pulumi.MapOutput { + return o.ApplyT(func(v Environment) map[string]interface{} { return v.SdkPipelineOptions }).(pulumi.MapOutput) } // Identity to run virtual machines as. Defaults to the default account. @@ -2170,13 +2170,13 @@ func (o EnvironmentOutput) TempStoragePrefix() pulumi.StringPtrOutput { } // A description of the process that generated the request. -func (o EnvironmentOutput) UserAgent() pulumi.StringMapOutput { - return o.ApplyT(func(v Environment) map[string]string { return v.UserAgent }).(pulumi.StringMapOutput) +func (o EnvironmentOutput) UserAgent() pulumi.MapOutput { + return o.ApplyT(func(v Environment) map[string]interface{} { return v.UserAgent }).(pulumi.MapOutput) } // A structure describing which components and their versions of the service are required in order to run the job. -func (o EnvironmentOutput) Version() pulumi.StringMapOutput { - return o.ApplyT(func(v Environment) map[string]string { return v.Version }).(pulumi.StringMapOutput) +func (o EnvironmentOutput) Version() pulumi.MapOutput { + return o.ApplyT(func(v Environment) map[string]interface{} { return v.Version }).(pulumi.MapOutput) } // The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. @@ -2269,23 +2269,23 @@ func (o EnvironmentPtrOutput) FlexResourceSchedulingGoal() EnvironmentFlexResour } // Experimental settings. -func (o EnvironmentPtrOutput) InternalExperiments() pulumi.StringMapOutput { - return o.ApplyT(func(v *Environment) map[string]string { +func (o EnvironmentPtrOutput) InternalExperiments() pulumi.MapOutput { + return o.ApplyT(func(v *Environment) map[string]interface{} { if v == nil { return nil } return v.InternalExperiments - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. -func (o EnvironmentPtrOutput) SdkPipelineOptions() pulumi.StringMapOutput { - return o.ApplyT(func(v *Environment) map[string]string { +func (o EnvironmentPtrOutput) SdkPipelineOptions() pulumi.MapOutput { + return o.ApplyT(func(v *Environment) map[string]interface{} { if v == nil { return nil } return v.SdkPipelineOptions - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Identity to run virtual machines as. Defaults to the default account. @@ -2329,23 +2329,23 @@ func (o EnvironmentPtrOutput) TempStoragePrefix() pulumi.StringPtrOutput { } // A description of the process that generated the request. -func (o EnvironmentPtrOutput) UserAgent() pulumi.StringMapOutput { - return o.ApplyT(func(v *Environment) map[string]string { +func (o EnvironmentPtrOutput) UserAgent() pulumi.MapOutput { + return o.ApplyT(func(v *Environment) map[string]interface{} { if v == nil { return nil } return v.UserAgent - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // A structure describing which components and their versions of the service are required in order to run the job. -func (o EnvironmentPtrOutput) Version() pulumi.StringMapOutput { - return o.ApplyT(func(v *Environment) map[string]string { +func (o EnvironmentPtrOutput) Version() pulumi.MapOutput { + return o.ApplyT(func(v *Environment) map[string]interface{} { if v == nil { return nil } return v.Version - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. @@ -2391,9 +2391,9 @@ type EnvironmentResponse struct { // Which Flexible Resource Scheduling mode to run in. FlexResourceSchedulingGoal string `pulumi:"flexResourceSchedulingGoal"` // Experimental settings. - InternalExperiments map[string]string `pulumi:"internalExperiments"` + InternalExperiments map[string]interface{} `pulumi:"internalExperiments"` // The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. - SdkPipelineOptions map[string]string `pulumi:"sdkPipelineOptions"` + SdkPipelineOptions map[string]interface{} `pulumi:"sdkPipelineOptions"` // Identity to run virtual machines as. Defaults to the default account. ServiceAccountEmail string `pulumi:"serviceAccountEmail"` // If set, contains the Cloud KMS key identifier used to encrypt data at rest, AKA a Customer Managed Encryption Key (CMEK). Format: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY @@ -2407,9 +2407,9 @@ type EnvironmentResponse struct { // Whether the job uses the new streaming engine billing model based on resource usage. UseStreamingEngineResourceBasedBilling bool `pulumi:"useStreamingEngineResourceBasedBilling"` // A description of the process that generated the request. - UserAgent map[string]string `pulumi:"userAgent"` + UserAgent map[string]interface{} `pulumi:"userAgent"` // A structure describing which components and their versions of the service are required in order to run the job. - Version map[string]string `pulumi:"version"` + Version map[string]interface{} `pulumi:"version"` // The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. WorkerPools []WorkerPoolResponse `pulumi:"workerPools"` // The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region. @@ -2459,13 +2459,13 @@ func (o EnvironmentResponseOutput) FlexResourceSchedulingGoal() pulumi.StringOut } // Experimental settings. -func (o EnvironmentResponseOutput) InternalExperiments() pulumi.StringMapOutput { - return o.ApplyT(func(v EnvironmentResponse) map[string]string { return v.InternalExperiments }).(pulumi.StringMapOutput) +func (o EnvironmentResponseOutput) InternalExperiments() pulumi.MapOutput { + return o.ApplyT(func(v EnvironmentResponse) map[string]interface{} { return v.InternalExperiments }).(pulumi.MapOutput) } // The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. -func (o EnvironmentResponseOutput) SdkPipelineOptions() pulumi.StringMapOutput { - return o.ApplyT(func(v EnvironmentResponse) map[string]string { return v.SdkPipelineOptions }).(pulumi.StringMapOutput) +func (o EnvironmentResponseOutput) SdkPipelineOptions() pulumi.MapOutput { + return o.ApplyT(func(v EnvironmentResponse) map[string]interface{} { return v.SdkPipelineOptions }).(pulumi.MapOutput) } // Identity to run virtual machines as. Defaults to the default account. @@ -2499,13 +2499,13 @@ func (o EnvironmentResponseOutput) UseStreamingEngineResourceBasedBilling() pulu } // A description of the process that generated the request. -func (o EnvironmentResponseOutput) UserAgent() pulumi.StringMapOutput { - return o.ApplyT(func(v EnvironmentResponse) map[string]string { return v.UserAgent }).(pulumi.StringMapOutput) +func (o EnvironmentResponseOutput) UserAgent() pulumi.MapOutput { + return o.ApplyT(func(v EnvironmentResponse) map[string]interface{} { return v.UserAgent }).(pulumi.MapOutput) } // A structure describing which components and their versions of the service are required in order to run the job. -func (o EnvironmentResponseOutput) Version() pulumi.StringMapOutput { - return o.ApplyT(func(v EnvironmentResponse) map[string]string { return v.Version }).(pulumi.StringMapOutput) +func (o EnvironmentResponseOutput) Version() pulumi.MapOutput { + return o.ApplyT(func(v EnvironmentResponse) map[string]interface{} { return v.Version }).(pulumi.MapOutput) } // The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. @@ -3101,7 +3101,7 @@ func (o FileIODetailsResponseArrayOutput) Index(i pulumi.IntInput) FileIODetails // Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job. type JobExecutionInfo struct { // A mapping from each stage to the information about that stage. - Stages map[string]string `pulumi:"stages"` + Stages map[string]JobExecutionStageInfo `pulumi:"stages"` } // JobExecutionInfoInput is an input type that accepts JobExecutionInfoArgs and JobExecutionInfoOutput values. @@ -3118,7 +3118,7 @@ type JobExecutionInfoInput interface { // Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job. type JobExecutionInfoArgs struct { // A mapping from each stage to the information about that stage. - Stages pulumi.StringMapInput `pulumi:"stages"` + Stages JobExecutionStageInfoMapInput `pulumi:"stages"` } func (JobExecutionInfoArgs) ElementType() reflect.Type { @@ -3200,8 +3200,8 @@ func (o JobExecutionInfoOutput) ToJobExecutionInfoPtrOutputWithContext(ctx conte } // A mapping from each stage to the information about that stage. -func (o JobExecutionInfoOutput) Stages() pulumi.StringMapOutput { - return o.ApplyT(func(v JobExecutionInfo) map[string]string { return v.Stages }).(pulumi.StringMapOutput) +func (o JobExecutionInfoOutput) Stages() JobExecutionStageInfoMapOutput { + return o.ApplyT(func(v JobExecutionInfo) map[string]JobExecutionStageInfo { return v.Stages }).(JobExecutionStageInfoMapOutput) } type JobExecutionInfoPtrOutput struct{ *pulumi.OutputState } @@ -3229,19 +3229,19 @@ func (o JobExecutionInfoPtrOutput) Elem() JobExecutionInfoOutput { } // A mapping from each stage to the information about that stage. -func (o JobExecutionInfoPtrOutput) Stages() pulumi.StringMapOutput { - return o.ApplyT(func(v *JobExecutionInfo) map[string]string { +func (o JobExecutionInfoPtrOutput) Stages() JobExecutionStageInfoMapOutput { + return o.ApplyT(func(v *JobExecutionInfo) map[string]JobExecutionStageInfo { if v == nil { return nil } return v.Stages - }).(pulumi.StringMapOutput) + }).(JobExecutionStageInfoMapOutput) } // Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job. type JobExecutionInfoResponse struct { // A mapping from each stage to the information about that stage. - Stages map[string]string `pulumi:"stages"` + Stages map[string]JobExecutionStageInfoResponse `pulumi:"stages"` } // Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job. @@ -3260,8 +3260,154 @@ func (o JobExecutionInfoResponseOutput) ToJobExecutionInfoResponseOutputWithCont } // A mapping from each stage to the information about that stage. -func (o JobExecutionInfoResponseOutput) Stages() pulumi.StringMapOutput { - return o.ApplyT(func(v JobExecutionInfoResponse) map[string]string { return v.Stages }).(pulumi.StringMapOutput) +func (o JobExecutionInfoResponseOutput) Stages() JobExecutionStageInfoResponseMapOutput { + return o.ApplyT(func(v JobExecutionInfoResponse) map[string]JobExecutionStageInfoResponse { return v.Stages }).(JobExecutionStageInfoResponseMapOutput) +} + +// Contains information about how a particular google.dataflow.v1beta3.Step will be executed. +type JobExecutionStageInfo struct { + // The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + StepName []string `pulumi:"stepName"` +} + +// JobExecutionStageInfoInput is an input type that accepts JobExecutionStageInfoArgs and JobExecutionStageInfoOutput values. +// You can construct a concrete instance of `JobExecutionStageInfoInput` via: +// +// JobExecutionStageInfoArgs{...} +type JobExecutionStageInfoInput interface { + pulumi.Input + + ToJobExecutionStageInfoOutput() JobExecutionStageInfoOutput + ToJobExecutionStageInfoOutputWithContext(context.Context) JobExecutionStageInfoOutput +} + +// Contains information about how a particular google.dataflow.v1beta3.Step will be executed. +type JobExecutionStageInfoArgs struct { + // The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + StepName pulumi.StringArrayInput `pulumi:"stepName"` +} + +func (JobExecutionStageInfoArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobExecutionStageInfo)(nil)).Elem() +} + +func (i JobExecutionStageInfoArgs) ToJobExecutionStageInfoOutput() JobExecutionStageInfoOutput { + return i.ToJobExecutionStageInfoOutputWithContext(context.Background()) +} + +func (i JobExecutionStageInfoArgs) ToJobExecutionStageInfoOutputWithContext(ctx context.Context) JobExecutionStageInfoOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobExecutionStageInfoOutput) +} + +// JobExecutionStageInfoMapInput is an input type that accepts JobExecutionStageInfoMap and JobExecutionStageInfoMapOutput values. +// You can construct a concrete instance of `JobExecutionStageInfoMapInput` via: +// +// JobExecutionStageInfoMap{ "key": JobExecutionStageInfoArgs{...} } +type JobExecutionStageInfoMapInput interface { + pulumi.Input + + ToJobExecutionStageInfoMapOutput() JobExecutionStageInfoMapOutput + ToJobExecutionStageInfoMapOutputWithContext(context.Context) JobExecutionStageInfoMapOutput +} + +type JobExecutionStageInfoMap map[string]JobExecutionStageInfoInput + +func (JobExecutionStageInfoMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]JobExecutionStageInfo)(nil)).Elem() +} + +func (i JobExecutionStageInfoMap) ToJobExecutionStageInfoMapOutput() JobExecutionStageInfoMapOutput { + return i.ToJobExecutionStageInfoMapOutputWithContext(context.Background()) +} + +func (i JobExecutionStageInfoMap) ToJobExecutionStageInfoMapOutputWithContext(ctx context.Context) JobExecutionStageInfoMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobExecutionStageInfoMapOutput) +} + +// Contains information about how a particular google.dataflow.v1beta3.Step will be executed. +type JobExecutionStageInfoOutput struct{ *pulumi.OutputState } + +func (JobExecutionStageInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobExecutionStageInfo)(nil)).Elem() +} + +func (o JobExecutionStageInfoOutput) ToJobExecutionStageInfoOutput() JobExecutionStageInfoOutput { + return o +} + +func (o JobExecutionStageInfoOutput) ToJobExecutionStageInfoOutputWithContext(ctx context.Context) JobExecutionStageInfoOutput { + return o +} + +// The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. +func (o JobExecutionStageInfoOutput) StepName() pulumi.StringArrayOutput { + return o.ApplyT(func(v JobExecutionStageInfo) []string { return v.StepName }).(pulumi.StringArrayOutput) +} + +type JobExecutionStageInfoMapOutput struct{ *pulumi.OutputState } + +func (JobExecutionStageInfoMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]JobExecutionStageInfo)(nil)).Elem() +} + +func (o JobExecutionStageInfoMapOutput) ToJobExecutionStageInfoMapOutput() JobExecutionStageInfoMapOutput { + return o +} + +func (o JobExecutionStageInfoMapOutput) ToJobExecutionStageInfoMapOutputWithContext(ctx context.Context) JobExecutionStageInfoMapOutput { + return o +} + +func (o JobExecutionStageInfoMapOutput) MapIndex(k pulumi.StringInput) JobExecutionStageInfoOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) JobExecutionStageInfo { + return vs[0].(map[string]JobExecutionStageInfo)[vs[1].(string)] + }).(JobExecutionStageInfoOutput) +} + +// Contains information about how a particular google.dataflow.v1beta3.Step will be executed. +type JobExecutionStageInfoResponse struct { + // The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + StepName []string `pulumi:"stepName"` +} + +// Contains information about how a particular google.dataflow.v1beta3.Step will be executed. +type JobExecutionStageInfoResponseOutput struct{ *pulumi.OutputState } + +func (JobExecutionStageInfoResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobExecutionStageInfoResponse)(nil)).Elem() +} + +func (o JobExecutionStageInfoResponseOutput) ToJobExecutionStageInfoResponseOutput() JobExecutionStageInfoResponseOutput { + return o +} + +func (o JobExecutionStageInfoResponseOutput) ToJobExecutionStageInfoResponseOutputWithContext(ctx context.Context) JobExecutionStageInfoResponseOutput { + return o +} + +// The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. +func (o JobExecutionStageInfoResponseOutput) StepName() pulumi.StringArrayOutput { + return o.ApplyT(func(v JobExecutionStageInfoResponse) []string { return v.StepName }).(pulumi.StringArrayOutput) +} + +type JobExecutionStageInfoResponseMapOutput struct{ *pulumi.OutputState } + +func (JobExecutionStageInfoResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]JobExecutionStageInfoResponse)(nil)).Elem() +} + +func (o JobExecutionStageInfoResponseMapOutput) ToJobExecutionStageInfoResponseMapOutput() JobExecutionStageInfoResponseMapOutput { + return o +} + +func (o JobExecutionStageInfoResponseMapOutput) ToJobExecutionStageInfoResponseMapOutputWithContext(ctx context.Context) JobExecutionStageInfoResponseMapOutput { + return o +} + +func (o JobExecutionStageInfoResponseMapOutput) MapIndex(k pulumi.StringInput) JobExecutionStageInfoResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) JobExecutionStageInfoResponse { + return vs[0].(map[string]JobExecutionStageInfoResponse)[vs[1].(string)] + }).(JobExecutionStageInfoResponseOutput) } // Metadata available primarily for filtering jobs. Will be included in the ListJob response and Job SUMMARY view. @@ -5947,7 +6093,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -5973,8 +6119,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -5989,7 +6135,7 @@ type Step struct { // The name that identifies the step. This must be unique for each step with respect to all other steps in the Cloud Dataflow job. Name *string `pulumi:"name"` // Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. - Properties map[string]string `pulumi:"properties"` + Properties map[string]interface{} `pulumi:"properties"` } // StepInput is an input type that accepts StepArgs and StepOutput values. @@ -6010,7 +6156,7 @@ type StepArgs struct { // The name that identifies the step. This must be unique for each step with respect to all other steps in the Cloud Dataflow job. Name pulumi.StringPtrInput `pulumi:"name"` // Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. - Properties pulumi.StringMapInput `pulumi:"properties"` + Properties pulumi.MapInput `pulumi:"properties"` } func (StepArgs) ElementType() reflect.Type { @@ -6076,8 +6222,8 @@ func (o StepOutput) Name() pulumi.StringPtrOutput { } // Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. -func (o StepOutput) Properties() pulumi.StringMapOutput { - return o.ApplyT(func(v Step) map[string]string { return v.Properties }).(pulumi.StringMapOutput) +func (o StepOutput) Properties() pulumi.MapOutput { + return o.ApplyT(func(v Step) map[string]interface{} { return v.Properties }).(pulumi.MapOutput) } type StepArrayOutput struct{ *pulumi.OutputState } @@ -6107,7 +6253,7 @@ type StepResponse struct { // The name that identifies the step. This must be unique for each step with respect to all other steps in the Cloud Dataflow job. Name string `pulumi:"name"` // Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. - Properties map[string]string `pulumi:"properties"` + Properties map[string]interface{} `pulumi:"properties"` } // Defines a particular step within a Cloud Dataflow job. A job consists of multiple steps, each of which performs some specific operation as part of the overall job. Data is typically passed from one step to another as part of the job. **Note:** The properties of this object are not stable and might change. Here's an example of a sequence of steps which together implement a Map-Reduce job: * Read a collection of data from some source, parsing the collection's elements. * Validate the elements. * Apply a user-defined function to map each element to some value and extract an element-specific key value. * Group elements with the same key into a single element with that key, transforming a multiply-keyed collection into a uniquely-keyed collection. * Write the elements out to some data sink. Note that the Cloud Dataflow service may be used to run many different types of jobs, not just Map-Reduce. @@ -6136,8 +6282,8 @@ func (o StepResponseOutput) Name() pulumi.StringOutput { } // Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. -func (o StepResponseOutput) Properties() pulumi.StringMapOutput { - return o.ApplyT(func(v StepResponse) map[string]string { return v.Properties }).(pulumi.StringMapOutput) +func (o StepResponseOutput) Properties() pulumi.MapOutput { + return o.ApplyT(func(v StepResponse) map[string]interface{} { return v.Properties }).(pulumi.MapOutput) } type StepResponseArrayOutput struct{ *pulumi.OutputState } @@ -7086,7 +7232,7 @@ type WorkerPool struct { // Packages to be installed on workers. Packages []Package `pulumi:"packages"` // Extra arguments for this worker pool. - PoolArgs map[string]string `pulumi:"poolArgs"` + PoolArgs map[string]interface{} `pulumi:"poolArgs"` // Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. SdkHarnessContainerImages []SdkHarnessContainerImage `pulumi:"sdkHarnessContainerImages"` // Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "regions/REGION/subnetworks/SUBNETWORK". @@ -7147,7 +7293,7 @@ type WorkerPoolArgs struct { // Packages to be installed on workers. Packages PackageArrayInput `pulumi:"packages"` // Extra arguments for this worker pool. - PoolArgs pulumi.StringMapInput `pulumi:"poolArgs"` + PoolArgs pulumi.MapInput `pulumi:"poolArgs"` // Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. SdkHarnessContainerImages SdkHarnessContainerImageArrayInput `pulumi:"sdkHarnessContainerImages"` // Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "regions/REGION/subnetworks/SUBNETWORK". @@ -7292,8 +7438,8 @@ func (o WorkerPoolOutput) Packages() PackageArrayOutput { } // Extra arguments for this worker pool. -func (o WorkerPoolOutput) PoolArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v WorkerPool) map[string]string { return v.PoolArgs }).(pulumi.StringMapOutput) +func (o WorkerPoolOutput) PoolArgs() pulumi.MapOutput { + return o.ApplyT(func(v WorkerPool) map[string]interface{} { return v.PoolArgs }).(pulumi.MapOutput) } // Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. @@ -7381,7 +7527,7 @@ type WorkerPoolResponse struct { // Packages to be installed on workers. Packages []PackageResponse `pulumi:"packages"` // Extra arguments for this worker pool. - PoolArgs map[string]string `pulumi:"poolArgs"` + PoolArgs map[string]interface{} `pulumi:"poolArgs"` // Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. SdkHarnessContainerImages []SdkHarnessContainerImageResponse `pulumi:"sdkHarnessContainerImages"` // Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "regions/REGION/subnetworks/SUBNETWORK". @@ -7489,8 +7635,8 @@ func (o WorkerPoolResponseOutput) Packages() PackageResponseArrayOutput { } // Extra arguments for this worker pool. -func (o WorkerPoolResponseOutput) PoolArgs() pulumi.StringMapOutput { - return o.ApplyT(func(v WorkerPoolResponse) map[string]string { return v.PoolArgs }).(pulumi.StringMapOutput) +func (o WorkerPoolResponseOutput) PoolArgs() pulumi.MapOutput { + return o.ApplyT(func(v WorkerPoolResponse) map[string]interface{} { return v.PoolArgs }).(pulumi.MapOutput) } // Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. @@ -7872,6 +8018,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FileIODetailsArrayInput)(nil)).Elem(), FileIODetailsArray{}) pulumi.RegisterInputType(reflect.TypeOf((*JobExecutionInfoInput)(nil)).Elem(), JobExecutionInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*JobExecutionInfoPtrInput)(nil)).Elem(), JobExecutionInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobExecutionStageInfoInput)(nil)).Elem(), JobExecutionStageInfoArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*JobExecutionStageInfoMapInput)(nil)).Elem(), JobExecutionStageInfoMap{}) pulumi.RegisterInputType(reflect.TypeOf((*JobMetadataInput)(nil)).Elem(), JobMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*JobMetadataPtrInput)(nil)).Elem(), JobMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PackageInput)(nil)).Elem(), PackageArgs{}) @@ -7957,6 +8105,10 @@ func init() { pulumi.RegisterOutputType(JobExecutionInfoOutput{}) pulumi.RegisterOutputType(JobExecutionInfoPtrOutput{}) pulumi.RegisterOutputType(JobExecutionInfoResponseOutput{}) + pulumi.RegisterOutputType(JobExecutionStageInfoOutput{}) + pulumi.RegisterOutputType(JobExecutionStageInfoMapOutput{}) + pulumi.RegisterOutputType(JobExecutionStageInfoResponseOutput{}) + pulumi.RegisterOutputType(JobExecutionStageInfoResponseMapOutput{}) pulumi.RegisterOutputType(JobMetadataOutput{}) pulumi.RegisterOutputType(JobMetadataPtrOutput{}) pulumi.RegisterOutputType(JobMetadataResponseOutput{}) diff --git a/sdk/go/google/dataform/v1beta1/pulumiTypes.go b/sdk/go/google/dataform/v1beta1/pulumiTypes.go index caf1b350c2..c09b5fe1fb 100644 --- a/sdk/go/google/dataform/v1beta1/pulumiTypes.go +++ b/sdk/go/google/dataform/v1beta1/pulumiTypes.go @@ -1751,7 +1751,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -1777,8 +1777,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/datalabeling/v1beta1/pulumiTypes.go b/sdk/go/google/datalabeling/v1beta1/pulumiTypes.go index 86d8eb2d0c..c24cbda74f 100644 --- a/sdk/go/google/datalabeling/v1beta1/pulumiTypes.go +++ b/sdk/go/google/datalabeling/v1beta1/pulumiTypes.go @@ -3778,7 +3778,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -3804,8 +3804,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/datalineage/v1/getProcess.go b/sdk/go/google/datalineage/v1/getProcess.go index 4bc18f5229..a0d578dd02 100644 --- a/sdk/go/google/datalineage/v1/getProcess.go +++ b/sdk/go/google/datalineage/v1/getProcess.go @@ -30,7 +30,7 @@ type LookupProcessArgs struct { type LookupProcessResult struct { // Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]interface{} `pulumi:"attributes"` // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` DisplayName string `pulumi:"displayName"` // Immutable. The resource name of the lineage process. Format: `projects/{project}/locations/{location}/processes/{process}`. Can be specified or auto-assigned. {process} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` @@ -77,8 +77,8 @@ func (o LookupProcessResultOutput) ToLookupProcessResultOutputWithContext(ctx co } // Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. -func (o LookupProcessResultOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupProcessResult) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o LookupProcessResultOutput) Attributes() pulumi.MapOutput { + return o.ApplyT(func(v LookupProcessResult) map[string]interface{} { return v.Attributes }).(pulumi.MapOutput) } // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` diff --git a/sdk/go/google/datalineage/v1/getRun.go b/sdk/go/google/datalineage/v1/getRun.go index 917240f929..6b3902800e 100644 --- a/sdk/go/google/datalineage/v1/getRun.go +++ b/sdk/go/google/datalineage/v1/getRun.go @@ -31,7 +31,7 @@ type LookupRunArgs struct { type LookupRunResult struct { // Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]interface{} `pulumi:"attributes"` // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` DisplayName string `pulumi:"displayName"` // Optional. The timestamp of the end of the run. @@ -83,8 +83,8 @@ func (o LookupRunResultOutput) ToLookupRunResultOutputWithContext(ctx context.Co } // Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. -func (o LookupRunResultOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupRunResult) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o LookupRunResultOutput) Attributes() pulumi.MapOutput { + return o.ApplyT(func(v LookupRunResult) map[string]interface{} { return v.Attributes }).(pulumi.MapOutput) } // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` diff --git a/sdk/go/google/datalineage/v1/process.go b/sdk/go/google/datalineage/v1/process.go index 56b6ecd4d2..2655e81260 100644 --- a/sdk/go/google/datalineage/v1/process.go +++ b/sdk/go/google/datalineage/v1/process.go @@ -16,7 +16,7 @@ type Process struct { pulumi.CustomResourceState // Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. - Attributes pulumi.StringMapOutput `pulumi:"attributes"` + Attributes pulumi.MapOutput `pulumi:"attributes"` // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` DisplayName pulumi.StringOutput `pulumi:"displayName"` Location pulumi.StringOutput `pulumi:"location"` @@ -75,7 +75,7 @@ func (ProcessState) ElementType() reflect.Type { type processArgs struct { // Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]interface{} `pulumi:"attributes"` // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` DisplayName *string `pulumi:"displayName"` Location *string `pulumi:"location"` @@ -91,7 +91,7 @@ type processArgs struct { // The set of arguments for constructing a Process resource. type ProcessArgs struct { // Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. - Attributes pulumi.StringMapInput + Attributes pulumi.MapInput // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` DisplayName pulumi.StringPtrInput Location pulumi.StringPtrInput @@ -142,8 +142,8 @@ func (o ProcessOutput) ToProcessOutputWithContext(ctx context.Context) ProcessOu } // Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. -func (o ProcessOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Process) pulumi.StringMapOutput { return v.Attributes }).(pulumi.StringMapOutput) +func (o ProcessOutput) Attributes() pulumi.MapOutput { + return o.ApplyT(func(v *Process) pulumi.MapOutput { return v.Attributes }).(pulumi.MapOutput) } // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` diff --git a/sdk/go/google/datalineage/v1/run.go b/sdk/go/google/datalineage/v1/run.go index 6ef1121cba..7092201972 100644 --- a/sdk/go/google/datalineage/v1/run.go +++ b/sdk/go/google/datalineage/v1/run.go @@ -17,7 +17,7 @@ type Run struct { pulumi.CustomResourceState // Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. - Attributes pulumi.StringMapOutput `pulumi:"attributes"` + Attributes pulumi.MapOutput `pulumi:"attributes"` // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` DisplayName pulumi.StringOutput `pulumi:"displayName"` // Optional. The timestamp of the end of the run. @@ -91,7 +91,7 @@ func (RunState) ElementType() reflect.Type { type runArgs struct { // Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]interface{} `pulumi:"attributes"` // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` DisplayName *string `pulumi:"displayName"` // Optional. The timestamp of the end of the run. @@ -112,7 +112,7 @@ type runArgs struct { // The set of arguments for constructing a Run resource. type RunArgs struct { // Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. - Attributes pulumi.StringMapInput + Attributes pulumi.MapInput // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` DisplayName pulumi.StringPtrInput // Optional. The timestamp of the end of the run. @@ -168,8 +168,8 @@ func (o RunOutput) ToRunOutputWithContext(ctx context.Context) RunOutput { } // Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. -func (o RunOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Run) pulumi.StringMapOutput { return v.Attributes }).(pulumi.StringMapOutput) +func (o RunOutput) Attributes() pulumi.MapOutput { + return o.ApplyT(func(v *Run) pulumi.MapOutput { return v.Attributes }).(pulumi.MapOutput) } // Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` diff --git a/sdk/go/google/datamigration/v1/pulumiTypes.go b/sdk/go/google/datamigration/v1/pulumiTypes.go index 76e035ee1d..8c3bd18e54 100644 --- a/sdk/go/google/datamigration/v1/pulumiTypes.go +++ b/sdk/go/google/datamigration/v1/pulumiTypes.go @@ -2167,7 +2167,7 @@ func (o CloudSqlSettingsResponseOutput) Zone() pulumi.StringOutput { // Options to configure rule type ConditionalColumnSetValue. The rule is used to transform the data which is being replicated/migrated. The rule filter field can refer to one or more entities. The rule scope can be one of: Column. type ConditionalColumnSetValue struct { // Optional. Custom engine specific features. - CustomFeatures map[string]string `pulumi:"customFeatures"` + CustomFeatures map[string]interface{} `pulumi:"customFeatures"` // Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. SourceNumericFilter *SourceNumericFilter `pulumi:"sourceNumericFilter"` // Optional. Optional filter on source column length. Used for text based data types like varchar. @@ -2190,7 +2190,7 @@ type ConditionalColumnSetValueInput interface { // Options to configure rule type ConditionalColumnSetValue. The rule is used to transform the data which is being replicated/migrated. The rule filter field can refer to one or more entities. The rule scope can be one of: Column. type ConditionalColumnSetValueArgs struct { // Optional. Custom engine specific features. - CustomFeatures pulumi.StringMapInput `pulumi:"customFeatures"` + CustomFeatures pulumi.MapInput `pulumi:"customFeatures"` // Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. SourceNumericFilter SourceNumericFilterPtrInput `pulumi:"sourceNumericFilter"` // Optional. Optional filter on source column length. Used for text based data types like varchar. @@ -2278,8 +2278,8 @@ func (o ConditionalColumnSetValueOutput) ToConditionalColumnSetValuePtrOutputWit } // Optional. Custom engine specific features. -func (o ConditionalColumnSetValueOutput) CustomFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v ConditionalColumnSetValue) map[string]string { return v.CustomFeatures }).(pulumi.StringMapOutput) +func (o ConditionalColumnSetValueOutput) CustomFeatures() pulumi.MapOutput { + return o.ApplyT(func(v ConditionalColumnSetValue) map[string]interface{} { return v.CustomFeatures }).(pulumi.MapOutput) } // Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. @@ -2322,13 +2322,13 @@ func (o ConditionalColumnSetValuePtrOutput) Elem() ConditionalColumnSetValueOutp } // Optional. Custom engine specific features. -func (o ConditionalColumnSetValuePtrOutput) CustomFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v *ConditionalColumnSetValue) map[string]string { +func (o ConditionalColumnSetValuePtrOutput) CustomFeatures() pulumi.MapOutput { + return o.ApplyT(func(v *ConditionalColumnSetValue) map[string]interface{} { if v == nil { return nil } return v.CustomFeatures - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. @@ -2364,7 +2364,7 @@ func (o ConditionalColumnSetValuePtrOutput) ValueTransformation() ValueTransform // Options to configure rule type ConditionalColumnSetValue. The rule is used to transform the data which is being replicated/migrated. The rule filter field can refer to one or more entities. The rule scope can be one of: Column. type ConditionalColumnSetValueResponse struct { // Optional. Custom engine specific features. - CustomFeatures map[string]string `pulumi:"customFeatures"` + CustomFeatures map[string]interface{} `pulumi:"customFeatures"` // Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. SourceNumericFilter SourceNumericFilterResponse `pulumi:"sourceNumericFilter"` // Optional. Optional filter on source column length. Used for text based data types like varchar. @@ -2389,8 +2389,8 @@ func (o ConditionalColumnSetValueResponseOutput) ToConditionalColumnSetValueResp } // Optional. Custom engine specific features. -func (o ConditionalColumnSetValueResponseOutput) CustomFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v ConditionalColumnSetValueResponse) map[string]string { return v.CustomFeatures }).(pulumi.StringMapOutput) +func (o ConditionalColumnSetValueResponseOutput) CustomFeatures() pulumi.MapOutput { + return o.ApplyT(func(v ConditionalColumnSetValueResponse) map[string]interface{} { return v.CustomFeatures }).(pulumi.MapOutput) } // Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. @@ -5425,7 +5425,7 @@ func (o MappingRuleFilterResponseOutput) ParentEntity() pulumi.StringOutput { // Options to configure rule type MultiColumnDatatypeChange. The rule is used to change the data type and associated properties of multiple columns at once. The rule filter field can refer to one or more entities. The rule scope can be one of:Column. This rule requires additional filters to be specified beyond the basic rule filter field, which is the source data type, but the rule supports additional filtering capabilities such as the minimum and maximum field length. All additional filters which are specified are required to be met in order for the rule to be applied (logical AND between the fields). type MultiColumnDatatypeChange struct { // Optional. Custom engine specific features. - CustomFeatures map[string]string `pulumi:"customFeatures"` + CustomFeatures map[string]interface{} `pulumi:"customFeatures"` // New data type. NewDataType string `pulumi:"newDataType"` // Optional. Column fractional seconds precision - used only for timestamp based datatypes - if not specified and relevant uses the source column fractional seconds precision. @@ -5458,7 +5458,7 @@ type MultiColumnDatatypeChangeInput interface { // Options to configure rule type MultiColumnDatatypeChange. The rule is used to change the data type and associated properties of multiple columns at once. The rule filter field can refer to one or more entities. The rule scope can be one of:Column. This rule requires additional filters to be specified beyond the basic rule filter field, which is the source data type, but the rule supports additional filtering capabilities such as the minimum and maximum field length. All additional filters which are specified are required to be met in order for the rule to be applied (logical AND between the fields). type MultiColumnDatatypeChangeArgs struct { // Optional. Custom engine specific features. - CustomFeatures pulumi.StringMapInput `pulumi:"customFeatures"` + CustomFeatures pulumi.MapInput `pulumi:"customFeatures"` // New data type. NewDataType pulumi.StringInput `pulumi:"newDataType"` // Optional. Column fractional seconds precision - used only for timestamp based datatypes - if not specified and relevant uses the source column fractional seconds precision. @@ -5556,8 +5556,8 @@ func (o MultiColumnDatatypeChangeOutput) ToMultiColumnDatatypeChangePtrOutputWit } // Optional. Custom engine specific features. -func (o MultiColumnDatatypeChangeOutput) CustomFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v MultiColumnDatatypeChange) map[string]string { return v.CustomFeatures }).(pulumi.StringMapOutput) +func (o MultiColumnDatatypeChangeOutput) CustomFeatures() pulumi.MapOutput { + return o.ApplyT(func(v MultiColumnDatatypeChange) map[string]interface{} { return v.CustomFeatures }).(pulumi.MapOutput) } // New data type. @@ -5625,13 +5625,13 @@ func (o MultiColumnDatatypeChangePtrOutput) Elem() MultiColumnDatatypeChangeOutp } // Optional. Custom engine specific features. -func (o MultiColumnDatatypeChangePtrOutput) CustomFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v *MultiColumnDatatypeChange) map[string]string { +func (o MultiColumnDatatypeChangePtrOutput) CustomFeatures() pulumi.MapOutput { + return o.ApplyT(func(v *MultiColumnDatatypeChange) map[string]interface{} { if v == nil { return nil } return v.CustomFeatures - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // New data type. @@ -5717,7 +5717,7 @@ func (o MultiColumnDatatypeChangePtrOutput) SourceTextFilter() SourceTextFilterP // Options to configure rule type MultiColumnDatatypeChange. The rule is used to change the data type and associated properties of multiple columns at once. The rule filter field can refer to one or more entities. The rule scope can be one of:Column. This rule requires additional filters to be specified beyond the basic rule filter field, which is the source data type, but the rule supports additional filtering capabilities such as the minimum and maximum field length. All additional filters which are specified are required to be met in order for the rule to be applied (logical AND between the fields). type MultiColumnDatatypeChangeResponse struct { // Optional. Custom engine specific features. - CustomFeatures map[string]string `pulumi:"customFeatures"` + CustomFeatures map[string]interface{} `pulumi:"customFeatures"` // New data type. NewDataType string `pulumi:"newDataType"` // Optional. Column fractional seconds precision - used only for timestamp based datatypes - if not specified and relevant uses the source column fractional seconds precision. @@ -5752,8 +5752,8 @@ func (o MultiColumnDatatypeChangeResponseOutput) ToMultiColumnDatatypeChangeResp } // Optional. Custom engine specific features. -func (o MultiColumnDatatypeChangeResponseOutput) CustomFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v MultiColumnDatatypeChangeResponse) map[string]string { return v.CustomFeatures }).(pulumi.StringMapOutput) +func (o MultiColumnDatatypeChangeResponseOutput) CustomFeatures() pulumi.MapOutput { + return o.ApplyT(func(v MultiColumnDatatypeChangeResponse) map[string]interface{} { return v.CustomFeatures }).(pulumi.MapOutput) } // New data type. @@ -8431,7 +8431,7 @@ type SingleColumnChange struct { // Optional. Comment associated with the column. Comment *string `pulumi:"comment"` // Optional. Custom engine specific features. - CustomFeatures map[string]string `pulumi:"customFeatures"` + CustomFeatures map[string]interface{} `pulumi:"customFeatures"` // Optional. Column data type name. DataType *string `pulumi:"dataType"` // Optional. Column fractional seconds precision - e.g. 2 as in timestamp (2) - when relevant. @@ -8476,7 +8476,7 @@ type SingleColumnChangeArgs struct { // Optional. Comment associated with the column. Comment pulumi.StringPtrInput `pulumi:"comment"` // Optional. Custom engine specific features. - CustomFeatures pulumi.StringMapInput `pulumi:"customFeatures"` + CustomFeatures pulumi.MapInput `pulumi:"customFeatures"` // Optional. Column data type name. DataType pulumi.StringPtrInput `pulumi:"dataType"` // Optional. Column fractional seconds precision - e.g. 2 as in timestamp (2) - when relevant. @@ -8604,8 +8604,8 @@ func (o SingleColumnChangeOutput) Comment() pulumi.StringPtrOutput { } // Optional. Custom engine specific features. -func (o SingleColumnChangeOutput) CustomFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v SingleColumnChange) map[string]string { return v.CustomFeatures }).(pulumi.StringMapOutput) +func (o SingleColumnChangeOutput) CustomFeatures() pulumi.MapOutput { + return o.ApplyT(func(v SingleColumnChange) map[string]interface{} { return v.CustomFeatures }).(pulumi.MapOutput) } // Optional. Column data type name. @@ -8733,13 +8733,13 @@ func (o SingleColumnChangePtrOutput) Comment() pulumi.StringPtrOutput { } // Optional. Custom engine specific features. -func (o SingleColumnChangePtrOutput) CustomFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v *SingleColumnChange) map[string]string { +func (o SingleColumnChangePtrOutput) CustomFeatures() pulumi.MapOutput { + return o.ApplyT(func(v *SingleColumnChange) map[string]interface{} { if v == nil { return nil } return v.CustomFeatures - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Optional. Column data type name. @@ -8837,7 +8837,7 @@ type SingleColumnChangeResponse struct { // Optional. Comment associated with the column. Comment string `pulumi:"comment"` // Optional. Custom engine specific features. - CustomFeatures map[string]string `pulumi:"customFeatures"` + CustomFeatures map[string]interface{} `pulumi:"customFeatures"` // Optional. Column data type name. DataType string `pulumi:"dataType"` // Optional. Column fractional seconds precision - e.g. 2 as in timestamp (2) - when relevant. @@ -8902,8 +8902,8 @@ func (o SingleColumnChangeResponseOutput) Comment() pulumi.StringOutput { } // Optional. Custom engine specific features. -func (o SingleColumnChangeResponseOutput) CustomFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v SingleColumnChangeResponse) map[string]string { return v.CustomFeatures }).(pulumi.StringMapOutput) +func (o SingleColumnChangeResponseOutput) CustomFeatures() pulumi.MapOutput { + return o.ApplyT(func(v SingleColumnChangeResponse) map[string]interface{} { return v.CustomFeatures }).(pulumi.MapOutput) } // Optional. Column data type name. @@ -10906,7 +10906,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -10932,8 +10932,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/datamigration/v1beta1/pulumiTypes.go b/sdk/go/google/datamigration/v1beta1/pulumiTypes.go index 6172ea7399..40119a6449 100644 --- a/sdk/go/google/datamigration/v1beta1/pulumiTypes.go +++ b/sdk/go/google/datamigration/v1beta1/pulumiTypes.go @@ -2978,7 +2978,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -3004,8 +3004,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/deploymentmanager/alpha/pulumiTypes.go b/sdk/go/google/deploymentmanager/alpha/pulumiTypes.go index dc5c4ca411..b1abc80b52 100644 --- a/sdk/go/google/deploymentmanager/alpha/pulumiTypes.go +++ b/sdk/go/google/deploymentmanager/alpha/pulumiTypes.go @@ -857,6 +857,78 @@ func (o BindingResponseArrayOutput) Index(i pulumi.IntInput) BindingResponseOutp }).(BindingResponseOutput) } +type BulkInsertOperationStatusResponse struct { + // Count of VMs successfully created so far. + CreatedVmCount int `pulumi:"createdVmCount"` + // Count of VMs that got deleted during rollback. + DeletedVmCount int `pulumi:"deletedVmCount"` + // Count of VMs that started creating but encountered an error. + FailedToCreateVmCount int `pulumi:"failedToCreateVmCount"` + // Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + Status string `pulumi:"status"` + // Count of VMs originally planned to be created. + TargetVmCount int `pulumi:"targetVmCount"` +} + +type BulkInsertOperationStatusResponseOutput struct{ *pulumi.OutputState } + +func (BulkInsertOperationStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BulkInsertOperationStatusResponse)(nil)).Elem() +} + +func (o BulkInsertOperationStatusResponseOutput) ToBulkInsertOperationStatusResponseOutput() BulkInsertOperationStatusResponseOutput { + return o +} + +func (o BulkInsertOperationStatusResponseOutput) ToBulkInsertOperationStatusResponseOutputWithContext(ctx context.Context) BulkInsertOperationStatusResponseOutput { + return o +} + +// Count of VMs successfully created so far. +func (o BulkInsertOperationStatusResponseOutput) CreatedVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.CreatedVmCount }).(pulumi.IntOutput) +} + +// Count of VMs that got deleted during rollback. +func (o BulkInsertOperationStatusResponseOutput) DeletedVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.DeletedVmCount }).(pulumi.IntOutput) +} + +// Count of VMs that started creating but encountered an error. +func (o BulkInsertOperationStatusResponseOutput) FailedToCreateVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.FailedToCreateVmCount }).(pulumi.IntOutput) +} + +// Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. +func (o BulkInsertOperationStatusResponseOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) string { return v.Status }).(pulumi.StringOutput) +} + +// Count of VMs originally planned to be created. +func (o BulkInsertOperationStatusResponseOutput) TargetVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.TargetVmCount }).(pulumi.IntOutput) +} + +type BulkInsertOperationStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (BulkInsertOperationStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BulkInsertOperationStatusResponse)(nil)).Elem() +} + +func (o BulkInsertOperationStatusResponseMapOutput) ToBulkInsertOperationStatusResponseMapOutput() BulkInsertOperationStatusResponseMapOutput { + return o +} + +func (o BulkInsertOperationStatusResponseMapOutput) ToBulkInsertOperationStatusResponseMapOutputWithContext(ctx context.Context) BulkInsertOperationStatusResponseMapOutput { + return o +} + +func (o BulkInsertOperationStatusResponseMapOutput) MapIndex(k pulumi.StringInput) BulkInsertOperationStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BulkInsertOperationStatusResponse { + return vs[0].(map[string]BulkInsertOperationStatusResponse)[vs[1].(string)] + }).(BulkInsertOperationStatusResponseOutput) +} + // CollectionOverride allows resource handling overrides for specific resources within a BaseType type CollectionOverride struct { // The collection that identifies this resource within its service. @@ -2643,7 +2715,7 @@ func (o InputMappingResponseArrayOutput) Index(i pulumi.IntInput) InputMappingRe type InstancesBulkInsertOperationMetadataResponse struct { // Status information per location (location name is key). Example key: zones/us-central1-a - PerLocationStatus map[string]string `pulumi:"perLocationStatus"` + PerLocationStatus map[string]BulkInsertOperationStatusResponse `pulumi:"perLocationStatus"` } type InstancesBulkInsertOperationMetadataResponseOutput struct{ *pulumi.OutputState } @@ -2661,8 +2733,10 @@ func (o InstancesBulkInsertOperationMetadataResponseOutput) ToInstancesBulkInser } // Status information per location (location name is key). Example key: zones/us-central1-a -func (o InstancesBulkInsertOperationMetadataResponseOutput) PerLocationStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v InstancesBulkInsertOperationMetadataResponse) map[string]string { return v.PerLocationStatus }).(pulumi.StringMapOutput) +func (o InstancesBulkInsertOperationMetadataResponseOutput) PerLocationStatus() BulkInsertOperationStatusResponseMapOutput { + return o.ApplyT(func(v InstancesBulkInsertOperationMetadataResponse) map[string]BulkInsertOperationStatusResponse { + return v.PerLocationStatus + }).(BulkInsertOperationStatusResponseMapOutput) } // Deployment Manager will call these methods during the events of creation/deletion/update/get/setIamPolicy @@ -4003,11 +4077,66 @@ func (o ServiceAccountResponseOutput) Email() pulumi.StringOutput { return o.ApplyT(func(v ServiceAccountResponse) string { return v.Email }).(pulumi.StringOutput) } +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse struct { + // If state is `ABANDONED` or `FAILED`, this field is populated. + Error StatusResponse `pulumi:"error"` + // Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + State string `pulumi:"state"` +} + +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput struct{ *pulumi.OutputState } + +func (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse)(nil)).Elem() +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput() SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput { + return o +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutputWithContext(ctx context.Context) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput { + return o +} + +// If state is `ABANDONED` or `FAILED`, this field is populated. +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) Error() StatusResponseOutput { + return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse) StatusResponse { + return v.Error + }).(StatusResponseOutput) +} + +// Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse) string { + return v.State + }).(pulumi.StringOutput) +} + +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput struct{ *pulumi.OutputState } + +func (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse)(nil)).Elem() +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput() SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput { + return o +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutputWithContext(ctx context.Context) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput { + return o +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) MapIndex(k pulumi.StringInput) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse { + return vs[0].(map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse)[vs[1].(string)] + }).(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) +} + type SetCommonInstanceMetadataOperationMetadataResponse struct { // The client operation id. ClientOperationId string `pulumi:"clientOperationId"` // Status information per location (location name is key). Example key: zones/us-central1-a - PerLocationOperations map[string]string `pulumi:"perLocationOperations"` + PerLocationOperations map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse `pulumi:"perLocationOperations"` } type SetCommonInstanceMetadataOperationMetadataResponseOutput struct{ *pulumi.OutputState } @@ -4030,10 +4159,50 @@ func (o SetCommonInstanceMetadataOperationMetadataResponseOutput) ClientOperatio } // Status information per location (location name is key). Example key: zones/us-central1-a -func (o SetCommonInstanceMetadataOperationMetadataResponseOutput) PerLocationOperations() pulumi.StringMapOutput { - return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataResponse) map[string]string { +func (o SetCommonInstanceMetadataOperationMetadataResponseOutput) PerLocationOperations() SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput { + return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataResponse) map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse { return v.PerLocationOperations - }).(pulumi.StringMapOutput) + }).(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) +} + +// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). +type StatusResponse struct { + // The status code, which should be an enum value of google.rpc.Code. + Code int `pulumi:"code"` + // A list of messages that carry the error details. There is a common set of message types for APIs to use. + Details []map[string]interface{} `pulumi:"details"` + // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + Message string `pulumi:"message"` +} + +// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). +type StatusResponseOutput struct{ *pulumi.OutputState } + +func (StatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatusResponse)(nil)).Elem() +} + +func (o StatusResponseOutput) ToStatusResponseOutput() StatusResponseOutput { + return o +} + +func (o StatusResponseOutput) ToStatusResponseOutputWithContext(ctx context.Context) StatusResponseOutput { + return o +} + +// The status code, which should be an enum value of google.rpc.Code. +func (o StatusResponseOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v StatusResponse) int { return v.Code }).(pulumi.IntOutput) +} + +// A list of messages that carry the error details. There is a common set of message types for APIs to use. +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) +} + +// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. +func (o StatusResponseOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v StatusResponse) string { return v.Message }).(pulumi.StringOutput) } type TargetConfiguration struct { @@ -4911,6 +5080,8 @@ func init() { pulumi.RegisterOutputType(BindingArrayOutput{}) pulumi.RegisterOutputType(BindingResponseOutput{}) pulumi.RegisterOutputType(BindingResponseArrayOutput{}) + pulumi.RegisterOutputType(BulkInsertOperationStatusResponseOutput{}) + pulumi.RegisterOutputType(BulkInsertOperationStatusResponseMapOutput{}) pulumi.RegisterOutputType(CollectionOverrideOutput{}) pulumi.RegisterOutputType(CollectionOverrideArrayOutput{}) pulumi.RegisterOutputType(CollectionOverrideResponseOutput{}) @@ -4970,7 +5141,10 @@ func init() { pulumi.RegisterOutputType(ServiceAccountOutput{}) pulumi.RegisterOutputType(ServiceAccountPtrOutput{}) pulumi.RegisterOutputType(ServiceAccountResponseOutput{}) + pulumi.RegisterOutputType(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput{}) + pulumi.RegisterOutputType(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput{}) pulumi.RegisterOutputType(SetCommonInstanceMetadataOperationMetadataResponseOutput{}) + pulumi.RegisterOutputType(StatusResponseOutput{}) pulumi.RegisterOutputType(TargetConfigurationOutput{}) pulumi.RegisterOutputType(TargetConfigurationPtrOutput{}) pulumi.RegisterOutputType(TargetConfigurationResponseOutput{}) diff --git a/sdk/go/google/deploymentmanager/v2/pulumiTypes.go b/sdk/go/google/deploymentmanager/v2/pulumiTypes.go index 0674f0999c..6608bad1a4 100644 --- a/sdk/go/google/deploymentmanager/v2/pulumiTypes.go +++ b/sdk/go/google/deploymentmanager/v2/pulumiTypes.go @@ -515,6 +515,78 @@ func (o BindingResponseArrayOutput) Index(i pulumi.IntInput) BindingResponseOutp }).(BindingResponseOutput) } +type BulkInsertOperationStatusResponse struct { + // Count of VMs successfully created so far. + CreatedVmCount int `pulumi:"createdVmCount"` + // Count of VMs that got deleted during rollback. + DeletedVmCount int `pulumi:"deletedVmCount"` + // Count of VMs that started creating but encountered an error. + FailedToCreateVmCount int `pulumi:"failedToCreateVmCount"` + // Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + Status string `pulumi:"status"` + // Count of VMs originally planned to be created. + TargetVmCount int `pulumi:"targetVmCount"` +} + +type BulkInsertOperationStatusResponseOutput struct{ *pulumi.OutputState } + +func (BulkInsertOperationStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BulkInsertOperationStatusResponse)(nil)).Elem() +} + +func (o BulkInsertOperationStatusResponseOutput) ToBulkInsertOperationStatusResponseOutput() BulkInsertOperationStatusResponseOutput { + return o +} + +func (o BulkInsertOperationStatusResponseOutput) ToBulkInsertOperationStatusResponseOutputWithContext(ctx context.Context) BulkInsertOperationStatusResponseOutput { + return o +} + +// Count of VMs successfully created so far. +func (o BulkInsertOperationStatusResponseOutput) CreatedVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.CreatedVmCount }).(pulumi.IntOutput) +} + +// Count of VMs that got deleted during rollback. +func (o BulkInsertOperationStatusResponseOutput) DeletedVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.DeletedVmCount }).(pulumi.IntOutput) +} + +// Count of VMs that started creating but encountered an error. +func (o BulkInsertOperationStatusResponseOutput) FailedToCreateVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.FailedToCreateVmCount }).(pulumi.IntOutput) +} + +// Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. +func (o BulkInsertOperationStatusResponseOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) string { return v.Status }).(pulumi.StringOutput) +} + +// Count of VMs originally planned to be created. +func (o BulkInsertOperationStatusResponseOutput) TargetVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.TargetVmCount }).(pulumi.IntOutput) +} + +type BulkInsertOperationStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (BulkInsertOperationStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BulkInsertOperationStatusResponse)(nil)).Elem() +} + +func (o BulkInsertOperationStatusResponseMapOutput) ToBulkInsertOperationStatusResponseMapOutput() BulkInsertOperationStatusResponseMapOutput { + return o +} + +func (o BulkInsertOperationStatusResponseMapOutput) ToBulkInsertOperationStatusResponseMapOutputWithContext(ctx context.Context) BulkInsertOperationStatusResponseMapOutput { + return o +} + +func (o BulkInsertOperationStatusResponseMapOutput) MapIndex(k pulumi.StringInput) BulkInsertOperationStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BulkInsertOperationStatusResponse { + return vs[0].(map[string]BulkInsertOperationStatusResponse)[vs[1].(string)] + }).(BulkInsertOperationStatusResponseOutput) +} + type ConfigFile struct { // The contents of the file. Content *string `pulumi:"content"` @@ -1332,7 +1404,7 @@ func (o ImportFileResponseArrayOutput) Index(i pulumi.IntInput) ImportFileRespon type InstancesBulkInsertOperationMetadataResponse struct { // Status information per location (location name is key). Example key: zones/us-central1-a - PerLocationStatus map[string]string `pulumi:"perLocationStatus"` + PerLocationStatus map[string]BulkInsertOperationStatusResponse `pulumi:"perLocationStatus"` } type InstancesBulkInsertOperationMetadataResponseOutput struct{ *pulumi.OutputState } @@ -1350,8 +1422,10 @@ func (o InstancesBulkInsertOperationMetadataResponseOutput) ToInstancesBulkInser } // Status information per location (location name is key). Example key: zones/us-central1-a -func (o InstancesBulkInsertOperationMetadataResponseOutput) PerLocationStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v InstancesBulkInsertOperationMetadataResponse) map[string]string { return v.PerLocationStatus }).(pulumi.StringMapOutput) +func (o InstancesBulkInsertOperationMetadataResponseOutput) PerLocationStatus() BulkInsertOperationStatusResponseMapOutput { + return o.ApplyT(func(v InstancesBulkInsertOperationMetadataResponse) map[string]BulkInsertOperationStatusResponse { + return v.PerLocationStatus + }).(BulkInsertOperationStatusResponseMapOutput) } type OperationErrorErrorsItemResponse struct { @@ -1747,11 +1821,66 @@ func (o OperationWarningsItemResponseArrayOutput) Index(i pulumi.IntInput) Opera }).(OperationWarningsItemResponseOutput) } +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse struct { + // If state is `ABANDONED` or `FAILED`, this field is populated. + Error StatusResponse `pulumi:"error"` + // Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + State string `pulumi:"state"` +} + +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput struct{ *pulumi.OutputState } + +func (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse)(nil)).Elem() +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput() SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput { + return o +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutputWithContext(ctx context.Context) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput { + return o +} + +// If state is `ABANDONED` or `FAILED`, this field is populated. +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) Error() StatusResponseOutput { + return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse) StatusResponse { + return v.Error + }).(StatusResponseOutput) +} + +// Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse) string { + return v.State + }).(pulumi.StringOutput) +} + +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput struct{ *pulumi.OutputState } + +func (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse)(nil)).Elem() +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput() SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput { + return o +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutputWithContext(ctx context.Context) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput { + return o +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) MapIndex(k pulumi.StringInput) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse { + return vs[0].(map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse)[vs[1].(string)] + }).(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) +} + type SetCommonInstanceMetadataOperationMetadataResponse struct { // The client operation id. ClientOperationId string `pulumi:"clientOperationId"` // Status information per location (location name is key). Example key: zones/us-central1-a - PerLocationOperations map[string]string `pulumi:"perLocationOperations"` + PerLocationOperations map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse `pulumi:"perLocationOperations"` } type SetCommonInstanceMetadataOperationMetadataResponseOutput struct{ *pulumi.OutputState } @@ -1774,10 +1903,50 @@ func (o SetCommonInstanceMetadataOperationMetadataResponseOutput) ClientOperatio } // Status information per location (location name is key). Example key: zones/us-central1-a -func (o SetCommonInstanceMetadataOperationMetadataResponseOutput) PerLocationOperations() pulumi.StringMapOutput { - return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataResponse) map[string]string { +func (o SetCommonInstanceMetadataOperationMetadataResponseOutput) PerLocationOperations() SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput { + return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataResponse) map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse { return v.PerLocationOperations - }).(pulumi.StringMapOutput) + }).(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) +} + +// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). +type StatusResponse struct { + // The status code, which should be an enum value of google.rpc.Code. + Code int `pulumi:"code"` + // A list of messages that carry the error details. There is a common set of message types for APIs to use. + Details []map[string]interface{} `pulumi:"details"` + // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + Message string `pulumi:"message"` +} + +// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). +type StatusResponseOutput struct{ *pulumi.OutputState } + +func (StatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatusResponse)(nil)).Elem() +} + +func (o StatusResponseOutput) ToStatusResponseOutput() StatusResponseOutput { + return o +} + +func (o StatusResponseOutput) ToStatusResponseOutputWithContext(ctx context.Context) StatusResponseOutput { + return o +} + +// The status code, which should be an enum value of google.rpc.Code. +func (o StatusResponseOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v StatusResponse) int { return v.Code }).(pulumi.IntOutput) +} + +// A list of messages that carry the error details. There is a common set of message types for APIs to use. +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) +} + +// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. +func (o StatusResponseOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v StatusResponse) string { return v.Message }).(pulumi.StringOutput) } type TargetConfiguration struct { @@ -1996,6 +2165,8 @@ func init() { pulumi.RegisterOutputType(BindingArrayOutput{}) pulumi.RegisterOutputType(BindingResponseOutput{}) pulumi.RegisterOutputType(BindingResponseArrayOutput{}) + pulumi.RegisterOutputType(BulkInsertOperationStatusResponseOutput{}) + pulumi.RegisterOutputType(BulkInsertOperationStatusResponseMapOutput{}) pulumi.RegisterOutputType(ConfigFileOutput{}) pulumi.RegisterOutputType(ConfigFilePtrOutput{}) pulumi.RegisterOutputType(ConfigFileResponseOutput{}) @@ -2022,7 +2193,10 @@ func init() { pulumi.RegisterOutputType(OperationWarningsItemDataItemResponseArrayOutput{}) pulumi.RegisterOutputType(OperationWarningsItemResponseOutput{}) pulumi.RegisterOutputType(OperationWarningsItemResponseArrayOutput{}) + pulumi.RegisterOutputType(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput{}) + pulumi.RegisterOutputType(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput{}) pulumi.RegisterOutputType(SetCommonInstanceMetadataOperationMetadataResponseOutput{}) + pulumi.RegisterOutputType(StatusResponseOutput{}) pulumi.RegisterOutputType(TargetConfigurationOutput{}) pulumi.RegisterOutputType(TargetConfigurationPtrOutput{}) pulumi.RegisterOutputType(TargetConfigurationResponseOutput{}) diff --git a/sdk/go/google/deploymentmanager/v2beta/pulumiTypes.go b/sdk/go/google/deploymentmanager/v2beta/pulumiTypes.go index 31c784843a..22543df1ba 100644 --- a/sdk/go/google/deploymentmanager/v2beta/pulumiTypes.go +++ b/sdk/go/google/deploymentmanager/v2beta/pulumiTypes.go @@ -857,6 +857,78 @@ func (o BindingResponseArrayOutput) Index(i pulumi.IntInput) BindingResponseOutp }).(BindingResponseOutput) } +type BulkInsertOperationStatusResponse struct { + // Count of VMs successfully created so far. + CreatedVmCount int `pulumi:"createdVmCount"` + // Count of VMs that got deleted during rollback. + DeletedVmCount int `pulumi:"deletedVmCount"` + // Count of VMs that started creating but encountered an error. + FailedToCreateVmCount int `pulumi:"failedToCreateVmCount"` + // Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + Status string `pulumi:"status"` + // Count of VMs originally planned to be created. + TargetVmCount int `pulumi:"targetVmCount"` +} + +type BulkInsertOperationStatusResponseOutput struct{ *pulumi.OutputState } + +func (BulkInsertOperationStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BulkInsertOperationStatusResponse)(nil)).Elem() +} + +func (o BulkInsertOperationStatusResponseOutput) ToBulkInsertOperationStatusResponseOutput() BulkInsertOperationStatusResponseOutput { + return o +} + +func (o BulkInsertOperationStatusResponseOutput) ToBulkInsertOperationStatusResponseOutputWithContext(ctx context.Context) BulkInsertOperationStatusResponseOutput { + return o +} + +// Count of VMs successfully created so far. +func (o BulkInsertOperationStatusResponseOutput) CreatedVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.CreatedVmCount }).(pulumi.IntOutput) +} + +// Count of VMs that got deleted during rollback. +func (o BulkInsertOperationStatusResponseOutput) DeletedVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.DeletedVmCount }).(pulumi.IntOutput) +} + +// Count of VMs that started creating but encountered an error. +func (o BulkInsertOperationStatusResponseOutput) FailedToCreateVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.FailedToCreateVmCount }).(pulumi.IntOutput) +} + +// Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. +func (o BulkInsertOperationStatusResponseOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) string { return v.Status }).(pulumi.StringOutput) +} + +// Count of VMs originally planned to be created. +func (o BulkInsertOperationStatusResponseOutput) TargetVmCount() pulumi.IntOutput { + return o.ApplyT(func(v BulkInsertOperationStatusResponse) int { return v.TargetVmCount }).(pulumi.IntOutput) +} + +type BulkInsertOperationStatusResponseMapOutput struct{ *pulumi.OutputState } + +func (BulkInsertOperationStatusResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BulkInsertOperationStatusResponse)(nil)).Elem() +} + +func (o BulkInsertOperationStatusResponseMapOutput) ToBulkInsertOperationStatusResponseMapOutput() BulkInsertOperationStatusResponseMapOutput { + return o +} + +func (o BulkInsertOperationStatusResponseMapOutput) ToBulkInsertOperationStatusResponseMapOutputWithContext(ctx context.Context) BulkInsertOperationStatusResponseMapOutput { + return o +} + +func (o BulkInsertOperationStatusResponseMapOutput) MapIndex(k pulumi.StringInput) BulkInsertOperationStatusResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BulkInsertOperationStatusResponse { + return vs[0].(map[string]BulkInsertOperationStatusResponse)[vs[1].(string)] + }).(BulkInsertOperationStatusResponseOutput) +} + // CollectionOverride allows resource handling overrides for specific resources within a BaseType type CollectionOverride struct { // The collection that identifies this resource within its service. @@ -2567,7 +2639,7 @@ func (o InputMappingResponseArrayOutput) Index(i pulumi.IntInput) InputMappingRe type InstancesBulkInsertOperationMetadataResponse struct { // Status information per location (location name is key). Example key: zones/us-central1-a - PerLocationStatus map[string]string `pulumi:"perLocationStatus"` + PerLocationStatus map[string]BulkInsertOperationStatusResponse `pulumi:"perLocationStatus"` } type InstancesBulkInsertOperationMetadataResponseOutput struct{ *pulumi.OutputState } @@ -2585,8 +2657,10 @@ func (o InstancesBulkInsertOperationMetadataResponseOutput) ToInstancesBulkInser } // Status information per location (location name is key). Example key: zones/us-central1-a -func (o InstancesBulkInsertOperationMetadataResponseOutput) PerLocationStatus() pulumi.StringMapOutput { - return o.ApplyT(func(v InstancesBulkInsertOperationMetadataResponse) map[string]string { return v.PerLocationStatus }).(pulumi.StringMapOutput) +func (o InstancesBulkInsertOperationMetadataResponseOutput) PerLocationStatus() BulkInsertOperationStatusResponseMapOutput { + return o.ApplyT(func(v InstancesBulkInsertOperationMetadataResponse) map[string]BulkInsertOperationStatusResponse { + return v.PerLocationStatus + }).(BulkInsertOperationStatusResponseMapOutput) } type OperationErrorErrorsItemResponse struct { @@ -3657,11 +3731,66 @@ func (o ServiceAccountResponseOutput) Email() pulumi.StringOutput { return o.ApplyT(func(v ServiceAccountResponse) string { return v.Email }).(pulumi.StringOutput) } +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse struct { + // If state is `ABANDONED` or `FAILED`, this field is populated. + Error StatusResponse `pulumi:"error"` + // Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + State string `pulumi:"state"` +} + +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput struct{ *pulumi.OutputState } + +func (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse)(nil)).Elem() +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput() SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput { + return o +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutputWithContext(ctx context.Context) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput { + return o +} + +// If state is `ABANDONED` or `FAILED`, this field is populated. +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) Error() StatusResponseOutput { + return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse) StatusResponse { + return v.Error + }).(StatusResponseOutput) +} + +// Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse) string { + return v.State + }).(pulumi.StringOutput) +} + +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput struct{ *pulumi.OutputState } + +func (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse)(nil)).Elem() +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput() SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput { + return o +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) ToSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutputWithContext(ctx context.Context) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput { + return o +} + +func (o SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) MapIndex(k pulumi.StringInput) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse { + return vs[0].(map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse)[vs[1].(string)] + }).(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput) +} + type SetCommonInstanceMetadataOperationMetadataResponse struct { // The client operation id. ClientOperationId string `pulumi:"clientOperationId"` // Status information per location (location name is key). Example key: zones/us-central1-a - PerLocationOperations map[string]string `pulumi:"perLocationOperations"` + PerLocationOperations map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse `pulumi:"perLocationOperations"` } type SetCommonInstanceMetadataOperationMetadataResponseOutput struct{ *pulumi.OutputState } @@ -3684,10 +3813,50 @@ func (o SetCommonInstanceMetadataOperationMetadataResponseOutput) ClientOperatio } // Status information per location (location name is key). Example key: zones/us-central1-a -func (o SetCommonInstanceMetadataOperationMetadataResponseOutput) PerLocationOperations() pulumi.StringMapOutput { - return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataResponse) map[string]string { +func (o SetCommonInstanceMetadataOperationMetadataResponseOutput) PerLocationOperations() SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput { + return o.ApplyT(func(v SetCommonInstanceMetadataOperationMetadataResponse) map[string]SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse { return v.PerLocationOperations - }).(pulumi.StringMapOutput) + }).(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput) +} + +// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). +type StatusResponse struct { + // The status code, which should be an enum value of google.rpc.Code. + Code int `pulumi:"code"` + // A list of messages that carry the error details. There is a common set of message types for APIs to use. + Details []map[string]interface{} `pulumi:"details"` + // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + Message string `pulumi:"message"` +} + +// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). +type StatusResponseOutput struct{ *pulumi.OutputState } + +func (StatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StatusResponse)(nil)).Elem() +} + +func (o StatusResponseOutput) ToStatusResponseOutput() StatusResponseOutput { + return o +} + +func (o StatusResponseOutput) ToStatusResponseOutputWithContext(ctx context.Context) StatusResponseOutput { + return o +} + +// The status code, which should be an enum value of google.rpc.Code. +func (o StatusResponseOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v StatusResponse) int { return v.Code }).(pulumi.IntOutput) +} + +// A list of messages that carry the error details. There is a common set of message types for APIs to use. +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) +} + +// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. +func (o StatusResponseOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v StatusResponse) string { return v.Message }).(pulumi.StringOutput) } type TargetConfiguration struct { @@ -4563,6 +4732,8 @@ func init() { pulumi.RegisterOutputType(BindingArrayOutput{}) pulumi.RegisterOutputType(BindingResponseOutput{}) pulumi.RegisterOutputType(BindingResponseArrayOutput{}) + pulumi.RegisterOutputType(BulkInsertOperationStatusResponseOutput{}) + pulumi.RegisterOutputType(BulkInsertOperationStatusResponseMapOutput{}) pulumi.RegisterOutputType(CollectionOverrideOutput{}) pulumi.RegisterOutputType(CollectionOverrideArrayOutput{}) pulumi.RegisterOutputType(CollectionOverrideResponseOutput{}) @@ -4617,7 +4788,10 @@ func init() { pulumi.RegisterOutputType(ServiceAccountOutput{}) pulumi.RegisterOutputType(ServiceAccountPtrOutput{}) pulumi.RegisterOutputType(ServiceAccountResponseOutput{}) + pulumi.RegisterOutputType(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseOutput{}) + pulumi.RegisterOutputType(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponseMapOutput{}) pulumi.RegisterOutputType(SetCommonInstanceMetadataOperationMetadataResponseOutput{}) + pulumi.RegisterOutputType(StatusResponseOutput{}) pulumi.RegisterOutputType(TargetConfigurationOutput{}) pulumi.RegisterOutputType(TargetConfigurationPtrOutput{}) pulumi.RegisterOutputType(TargetConfigurationResponseOutput{}) diff --git a/sdk/go/google/dialogflow/v2/context.go b/sdk/go/google/dialogflow/v2/context.go index cf154f3487..89bce8166f 100644 --- a/sdk/go/google/dialogflow/v2/context.go +++ b/sdk/go/google/dialogflow/v2/context.go @@ -24,10 +24,10 @@ type Context struct { // The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name pulumi.StringOutput `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters pulumi.StringMapOutput `pulumi:"parameters"` - Project pulumi.StringOutput `pulumi:"project"` - SessionId pulumi.StringOutput `pulumi:"sessionId"` - UserId pulumi.StringOutput `pulumi:"userId"` + Parameters pulumi.MapOutput `pulumi:"parameters"` + Project pulumi.StringOutput `pulumi:"project"` + SessionId pulumi.StringOutput `pulumi:"sessionId"` + UserId pulumi.StringOutput `pulumi:"userId"` } // NewContext registers a new resource with the given unique name, arguments, and options. @@ -97,10 +97,10 @@ type contextArgs struct { // The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name string `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters map[string]string `pulumi:"parameters"` - Project *string `pulumi:"project"` - SessionId string `pulumi:"sessionId"` - UserId string `pulumi:"userId"` + Parameters map[string]interface{} `pulumi:"parameters"` + Project *string `pulumi:"project"` + SessionId string `pulumi:"sessionId"` + UserId string `pulumi:"userId"` } // The set of arguments for constructing a Context resource. @@ -112,7 +112,7 @@ type ContextArgs struct { // The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name pulumi.StringInput // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters pulumi.StringMapInput + Parameters pulumi.MapInput Project pulumi.StringPtrInput SessionId pulumi.StringInput UserId pulumi.StringInput @@ -174,8 +174,8 @@ func (o ContextOutput) Name() pulumi.StringOutput { } // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. -func (o ContextOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *Context) pulumi.StringMapOutput { return v.Parameters }).(pulumi.StringMapOutput) +func (o ContextOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v *Context) pulumi.MapOutput { return v.Parameters }).(pulumi.MapOutput) } func (o ContextOutput) Project() pulumi.StringOutput { diff --git a/sdk/go/google/dialogflow/v2/getContext.go b/sdk/go/google/dialogflow/v2/getContext.go index 7686addc50..0b6029b651 100644 --- a/sdk/go/google/dialogflow/v2/getContext.go +++ b/sdk/go/google/dialogflow/v2/getContext.go @@ -37,7 +37,7 @@ type LookupContextResult struct { // The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name string `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]interface{} `pulumi:"parameters"` } func LookupContextOutput(ctx *pulumi.Context, args LookupContextOutputArgs, opts ...pulumi.InvokeOption) LookupContextResultOutput { @@ -91,8 +91,8 @@ func (o LookupContextResultOutput) Name() pulumi.StringOutput { } // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. -func (o LookupContextResultOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupContextResult) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o LookupContextResultOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v LookupContextResult) map[string]interface{} { return v.Parameters }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/dialogflow/v2/pulumiTypes.go b/sdk/go/google/dialogflow/v2/pulumiTypes.go index c1fb7e3e79..ed52a4776f 100644 --- a/sdk/go/google/dialogflow/v2/pulumiTypes.go +++ b/sdk/go/google/dialogflow/v2/pulumiTypes.go @@ -382,7 +382,7 @@ type GoogleCloudDialogflowV2Context struct { // The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name string `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]interface{} `pulumi:"parameters"` } // GoogleCloudDialogflowV2ContextInput is an input type that accepts GoogleCloudDialogflowV2ContextArgs and GoogleCloudDialogflowV2ContextOutput values. @@ -403,7 +403,7 @@ type GoogleCloudDialogflowV2ContextArgs struct { // The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name pulumi.StringInput `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters pulumi.StringMapInput `pulumi:"parameters"` + Parameters pulumi.MapInput `pulumi:"parameters"` } func (GoogleCloudDialogflowV2ContextArgs) ElementType() reflect.Type { @@ -469,8 +469,8 @@ func (o GoogleCloudDialogflowV2ContextOutput) Name() pulumi.StringOutput { } // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. -func (o GoogleCloudDialogflowV2ContextOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2Context) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowV2ContextOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2Context) map[string]interface{} { return v.Parameters }).(pulumi.MapOutput) } type GoogleCloudDialogflowV2ContextArrayOutput struct{ *pulumi.OutputState } @@ -500,7 +500,7 @@ type GoogleCloudDialogflowV2ContextResponse struct { // The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name string `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]interface{} `pulumi:"parameters"` } // Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview). @@ -529,8 +529,8 @@ func (o GoogleCloudDialogflowV2ContextResponseOutput) Name() pulumi.StringOutput } // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. -func (o GoogleCloudDialogflowV2ContextResponseOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2ContextResponse) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowV2ContextResponseOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2ContextResponse) map[string]interface{} { return v.Parameters }).(pulumi.MapOutput) } type GoogleCloudDialogflowV2ContextResponseArrayOutput struct{ *pulumi.OutputState } @@ -5978,7 +5978,7 @@ type GoogleCloudDialogflowV2IntentMessage struct { // The media content card for Actions on Google. MediaContent *GoogleCloudDialogflowV2IntentMessageMediaContent `pulumi:"mediaContent"` // A custom platform-specific response. - Payload map[string]string `pulumi:"payload"` + Payload map[string]interface{} `pulumi:"payload"` // Optional. The platform that this message is intended for. Platform *GoogleCloudDialogflowV2IntentMessagePlatform `pulumi:"platform"` // The quick replies response. @@ -6023,7 +6023,7 @@ type GoogleCloudDialogflowV2IntentMessageArgs struct { // The media content card for Actions on Google. MediaContent GoogleCloudDialogflowV2IntentMessageMediaContentPtrInput `pulumi:"mediaContent"` // A custom platform-specific response. - Payload pulumi.StringMapInput `pulumi:"payload"` + Payload pulumi.MapInput `pulumi:"payload"` // Optional. The platform that this message is intended for. Platform GoogleCloudDialogflowV2IntentMessagePlatformPtrInput `pulumi:"platform"` // The quick replies response. @@ -6145,8 +6145,8 @@ func (o GoogleCloudDialogflowV2IntentMessageOutput) MediaContent() GoogleCloudDi } // A custom platform-specific response. -func (o GoogleCloudDialogflowV2IntentMessageOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2IntentMessage) map[string]string { return v.Payload }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowV2IntentMessageOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2IntentMessage) map[string]interface{} { return v.Payload }).(pulumi.MapOutput) } // Optional. The platform that this message is intended for. @@ -9662,7 +9662,7 @@ type GoogleCloudDialogflowV2IntentMessageResponse struct { // The media content card for Actions on Google. MediaContent GoogleCloudDialogflowV2IntentMessageMediaContentResponse `pulumi:"mediaContent"` // A custom platform-specific response. - Payload map[string]string `pulumi:"payload"` + Payload map[string]interface{} `pulumi:"payload"` // Optional. The platform that this message is intended for. Platform string `pulumi:"platform"` // The quick replies response. @@ -9749,8 +9749,8 @@ func (o GoogleCloudDialogflowV2IntentMessageResponseOutput) MediaContent() Googl } // A custom platform-specific response. -func (o GoogleCloudDialogflowV2IntentMessageResponseOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2IntentMessageResponse) map[string]string { return v.Payload }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowV2IntentMessageResponseOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2IntentMessageResponse) map[string]interface{} { return v.Payload }).(pulumi.MapOutput) } // Optional. The platform that this message is intended for. @@ -13110,6 +13110,31 @@ func (i *googleCloudDialogflowV2SynthesizeSpeechConfigPtrType) ToGoogleCloudDial return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowV2SynthesizeSpeechConfigPtrOutput) } +// GoogleCloudDialogflowV2SynthesizeSpeechConfigMapInput is an input type that accepts GoogleCloudDialogflowV2SynthesizeSpeechConfigMap and GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowV2SynthesizeSpeechConfigMapInput` via: +// +// GoogleCloudDialogflowV2SynthesizeSpeechConfigMap{ "key": GoogleCloudDialogflowV2SynthesizeSpeechConfigArgs{...} } +type GoogleCloudDialogflowV2SynthesizeSpeechConfigMapInput interface { + pulumi.Input + + ToGoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput + ToGoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutputWithContext(context.Context) GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput +} + +type GoogleCloudDialogflowV2SynthesizeSpeechConfigMap map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfigInput + +func (GoogleCloudDialogflowV2SynthesizeSpeechConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfig)(nil)).Elem() +} + +func (i GoogleCloudDialogflowV2SynthesizeSpeechConfigMap) ToGoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput { + return i.ToGoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowV2SynthesizeSpeechConfigMap) ToGoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput) +} + // Configuration of how speech should be synthesized. type GoogleCloudDialogflowV2SynthesizeSpeechConfigOutput struct{ *pulumi.OutputState } @@ -13236,6 +13261,26 @@ func (o GoogleCloudDialogflowV2SynthesizeSpeechConfigPtrOutput) VolumeGainDb() p }).(pulumi.Float64PtrOutput) } +type GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfig)(nil)).Elem() +} + +func (o GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput) ToGoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput { + return o +} + +func (o GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput) ToGoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput { + return o +} + +func (o GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDialogflowV2SynthesizeSpeechConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDialogflowV2SynthesizeSpeechConfig { + return vs[0].(map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfig)[vs[1].(string)] + }).(GoogleCloudDialogflowV2SynthesizeSpeechConfigOutput) +} + // Configuration of how speech should be synthesized. type GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse struct { // Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. @@ -13292,6 +13337,26 @@ func (o GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseOutput) VolumeGainD return o.ApplyT(func(v GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse) float64 { return v.VolumeGainDb }).(pulumi.Float64Output) } +type GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse)(nil)).Elem() +} + +func (o GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput) ToGoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput() GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput { + return o +} + +func (o GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput) ToGoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput { + return o +} + +func (o GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse { + return vs[0].(map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse)[vs[1].(string)] + }).(GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseOutput) +} + // Instructs the speech synthesizer on how to generate the output audio content. type GoogleCloudDialogflowV2TextToSpeechSettings struct { // Optional. Indicates whether text to speech is enabled. Even when this field is false, other settings in this proto are still retained. @@ -13301,7 +13366,7 @@ type GoogleCloudDialogflowV2TextToSpeechSettings struct { // Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). SampleRateHertz *int `pulumi:"sampleRateHertz"` // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. - SynthesizeSpeechConfigs map[string]string `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfig `pulumi:"synthesizeSpeechConfigs"` } // GoogleCloudDialogflowV2TextToSpeechSettingsInput is an input type that accepts GoogleCloudDialogflowV2TextToSpeechSettingsArgs and GoogleCloudDialogflowV2TextToSpeechSettingsOutput values. @@ -13324,7 +13389,7 @@ type GoogleCloudDialogflowV2TextToSpeechSettingsArgs struct { // Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). SampleRateHertz pulumi.IntPtrInput `pulumi:"sampleRateHertz"` // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. - SynthesizeSpeechConfigs pulumi.StringMapInput `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs GoogleCloudDialogflowV2SynthesizeSpeechConfigMapInput `pulumi:"synthesizeSpeechConfigs"` } func (GoogleCloudDialogflowV2TextToSpeechSettingsArgs) ElementType() reflect.Type { @@ -13423,10 +13488,10 @@ func (o GoogleCloudDialogflowV2TextToSpeechSettingsOutput) SampleRateHertz() pul } // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. -func (o GoogleCloudDialogflowV2TextToSpeechSettingsOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2TextToSpeechSettings) map[string]string { +func (o GoogleCloudDialogflowV2TextToSpeechSettingsOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2TextToSpeechSettings) map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfig { return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput) } type GoogleCloudDialogflowV2TextToSpeechSettingsPtrOutput struct{ *pulumi.OutputState } @@ -13484,13 +13549,13 @@ func (o GoogleCloudDialogflowV2TextToSpeechSettingsPtrOutput) SampleRateHertz() } // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. -func (o GoogleCloudDialogflowV2TextToSpeechSettingsPtrOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowV2TextToSpeechSettings) map[string]string { +func (o GoogleCloudDialogflowV2TextToSpeechSettingsPtrOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowV2TextToSpeechSettings) map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfig { if v == nil { return nil } return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput) } // Instructs the speech synthesizer on how to generate the output audio content. @@ -13502,7 +13567,7 @@ type GoogleCloudDialogflowV2TextToSpeechSettingsResponse struct { // Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). SampleRateHertz int `pulumi:"sampleRateHertz"` // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. - SynthesizeSpeechConfigs map[string]string `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse `pulumi:"synthesizeSpeechConfigs"` } // Instructs the speech synthesizer on how to generate the output audio content. @@ -13536,10 +13601,10 @@ func (o GoogleCloudDialogflowV2TextToSpeechSettingsResponseOutput) SampleRateHer } // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. -func (o GoogleCloudDialogflowV2TextToSpeechSettingsResponseOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2TextToSpeechSettingsResponse) map[string]string { +func (o GoogleCloudDialogflowV2TextToSpeechSettingsResponseOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2TextToSpeechSettingsResponse) map[string]GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse { return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput) } // Description of which voice to use for speech synthesis. @@ -13741,7 +13806,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -13767,8 +13832,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -13904,6 +13969,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2SuggestionFeaturePtrInput)(nil)).Elem(), GoogleCloudDialogflowV2SuggestionFeatureArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2SynthesizeSpeechConfigInput)(nil)).Elem(), GoogleCloudDialogflowV2SynthesizeSpeechConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2SynthesizeSpeechConfigPtrInput)(nil)).Elem(), GoogleCloudDialogflowV2SynthesizeSpeechConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2SynthesizeSpeechConfigMapInput)(nil)).Elem(), GoogleCloudDialogflowV2SynthesizeSpeechConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2TextToSpeechSettingsInput)(nil)).Elem(), GoogleCloudDialogflowV2TextToSpeechSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2TextToSpeechSettingsPtrInput)(nil)).Elem(), GoogleCloudDialogflowV2TextToSpeechSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2VoiceSelectionParamsInput)(nil)).Elem(), GoogleCloudDialogflowV2VoiceSelectionParamsArgs{}) @@ -14129,7 +14195,9 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDialogflowV2SuggestionFeatureResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2SynthesizeSpeechConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2SynthesizeSpeechConfigPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowV2SynthesizeSpeechConfigMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowV2SynthesizeSpeechConfigResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2TextToSpeechSettingsOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2TextToSpeechSettingsPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2TextToSpeechSettingsResponseOutput{}) diff --git a/sdk/go/google/dialogflow/v2beta1/context.go b/sdk/go/google/dialogflow/v2beta1/context.go index fe888ed2ec..b6403b5f17 100644 --- a/sdk/go/google/dialogflow/v2beta1/context.go +++ b/sdk/go/google/dialogflow/v2beta1/context.go @@ -24,10 +24,10 @@ type Context struct { // The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name pulumi.StringOutput `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters pulumi.StringMapOutput `pulumi:"parameters"` - Project pulumi.StringOutput `pulumi:"project"` - SessionId pulumi.StringOutput `pulumi:"sessionId"` - UserId pulumi.StringOutput `pulumi:"userId"` + Parameters pulumi.MapOutput `pulumi:"parameters"` + Project pulumi.StringOutput `pulumi:"project"` + SessionId pulumi.StringOutput `pulumi:"sessionId"` + UserId pulumi.StringOutput `pulumi:"userId"` } // NewContext registers a new resource with the given unique name, arguments, and options. @@ -97,10 +97,10 @@ type contextArgs struct { // The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name string `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters map[string]string `pulumi:"parameters"` - Project *string `pulumi:"project"` - SessionId string `pulumi:"sessionId"` - UserId string `pulumi:"userId"` + Parameters map[string]interface{} `pulumi:"parameters"` + Project *string `pulumi:"project"` + SessionId string `pulumi:"sessionId"` + UserId string `pulumi:"userId"` } // The set of arguments for constructing a Context resource. @@ -112,7 +112,7 @@ type ContextArgs struct { // The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name pulumi.StringInput // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters pulumi.StringMapInput + Parameters pulumi.MapInput Project pulumi.StringPtrInput SessionId pulumi.StringInput UserId pulumi.StringInput @@ -174,8 +174,8 @@ func (o ContextOutput) Name() pulumi.StringOutput { } // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. -func (o ContextOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *Context) pulumi.StringMapOutput { return v.Parameters }).(pulumi.StringMapOutput) +func (o ContextOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v *Context) pulumi.MapOutput { return v.Parameters }).(pulumi.MapOutput) } func (o ContextOutput) Project() pulumi.StringOutput { diff --git a/sdk/go/google/dialogflow/v2beta1/getContext.go b/sdk/go/google/dialogflow/v2beta1/getContext.go index e10df728f8..ba23e34675 100644 --- a/sdk/go/google/dialogflow/v2beta1/getContext.go +++ b/sdk/go/google/dialogflow/v2beta1/getContext.go @@ -37,7 +37,7 @@ type LookupContextResult struct { // The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name string `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]interface{} `pulumi:"parameters"` } func LookupContextOutput(ctx *pulumi.Context, args LookupContextOutputArgs, opts ...pulumi.InvokeOption) LookupContextResultOutput { @@ -91,8 +91,8 @@ func (o LookupContextResultOutput) Name() pulumi.StringOutput { } // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. -func (o LookupContextResultOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupContextResult) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o LookupContextResultOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v LookupContextResult) map[string]interface{} { return v.Parameters }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/dialogflow/v2beta1/pulumiTypes.go b/sdk/go/google/dialogflow/v2beta1/pulumiTypes.go index 77fe732aa8..f22b882694 100644 --- a/sdk/go/google/dialogflow/v2beta1/pulumiTypes.go +++ b/sdk/go/google/dialogflow/v2beta1/pulumiTypes.go @@ -212,7 +212,7 @@ type GoogleCloudDialogflowV2beta1Context struct { // The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name string `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]interface{} `pulumi:"parameters"` } // GoogleCloudDialogflowV2beta1ContextInput is an input type that accepts GoogleCloudDialogflowV2beta1ContextArgs and GoogleCloudDialogflowV2beta1ContextOutput values. @@ -233,7 +233,7 @@ type GoogleCloudDialogflowV2beta1ContextArgs struct { // The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name pulumi.StringInput `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters pulumi.StringMapInput `pulumi:"parameters"` + Parameters pulumi.MapInput `pulumi:"parameters"` } func (GoogleCloudDialogflowV2beta1ContextArgs) ElementType() reflect.Type { @@ -299,8 +299,8 @@ func (o GoogleCloudDialogflowV2beta1ContextOutput) Name() pulumi.StringOutput { } // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. -func (o GoogleCloudDialogflowV2beta1ContextOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2beta1Context) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowV2beta1ContextOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2beta1Context) map[string]interface{} { return v.Parameters }).(pulumi.MapOutput) } type GoogleCloudDialogflowV2beta1ContextArrayOutput struct{ *pulumi.OutputState } @@ -330,7 +330,7 @@ type GoogleCloudDialogflowV2beta1ContextResponse struct { // The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` Name string `pulumi:"name"` // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]interface{} `pulumi:"parameters"` } // Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview). @@ -359,8 +359,8 @@ func (o GoogleCloudDialogflowV2beta1ContextResponseOutput) Name() pulumi.StringO } // Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. -func (o GoogleCloudDialogflowV2beta1ContextResponseOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2beta1ContextResponse) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowV2beta1ContextResponseOutput) Parameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2beta1ContextResponse) map[string]interface{} { return v.Parameters }).(pulumi.MapOutput) } type GoogleCloudDialogflowV2beta1ContextResponseArrayOutput struct{ *pulumi.OutputState } @@ -4974,7 +4974,7 @@ type GoogleCloudDialogflowV2beta1IntentMessage struct { // The media content card for Actions on Google. MediaContent *GoogleCloudDialogflowV2beta1IntentMessageMediaContent `pulumi:"mediaContent"` // A custom platform-specific response. - Payload map[string]string `pulumi:"payload"` + Payload map[string]interface{} `pulumi:"payload"` // Optional. The platform that this message is intended for. Platform *GoogleCloudDialogflowV2beta1IntentMessagePlatform `pulumi:"platform"` // Displays quick replies. @@ -5031,7 +5031,7 @@ type GoogleCloudDialogflowV2beta1IntentMessageArgs struct { // The media content card for Actions on Google. MediaContent GoogleCloudDialogflowV2beta1IntentMessageMediaContentPtrInput `pulumi:"mediaContent"` // A custom platform-specific response. - Payload pulumi.StringMapInput `pulumi:"payload"` + Payload pulumi.MapInput `pulumi:"payload"` // Optional. The platform that this message is intended for. Platform GoogleCloudDialogflowV2beta1IntentMessagePlatformPtrInput `pulumi:"platform"` // Displays quick replies. @@ -5167,8 +5167,8 @@ func (o GoogleCloudDialogflowV2beta1IntentMessageOutput) MediaContent() GoogleCl } // A custom platform-specific response. -func (o GoogleCloudDialogflowV2beta1IntentMessageOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2beta1IntentMessage) map[string]string { return v.Payload }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowV2beta1IntentMessageOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2beta1IntentMessage) map[string]interface{} { return v.Payload }).(pulumi.MapOutput) } // Optional. The platform that this message is intended for. @@ -11029,7 +11029,7 @@ type GoogleCloudDialogflowV2beta1IntentMessageResponse struct { // The media content card for Actions on Google. MediaContent GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponse `pulumi:"mediaContent"` // A custom platform-specific response. - Payload map[string]string `pulumi:"payload"` + Payload map[string]interface{} `pulumi:"payload"` // Optional. The platform that this message is intended for. Platform string `pulumi:"platform"` // Displays quick replies. @@ -11128,8 +11128,8 @@ func (o GoogleCloudDialogflowV2beta1IntentMessageResponseOutput) MediaContent() } // A custom platform-specific response. -func (o GoogleCloudDialogflowV2beta1IntentMessageResponseOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2beta1IntentMessageResponse) map[string]string { return v.Payload }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowV2beta1IntentMessageResponseOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2beta1IntentMessageResponse) map[string]interface{} { return v.Payload }).(pulumi.MapOutput) } // Optional. The platform that this message is intended for. @@ -14800,6 +14800,31 @@ func (i *googleCloudDialogflowV2beta1SynthesizeSpeechConfigPtrType) ToGoogleClou return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigPtrOutput) } +// GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapInput is an input type that accepts GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMap and GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapInput` via: +// +// GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMap{ "key": GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigArgs{...} } +type GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapInput interface { + pulumi.Input + + ToGoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput + ToGoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutputWithContext(context.Context) GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput +} + +type GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMap map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigInput + +func (GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig)(nil)).Elem() +} + +func (i GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMap) ToGoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput { + return i.ToGoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMap) ToGoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput) +} + // Configuration of how speech should be synthesized. type GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigOutput struct{ *pulumi.OutputState } @@ -14926,6 +14951,26 @@ func (o GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigPtrOutput) VolumeGainD }).(pulumi.Float64PtrOutput) } +type GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig)(nil)).Elem() +} + +func (o GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput) ToGoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput { + return o +} + +func (o GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput) ToGoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput { + return o +} + +func (o GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig { + return vs[0].(map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig)[vs[1].(string)] + }).(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigOutput) +} + // Configuration of how speech should be synthesized. type GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse struct { // Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. @@ -14982,6 +15027,26 @@ func (o GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseOutput) Volume return o.ApplyT(func(v GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse) float64 { return v.VolumeGainDb }).(pulumi.Float64Output) } +type GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse)(nil)).Elem() +} + +func (o GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput) ToGoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput() GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput { + return o +} + +func (o GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput) ToGoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput { + return o +} + +func (o GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse { + return vs[0].(map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse)[vs[1].(string)] + }).(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseOutput) +} + // Instructs the speech synthesizer on how to generate the output audio content. type GoogleCloudDialogflowV2beta1TextToSpeechSettings struct { // Optional. Indicates whether text to speech is enabled. Even when this field is false, other settings in this proto are still retained. @@ -14991,7 +15056,7 @@ type GoogleCloudDialogflowV2beta1TextToSpeechSettings struct { // Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). SampleRateHertz *int `pulumi:"sampleRateHertz"` // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. - SynthesizeSpeechConfigs map[string]string `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig `pulumi:"synthesizeSpeechConfigs"` } // GoogleCloudDialogflowV2beta1TextToSpeechSettingsInput is an input type that accepts GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs and GoogleCloudDialogflowV2beta1TextToSpeechSettingsOutput values. @@ -15014,7 +15079,7 @@ type GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs struct { // Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). SampleRateHertz pulumi.IntPtrInput `pulumi:"sampleRateHertz"` // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. - SynthesizeSpeechConfigs pulumi.StringMapInput `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapInput `pulumi:"synthesizeSpeechConfigs"` } func (GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs) ElementType() reflect.Type { @@ -15113,10 +15178,10 @@ func (o GoogleCloudDialogflowV2beta1TextToSpeechSettingsOutput) SampleRateHertz( } // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. -func (o GoogleCloudDialogflowV2beta1TextToSpeechSettingsOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2beta1TextToSpeechSettings) map[string]string { +func (o GoogleCloudDialogflowV2beta1TextToSpeechSettingsOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2beta1TextToSpeechSettings) map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig { return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput) } type GoogleCloudDialogflowV2beta1TextToSpeechSettingsPtrOutput struct{ *pulumi.OutputState } @@ -15174,13 +15239,13 @@ func (o GoogleCloudDialogflowV2beta1TextToSpeechSettingsPtrOutput) SampleRateHer } // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. -func (o GoogleCloudDialogflowV2beta1TextToSpeechSettingsPtrOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowV2beta1TextToSpeechSettings) map[string]string { +func (o GoogleCloudDialogflowV2beta1TextToSpeechSettingsPtrOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowV2beta1TextToSpeechSettings) map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfig { if v == nil { return nil } return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput) } // Instructs the speech synthesizer on how to generate the output audio content. @@ -15192,7 +15257,7 @@ type GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse struct { // Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). SampleRateHertz int `pulumi:"sampleRateHertz"` // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. - SynthesizeSpeechConfigs map[string]string `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse `pulumi:"synthesizeSpeechConfigs"` } // Instructs the speech synthesizer on how to generate the output audio content. @@ -15226,10 +15291,10 @@ func (o GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponseOutput) SampleRa } // Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. -func (o GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponseOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse) map[string]string { +func (o GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponseOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponse) map[string]GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse { return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput) } // Description of which voice to use for speech synthesis. @@ -15431,7 +15496,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -15457,8 +15522,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -15611,6 +15676,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2beta1SuggestionFeaturePtrInput)(nil)).Elem(), GoogleCloudDialogflowV2beta1SuggestionFeatureArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigInput)(nil)).Elem(), GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigPtrInput)(nil)).Elem(), GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapInput)(nil)).Elem(), GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2beta1TextToSpeechSettingsInput)(nil)).Elem(), GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2beta1TextToSpeechSettingsPtrInput)(nil)).Elem(), GoogleCloudDialogflowV2beta1TextToSpeechSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowV2beta1VoiceSelectionParamsInput)(nil)).Elem(), GoogleCloudDialogflowV2beta1VoiceSelectionParamsArgs{}) @@ -15856,7 +15922,9 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDialogflowV2beta1SuggestionFeatureResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2beta1TextToSpeechSettingsOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2beta1TextToSpeechSettingsPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowV2beta1TextToSpeechSettingsResponseOutput{}) diff --git a/sdk/go/google/dialogflow/v3/pulumiEnums.go b/sdk/go/google/dialogflow/v3/pulumiEnums.go index 766a906b40..ac82adf07b 100644 --- a/sdk/go/google/dialogflow/v3/pulumiEnums.go +++ b/sdk/go/google/dialogflow/v3/pulumiEnums.go @@ -2278,6 +2278,180 @@ func (in *googleCloudDialogflowCxV3TestCaseResultTestResultPtr) ToGoogleCloudDia return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudDialogflowCxV3TestCaseResultTestResultPtrOutput) } +// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. +type GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender string + +const ( + // An unspecified gender, which means that the client doesn't care which gender the selected voice will have. + GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderSsmlVoiceGenderUnspecified = GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_UNSPECIFIED") + // A male voice. + GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderSsmlVoiceGenderMale = GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_MALE") + // A female voice. + GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderSsmlVoiceGenderFemale = GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_FEMALE") + // A gender-neutral voice. + GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderSsmlVoiceGenderNeutral = GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_NEUTRAL") +) + +func (GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender)(nil)).Elem() +} + +func (e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput { + return pulumi.ToOutput(e).(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) +} + +func (e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) +} + +func (e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return e.ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender(e).ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutputWithContext(ctx).ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx) +} + +func (e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return o.ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) *GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender { + return &v + }).(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) Elem() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender { + if v != nil { + return *v + } + var ret GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender + return ret + }).(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput) +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderInput is an input type that accepts values of the GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender enum +// A concrete instance of `GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderInput` can be one of the following: +// +// GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderSsmlVoiceGenderUnspecified +// GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderSsmlVoiceGenderMale +// GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderSsmlVoiceGenderFemale +// GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderSsmlVoiceGenderNeutral +type GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput + ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutputWithContext(context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput +} + +var googleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrType = reflect.TypeOf((**GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender)(nil)).Elem() + +type GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput + ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutputWithContext(context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput +} + +type googleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtr string + +func GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtr(v string) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrInput { + return (*googleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtr)(&v) +} + +func (*googleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtr) ElementType() reflect.Type { + return googleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrType +} + +func (in *googleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtr) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return pulumi.ToOutput(in).(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) +} + +func (in *googleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtr) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) +} + // Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST. type GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethod string @@ -3549,6 +3723,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettingsAudioFormatPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettingsAudioFormat("AUDIO_FORMAT_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3TestCaseResultTestResultInput)(nil)).Elem(), GoogleCloudDialogflowCxV3TestCaseResultTestResult("TEST_RESULT_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3TestCaseResultTestResultPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3TestCaseResultTestResult("TEST_RESULT_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderInput)(nil)).Elem(), GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethodInput)(nil)).Elem(), GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethod("HTTP_METHOD_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethodPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethod("HTTP_METHOD_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3WebhookGenericWebServiceWebhookTypeInput)(nil)).Elem(), GoogleCloudDialogflowCxV3WebhookGenericWebServiceWebhookType("WEBHOOK_TYPE_UNSPECIFIED")) @@ -3590,6 +3766,8 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettingsAudioFormatPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3TestCaseResultTestResultOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3TestCaseResultTestResultPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethodOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethodPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3WebhookGenericWebServiceWebhookTypeOutput{}) diff --git a/sdk/go/google/dialogflow/v3/pulumiTypes.go b/sdk/go/google/dialogflow/v3/pulumiTypes.go index e96ff969fd..11d0344f67 100644 --- a/sdk/go/google/dialogflow/v3/pulumiTypes.go +++ b/sdk/go/google/dialogflow/v3/pulumiTypes.go @@ -2014,7 +2014,7 @@ type GoogleCloudDialogflowCxV3ConversationTurnUserInput struct { // Whether sentiment analysis is enabled. EnableSentimentAnalysis *bool `pulumi:"enableSentimentAnalysis"` // Parameters that need to be injected into the conversation during intent detection. - InjectedParameters map[string]string `pulumi:"injectedParameters"` + InjectedParameters map[string]interface{} `pulumi:"injectedParameters"` // Supports text input, event input, dtmf input in the test case. Input *GoogleCloudDialogflowCxV3QueryInput `pulumi:"input"` // If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. @@ -2037,7 +2037,7 @@ type GoogleCloudDialogflowCxV3ConversationTurnUserInputArgs struct { // Whether sentiment analysis is enabled. EnableSentimentAnalysis pulumi.BoolPtrInput `pulumi:"enableSentimentAnalysis"` // Parameters that need to be injected into the conversation during intent detection. - InjectedParameters pulumi.StringMapInput `pulumi:"injectedParameters"` + InjectedParameters pulumi.MapInput `pulumi:"injectedParameters"` // Supports text input, event input, dtmf input in the test case. Input GoogleCloudDialogflowCxV3QueryInputPtrInput `pulumi:"input"` // If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. @@ -2128,10 +2128,10 @@ func (o GoogleCloudDialogflowCxV3ConversationTurnUserInputOutput) EnableSentimen } // Parameters that need to be injected into the conversation during intent detection. -func (o GoogleCloudDialogflowCxV3ConversationTurnUserInputOutput) InjectedParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnUserInput) map[string]string { +func (o GoogleCloudDialogflowCxV3ConversationTurnUserInputOutput) InjectedParameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnUserInput) map[string]interface{} { return v.InjectedParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Supports text input, event input, dtmf input in the test case. @@ -2181,13 +2181,13 @@ func (o GoogleCloudDialogflowCxV3ConversationTurnUserInputPtrOutput) EnableSenti } // Parameters that need to be injected into the conversation during intent detection. -func (o GoogleCloudDialogflowCxV3ConversationTurnUserInputPtrOutput) InjectedParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ConversationTurnUserInput) map[string]string { +func (o GoogleCloudDialogflowCxV3ConversationTurnUserInputPtrOutput) InjectedParameters() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ConversationTurnUserInput) map[string]interface{} { if v == nil { return nil } return v.InjectedParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Supports text input, event input, dtmf input in the test case. @@ -2215,7 +2215,7 @@ type GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse struct { // Whether sentiment analysis is enabled. EnableSentimentAnalysis bool `pulumi:"enableSentimentAnalysis"` // Parameters that need to be injected into the conversation during intent detection. - InjectedParameters map[string]string `pulumi:"injectedParameters"` + InjectedParameters map[string]interface{} `pulumi:"injectedParameters"` // Supports text input, event input, dtmf input in the test case. Input GoogleCloudDialogflowCxV3QueryInputResponse `pulumi:"input"` // If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. @@ -2245,10 +2245,10 @@ func (o GoogleCloudDialogflowCxV3ConversationTurnUserInputResponseOutput) Enable } // Parameters that need to be injected into the conversation during intent detection. -func (o GoogleCloudDialogflowCxV3ConversationTurnUserInputResponseOutput) InjectedParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3ConversationTurnUserInputResponseOutput) InjectedParameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnUserInputResponse) map[string]interface{} { return v.InjectedParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Supports text input, event input, dtmf input in the test case. @@ -2268,9 +2268,9 @@ type GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput struct { // The Page on which the utterance was spoken. Only name and displayName will be set. CurrentPage *GoogleCloudDialogflowCxV3Page `pulumi:"currentPage"` // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. - DiagnosticInfo map[string]string `pulumi:"diagnosticInfo"` + DiagnosticInfo map[string]interface{} `pulumi:"diagnosticInfo"` // The session parameters available to the bot at this point. - SessionParameters map[string]string `pulumi:"sessionParameters"` + SessionParameters map[string]interface{} `pulumi:"sessionParameters"` // Response error from the agent in the test result. If set, other output is empty. Status *GoogleRpcStatus `pulumi:"status"` // The text responses from the agent for the turn. @@ -2295,9 +2295,9 @@ type GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputArgs struct { // The Page on which the utterance was spoken. Only name and displayName will be set. CurrentPage GoogleCloudDialogflowCxV3PagePtrInput `pulumi:"currentPage"` // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. - DiagnosticInfo pulumi.StringMapInput `pulumi:"diagnosticInfo"` + DiagnosticInfo pulumi.MapInput `pulumi:"diagnosticInfo"` // The session parameters available to the bot at this point. - SessionParameters pulumi.StringMapInput `pulumi:"sessionParameters"` + SessionParameters pulumi.MapInput `pulumi:"sessionParameters"` // Response error from the agent in the test result. If set, other output is empty. Status GoogleRpcStatusPtrInput `pulumi:"status"` // The text responses from the agent for the turn. @@ -2392,17 +2392,17 @@ func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputOutput) Curre } // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. -func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputOutput) DiagnosticInfo() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) map[string]string { +func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputOutput) DiagnosticInfo() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) map[string]interface{} { return v.DiagnosticInfo - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // The session parameters available to the bot at this point. -func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputOutput) SessionParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) map[string]string { +func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputOutput) SessionParameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) map[string]interface{} { return v.SessionParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Response error from the agent in the test result. If set, other output is empty. @@ -2459,23 +2459,23 @@ func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputPtrOutput) Cu } // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. -func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputPtrOutput) DiagnosticInfo() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) map[string]string { +func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputPtrOutput) DiagnosticInfo() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) map[string]interface{} { if v == nil { return nil } return v.DiagnosticInfo - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // The session parameters available to the bot at this point. -func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputPtrOutput) SessionParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) map[string]string { +func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputPtrOutput) SessionParameters() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutput) map[string]interface{} { if v == nil { return nil } return v.SessionParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Response error from the agent in the test result. If set, other output is empty. @@ -2513,11 +2513,11 @@ type GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse struct // The Page on which the utterance was spoken. Only name and displayName will be set. CurrentPage GoogleCloudDialogflowCxV3PageResponse `pulumi:"currentPage"` // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. - DiagnosticInfo map[string]string `pulumi:"diagnosticInfo"` + DiagnosticInfo map[string]interface{} `pulumi:"diagnosticInfo"` // If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. Differences []GoogleCloudDialogflowCxV3TestRunDifferenceResponse `pulumi:"differences"` // The session parameters available to the bot at this point. - SessionParameters map[string]string `pulumi:"sessionParameters"` + SessionParameters map[string]interface{} `pulumi:"sessionParameters"` // Response error from the agent in the test result. If set, other output is empty. Status GoogleRpcStatusResponse `pulumi:"status"` // The text responses from the agent for the turn. @@ -2549,10 +2549,10 @@ func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponseOutpu } // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. -func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponseOutput) DiagnosticInfo() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponseOutput) DiagnosticInfo() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse) map[string]interface{} { return v.DiagnosticInfo - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. @@ -2563,10 +2563,10 @@ func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponseOutpu } // The session parameters available to the bot at this point. -func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponseOutput) SessionParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponseOutput) SessionParameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputResponse) map[string]interface{} { return v.SessionParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Response error from the agent in the test result. If set, other output is empty. @@ -9607,7 +9607,7 @@ type GoogleCloudDialogflowCxV3ResponseMessage struct { // A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. OutputAudioText *GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText `pulumi:"outputAudioText"` // Returns a response containing a custom, platform-specific payload. - Payload map[string]string `pulumi:"payload"` + Payload map[string]interface{} `pulumi:"payload"` // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. PlayAudio *GoogleCloudDialogflowCxV3ResponseMessagePlayAudio `pulumi:"playAudio"` // Response type. @@ -9642,7 +9642,7 @@ type GoogleCloudDialogflowCxV3ResponseMessageArgs struct { // A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. OutputAudioText GoogleCloudDialogflowCxV3ResponseMessageOutputAudioTextPtrInput `pulumi:"outputAudioText"` // Returns a response containing a custom, platform-specific payload. - Payload pulumi.StringMapInput `pulumi:"payload"` + Payload pulumi.MapInput `pulumi:"payload"` // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. PlayAudio GoogleCloudDialogflowCxV3ResponseMessagePlayAudioPtrInput `pulumi:"playAudio"` // Response type. @@ -9790,8 +9790,8 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageOutput) OutputAudioText() Google } // Returns a response containing a custom, platform-specific payload. -func (o GoogleCloudDialogflowCxV3ResponseMessageOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessage) map[string]string { return v.Payload }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowCxV3ResponseMessageOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessage) map[string]interface{} { return v.Payload }).(pulumi.MapOutput) } // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. @@ -9897,13 +9897,13 @@ func (o GoogleCloudDialogflowCxV3ResponseMessagePtrOutput) OutputAudioText() Goo } // Returns a response containing a custom, platform-specific payload. -func (o GoogleCloudDialogflowCxV3ResponseMessagePtrOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ResponseMessage) map[string]string { +func (o GoogleCloudDialogflowCxV3ResponseMessagePtrOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ResponseMessage) map[string]interface{} { if v == nil { return nil } return v.Payload - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. @@ -9969,7 +9969,7 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageArrayOutput) Index(i pulumi.IntI // Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. type GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess struct { // Custom metadata. Dialogflow doesn't impose any structure on this. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` } // GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessInput is an input type that accepts GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessArgs and GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessOutput values. @@ -9986,7 +9986,7 @@ type GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessInput interface // Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. type GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessArgs struct { // Custom metadata. Dialogflow doesn't impose any structure on this. - Metadata pulumi.StringMapInput `pulumi:"metadata"` + Metadata pulumi.MapInput `pulumi:"metadata"` } func (GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessArgs) ElementType() reflect.Type { @@ -10068,10 +10068,10 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessOutput) ToGoo } // Custom metadata. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess) map[string]string { +func (o GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess) map[string]interface{} { return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } type GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessPtrOutput struct{ *pulumi.OutputState } @@ -10099,19 +10099,19 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessPtrOutput) El } // Custom metadata. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessPtrOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess) map[string]string { +func (o GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessPtrOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess) map[string]interface{} { if v == nil { return nil } return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. type GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse struct { // Custom metadata. Dialogflow doesn't impose any structure on this. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` } // Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. @@ -10130,10 +10130,10 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponseOutpu } // Custom metadata. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse) map[string]interface{} { return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Indicates that interaction with the Dialogflow agent has ended. This message is generated by Dialogflow only and not supposed to be defined by the user. @@ -10298,7 +10298,7 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCardResponseOutput) // Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. type GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff struct { // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` } // GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffInput is an input type that accepts GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs and GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffOutput values. @@ -10315,7 +10315,7 @@ type GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffInput interface { // Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. type GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs struct { // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. - Metadata pulumi.StringMapInput `pulumi:"metadata"` + Metadata pulumi.MapInput `pulumi:"metadata"` } func (GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs) ElementType() reflect.Type { @@ -10397,8 +10397,10 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffOutput) ToGoogle } // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff) map[string]interface{} { + return v.Metadata + }).(pulumi.MapOutput) } type GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffPtrOutput struct{ *pulumi.OutputState } @@ -10426,19 +10428,19 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffPtrOutput) Elem( } // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffPtrOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff) map[string]string { +func (o GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffPtrOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff) map[string]interface{} { if v == nil { return nil } return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. type GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse struct { // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` } // Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. @@ -10457,10 +10459,10 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponseOutput) } // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse) map[string]interface{} { return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Represents an audio message that is composed of both segments synthesized from the Dialogflow agent prompts and ones hosted externally at the specified URIs. The external URIs are specified via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user. @@ -10946,7 +10948,7 @@ type GoogleCloudDialogflowCxV3ResponseMessageResponse struct { // A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. OutputAudioText GoogleCloudDialogflowCxV3ResponseMessageOutputAudioTextResponse `pulumi:"outputAudioText"` // Returns a response containing a custom, platform-specific payload. - Payload map[string]string `pulumi:"payload"` + Payload map[string]interface{} `pulumi:"payload"` // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. PlayAudio GoogleCloudDialogflowCxV3ResponseMessagePlayAudioResponse `pulumi:"playAudio"` // Response type. @@ -11020,8 +11022,8 @@ func (o GoogleCloudDialogflowCxV3ResponseMessageResponseOutput) OutputAudioText( } // Returns a response containing a custom, platform-specific payload. -func (o GoogleCloudDialogflowCxV3ResponseMessageResponseOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageResponse) map[string]string { return v.Payload }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowCxV3ResponseMessageResponseOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3ResponseMessageResponse) map[string]interface{} { return v.Payload }).(pulumi.MapOutput) } // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. @@ -12688,6 +12690,220 @@ func (o GoogleCloudDialogflowCxV3SpeechToTextSettingsResponseOutput) EnableSpeec return o.ApplyT(func(v GoogleCloudDialogflowCxV3SpeechToTextSettingsResponse) bool { return v.EnableSpeechAdaptation }).(pulumi.BoolOutput) } +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfig struct { + // Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + EffectsProfileId []string `pulumi:"effectsProfileId"` + // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + Pitch *float64 `pulumi:"pitch"` + // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + SpeakingRate *float64 `pulumi:"speakingRate"` + // Optional. The desired voice of the synthesized audio. + Voice *GoogleCloudDialogflowCxV3VoiceSelectionParams `pulumi:"voice"` + // Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + VolumeGainDb *float64 `pulumi:"volumeGainDb"` +} + +// GoogleCloudDialogflowCxV3SynthesizeSpeechConfigInput is an input type that accepts GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs and GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowCxV3SynthesizeSpeechConfigInput` via: +// +// GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs{...} +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfigInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput + ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutputWithContext(context.Context) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput +} + +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs struct { + // Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + EffectsProfileId pulumi.StringArrayInput `pulumi:"effectsProfileId"` + // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + Pitch pulumi.Float64PtrInput `pulumi:"pitch"` + // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + SpeakingRate pulumi.Float64PtrInput `pulumi:"speakingRate"` + // Optional. The desired voice of the synthesized audio. + Voice GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrInput `pulumi:"voice"` + // Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + VolumeGainDb pulumi.Float64PtrInput `pulumi:"volumeGainDb"` +} + +func (GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3SynthesizeSpeechConfig)(nil)).Elem() +} + +func (i GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput { + return i.ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) +} + +// GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapInput is an input type that accepts GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMap and GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapInput` via: +// +// GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMap{ "key": GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs{...} } +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput + ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutputWithContext(context.Context) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput +} + +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMap map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfigInput + +func (GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfig)(nil)).Elem() +} + +func (i GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMap) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput { + return i.ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMap) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput) +} + +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3SynthesizeSpeechConfig)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput { + return o +} + +// Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) EffectsProfileId() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfig) []string { return v.EffectsProfileId }).(pulumi.StringArrayOutput) +} + +// Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) Pitch() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfig) *float64 { return v.Pitch }).(pulumi.Float64PtrOutput) +} + +// Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) SpeakingRate() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfig) *float64 { return v.SpeakingRate }).(pulumi.Float64PtrOutput) +} + +// Optional. The desired voice of the synthesized audio. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) Voice() GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfig) *GoogleCloudDialogflowCxV3VoiceSelectionParams { + return v.Voice + }).(GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput) +} + +// Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) VolumeGainDb() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfig) *float64 { return v.VolumeGainDb }).(pulumi.Float64PtrOutput) +} + +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfig)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDialogflowCxV3SynthesizeSpeechConfig { + return vs[0].(map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfig)[vs[1].(string)] + }).(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput) +} + +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse struct { + // Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + EffectsProfileId []string `pulumi:"effectsProfileId"` + // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + Pitch float64 `pulumi:"pitch"` + // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + SpeakingRate float64 `pulumi:"speakingRate"` + // Optional. The desired voice of the synthesized audio. + Voice GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse `pulumi:"voice"` + // Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + VolumeGainDb float64 `pulumi:"volumeGainDb"` +} + +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput { + return o +} + +// Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput) EffectsProfileId() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse) []string { return v.EffectsProfileId }).(pulumi.StringArrayOutput) +} + +// Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput) Pitch() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse) float64 { return v.Pitch }).(pulumi.Float64Output) +} + +// Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput) SpeakingRate() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse) float64 { return v.SpeakingRate }).(pulumi.Float64Output) +} + +// Optional. The desired voice of the synthesized audio. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput) Voice() GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse) GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse { + return v.Voice + }).(GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput) +} + +// Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput) VolumeGainDb() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse) float64 { return v.VolumeGainDb }).(pulumi.Float64Output) +} + +type GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput) ToGoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse { + return vs[0].(map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse)[vs[1].(string)] + }).(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput) +} + // Represents a result from running a test case in an agent environment. type GoogleCloudDialogflowCxV3TestCaseResult struct { // The conversation turns uttered during the test case replay in chronological order. @@ -13404,7 +13620,7 @@ func (o GoogleCloudDialogflowCxV3TextInputResponseOutput) Text() pulumi.StringOu // Settings related to speech synthesizing. type GoogleCloudDialogflowCxV3TextToSpeechSettings struct { // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. - SynthesizeSpeechConfigs map[string]string `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfig `pulumi:"synthesizeSpeechConfigs"` } // GoogleCloudDialogflowCxV3TextToSpeechSettingsInput is an input type that accepts GoogleCloudDialogflowCxV3TextToSpeechSettingsArgs and GoogleCloudDialogflowCxV3TextToSpeechSettingsOutput values. @@ -13421,7 +13637,7 @@ type GoogleCloudDialogflowCxV3TextToSpeechSettingsInput interface { // Settings related to speech synthesizing. type GoogleCloudDialogflowCxV3TextToSpeechSettingsArgs struct { // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. - SynthesizeSpeechConfigs pulumi.StringMapInput `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapInput `pulumi:"synthesizeSpeechConfigs"` } func (GoogleCloudDialogflowCxV3TextToSpeechSettingsArgs) ElementType() reflect.Type { @@ -13503,10 +13719,10 @@ func (o GoogleCloudDialogflowCxV3TextToSpeechSettingsOutput) ToGoogleCloudDialog } // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. -func (o GoogleCloudDialogflowCxV3TextToSpeechSettingsOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3TextToSpeechSettings) map[string]string { +func (o GoogleCloudDialogflowCxV3TextToSpeechSettingsOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3TextToSpeechSettings) map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfig { return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput) } type GoogleCloudDialogflowCxV3TextToSpeechSettingsPtrOutput struct{ *pulumi.OutputState } @@ -13534,19 +13750,19 @@ func (o GoogleCloudDialogflowCxV3TextToSpeechSettingsPtrOutput) Elem() GoogleClo } // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. -func (o GoogleCloudDialogflowCxV3TextToSpeechSettingsPtrOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3TextToSpeechSettings) map[string]string { +func (o GoogleCloudDialogflowCxV3TextToSpeechSettingsPtrOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3TextToSpeechSettings) map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfig { if v == nil { return nil } return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput) } // Settings related to speech synthesizing. type GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse struct { // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. - SynthesizeSpeechConfigs map[string]string `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse `pulumi:"synthesizeSpeechConfigs"` } // Settings related to speech synthesizing. @@ -13565,10 +13781,10 @@ func (o GoogleCloudDialogflowCxV3TextToSpeechSettingsResponseOutput) ToGoogleClo } // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. -func (o GoogleCloudDialogflowCxV3TextToSpeechSettingsResponseOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3TextToSpeechSettingsResponseOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3TextToSpeechSettingsResponse) map[string]GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse { return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput) } // A transition route specifies a intent that can be matched and/or a data condition that can be evaluated during a session. When a specified transition is matched, the following actions are taken in order: * If there is a `trigger_fulfillment` associated with the transition, it will be called. * If there is a `target_page` associated with the transition, the session will transition into the specified page. * If there is a `target_flow` associated with the transition, the session will transition into the specified flow. @@ -14322,6 +14538,200 @@ func (o GoogleCloudDialogflowCxV3VersionVariantsVariantResponseArrayOutput) Inde }).(GoogleCloudDialogflowCxV3VersionVariantsVariantResponseOutput) } +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3VoiceSelectionParams struct { + // Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + Name *string `pulumi:"name"` + // Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + SsmlGender *GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender `pulumi:"ssmlGender"` +} + +// GoogleCloudDialogflowCxV3VoiceSelectionParamsInput is an input type that accepts GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs and GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowCxV3VoiceSelectionParamsInput` via: +// +// GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs{...} +type GoogleCloudDialogflowCxV3VoiceSelectionParamsInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3VoiceSelectionParamsOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput + ToGoogleCloudDialogflowCxV3VoiceSelectionParamsOutputWithContext(context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput +} + +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs struct { + // Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + Name pulumi.StringPtrInput `pulumi:"name"` + // Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + SsmlGender GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrInput `pulumi:"ssmlGender"` +} + +func (GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3VoiceSelectionParams)(nil)).Elem() +} + +func (i GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput { + return i.ToGoogleCloudDialogflowCxV3VoiceSelectionParamsOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput) +} + +func (i GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput { + return i.ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput).ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutputWithContext(ctx) +} + +// GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrInput is an input type that accepts GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs, GoogleCloudDialogflowCxV3VoiceSelectionParamsPtr and GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrInput` via: +// +// GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs{...} +// +// or: +// +// nil +type GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput + ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutputWithContext(context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput +} + +type googleCloudDialogflowCxV3VoiceSelectionParamsPtrType GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs + +func GoogleCloudDialogflowCxV3VoiceSelectionParamsPtr(v *GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs) GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrInput { + return (*googleCloudDialogflowCxV3VoiceSelectionParamsPtrType)(v) +} + +func (*googleCloudDialogflowCxV3VoiceSelectionParamsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDialogflowCxV3VoiceSelectionParams)(nil)).Elem() +} + +func (i *googleCloudDialogflowCxV3VoiceSelectionParamsPtrType) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput { + return i.ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutputWithContext(context.Background()) +} + +func (i *googleCloudDialogflowCxV3VoiceSelectionParamsPtrType) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput) +} + +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3VoiceSelectionParams)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput { + return o.ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudDialogflowCxV3VoiceSelectionParams) *GoogleCloudDialogflowCxV3VoiceSelectionParams { + return &v + }).(GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput) +} + +// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3VoiceSelectionParams) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput) SsmlGender() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3VoiceSelectionParams) *GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender { + return v.SsmlGender + }).(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) +} + +type GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDialogflowCxV3VoiceSelectionParams)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput) Elem() GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3VoiceSelectionParams) GoogleCloudDialogflowCxV3VoiceSelectionParams { + if v != nil { + return *v + } + var ret GoogleCloudDialogflowCxV3VoiceSelectionParams + return ret + }).(GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput) +} + +// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3VoiceSelectionParams) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput) SsmlGender() GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3VoiceSelectionParams) *GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender { + if v == nil { + return nil + } + return v.SsmlGender + }).(GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGenderPtrOutput) +} + +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse struct { + // Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + Name string `pulumi:"name"` + // Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + SsmlGender string `pulumi:"ssmlGender"` +} + +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput() GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput) ToGoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput { + return o +} + +// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. +func (o GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput) SsmlGender() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse) string { return v.SsmlGender }).(pulumi.StringOutput) +} + // Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend. type GoogleCloudDialogflowCxV3Webhook struct { // Indicates whether the webhook is disabled. @@ -15139,7 +15549,7 @@ type GoogleRpcStatus struct { // The status code, which should be an enum value of google.rpc.Code. Code *int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message *string `pulumi:"message"` } @@ -15160,7 +15570,7 @@ type GoogleRpcStatusArgs struct { // The status code, which should be an enum value of google.rpc.Code. Code pulumi.IntPtrInput `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details pulumi.StringMapArrayInput `pulumi:"details"` + Details pulumi.MapArrayInput `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message pulumi.StringPtrInput `pulumi:"message"` } @@ -15249,8 +15659,8 @@ func (o GoogleRpcStatusOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatus) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatus) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -15293,13 +15703,13 @@ func (o GoogleRpcStatusPtrOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusPtrOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *GoogleRpcStatus) []map[string]string { +func (o GoogleRpcStatusPtrOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v *GoogleRpcStatus) []map[string]interface{} { if v == nil { return nil } return v.Details - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -15317,7 +15727,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -15343,8 +15753,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -15473,6 +15883,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettingsPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3SpeechToTextSettingsInput)(nil)).Elem(), GoogleCloudDialogflowCxV3SpeechToTextSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3SpeechToTextSettingsPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3SpeechToTextSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3SynthesizeSpeechConfigInput)(nil)).Elem(), GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapInput)(nil)).Elem(), GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3TestCaseResultInput)(nil)).Elem(), GoogleCloudDialogflowCxV3TestCaseResultArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3TestCaseResultPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3TestCaseResultArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3TestConfigInput)(nil)).Elem(), GoogleCloudDialogflowCxV3TestConfigArgs{}) @@ -15489,6 +15901,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3VersionVariantsPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3VersionVariantsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3VersionVariantsVariantInput)(nil)).Elem(), GoogleCloudDialogflowCxV3VersionVariantsVariantArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3VersionVariantsVariantArrayInput)(nil)).Elem(), GoogleCloudDialogflowCxV3VersionVariantsVariantArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3VoiceSelectionParamsInput)(nil)).Elem(), GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3WebhookInput)(nil)).Elem(), GoogleCloudDialogflowCxV3WebhookArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3WebhookArrayInput)(nil)).Elem(), GoogleCloudDialogflowCxV3WebhookArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3WebhookGenericWebServiceInput)(nil)).Elem(), GoogleCloudDialogflowCxV3WebhookGenericWebServiceArgs{}) @@ -15699,6 +16113,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3SpeechToTextSettingsOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3SpeechToTextSettingsPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3SpeechToTextSettingsResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3TestCaseResultOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3TestCaseResultPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3TestCaseResultResponseOutput{}) @@ -15728,6 +16146,9 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3VersionVariantsVariantArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3VersionVariantsVariantResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3VersionVariantsVariantResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3VoiceSelectionParamsOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3VoiceSelectionParamsPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3VoiceSelectionParamsResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3WebhookOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3WebhookArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3WebhookGenericWebServiceOutput{}) diff --git a/sdk/go/google/dialogflow/v3beta1/pulumiEnums.go b/sdk/go/google/dialogflow/v3beta1/pulumiEnums.go index 23013a00b5..c6b95e3167 100644 --- a/sdk/go/google/dialogflow/v3beta1/pulumiEnums.go +++ b/sdk/go/google/dialogflow/v3beta1/pulumiEnums.go @@ -2104,6 +2104,180 @@ func (in *googleCloudDialogflowCxV3beta1TestCaseResultTestResultPtr) ToGoogleClo return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudDialogflowCxV3beta1TestCaseResultTestResultPtrOutput) } +// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender string + +const ( + // An unspecified gender, which means that the client doesn't care which gender the selected voice will have. + GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderSsmlVoiceGenderUnspecified = GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_UNSPECIFIED") + // A male voice. + GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderSsmlVoiceGenderMale = GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_MALE") + // A female voice. + GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderSsmlVoiceGenderFemale = GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_FEMALE") + // A gender-neutral voice. + GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderSsmlVoiceGenderNeutral = GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_NEUTRAL") +) + +func (GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender)(nil)).Elem() +} + +func (e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput { + return pulumi.ToOutput(e).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) +} + +func (e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) +} + +func (e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return e.ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender(e).ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutputWithContext(ctx).ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx) +} + +func (e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return o.ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) *GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender { + return &v + }).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) Elem() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender { + if v != nil { + return *v + } + var ret GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender + return ret + }).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput) +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderInput is an input type that accepts values of the GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender enum +// A concrete instance of `GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderInput` can be one of the following: +// +// GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderSsmlVoiceGenderUnspecified +// GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderSsmlVoiceGenderMale +// GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderSsmlVoiceGenderFemale +// GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderSsmlVoiceGenderNeutral +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput + ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutputWithContext(context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput +} + +var googleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrType = reflect.TypeOf((**GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender)(nil)).Elem() + +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput + ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutputWithContext(context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput +} + +type googleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtr string + +func GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtr(v string) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrInput { + return (*googleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtr)(&v) +} + +func (*googleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtr) ElementType() reflect.Type { + return googleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrType +} + +func (in *googleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtr) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return pulumi.ToOutput(in).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) +} + +func (in *googleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtr) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) +} + // Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST. type GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethod string @@ -3373,6 +3547,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettingsAudioFormatPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettingsAudioFormat("AUDIO_FORMAT_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1TestCaseResultTestResultInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1TestCaseResultTestResult("TEST_RESULT_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1TestCaseResultTestResultPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1TestCaseResultTestResult("TEST_RESULT_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender("SSML_VOICE_GENDER_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethodInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethod("HTTP_METHOD_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethodPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethod("HTTP_METHOD_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceWebhookTypeInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceWebhookType("WEBHOOK_TYPE_UNSPECIFIED")) @@ -3412,6 +3588,8 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettingsAudioFormatPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1TestCaseResultTestResultOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1TestCaseResultTestResultPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethodOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethodPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceWebhookTypeOutput{}) diff --git a/sdk/go/google/dialogflow/v3beta1/pulumiTypes.go b/sdk/go/google/dialogflow/v3beta1/pulumiTypes.go index 1f84d75296..29bb6668b8 100644 --- a/sdk/go/google/dialogflow/v3beta1/pulumiTypes.go +++ b/sdk/go/google/dialogflow/v3beta1/pulumiTypes.go @@ -2020,7 +2020,7 @@ type GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput struct { // Whether sentiment analysis is enabled. EnableSentimentAnalysis *bool `pulumi:"enableSentimentAnalysis"` // Parameters that need to be injected into the conversation during intent detection. - InjectedParameters map[string]string `pulumi:"injectedParameters"` + InjectedParameters map[string]interface{} `pulumi:"injectedParameters"` // Supports text input, event input, dtmf input in the test case. Input *GoogleCloudDialogflowCxV3beta1QueryInput `pulumi:"input"` // If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. @@ -2043,7 +2043,7 @@ type GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputArgs struct { // Whether sentiment analysis is enabled. EnableSentimentAnalysis pulumi.BoolPtrInput `pulumi:"enableSentimentAnalysis"` // Parameters that need to be injected into the conversation during intent detection. - InjectedParameters pulumi.StringMapInput `pulumi:"injectedParameters"` + InjectedParameters pulumi.MapInput `pulumi:"injectedParameters"` // Supports text input, event input, dtmf input in the test case. Input GoogleCloudDialogflowCxV3beta1QueryInputPtrInput `pulumi:"input"` // If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. @@ -2136,10 +2136,10 @@ func (o GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputOutput) EnableSen } // Parameters that need to be injected into the conversation during intent detection. -func (o GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputOutput) InjectedParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputOutput) InjectedParameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput) map[string]interface{} { return v.InjectedParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Supports text input, event input, dtmf input in the test case. @@ -2189,13 +2189,13 @@ func (o GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputPtrOutput) Enable } // Parameters that need to be injected into the conversation during intent detection. -func (o GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputPtrOutput) InjectedParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputPtrOutput) InjectedParameters() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ConversationTurnUserInput) map[string]interface{} { if v == nil { return nil } return v.InjectedParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Supports text input, event input, dtmf input in the test case. @@ -2223,7 +2223,7 @@ type GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponse struct { // Whether sentiment analysis is enabled. EnableSentimentAnalysis bool `pulumi:"enableSentimentAnalysis"` // Parameters that need to be injected into the conversation during intent detection. - InjectedParameters map[string]string `pulumi:"injectedParameters"` + InjectedParameters map[string]interface{} `pulumi:"injectedParameters"` // Supports text input, event input, dtmf input in the test case. Input GoogleCloudDialogflowCxV3beta1QueryInputResponse `pulumi:"input"` // If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. @@ -2253,10 +2253,10 @@ func (o GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponseOutput) E } // Parameters that need to be injected into the conversation during intent detection. -func (o GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponseOutput) InjectedParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponseOutput) InjectedParameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputResponse) map[string]interface{} { return v.InjectedParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Supports text input, event input, dtmf input in the test case. @@ -2278,9 +2278,9 @@ type GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput struct { // The Page on which the utterance was spoken. Only name and displayName will be set. CurrentPage *GoogleCloudDialogflowCxV3beta1Page `pulumi:"currentPage"` // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. - DiagnosticInfo map[string]string `pulumi:"diagnosticInfo"` + DiagnosticInfo map[string]interface{} `pulumi:"diagnosticInfo"` // The session parameters available to the bot at this point. - SessionParameters map[string]string `pulumi:"sessionParameters"` + SessionParameters map[string]interface{} `pulumi:"sessionParameters"` // Response error from the agent in the test result. If set, other output is empty. Status *GoogleRpcStatus `pulumi:"status"` // The text responses from the agent for the turn. @@ -2305,9 +2305,9 @@ type GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputArgs struct // The Page on which the utterance was spoken. Only name and displayName will be set. CurrentPage GoogleCloudDialogflowCxV3beta1PagePtrInput `pulumi:"currentPage"` // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. - DiagnosticInfo pulumi.StringMapInput `pulumi:"diagnosticInfo"` + DiagnosticInfo pulumi.MapInput `pulumi:"diagnosticInfo"` // The session parameters available to the bot at this point. - SessionParameters pulumi.StringMapInput `pulumi:"sessionParameters"` + SessionParameters pulumi.MapInput `pulumi:"sessionParameters"` // Response error from the agent in the test result. If set, other output is empty. Status GoogleRpcStatusPtrInput `pulumi:"status"` // The text responses from the agent for the turn. @@ -2402,17 +2402,17 @@ func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputOutput) } // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. -func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputOutput) DiagnosticInfo() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputOutput) DiagnosticInfo() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) map[string]interface{} { return v.DiagnosticInfo - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // The session parameters available to the bot at this point. -func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputOutput) SessionParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputOutput) SessionParameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) map[string]interface{} { return v.SessionParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Response error from the agent in the test result. If set, other output is empty. @@ -2471,23 +2471,23 @@ func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputPtrOutpu } // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. -func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputPtrOutput) DiagnosticInfo() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputPtrOutput) DiagnosticInfo() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) map[string]interface{} { if v == nil { return nil } return v.DiagnosticInfo - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // The session parameters available to the bot at this point. -func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputPtrOutput) SessionParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputPtrOutput) SessionParameters() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutput) map[string]interface{} { if v == nil { return nil } return v.SessionParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Response error from the agent in the test result. If set, other output is empty. @@ -2525,11 +2525,11 @@ type GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse st // The Page on which the utterance was spoken. Only name and displayName will be set. CurrentPage GoogleCloudDialogflowCxV3beta1PageResponse `pulumi:"currentPage"` // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. - DiagnosticInfo map[string]string `pulumi:"diagnosticInfo"` + DiagnosticInfo map[string]interface{} `pulumi:"diagnosticInfo"` // If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. Differences []GoogleCloudDialogflowCxV3beta1TestRunDifferenceResponse `pulumi:"differences"` // The session parameters available to the bot at this point. - SessionParameters map[string]string `pulumi:"sessionParameters"` + SessionParameters map[string]interface{} `pulumi:"sessionParameters"` // Response error from the agent in the test result. If set, other output is empty. Status GoogleRpcStatusResponse `pulumi:"status"` // The text responses from the agent for the turn. @@ -2561,10 +2561,10 @@ func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse } // Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. -func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponseOutput) DiagnosticInfo() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponseOutput) DiagnosticInfo() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse) map[string]interface{} { return v.DiagnosticInfo - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. @@ -2575,10 +2575,10 @@ func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse } // The session parameters available to the bot at this point. -func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponseOutput) SessionParameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponseOutput) SessionParameters() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputResponse) map[string]interface{} { return v.SessionParameters - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Response error from the agent in the test result. If set, other output is empty. @@ -9651,7 +9651,7 @@ type GoogleCloudDialogflowCxV3beta1ResponseMessage struct { // A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. OutputAudioText *GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioText `pulumi:"outputAudioText"` // Returns a response containing a custom, platform-specific payload. - Payload map[string]string `pulumi:"payload"` + Payload map[string]interface{} `pulumi:"payload"` // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. PlayAudio *GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudio `pulumi:"playAudio"` // A signal that the client should transfer the phone call connected to this agent to a third-party endpoint. @@ -9684,7 +9684,7 @@ type GoogleCloudDialogflowCxV3beta1ResponseMessageArgs struct { // A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. OutputAudioText GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioTextPtrInput `pulumi:"outputAudioText"` // Returns a response containing a custom, platform-specific payload. - Payload pulumi.StringMapInput `pulumi:"payload"` + Payload pulumi.MapInput `pulumi:"payload"` // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. PlayAudio GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudioPtrInput `pulumi:"playAudio"` // A signal that the client should transfer the phone call connected to this agent to a third-party endpoint. @@ -9830,8 +9830,8 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageOutput) OutputAudioText() G } // Returns a response containing a custom, platform-specific payload. -func (o GoogleCloudDialogflowCxV3beta1ResponseMessageOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessage) map[string]string { return v.Payload }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowCxV3beta1ResponseMessageOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessage) map[string]interface{} { return v.Payload }).(pulumi.MapOutput) } // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. @@ -9930,13 +9930,13 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessagePtrOutput) OutputAudioText( } // Returns a response containing a custom, platform-specific payload. -func (o GoogleCloudDialogflowCxV3beta1ResponseMessagePtrOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ResponseMessage) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ResponseMessagePtrOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ResponseMessage) map[string]interface{} { if v == nil { return nil } return v.Payload - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. @@ -9992,7 +9992,7 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageArrayOutput) Index(i pulumi // Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. type GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess struct { // Custom metadata. Dialogflow doesn't impose any structure on this. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` } // GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessInput is an input type that accepts GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessArgs and GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessOutput values. @@ -10009,7 +10009,7 @@ type GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessInput inter // Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. type GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessArgs struct { // Custom metadata. Dialogflow doesn't impose any structure on this. - Metadata pulumi.StringMapInput `pulumi:"metadata"` + Metadata pulumi.MapInput `pulumi:"metadata"` } func (GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessArgs) ElementType() reflect.Type { @@ -10091,10 +10091,10 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessOutput) } // Custom metadata. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess) map[string]interface{} { return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } type GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessPtrOutput struct{ *pulumi.OutputState } @@ -10122,19 +10122,19 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessPtrOutpu } // Custom metadata. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessPtrOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessPtrOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccess) map[string]interface{} { if v == nil { return nil } return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. type GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse struct { // Custom metadata. Dialogflow doesn't impose any structure on this. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` } // Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. @@ -10153,10 +10153,10 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse } // Custom metadata. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse) map[string]interface{} { return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Indicates that interaction with the Dialogflow agent has ended. This message is generated by Dialogflow only and not supposed to be defined by the user. @@ -10321,7 +10321,7 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCardResponseOu // Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. type GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff struct { // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` } // GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffInput is an input type that accepts GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs and GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffOutput values. @@ -10338,7 +10338,7 @@ type GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffInput interfac // Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. type GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs struct { // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. - Metadata pulumi.StringMapInput `pulumi:"metadata"` + Metadata pulumi.MapInput `pulumi:"metadata"` } func (GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs) ElementType() reflect.Type { @@ -10420,10 +10420,10 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffOutput) ToG } // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff) map[string]interface{} { return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } type GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffPtrOutput struct{ *pulumi.OutputState } @@ -10451,19 +10451,19 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffPtrOutput) } // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffPtrOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffPtrOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoff) map[string]interface{} { if v == nil { return nil } return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. type GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse struct { // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` } // Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. @@ -10482,10 +10482,10 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponseOut } // Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. -func (o GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse) map[string]interface{} { return v.Metadata - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // Represents an audio message that is composed of both segments synthesized from the Dialogflow agent prompts and ones hosted externally at the specified URIs. The external URIs are specified via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user. @@ -10971,7 +10971,7 @@ type GoogleCloudDialogflowCxV3beta1ResponseMessageResponse struct { // A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. OutputAudioText GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioTextResponse `pulumi:"outputAudioText"` // Returns a response containing a custom, platform-specific payload. - Payload map[string]string `pulumi:"payload"` + Payload map[string]interface{} `pulumi:"payload"` // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. PlayAudio GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudioResponse `pulumi:"playAudio"` // A signal that the client should transfer the phone call connected to this agent to a third-party endpoint. @@ -11043,8 +11043,8 @@ func (o GoogleCloudDialogflowCxV3beta1ResponseMessageResponseOutput) OutputAudio } // Returns a response containing a custom, platform-specific payload. -func (o GoogleCloudDialogflowCxV3beta1ResponseMessageResponseOutput) Payload() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageResponse) map[string]string { return v.Payload }).(pulumi.StringMapOutput) +func (o GoogleCloudDialogflowCxV3beta1ResponseMessageResponseOutput) Payload() pulumi.MapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1ResponseMessageResponse) map[string]interface{} { return v.Payload }).(pulumi.MapOutput) } // Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. @@ -12712,6 +12712,222 @@ func (o GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsResponseOutput) Enable }).(pulumi.BoolOutput) } +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig struct { + // Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + EffectsProfileId []string `pulumi:"effectsProfileId"` + // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + Pitch *float64 `pulumi:"pitch"` + // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + SpeakingRate *float64 `pulumi:"speakingRate"` + // Optional. The desired voice of the synthesized audio. + Voice *GoogleCloudDialogflowCxV3beta1VoiceSelectionParams `pulumi:"voice"` + // Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + VolumeGainDb *float64 `pulumi:"volumeGainDb"` +} + +// GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigInput is an input type that accepts GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs and GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigInput` via: +// +// GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs{...} +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput + ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutputWithContext(context.Context) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput +} + +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs struct { + // Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + EffectsProfileId pulumi.StringArrayInput `pulumi:"effectsProfileId"` + // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + Pitch pulumi.Float64PtrInput `pulumi:"pitch"` + // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + SpeakingRate pulumi.Float64PtrInput `pulumi:"speakingRate"` + // Optional. The desired voice of the synthesized audio. + Voice GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrInput `pulumi:"voice"` + // Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + VolumeGainDb pulumi.Float64PtrInput `pulumi:"volumeGainDb"` +} + +func (GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig)(nil)).Elem() +} + +func (i GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput { + return i.ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) +} + +// GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapInput is an input type that accepts GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMap and GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapInput` via: +// +// GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMap{ "key": GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs{...} } +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput + ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutputWithContext(context.Context) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput +} + +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMap map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigInput + +func (GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig)(nil)).Elem() +} + +func (i GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMap) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput { + return i.ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMap) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput) +} + +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput { + return o +} + +// Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) EffectsProfileId() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig) []string { return v.EffectsProfileId }).(pulumi.StringArrayOutput) +} + +// Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) Pitch() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig) *float64 { return v.Pitch }).(pulumi.Float64PtrOutput) +} + +// Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) SpeakingRate() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig) *float64 { return v.SpeakingRate }).(pulumi.Float64PtrOutput) +} + +// Optional. The desired voice of the synthesized audio. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) Voice() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig) *GoogleCloudDialogflowCxV3beta1VoiceSelectionParams { + return v.Voice + }).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput) +} + +// Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) VolumeGainDb() pulumi.Float64PtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig) *float64 { return v.VolumeGainDb }).(pulumi.Float64PtrOutput) +} + +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig { + return vs[0].(map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig)[vs[1].(string)] + }).(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput) +} + +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse struct { + // Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + EffectsProfileId []string `pulumi:"effectsProfileId"` + // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + Pitch float64 `pulumi:"pitch"` + // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + SpeakingRate float64 `pulumi:"speakingRate"` + // Optional. The desired voice of the synthesized audio. + Voice GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse `pulumi:"voice"` + // Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + VolumeGainDb float64 `pulumi:"volumeGainDb"` +} + +// Configuration of how speech should be synthesized. +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput { + return o +} + +// Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput) EffectsProfileId() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse) []string { + return v.EffectsProfileId + }).(pulumi.StringArrayOutput) +} + +// Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput) Pitch() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse) float64 { return v.Pitch }).(pulumi.Float64Output) +} + +// Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput) SpeakingRate() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse) float64 { return v.SpeakingRate }).(pulumi.Float64Output) +} + +// Optional. The desired voice of the synthesized audio. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput) Voice() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse { + return v.Voice + }).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput) +} + +// Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput) VolumeGainDb() pulumi.Float64Output { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse) float64 { return v.VolumeGainDb }).(pulumi.Float64Output) +} + +type GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput) ToGoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse { + return vs[0].(map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse)[vs[1].(string)] + }).(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput) +} + // Represents a result from running a test case in an agent environment. type GoogleCloudDialogflowCxV3beta1TestCaseResult struct { // The conversation turns uttered during the test case replay in chronological order. @@ -13428,7 +13644,7 @@ func (o GoogleCloudDialogflowCxV3beta1TextInputResponseOutput) Text() pulumi.Str // Settings related to speech synthesizing. type GoogleCloudDialogflowCxV3beta1TextToSpeechSettings struct { // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. - SynthesizeSpeechConfigs map[string]string `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig `pulumi:"synthesizeSpeechConfigs"` } // GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsInput is an input type that accepts GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsArgs and GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsOutput values. @@ -13445,7 +13661,7 @@ type GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsInput interface { // Settings related to speech synthesizing. type GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsArgs struct { // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. - SynthesizeSpeechConfigs pulumi.StringMapInput `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapInput `pulumi:"synthesizeSpeechConfigs"` } func (GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsArgs) ElementType() reflect.Type { @@ -13527,10 +13743,10 @@ func (o GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsOutput) ToGoogleCloudD } // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. -func (o GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1TextToSpeechSettings) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1TextToSpeechSettings) map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig { return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput) } type GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsPtrOutput struct{ *pulumi.OutputState } @@ -13558,19 +13774,19 @@ func (o GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsPtrOutput) Elem() Goog } // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. -func (o GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsPtrOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1TextToSpeechSettings) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsPtrOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1TextToSpeechSettings) map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfig { if v == nil { return nil } return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput) } // Settings related to speech synthesizing. type GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse struct { // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. - SynthesizeSpeechConfigs map[string]string `pulumi:"synthesizeSpeechConfigs"` + SynthesizeSpeechConfigs map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse `pulumi:"synthesizeSpeechConfigs"` } // Settings related to speech synthesizing. @@ -13589,10 +13805,10 @@ func (o GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponseOutput) ToGoog } // Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. -func (o GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponseOutput) SynthesizeSpeechConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse) map[string]string { +func (o GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponseOutput) SynthesizeSpeechConfigs() GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsResponse) map[string]GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse { return v.SynthesizeSpeechConfigs - }).(pulumi.StringMapOutput) + }).(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput) } // A transition route specifies a intent that can be matched and/or a data condition that can be evaluated during a session. When a specified transition is matched, the following actions are taken in order: * If there is a `trigger_fulfillment` associated with the transition, it will be called. * If there is a `target_page` associated with the transition, the session will transition into the specified page. * If there is a `target_flow` associated with the transition, the session will transition into the specified flow. @@ -14348,6 +14564,200 @@ func (o GoogleCloudDialogflowCxV3beta1VersionVariantsVariantResponseArrayOutput) }).(GoogleCloudDialogflowCxV3beta1VersionVariantsVariantResponseOutput) } +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParams struct { + // Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + Name *string `pulumi:"name"` + // Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + SsmlGender *GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender `pulumi:"ssmlGender"` +} + +// GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsInput is an input type that accepts GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs and GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsInput` via: +// +// GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs{...} +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput + ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutputWithContext(context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput +} + +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs struct { + // Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + Name pulumi.StringPtrInput `pulumi:"name"` + // Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + SsmlGender GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrInput `pulumi:"ssmlGender"` +} + +func (GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VoiceSelectionParams)(nil)).Elem() +} + +func (i GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput { + return i.ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput) +} + +func (i GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput { + return i.ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutputWithContext(context.Background()) +} + +func (i GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput).ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutputWithContext(ctx) +} + +// GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrInput is an input type that accepts GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs, GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtr and GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput values. +// You can construct a concrete instance of `GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrInput` via: +// +// GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs{...} +// +// or: +// +// nil +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrInput interface { + pulumi.Input + + ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput + ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutputWithContext(context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput +} + +type googleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrType GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs + +func GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtr(v *GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrInput { + return (*googleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrType)(v) +} + +func (*googleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDialogflowCxV3beta1VoiceSelectionParams)(nil)).Elem() +} + +func (i *googleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrType) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput { + return i.ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutputWithContext(context.Background()) +} + +func (i *googleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrType) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput) +} + +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VoiceSelectionParams)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput { + return o.ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutputWithContext(context.Background()) +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleCloudDialogflowCxV3beta1VoiceSelectionParams) *GoogleCloudDialogflowCxV3beta1VoiceSelectionParams { + return &v + }).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput) +} + +// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1VoiceSelectionParams) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput) SsmlGender() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1VoiceSelectionParams) *GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender { + return v.SsmlGender + }).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) +} + +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleCloudDialogflowCxV3beta1VoiceSelectionParams)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput) Elem() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1VoiceSelectionParams) GoogleCloudDialogflowCxV3beta1VoiceSelectionParams { + if v != nil { + return *v + } + var ret GoogleCloudDialogflowCxV3beta1VoiceSelectionParams + return ret + }).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput) +} + +// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1VoiceSelectionParams) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput) SsmlGender() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput { + return o.ApplyT(func(v *GoogleCloudDialogflowCxV3beta1VoiceSelectionParams) *GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender { + if v == nil { + return nil + } + return v.SsmlGender + }).(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGenderPtrOutput) +} + +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse struct { + // Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + Name string `pulumi:"name"` + // Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + SsmlGender string `pulumi:"ssmlGender"` +} + +// Description of which voice to use for speech synthesis. +type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse)(nil)).Elem() +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput() GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput { + return o +} + +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput) ToGoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutputWithContext(ctx context.Context) GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput { + return o +} + +// Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse) string { return v.Name }).(pulumi.StringOutput) +} + +// Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. +func (o GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput) SsmlGender() pulumi.StringOutput { + return o.ApplyT(func(v GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse) string { return v.SsmlGender }).(pulumi.StringOutput) +} + // Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend. type GoogleCloudDialogflowCxV3beta1Webhook struct { // Indicates whether the webhook is disabled. @@ -15171,7 +15581,7 @@ type GoogleRpcStatus struct { // The status code, which should be an enum value of google.rpc.Code. Code *int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message *string `pulumi:"message"` } @@ -15192,7 +15602,7 @@ type GoogleRpcStatusArgs struct { // The status code, which should be an enum value of google.rpc.Code. Code pulumi.IntPtrInput `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details pulumi.StringMapArrayInput `pulumi:"details"` + Details pulumi.MapArrayInput `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message pulumi.StringPtrInput `pulumi:"message"` } @@ -15281,8 +15691,8 @@ func (o GoogleRpcStatusOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatus) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatus) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -15325,13 +15735,13 @@ func (o GoogleRpcStatusPtrOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusPtrOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *GoogleRpcStatus) []map[string]string { +func (o GoogleRpcStatusPtrOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v *GoogleRpcStatus) []map[string]interface{} { if v == nil { return nil } return v.Details - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -15349,7 +15759,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -15375,8 +15785,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -15505,6 +15915,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettingsPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1TestCaseResultInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1TestCaseResultArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1TestCaseResultPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1TestCaseResultArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1TestConfigInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1TestConfigArgs{}) @@ -15521,6 +15933,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VersionVariantsPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1VersionVariantsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VersionVariantsVariantInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1VersionVariantsVariantArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VersionVariantsVariantArrayInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1VersionVariantsVariantArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1WebhookInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1WebhookArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1WebhookArrayInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1WebhookArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceInput)(nil)).Elem(), GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs{}) @@ -15731,6 +16145,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1TestCaseResultOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1TestCaseResultPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1TestCaseResultResponseOutput{}) @@ -15760,6 +16178,9 @@ func init() { pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1VersionVariantsVariantArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1VersionVariantsVariantResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1VersionVariantsVariantResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1WebhookOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1WebhookArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceOutput{}) diff --git a/sdk/go/google/discoveryengine/v1alpha/document.go b/sdk/go/google/discoveryengine/v1alpha/document.go index 07c13b3f22..5da0f07286 100644 --- a/sdk/go/google/discoveryengine/v1alpha/document.go +++ b/sdk/go/google/discoveryengine/v1alpha/document.go @@ -22,7 +22,7 @@ type Document struct { Content GoogleCloudDiscoveryengineV1alphaDocumentContentResponseOutput `pulumi:"content"` DataStoreId pulumi.StringOutput `pulumi:"dataStoreId"` // This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. - DerivedStructData pulumi.StringMapOutput `pulumi:"derivedStructData"` + DerivedStructData pulumi.MapOutput `pulumi:"derivedStructData"` // Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. DocumentId pulumi.StringOutput `pulumi:"documentId"` // The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. @@ -36,7 +36,7 @@ type Document struct { // The identifier of the schema located in the same data store. SchemaId pulumi.StringOutput `pulumi:"schemaId"` // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. - StructData pulumi.StringMapOutput `pulumi:"structData"` + StructData pulumi.MapOutput `pulumi:"structData"` } // NewDocument registers a new resource with the given unique name, arguments, and options. @@ -120,7 +120,7 @@ type documentArgs struct { // The identifier of the schema located in the same data store. SchemaId *string `pulumi:"schemaId"` // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. - StructData map[string]string `pulumi:"structData"` + StructData map[string]interface{} `pulumi:"structData"` } // The set of arguments for constructing a Document resource. @@ -145,7 +145,7 @@ type DocumentArgs struct { // The identifier of the schema located in the same data store. SchemaId pulumi.StringPtrInput // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. - StructData pulumi.StringMapInput + StructData pulumi.MapInput } func (DocumentArgs) ElementType() reflect.Type { @@ -203,8 +203,8 @@ func (o DocumentOutput) DataStoreId() pulumi.StringOutput { } // This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. -func (o DocumentOutput) DerivedStructData() pulumi.StringMapOutput { - return o.ApplyT(func(v *Document) pulumi.StringMapOutput { return v.DerivedStructData }).(pulumi.StringMapOutput) +func (o DocumentOutput) DerivedStructData() pulumi.MapOutput { + return o.ApplyT(func(v *Document) pulumi.MapOutput { return v.DerivedStructData }).(pulumi.MapOutput) } // Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. @@ -241,8 +241,8 @@ func (o DocumentOutput) SchemaId() pulumi.StringOutput { } // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. -func (o DocumentOutput) StructData() pulumi.StringMapOutput { - return o.ApplyT(func(v *Document) pulumi.StringMapOutput { return v.StructData }).(pulumi.StringMapOutput) +func (o DocumentOutput) StructData() pulumi.MapOutput { + return o.ApplyT(func(v *Document) pulumi.MapOutput { return v.StructData }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/discoveryengine/v1alpha/getDocument.go b/sdk/go/google/discoveryengine/v1alpha/getDocument.go index ac1ae1902f..cb88637b9b 100644 --- a/sdk/go/google/discoveryengine/v1alpha/getDocument.go +++ b/sdk/go/google/discoveryengine/v1alpha/getDocument.go @@ -35,7 +35,7 @@ type LookupDocumentResult struct { // The unstructured data linked to this document. Content must be set if this document is under a `CONTENT_REQUIRED` data store. Content GoogleCloudDiscoveryengineV1alphaDocumentContentResponse `pulumi:"content"` // This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. - DerivedStructData map[string]string `pulumi:"derivedStructData"` + DerivedStructData map[string]interface{} `pulumi:"derivedStructData"` // The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. JsonData string `pulumi:"jsonData"` // Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. @@ -45,7 +45,7 @@ type LookupDocumentResult struct { // The identifier of the schema located in the same data store. SchemaId string `pulumi:"schemaId"` // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. - StructData map[string]string `pulumi:"structData"` + StructData map[string]interface{} `pulumi:"structData"` } func LookupDocumentOutput(ctx *pulumi.Context, args LookupDocumentOutputArgs, opts ...pulumi.InvokeOption) LookupDocumentResultOutput { @@ -96,8 +96,8 @@ func (o LookupDocumentResultOutput) Content() GoogleCloudDiscoveryengineV1alphaD } // This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. -func (o LookupDocumentResultOutput) DerivedStructData() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupDocumentResult) map[string]string { return v.DerivedStructData }).(pulumi.StringMapOutput) +func (o LookupDocumentResultOutput) DerivedStructData() pulumi.MapOutput { + return o.ApplyT(func(v LookupDocumentResult) map[string]interface{} { return v.DerivedStructData }).(pulumi.MapOutput) } // The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. @@ -121,8 +121,8 @@ func (o LookupDocumentResultOutput) SchemaId() pulumi.StringOutput { } // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. -func (o LookupDocumentResultOutput) StructData() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupDocumentResult) map[string]string { return v.StructData }).(pulumi.StringMapOutput) +func (o LookupDocumentResultOutput) StructData() pulumi.MapOutput { + return o.ApplyT(func(v LookupDocumentResult) map[string]interface{} { return v.StructData }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/discoveryengine/v1alpha/getSchema.go b/sdk/go/google/discoveryengine/v1alpha/getSchema.go index 9013a7200f..501abfcbba 100644 --- a/sdk/go/google/discoveryengine/v1alpha/getSchema.go +++ b/sdk/go/google/discoveryengine/v1alpha/getSchema.go @@ -38,7 +38,7 @@ type LookupSchemaResult struct { // Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Name string `pulumi:"name"` // The structured representation of the schema. - StructSchema map[string]string `pulumi:"structSchema"` + StructSchema map[string]interface{} `pulumi:"structSchema"` } func LookupSchemaOutput(ctx *pulumi.Context, args LookupSchemaOutputArgs, opts ...pulumi.InvokeOption) LookupSchemaResultOutput { @@ -98,8 +98,8 @@ func (o LookupSchemaResultOutput) Name() pulumi.StringOutput { } // The structured representation of the schema. -func (o LookupSchemaResultOutput) StructSchema() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupSchemaResult) map[string]string { return v.StructSchema }).(pulumi.StringMapOutput) +func (o LookupSchemaResultOutput) StructSchema() pulumi.MapOutput { + return o.ApplyT(func(v LookupSchemaResult) map[string]interface{} { return v.StructSchema }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/discoveryengine/v1alpha/schema.go b/sdk/go/google/discoveryengine/v1alpha/schema.go index 865529b109..efc49ba264 100644 --- a/sdk/go/google/discoveryengine/v1alpha/schema.go +++ b/sdk/go/google/discoveryengine/v1alpha/schema.go @@ -29,7 +29,7 @@ type Schema struct { // Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. SchemaId pulumi.StringOutput `pulumi:"schemaId"` // The structured representation of the schema. - StructSchema pulumi.StringMapOutput `pulumi:"structSchema"` + StructSchema pulumi.MapOutput `pulumi:"structSchema"` } // NewSchema registers a new resource with the given unique name, arguments, and options. @@ -100,7 +100,7 @@ type schemaArgs struct { // Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. SchemaId string `pulumi:"schemaId"` // The structured representation of the schema. - StructSchema map[string]string `pulumi:"structSchema"` + StructSchema map[string]interface{} `pulumi:"structSchema"` } // The set of arguments for constructing a Schema resource. @@ -116,7 +116,7 @@ type SchemaArgs struct { // Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. SchemaId pulumi.StringInput // The structured representation of the schema. - StructSchema pulumi.StringMapInput + StructSchema pulumi.MapInput } func (SchemaArgs) ElementType() reflect.Type { @@ -193,8 +193,8 @@ func (o SchemaOutput) SchemaId() pulumi.StringOutput { } // The structured representation of the schema. -func (o SchemaOutput) StructSchema() pulumi.StringMapOutput { - return o.ApplyT(func(v *Schema) pulumi.StringMapOutput { return v.StructSchema }).(pulumi.StringMapOutput) +func (o SchemaOutput) StructSchema() pulumi.MapOutput { + return o.ApplyT(func(v *Schema) pulumi.MapOutput { return v.StructSchema }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/discoveryengine/v1beta/document.go b/sdk/go/google/discoveryengine/v1beta/document.go index acd65768d0..4377fa5798 100644 --- a/sdk/go/google/discoveryengine/v1beta/document.go +++ b/sdk/go/google/discoveryengine/v1beta/document.go @@ -22,7 +22,7 @@ type Document struct { Content GoogleCloudDiscoveryengineV1betaDocumentContentResponseOutput `pulumi:"content"` DataStoreId pulumi.StringOutput `pulumi:"dataStoreId"` // This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. - DerivedStructData pulumi.StringMapOutput `pulumi:"derivedStructData"` + DerivedStructData pulumi.MapOutput `pulumi:"derivedStructData"` // Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. DocumentId pulumi.StringOutput `pulumi:"documentId"` // The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. @@ -36,7 +36,7 @@ type Document struct { // The identifier of the schema located in the same data store. SchemaId pulumi.StringOutput `pulumi:"schemaId"` // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. - StructData pulumi.StringMapOutput `pulumi:"structData"` + StructData pulumi.MapOutput `pulumi:"structData"` } // NewDocument registers a new resource with the given unique name, arguments, and options. @@ -120,7 +120,7 @@ type documentArgs struct { // The identifier of the schema located in the same data store. SchemaId *string `pulumi:"schemaId"` // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. - StructData map[string]string `pulumi:"structData"` + StructData map[string]interface{} `pulumi:"structData"` } // The set of arguments for constructing a Document resource. @@ -145,7 +145,7 @@ type DocumentArgs struct { // The identifier of the schema located in the same data store. SchemaId pulumi.StringPtrInput // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. - StructData pulumi.StringMapInput + StructData pulumi.MapInput } func (DocumentArgs) ElementType() reflect.Type { @@ -203,8 +203,8 @@ func (o DocumentOutput) DataStoreId() pulumi.StringOutput { } // This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. -func (o DocumentOutput) DerivedStructData() pulumi.StringMapOutput { - return o.ApplyT(func(v *Document) pulumi.StringMapOutput { return v.DerivedStructData }).(pulumi.StringMapOutput) +func (o DocumentOutput) DerivedStructData() pulumi.MapOutput { + return o.ApplyT(func(v *Document) pulumi.MapOutput { return v.DerivedStructData }).(pulumi.MapOutput) } // Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. @@ -241,8 +241,8 @@ func (o DocumentOutput) SchemaId() pulumi.StringOutput { } // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. -func (o DocumentOutput) StructData() pulumi.StringMapOutput { - return o.ApplyT(func(v *Document) pulumi.StringMapOutput { return v.StructData }).(pulumi.StringMapOutput) +func (o DocumentOutput) StructData() pulumi.MapOutput { + return o.ApplyT(func(v *Document) pulumi.MapOutput { return v.StructData }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/discoveryengine/v1beta/getDocument.go b/sdk/go/google/discoveryengine/v1beta/getDocument.go index 10db2d4677..7a10b3e99e 100644 --- a/sdk/go/google/discoveryengine/v1beta/getDocument.go +++ b/sdk/go/google/discoveryengine/v1beta/getDocument.go @@ -35,7 +35,7 @@ type LookupDocumentResult struct { // The unstructured data linked to this document. Content must be set if this document is under a `CONTENT_REQUIRED` data store. Content GoogleCloudDiscoveryengineV1betaDocumentContentResponse `pulumi:"content"` // This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. - DerivedStructData map[string]string `pulumi:"derivedStructData"` + DerivedStructData map[string]interface{} `pulumi:"derivedStructData"` // The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. JsonData string `pulumi:"jsonData"` // Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. @@ -45,7 +45,7 @@ type LookupDocumentResult struct { // The identifier of the schema located in the same data store. SchemaId string `pulumi:"schemaId"` // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. - StructData map[string]string `pulumi:"structData"` + StructData map[string]interface{} `pulumi:"structData"` } func LookupDocumentOutput(ctx *pulumi.Context, args LookupDocumentOutputArgs, opts ...pulumi.InvokeOption) LookupDocumentResultOutput { @@ -94,8 +94,8 @@ func (o LookupDocumentResultOutput) Content() GoogleCloudDiscoveryengineV1betaDo } // This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. -func (o LookupDocumentResultOutput) DerivedStructData() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupDocumentResult) map[string]string { return v.DerivedStructData }).(pulumi.StringMapOutput) +func (o LookupDocumentResultOutput) DerivedStructData() pulumi.MapOutput { + return o.ApplyT(func(v LookupDocumentResult) map[string]interface{} { return v.DerivedStructData }).(pulumi.MapOutput) } // The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. @@ -119,8 +119,8 @@ func (o LookupDocumentResultOutput) SchemaId() pulumi.StringOutput { } // The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. -func (o LookupDocumentResultOutput) StructData() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupDocumentResult) map[string]string { return v.StructData }).(pulumi.StringMapOutput) +func (o LookupDocumentResultOutput) StructData() pulumi.MapOutput { + return o.ApplyT(func(v LookupDocumentResult) map[string]interface{} { return v.StructData }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/discoveryengine/v1beta/getSchema.go b/sdk/go/google/discoveryengine/v1beta/getSchema.go index b3c0618f80..378a50048b 100644 --- a/sdk/go/google/discoveryengine/v1beta/getSchema.go +++ b/sdk/go/google/discoveryengine/v1beta/getSchema.go @@ -36,7 +36,7 @@ type LookupSchemaResult struct { // Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Name string `pulumi:"name"` // The structured representation of the schema. - StructSchema map[string]string `pulumi:"structSchema"` + StructSchema map[string]interface{} `pulumi:"structSchema"` } func LookupSchemaOutput(ctx *pulumi.Context, args LookupSchemaOutputArgs, opts ...pulumi.InvokeOption) LookupSchemaResultOutput { @@ -89,8 +89,8 @@ func (o LookupSchemaResultOutput) Name() pulumi.StringOutput { } // The structured representation of the schema. -func (o LookupSchemaResultOutput) StructSchema() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupSchemaResult) map[string]string { return v.StructSchema }).(pulumi.StringMapOutput) +func (o LookupSchemaResultOutput) StructSchema() pulumi.MapOutput { + return o.ApplyT(func(v LookupSchemaResult) map[string]interface{} { return v.StructSchema }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/discoveryengine/v1beta/schema.go b/sdk/go/google/discoveryengine/v1beta/schema.go index a9f9efebca..3bb5786cea 100644 --- a/sdk/go/google/discoveryengine/v1beta/schema.go +++ b/sdk/go/google/discoveryengine/v1beta/schema.go @@ -27,7 +27,7 @@ type Schema struct { // Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. SchemaId pulumi.StringOutput `pulumi:"schemaId"` // The structured representation of the schema. - StructSchema pulumi.StringMapOutput `pulumi:"structSchema"` + StructSchema pulumi.MapOutput `pulumi:"structSchema"` } // NewSchema registers a new resource with the given unique name, arguments, and options. @@ -98,7 +98,7 @@ type schemaArgs struct { // Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. SchemaId string `pulumi:"schemaId"` // The structured representation of the schema. - StructSchema map[string]string `pulumi:"structSchema"` + StructSchema map[string]interface{} `pulumi:"structSchema"` } // The set of arguments for constructing a Schema resource. @@ -114,7 +114,7 @@ type SchemaArgs struct { // Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. SchemaId pulumi.StringInput // The structured representation of the schema. - StructSchema pulumi.StringMapInput + StructSchema pulumi.MapInput } func (SchemaArgs) ElementType() reflect.Type { @@ -186,8 +186,8 @@ func (o SchemaOutput) SchemaId() pulumi.StringOutput { } // The structured representation of the schema. -func (o SchemaOutput) StructSchema() pulumi.StringMapOutput { - return o.ApplyT(func(v *Schema) pulumi.StringMapOutput { return v.StructSchema }).(pulumi.StringMapOutput) +func (o SchemaOutput) StructSchema() pulumi.MapOutput { + return o.ApplyT(func(v *Schema) pulumi.MapOutput { return v.StructSchema }).(pulumi.MapOutput) } func init() { diff --git a/sdk/go/google/dlp/v2/pulumiTypes.go b/sdk/go/google/dlp/v2/pulumiTypes.go index d3662b2361..e67f0bcd28 100644 --- a/sdk/go/google/dlp/v2/pulumiTypes.go +++ b/sdk/go/google/dlp/v2/pulumiTypes.go @@ -27542,7 +27542,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -27568,8 +27568,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/eventarc/v1/getTrigger.go b/sdk/go/google/eventarc/v1/getTrigger.go index d86dfdaa45..73a2daac00 100644 --- a/sdk/go/google/eventarc/v1/getTrigger.go +++ b/sdk/go/google/eventarc/v1/getTrigger.go @@ -32,7 +32,7 @@ type LookupTriggerResult struct { // Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. Channel string `pulumi:"channel"` // The reason(s) why a trigger is in FAILED state. - Conditions map[string]string `pulumi:"conditions"` + Conditions map[string]StateConditionResponse `pulumi:"conditions"` // The creation time. CreateTime string `pulumi:"createTime"` // Destination specifies where the events should be sent to. @@ -100,8 +100,8 @@ func (o LookupTriggerResultOutput) Channel() pulumi.StringOutput { } // The reason(s) why a trigger is in FAILED state. -func (o LookupTriggerResultOutput) Conditions() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupTriggerResult) map[string]string { return v.Conditions }).(pulumi.StringMapOutput) +func (o LookupTriggerResultOutput) Conditions() StateConditionResponseMapOutput { + return o.ApplyT(func(v LookupTriggerResult) map[string]StateConditionResponse { return v.Conditions }).(StateConditionResponseMapOutput) } // The creation time. diff --git a/sdk/go/google/eventarc/v1/pulumiTypes.go b/sdk/go/google/eventarc/v1/pulumiTypes.go index 74385dcf48..2e1558f8d4 100644 --- a/sdk/go/google/eventarc/v1/pulumiTypes.go +++ b/sdk/go/google/eventarc/v1/pulumiTypes.go @@ -2091,6 +2091,59 @@ func (o PubsubResponseOutput) Topic() pulumi.StringOutput { return o.ApplyT(func(v PubsubResponse) string { return v.Topic }).(pulumi.StringOutput) } +// A condition that is part of the trigger state computation. +type StateConditionResponse struct { + // The canonical code of the condition. + Code string `pulumi:"code"` + // Human-readable message. + Message string `pulumi:"message"` +} + +// A condition that is part of the trigger state computation. +type StateConditionResponseOutput struct{ *pulumi.OutputState } + +func (StateConditionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StateConditionResponse)(nil)).Elem() +} + +func (o StateConditionResponseOutput) ToStateConditionResponseOutput() StateConditionResponseOutput { + return o +} + +func (o StateConditionResponseOutput) ToStateConditionResponseOutputWithContext(ctx context.Context) StateConditionResponseOutput { + return o +} + +// The canonical code of the condition. +func (o StateConditionResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v StateConditionResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// Human-readable message. +func (o StateConditionResponseOutput) Message() pulumi.StringOutput { + return o.ApplyT(func(v StateConditionResponse) string { return v.Message }).(pulumi.StringOutput) +} + +type StateConditionResponseMapOutput struct{ *pulumi.OutputState } + +func (StateConditionResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]StateConditionResponse)(nil)).Elem() +} + +func (o StateConditionResponseMapOutput) ToStateConditionResponseMapOutput() StateConditionResponseMapOutput { + return o +} + +func (o StateConditionResponseMapOutput) ToStateConditionResponseMapOutputWithContext(ctx context.Context) StateConditionResponseMapOutput { + return o +} + +func (o StateConditionResponseMapOutput) MapIndex(k pulumi.StringInput) StateConditionResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) StateConditionResponse { + return vs[0].(map[string]StateConditionResponse)[vs[1].(string)] + }).(StateConditionResponseOutput) +} + // Represents the transport intermediaries created for the trigger to deliver events. type Transport struct { // The Pub/Sub topic and subscription used by Eventarc as a transport intermediary. @@ -2317,6 +2370,8 @@ func init() { pulumi.RegisterOutputType(PubsubOutput{}) pulumi.RegisterOutputType(PubsubPtrOutput{}) pulumi.RegisterOutputType(PubsubResponseOutput{}) + pulumi.RegisterOutputType(StateConditionResponseOutput{}) + pulumi.RegisterOutputType(StateConditionResponseMapOutput{}) pulumi.RegisterOutputType(TransportOutput{}) pulumi.RegisterOutputType(TransportPtrOutput{}) pulumi.RegisterOutputType(TransportResponseOutput{}) diff --git a/sdk/go/google/eventarc/v1/trigger.go b/sdk/go/google/eventarc/v1/trigger.go index d5a55ffff8..fb7b802f1e 100644 --- a/sdk/go/google/eventarc/v1/trigger.go +++ b/sdk/go/google/eventarc/v1/trigger.go @@ -19,7 +19,7 @@ type Trigger struct { // Optional. The name of the channel associated with the trigger in `projects/{project}/locations/{location}/channels/{channel}` format. You must provide a channel to receive events from Eventarc SaaS partners. Channel pulumi.StringOutput `pulumi:"channel"` // The reason(s) why a trigger is in FAILED state. - Conditions pulumi.StringMapOutput `pulumi:"conditions"` + Conditions StateConditionResponseMapOutput `pulumi:"conditions"` // The creation time. CreateTime pulumi.StringOutput `pulumi:"createTime"` // Destination specifies where the events should be sent to. @@ -192,8 +192,8 @@ func (o TriggerOutput) Channel() pulumi.StringOutput { } // The reason(s) why a trigger is in FAILED state. -func (o TriggerOutput) Conditions() pulumi.StringMapOutput { - return o.ApplyT(func(v *Trigger) pulumi.StringMapOutput { return v.Conditions }).(pulumi.StringMapOutput) +func (o TriggerOutput) Conditions() StateConditionResponseMapOutput { + return o.ApplyT(func(v *Trigger) StateConditionResponseMapOutput { return v.Conditions }).(StateConditionResponseMapOutput) } // The creation time. diff --git a/sdk/go/google/firebasehosting/v1beta1/pulumiTypes.go b/sdk/go/google/firebasehosting/v1beta1/pulumiTypes.go index 5f8bc82ca0..e3d95dc891 100644 --- a/sdk/go/google/firebasehosting/v1beta1/pulumiTypes.go +++ b/sdk/go/google/firebasehosting/v1beta1/pulumiTypes.go @@ -2080,7 +2080,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -2106,8 +2106,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/firebaseml/v1beta2/pulumiTypes.go b/sdk/go/google/firebaseml/v1beta2/pulumiTypes.go index 061c861af1..37307b0849 100644 --- a/sdk/go/google/firebaseml/v1beta2/pulumiTypes.go +++ b/sdk/go/google/firebaseml/v1beta2/pulumiTypes.go @@ -193,11 +193,11 @@ type OperationResponse struct { // The error result of the operation in case of failure or cancellation. Error StatusResponse `pulumi:"error"` // Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. - Metadata map[string]string `pulumi:"metadata"` + Metadata map[string]interface{} `pulumi:"metadata"` // The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. Name string `pulumi:"name"` // The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. - Response map[string]string `pulumi:"response"` + Response map[string]interface{} `pulumi:"response"` } // This resource represents a long-running operation that is the result of a network API call. @@ -226,8 +226,8 @@ func (o OperationResponseOutput) Error() StatusResponseOutput { } // Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. -func (o OperationResponseOutput) Metadata() pulumi.StringMapOutput { - return o.ApplyT(func(v OperationResponse) map[string]string { return v.Metadata }).(pulumi.StringMapOutput) +func (o OperationResponseOutput) Metadata() pulumi.MapOutput { + return o.ApplyT(func(v OperationResponse) map[string]interface{} { return v.Metadata }).(pulumi.MapOutput) } // The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. @@ -236,8 +236,8 @@ func (o OperationResponseOutput) Name() pulumi.StringOutput { } // The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. -func (o OperationResponseOutput) Response() pulumi.StringMapOutput { - return o.ApplyT(func(v OperationResponse) map[string]string { return v.Response }).(pulumi.StringMapOutput) +func (o OperationResponseOutput) Response() pulumi.MapOutput { + return o.ApplyT(func(v OperationResponse) map[string]interface{} { return v.Response }).(pulumi.MapOutput) } type OperationResponseArrayOutput struct{ *pulumi.OutputState } @@ -265,7 +265,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -291,8 +291,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/gkehub/v1/feature.go b/sdk/go/google/gkehub/v1/feature.go index 3bce9b0625..fc7a284bba 100644 --- a/sdk/go/google/gkehub/v1/feature.go +++ b/sdk/go/google/gkehub/v1/feature.go @@ -28,9 +28,9 @@ type Feature struct { Labels pulumi.StringMapOutput `pulumi:"labels"` Location pulumi.StringOutput `pulumi:"location"` // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs pulumi.StringMapOutput `pulumi:"membershipSpecs"` + MembershipSpecs MembershipFeatureSpecResponseMapOutput `pulumi:"membershipSpecs"` // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. - MembershipStates pulumi.StringMapOutput `pulumi:"membershipStates"` + MembershipStates MembershipFeatureStateResponseMapOutput `pulumi:"membershipStates"` // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` @@ -39,9 +39,9 @@ type Feature struct { // State of the Feature resource itself. ResourceState FeatureResourceStateResponseOutput `pulumi:"resourceState"` // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs pulumi.StringMapOutput `pulumi:"scopeSpecs"` + ScopeSpecs ScopeFeatureSpecResponseMapOutput `pulumi:"scopeSpecs"` // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. - ScopeStates pulumi.StringMapOutput `pulumi:"scopeStates"` + ScopeStates ScopeFeatureStateResponseMapOutput `pulumi:"scopeStates"` // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec CommonFeatureSpecResponseOutput `pulumi:"spec"` // The Hub-wide Feature state. @@ -103,12 +103,12 @@ type featureArgs struct { Labels map[string]string `pulumi:"labels"` Location *string `pulumi:"location"` // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs map[string]string `pulumi:"membershipSpecs"` - Project *string `pulumi:"project"` + MembershipSpecs map[string]MembershipFeatureSpec `pulumi:"membershipSpecs"` + Project *string `pulumi:"project"` // A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). RequestId *string `pulumi:"requestId"` // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs map[string]string `pulumi:"scopeSpecs"` + ScopeSpecs map[string]ScopeFeatureSpec `pulumi:"scopeSpecs"` // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec *CommonFeatureSpec `pulumi:"spec"` } @@ -123,12 +123,12 @@ type FeatureArgs struct { Labels pulumi.StringMapInput Location pulumi.StringPtrInput // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs pulumi.StringMapInput + MembershipSpecs MembershipFeatureSpecMapInput Project pulumi.StringPtrInput // A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrInput // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs pulumi.StringMapInput + ScopeSpecs ScopeFeatureSpecMapInput // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec CommonFeatureSpecPtrInput } @@ -200,13 +200,13 @@ func (o FeatureOutput) Location() pulumi.StringOutput { } // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o FeatureOutput) MembershipSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.MembershipSpecs }).(pulumi.StringMapOutput) +func (o FeatureOutput) MembershipSpecs() MembershipFeatureSpecResponseMapOutput { + return o.ApplyT(func(v *Feature) MembershipFeatureSpecResponseMapOutput { return v.MembershipSpecs }).(MembershipFeatureSpecResponseMapOutput) } // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. -func (o FeatureOutput) MembershipStates() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.MembershipStates }).(pulumi.StringMapOutput) +func (o FeatureOutput) MembershipStates() MembershipFeatureStateResponseMapOutput { + return o.ApplyT(func(v *Feature) MembershipFeatureStateResponseMapOutput { return v.MembershipStates }).(MembershipFeatureStateResponseMapOutput) } // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. @@ -229,13 +229,13 @@ func (o FeatureOutput) ResourceState() FeatureResourceStateResponseOutput { } // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o FeatureOutput) ScopeSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.ScopeSpecs }).(pulumi.StringMapOutput) +func (o FeatureOutput) ScopeSpecs() ScopeFeatureSpecResponseMapOutput { + return o.ApplyT(func(v *Feature) ScopeFeatureSpecResponseMapOutput { return v.ScopeSpecs }).(ScopeFeatureSpecResponseMapOutput) } // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. -func (o FeatureOutput) ScopeStates() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.ScopeStates }).(pulumi.StringMapOutput) +func (o FeatureOutput) ScopeStates() ScopeFeatureStateResponseMapOutput { + return o.ApplyT(func(v *Feature) ScopeFeatureStateResponseMapOutput { return v.ScopeStates }).(ScopeFeatureStateResponseMapOutput) } // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. diff --git a/sdk/go/google/gkehub/v1/getFeature.go b/sdk/go/google/gkehub/v1/getFeature.go index 0ec3e00898..06aaff36b0 100644 --- a/sdk/go/google/gkehub/v1/getFeature.go +++ b/sdk/go/google/gkehub/v1/getFeature.go @@ -38,17 +38,17 @@ type LookupFeatureResult struct { // Labels for this Feature. Labels map[string]string `pulumi:"labels"` // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs map[string]string `pulumi:"membershipSpecs"` + MembershipSpecs map[string]MembershipFeatureSpecResponse `pulumi:"membershipSpecs"` // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. - MembershipStates map[string]string `pulumi:"membershipStates"` + MembershipStates map[string]MembershipFeatureStateResponse `pulumi:"membershipStates"` // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. Name string `pulumi:"name"` // State of the Feature resource itself. ResourceState FeatureResourceStateResponse `pulumi:"resourceState"` // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs map[string]string `pulumi:"scopeSpecs"` + ScopeSpecs map[string]ScopeFeatureSpecResponse `pulumi:"scopeSpecs"` // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. - ScopeStates map[string]string `pulumi:"scopeStates"` + ScopeStates map[string]ScopeFeatureStateResponse `pulumi:"scopeStates"` // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec CommonFeatureSpecResponse `pulumi:"spec"` // The Hub-wide Feature state. @@ -117,13 +117,13 @@ func (o LookupFeatureResultOutput) Labels() pulumi.StringMapOutput { } // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o LookupFeatureResultOutput) MembershipSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.MembershipSpecs }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) MembershipSpecs() MembershipFeatureSpecResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]MembershipFeatureSpecResponse { return v.MembershipSpecs }).(MembershipFeatureSpecResponseMapOutput) } // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. -func (o LookupFeatureResultOutput) MembershipStates() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.MembershipStates }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) MembershipStates() MembershipFeatureStateResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]MembershipFeatureStateResponse { return v.MembershipStates }).(MembershipFeatureStateResponseMapOutput) } // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. @@ -137,13 +137,13 @@ func (o LookupFeatureResultOutput) ResourceState() FeatureResourceStateResponseO } // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o LookupFeatureResultOutput) ScopeSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.ScopeSpecs }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) ScopeSpecs() ScopeFeatureSpecResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]ScopeFeatureSpecResponse { return v.ScopeSpecs }).(ScopeFeatureSpecResponseMapOutput) } // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. -func (o LookupFeatureResultOutput) ScopeStates() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.ScopeStates }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) ScopeStates() ScopeFeatureStateResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]ScopeFeatureStateResponse { return v.ScopeStates }).(ScopeFeatureStateResponseMapOutput) } // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. diff --git a/sdk/go/google/gkehub/v1/pulumiEnums.go b/sdk/go/google/gkehub/v1/pulumiEnums.go index d1c7d5ccc9..522501e408 100644 --- a/sdk/go/google/gkehub/v1/pulumiEnums.go +++ b/sdk/go/google/gkehub/v1/pulumiEnums.go @@ -918,6 +918,180 @@ func (in *onPremClusterClusterTypePtr) ToOnPremClusterClusterTypePtrOutputWithCo return pulumi.ToOutputWithContext(ctx, in).(OnPremClusterClusterTypePtrOutput) } +// Type specifies which type of origin is set. +type OriginType string + +const ( + // Type is unknown or not set. + OriginTypeTypeUnspecified = OriginType("TYPE_UNSPECIFIED") + // Per-Membership spec was inherited from the fleet-level default. + OriginTypeFleet = OriginType("FLEET") + // Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + OriginTypeFleetOutOfSync = OriginType("FLEET_OUT_OF_SYNC") + // Per-Membership spec was inherited from a user specification. + OriginTypeUser = OriginType("USER") +) + +func (OriginType) ElementType() reflect.Type { + return reflect.TypeOf((*OriginType)(nil)).Elem() +} + +func (e OriginType) ToOriginTypeOutput() OriginTypeOutput { + return pulumi.ToOutput(e).(OriginTypeOutput) +} + +func (e OriginType) ToOriginTypeOutputWithContext(ctx context.Context) OriginTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(OriginTypeOutput) +} + +func (e OriginType) ToOriginTypePtrOutput() OriginTypePtrOutput { + return e.ToOriginTypePtrOutputWithContext(context.Background()) +} + +func (e OriginType) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return OriginType(e).ToOriginTypeOutputWithContext(ctx).ToOriginTypePtrOutputWithContext(ctx) +} + +func (e OriginType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e OriginType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e OriginType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e OriginType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type OriginTypeOutput struct{ *pulumi.OutputState } + +func (OriginTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OriginType)(nil)).Elem() +} + +func (o OriginTypeOutput) ToOriginTypeOutput() OriginTypeOutput { + return o +} + +func (o OriginTypeOutput) ToOriginTypeOutputWithContext(ctx context.Context) OriginTypeOutput { + return o +} + +func (o OriginTypeOutput) ToOriginTypePtrOutput() OriginTypePtrOutput { + return o.ToOriginTypePtrOutputWithContext(context.Background()) +} + +func (o OriginTypeOutput) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OriginType) *OriginType { + return &v + }).(OriginTypePtrOutput) +} + +func (o OriginTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o OriginTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e OriginType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o OriginTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o OriginTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e OriginType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type OriginTypePtrOutput struct{ *pulumi.OutputState } + +func (OriginTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OriginType)(nil)).Elem() +} + +func (o OriginTypePtrOutput) ToOriginTypePtrOutput() OriginTypePtrOutput { + return o +} + +func (o OriginTypePtrOutput) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return o +} + +func (o OriginTypePtrOutput) Elem() OriginTypeOutput { + return o.ApplyT(func(v *OriginType) OriginType { + if v != nil { + return *v + } + var ret OriginType + return ret + }).(OriginTypeOutput) +} + +func (o OriginTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o OriginTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *OriginType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// OriginTypeInput is an input type that accepts values of the OriginType enum +// A concrete instance of `OriginTypeInput` can be one of the following: +// +// OriginTypeTypeUnspecified +// OriginTypeFleet +// OriginTypeFleetOutOfSync +// OriginTypeUser +type OriginTypeInput interface { + pulumi.Input + + ToOriginTypeOutput() OriginTypeOutput + ToOriginTypeOutputWithContext(context.Context) OriginTypeOutput +} + +var originTypePtrType = reflect.TypeOf((**OriginType)(nil)).Elem() + +type OriginTypePtrInput interface { + pulumi.Input + + ToOriginTypePtrOutput() OriginTypePtrOutput + ToOriginTypePtrOutputWithContext(context.Context) OriginTypePtrOutput +} + +type originTypePtr string + +func OriginTypePtr(v string) OriginTypePtrInput { + return (*originTypePtr)(&v) +} + +func (*originTypePtr) ElementType() reflect.Type { + return originTypePtrType +} + +func (in *originTypePtr) ToOriginTypePtrOutput() OriginTypePtrOutput { + return pulumi.ToOutput(in).(OriginTypePtrOutput) +} + +func (in *originTypePtr) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(OriginTypePtrOutput) +} + // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. type PolicyControllerHubConfigInstallSpec string @@ -1310,6 +1484,177 @@ func (o PolicyControllerMonitoringConfigBackendsItemArrayOutput) Index(i pulumi. }).(PolicyControllerMonitoringConfigBackendsItemOutput) } +// Pod affinity configuration. +type PolicyControllerPolicyControllerDeploymentConfigPodAffinity string + +const ( + // No affinity configuration has been specified. + PolicyControllerPolicyControllerDeploymentConfigPodAffinityAffinityUnspecified = PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED") + // Affinity configurations will be removed from the deployment. + PolicyControllerPolicyControllerDeploymentConfigPodAffinityNoAffinity = PolicyControllerPolicyControllerDeploymentConfigPodAffinity("NO_AFFINITY") + // Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + PolicyControllerPolicyControllerDeploymentConfigPodAffinityAntiAffinity = PolicyControllerPolicyControllerDeploymentConfigPodAffinity("ANTI_AFFINITY") +) + +func (PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return pulumi.ToOutput(e).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return pulumi.ToOutputWithContext(ctx, e).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return e.ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(context.Background()) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return PolicyControllerPolicyControllerDeploymentConfigPodAffinity(e).ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(ctx).ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o.ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerPolicyControllerDeploymentConfigPodAffinity) *PolicyControllerPolicyControllerDeploymentConfigPodAffinity { + return &v + }).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) Elem() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return o.ApplyT(func(v *PolicyControllerPolicyControllerDeploymentConfigPodAffinity) PolicyControllerPolicyControllerDeploymentConfigPodAffinity { + if v != nil { + return *v + } + var ret PolicyControllerPolicyControllerDeploymentConfigPodAffinity + return ret + }).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *PolicyControllerPolicyControllerDeploymentConfigPodAffinity) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput is an input type that accepts values of the PolicyControllerPolicyControllerDeploymentConfigPodAffinity enum +// A concrete instance of `PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput` can be one of the following: +// +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityAffinityUnspecified +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityNoAffinity +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityAntiAffinity +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput interface { + pulumi.Input + + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput +} + +var policyControllerPolicyControllerDeploymentConfigPodAffinityPtrType = reflect.TypeOf((**PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() + +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput interface { + pulumi.Input + + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput +} + +type policyControllerPolicyControllerDeploymentConfigPodAffinityPtr string + +func PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtr(v string) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput { + return (*policyControllerPolicyControllerDeploymentConfigPodAffinityPtr)(&v) +} + +func (*policyControllerPolicyControllerDeploymentConfigPodAffinityPtr) ElementType() reflect.Type { + return policyControllerPolicyControllerDeploymentConfigPodAffinityPtrType +} + +func (in *policyControllerPolicyControllerDeploymentConfigPodAffinityPtr) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return pulumi.ToOutput(in).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + +func (in *policyControllerPolicyControllerDeploymentConfigPodAffinityPtr) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + // Configures the manner in which the template library is installed on the cluster. type PolicyControllerTemplateLibraryConfigInstallation string @@ -2357,11 +2702,15 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityRoutingConfigModePtrInput)(nil)).Elem(), FleetObservabilityRoutingConfigMode("MODE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterClusterTypeInput)(nil)).Elem(), OnPremClusterClusterType("CLUSTERTYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterClusterTypePtrInput)(nil)).Elem(), OnPremClusterClusterType("CLUSTERTYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*OriginTypeInput)(nil)).Elem(), OriginType("TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*OriginTypePtrInput)(nil)).Elem(), OriginType("TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigInstallSpecInput)(nil)).Elem(), PolicyControllerHubConfigInstallSpec("INSTALL_SPEC_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigInstallSpecPtrInput)(nil)).Elem(), PolicyControllerHubConfigInstallSpec("INSTALL_SPEC_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigBackendsItemInput)(nil)).Elem(), PolicyControllerMonitoringConfigBackendsItem("MONITORING_BACKEND_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigBackendsItemPtrInput)(nil)).Elem(), PolicyControllerMonitoringConfigBackendsItem("MONITORING_BACKEND_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigBackendsItemArrayInput)(nil)).Elem(), PolicyControllerMonitoringConfigBackendsItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigInstallationInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigInstallation("INSTALLATION_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigInstallationPtrInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigInstallation("INSTALLATION_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*RolePredefinedRoleInput)(nil)).Elem(), RolePredefinedRole("UNKNOWN")) @@ -2385,11 +2734,15 @@ func init() { pulumi.RegisterOutputType(FleetObservabilityRoutingConfigModePtrOutput{}) pulumi.RegisterOutputType(OnPremClusterClusterTypeOutput{}) pulumi.RegisterOutputType(OnPremClusterClusterTypePtrOutput{}) + pulumi.RegisterOutputType(OriginTypeOutput{}) + pulumi.RegisterOutputType(OriginTypePtrOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigInstallSpecOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigInstallSpecPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigBackendsItemOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigBackendsItemPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigBackendsItemArrayOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigInstallationOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigInstallationPtrOutput{}) pulumi.RegisterOutputType(RolePredefinedRoleOutput{}) diff --git a/sdk/go/google/gkehub/v1/pulumiTypes.go b/sdk/go/google/gkehub/v1/pulumiTypes.go index 2c6225c77a..9d1d8de7c0 100644 --- a/sdk/go/google/gkehub/v1/pulumiTypes.go +++ b/sdk/go/google/gkehub/v1/pulumiTypes.go @@ -1472,7 +1472,7 @@ type ClusterUpgradeFleetStateResponse struct { // Feature state for GKE clusters. GkeState ClusterUpgradeGKEUpgradeFeatureStateResponse `pulumi:"gkeState"` // A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. - Ignored map[string]string `pulumi:"ignored"` + Ignored map[string]ClusterUpgradeIgnoredMembershipResponse `pulumi:"ignored"` } // **ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature. @@ -1503,8 +1503,10 @@ func (o ClusterUpgradeFleetStateResponseOutput) GkeState() ClusterUpgradeGKEUpgr } // A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. -func (o ClusterUpgradeFleetStateResponseOutput) Ignored() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterUpgradeFleetStateResponse) map[string]string { return v.Ignored }).(pulumi.StringMapOutput) +func (o ClusterUpgradeFleetStateResponseOutput) Ignored() ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o.ApplyT(func(v ClusterUpgradeFleetStateResponse) map[string]ClusterUpgradeIgnoredMembershipResponse { + return v.Ignored + }).(ClusterUpgradeIgnoredMembershipResponseMapOutput) } // GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade. @@ -1932,6 +1934,167 @@ func (o ClusterUpgradeGKEUpgradeStateResponseArrayOutput) Index(i pulumi.IntInpu }).(ClusterUpgradeGKEUpgradeStateResponseOutput) } +// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. +type ClusterUpgradeIgnoredMembershipResponse struct { + // Time when the membership was first set to ignored. + IgnoredTime string `pulumi:"ignoredTime"` + // Reason why the membership is ignored. + Reason string `pulumi:"reason"` +} + +// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. +type ClusterUpgradeIgnoredMembershipResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeIgnoredMembershipResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeIgnoredMembershipResponse)(nil)).Elem() +} + +func (o ClusterUpgradeIgnoredMembershipResponseOutput) ToClusterUpgradeIgnoredMembershipResponseOutput() ClusterUpgradeIgnoredMembershipResponseOutput { + return o +} + +func (o ClusterUpgradeIgnoredMembershipResponseOutput) ToClusterUpgradeIgnoredMembershipResponseOutputWithContext(ctx context.Context) ClusterUpgradeIgnoredMembershipResponseOutput { + return o +} + +// Time when the membership was first set to ignored. +func (o ClusterUpgradeIgnoredMembershipResponseOutput) IgnoredTime() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeIgnoredMembershipResponse) string { return v.IgnoredTime }).(pulumi.StringOutput) +} + +// Reason why the membership is ignored. +func (o ClusterUpgradeIgnoredMembershipResponseOutput) Reason() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeIgnoredMembershipResponse) string { return v.Reason }).(pulumi.StringOutput) +} + +type ClusterUpgradeIgnoredMembershipResponseMapOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeIgnoredMembershipResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ClusterUpgradeIgnoredMembershipResponse)(nil)).Elem() +} + +func (o ClusterUpgradeIgnoredMembershipResponseMapOutput) ToClusterUpgradeIgnoredMembershipResponseMapOutput() ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o +} + +func (o ClusterUpgradeIgnoredMembershipResponseMapOutput) ToClusterUpgradeIgnoredMembershipResponseMapOutputWithContext(ctx context.Context) ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o +} + +func (o ClusterUpgradeIgnoredMembershipResponseMapOutput) MapIndex(k pulumi.StringInput) ClusterUpgradeIgnoredMembershipResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ClusterUpgradeIgnoredMembershipResponse { + return vs[0].(map[string]ClusterUpgradeIgnoredMembershipResponse)[vs[1].(string)] + }).(ClusterUpgradeIgnoredMembershipResponseOutput) +} + +// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. +type ClusterUpgradeMembershipGKEUpgradeStateResponse struct { + // Status of the upgrade. + Status ClusterUpgradeUpgradeStatusResponse `pulumi:"status"` + // Which upgrade to track the state. + Upgrade ClusterUpgradeGKEUpgradeResponse `pulumi:"upgrade"` +} + +// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. +type ClusterUpgradeMembershipGKEUpgradeStateResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeMembershipGKEUpgradeStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseOutput() ClusterUpgradeMembershipGKEUpgradeStateResponseOutput { + return o +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseOutputWithContext(ctx context.Context) ClusterUpgradeMembershipGKEUpgradeStateResponseOutput { + return o +} + +// Status of the upgrade. +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) Status() ClusterUpgradeUpgradeStatusResponseOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipGKEUpgradeStateResponse) ClusterUpgradeUpgradeStatusResponse { + return v.Status + }).(ClusterUpgradeUpgradeStatusResponseOutput) +} + +// Which upgrade to track the state. +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) Upgrade() ClusterUpgradeGKEUpgradeResponseOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipGKEUpgradeStateResponse) ClusterUpgradeGKEUpgradeResponse { + return v.Upgrade + }).(ClusterUpgradeGKEUpgradeResponseOutput) +} + +type ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterUpgradeMembershipGKEUpgradeStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput() ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput { + return o +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutputWithContext(ctx context.Context) ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput { + return o +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) Index(i pulumi.IntInput) ClusterUpgradeMembershipGKEUpgradeStateResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterUpgradeMembershipGKEUpgradeStateResponse { + return vs[0].([]ClusterUpgradeMembershipGKEUpgradeStateResponse)[vs[1].(int)] + }).(ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) +} + +// Per-membership state for this feature. +type ClusterUpgradeMembershipStateResponse struct { + // Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + Fleet string `pulumi:"fleet"` + // Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + Ignored ClusterUpgradeIgnoredMembershipResponse `pulumi:"ignored"` + // Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + Scopes []string `pulumi:"scopes"` + // Actual upgrade state against desired. + Upgrades []ClusterUpgradeMembershipGKEUpgradeStateResponse `pulumi:"upgrades"` +} + +// Per-membership state for this feature. +type ClusterUpgradeMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeMembershipStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeMembershipStateResponseOutput) ToClusterUpgradeMembershipStateResponseOutput() ClusterUpgradeMembershipStateResponseOutput { + return o +} + +func (o ClusterUpgradeMembershipStateResponseOutput) ToClusterUpgradeMembershipStateResponseOutputWithContext(ctx context.Context) ClusterUpgradeMembershipStateResponseOutput { + return o +} + +// Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. +func (o ClusterUpgradeMembershipStateResponseOutput) Fleet() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) string { return v.Fleet }).(pulumi.StringOutput) +} + +// Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. +func (o ClusterUpgradeMembershipStateResponseOutput) Ignored() ClusterUpgradeIgnoredMembershipResponseOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) ClusterUpgradeIgnoredMembershipResponse { + return v.Ignored + }).(ClusterUpgradeIgnoredMembershipResponseOutput) +} + +// Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. +func (o ClusterUpgradeMembershipStateResponseOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) []string { return v.Scopes }).(pulumi.StringArrayOutput) +} + +// Actual upgrade state against desired. +func (o ClusterUpgradeMembershipStateResponseOutput) Upgrades() ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) []ClusterUpgradeMembershipGKEUpgradeStateResponse { + return v.Upgrades + }).(ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) +} + // Post conditional checks after an upgrade has been applied on all eligible clusters. type ClusterUpgradePostConditions struct { // Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days. Required. @@ -2941,6 +3104,120 @@ func (o ConfigManagementConfigSyncPtrOutput) SourceFormat() pulumi.StringPtrOutp }).(pulumi.StringPtrOutput) } +// The state of ConfigSync's deployment on a cluster +type ConfigManagementConfigSyncDeploymentStateResponse struct { + // Deployment state of admission-webhook + AdmissionWebhook string `pulumi:"admissionWebhook"` + // Deployment state of the git-sync pod + GitSync string `pulumi:"gitSync"` + // Deployment state of the importer pod + Importer string `pulumi:"importer"` + // Deployment state of the monitor pod + Monitor string `pulumi:"monitor"` + // Deployment state of reconciler-manager pod + ReconcilerManager string `pulumi:"reconcilerManager"` + // Deployment state of root-reconciler + RootReconciler string `pulumi:"rootReconciler"` + // Deployment state of the syncer pod + Syncer string `pulumi:"syncer"` +} + +// The state of ConfigSync's deployment on a cluster +type ConfigManagementConfigSyncDeploymentStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncDeploymentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncDeploymentStateResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) ToConfigManagementConfigSyncDeploymentStateResponseOutput() ConfigManagementConfigSyncDeploymentStateResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) ToConfigManagementConfigSyncDeploymentStateResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncDeploymentStateResponseOutput { + return o +} + +// Deployment state of admission-webhook +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) AdmissionWebhook() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.AdmissionWebhook }).(pulumi.StringOutput) +} + +// Deployment state of the git-sync pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) GitSync() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.GitSync }).(pulumi.StringOutput) +} + +// Deployment state of the importer pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) Importer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.Importer }).(pulumi.StringOutput) +} + +// Deployment state of the monitor pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) Monitor() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.Monitor }).(pulumi.StringOutput) +} + +// Deployment state of reconciler-manager pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) ReconcilerManager() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.ReconcilerManager }).(pulumi.StringOutput) +} + +// Deployment state of root-reconciler +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) RootReconciler() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.RootReconciler }).(pulumi.StringOutput) +} + +// Deployment state of the syncer pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) Syncer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.Syncer }).(pulumi.StringOutput) +} + +// Errors pertaining to the installation of Config Sync +type ConfigManagementConfigSyncErrorResponse struct { + // A string representing the user facing error message + ErrorMessage string `pulumi:"errorMessage"` +} + +// Errors pertaining to the installation of Config Sync +type ConfigManagementConfigSyncErrorResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncErrorResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncErrorResponseOutput) ToConfigManagementConfigSyncErrorResponseOutput() ConfigManagementConfigSyncErrorResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncErrorResponseOutput) ToConfigManagementConfigSyncErrorResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncErrorResponseOutput { + return o +} + +// A string representing the user facing error message +func (o ConfigManagementConfigSyncErrorResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncErrorResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +type ConfigManagementConfigSyncErrorResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncErrorResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementConfigSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncErrorResponseArrayOutput) ToConfigManagementConfigSyncErrorResponseArrayOutput() ConfigManagementConfigSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementConfigSyncErrorResponseArrayOutput) ToConfigManagementConfigSyncErrorResponseArrayOutputWithContext(ctx context.Context) ConfigManagementConfigSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementConfigSyncErrorResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementConfigSyncErrorResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementConfigSyncErrorResponse { + return vs[0].([]ConfigManagementConfigSyncErrorResponse)[vs[1].(int)] + }).(ConfigManagementConfigSyncErrorResponseOutput) +} + // Configuration for Config Sync type ConfigManagementConfigSyncResponse struct { // Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. @@ -3013,6 +3290,238 @@ func (o ConfigManagementConfigSyncResponseOutput) SourceFormat() pulumi.StringOu return o.ApplyT(func(v ConfigManagementConfigSyncResponse) string { return v.SourceFormat }).(pulumi.StringOutput) } +// State information for ConfigSync +type ConfigManagementConfigSyncStateResponse struct { + // Information about the deployment of ConfigSync, including the version of the various Pods deployed + DeploymentState ConfigManagementConfigSyncDeploymentStateResponse `pulumi:"deploymentState"` + // Errors pertaining to the installation of Config Sync. + Errors []ConfigManagementConfigSyncErrorResponse `pulumi:"errors"` + // The state of ConfigSync's process to sync configs to a cluster + SyncState ConfigManagementSyncStateResponse `pulumi:"syncState"` + // The version of ConfigSync deployed + Version ConfigManagementConfigSyncVersionResponse `pulumi:"version"` +} + +// State information for ConfigSync +type ConfigManagementConfigSyncStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncStateResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncStateResponseOutput) ToConfigManagementConfigSyncStateResponseOutput() ConfigManagementConfigSyncStateResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncStateResponseOutput) ToConfigManagementConfigSyncStateResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncStateResponseOutput { + return o +} + +// Information about the deployment of ConfigSync, including the version of the various Pods deployed +func (o ConfigManagementConfigSyncStateResponseOutput) DeploymentState() ConfigManagementConfigSyncDeploymentStateResponseOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) ConfigManagementConfigSyncDeploymentStateResponse { + return v.DeploymentState + }).(ConfigManagementConfigSyncDeploymentStateResponseOutput) +} + +// Errors pertaining to the installation of Config Sync. +func (o ConfigManagementConfigSyncStateResponseOutput) Errors() ConfigManagementConfigSyncErrorResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) []ConfigManagementConfigSyncErrorResponse { + return v.Errors + }).(ConfigManagementConfigSyncErrorResponseArrayOutput) +} + +// The state of ConfigSync's process to sync configs to a cluster +func (o ConfigManagementConfigSyncStateResponseOutput) SyncState() ConfigManagementSyncStateResponseOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) ConfigManagementSyncStateResponse { return v.SyncState }).(ConfigManagementSyncStateResponseOutput) +} + +// The version of ConfigSync deployed +func (o ConfigManagementConfigSyncStateResponseOutput) Version() ConfigManagementConfigSyncVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) ConfigManagementConfigSyncVersionResponse { + return v.Version + }).(ConfigManagementConfigSyncVersionResponseOutput) +} + +// Specific versioning information pertaining to ConfigSync's Pods +type ConfigManagementConfigSyncVersionResponse struct { + // Version of the deployed admission_webhook pod + AdmissionWebhook string `pulumi:"admissionWebhook"` + // Version of the deployed git-sync pod + GitSync string `pulumi:"gitSync"` + // Version of the deployed importer pod + Importer string `pulumi:"importer"` + // Version of the deployed monitor pod + Monitor string `pulumi:"monitor"` + // Version of the deployed reconciler-manager pod + ReconcilerManager string `pulumi:"reconcilerManager"` + // Version of the deployed reconciler container in root-reconciler pod + RootReconciler string `pulumi:"rootReconciler"` + // Version of the deployed syncer pod + Syncer string `pulumi:"syncer"` +} + +// Specific versioning information pertaining to ConfigSync's Pods +type ConfigManagementConfigSyncVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncVersionResponseOutput) ToConfigManagementConfigSyncVersionResponseOutput() ConfigManagementConfigSyncVersionResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncVersionResponseOutput) ToConfigManagementConfigSyncVersionResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncVersionResponseOutput { + return o +} + +// Version of the deployed admission_webhook pod +func (o ConfigManagementConfigSyncVersionResponseOutput) AdmissionWebhook() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.AdmissionWebhook }).(pulumi.StringOutput) +} + +// Version of the deployed git-sync pod +func (o ConfigManagementConfigSyncVersionResponseOutput) GitSync() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.GitSync }).(pulumi.StringOutput) +} + +// Version of the deployed importer pod +func (o ConfigManagementConfigSyncVersionResponseOutput) Importer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.Importer }).(pulumi.StringOutput) +} + +// Version of the deployed monitor pod +func (o ConfigManagementConfigSyncVersionResponseOutput) Monitor() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.Monitor }).(pulumi.StringOutput) +} + +// Version of the deployed reconciler-manager pod +func (o ConfigManagementConfigSyncVersionResponseOutput) ReconcilerManager() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.ReconcilerManager }).(pulumi.StringOutput) +} + +// Version of the deployed reconciler container in root-reconciler pod +func (o ConfigManagementConfigSyncVersionResponseOutput) RootReconciler() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.RootReconciler }).(pulumi.StringOutput) +} + +// Version of the deployed syncer pod +func (o ConfigManagementConfigSyncVersionResponseOutput) Syncer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.Syncer }).(pulumi.StringOutput) +} + +// Model for a config file in the git repo with an associated Sync error +type ConfigManagementErrorResourceResponse struct { + // Group/version/kind of the resource that is causing an error + ResourceGvk ConfigManagementGroupVersionKindResponse `pulumi:"resourceGvk"` + // Metadata name of the resource that is causing an error + ResourceName string `pulumi:"resourceName"` + // Namespace of the resource that is causing an error + ResourceNamespace string `pulumi:"resourceNamespace"` + // Path in the git repo of the erroneous config + SourcePath string `pulumi:"sourcePath"` +} + +// Model for a config file in the git repo with an associated Sync error +type ConfigManagementErrorResourceResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementErrorResourceResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementErrorResourceResponse)(nil)).Elem() +} + +func (o ConfigManagementErrorResourceResponseOutput) ToConfigManagementErrorResourceResponseOutput() ConfigManagementErrorResourceResponseOutput { + return o +} + +func (o ConfigManagementErrorResourceResponseOutput) ToConfigManagementErrorResourceResponseOutputWithContext(ctx context.Context) ConfigManagementErrorResourceResponseOutput { + return o +} + +// Group/version/kind of the resource that is causing an error +func (o ConfigManagementErrorResourceResponseOutput) ResourceGvk() ConfigManagementGroupVersionKindResponseOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) ConfigManagementGroupVersionKindResponse { + return v.ResourceGvk + }).(ConfigManagementGroupVersionKindResponseOutput) +} + +// Metadata name of the resource that is causing an error +func (o ConfigManagementErrorResourceResponseOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) string { return v.ResourceName }).(pulumi.StringOutput) +} + +// Namespace of the resource that is causing an error +func (o ConfigManagementErrorResourceResponseOutput) ResourceNamespace() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) string { return v.ResourceNamespace }).(pulumi.StringOutput) +} + +// Path in the git repo of the erroneous config +func (o ConfigManagementErrorResourceResponseOutput) SourcePath() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) string { return v.SourcePath }).(pulumi.StringOutput) +} + +type ConfigManagementErrorResourceResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementErrorResourceResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementErrorResourceResponse)(nil)).Elem() +} + +func (o ConfigManagementErrorResourceResponseArrayOutput) ToConfigManagementErrorResourceResponseArrayOutput() ConfigManagementErrorResourceResponseArrayOutput { + return o +} + +func (o ConfigManagementErrorResourceResponseArrayOutput) ToConfigManagementErrorResourceResponseArrayOutputWithContext(ctx context.Context) ConfigManagementErrorResourceResponseArrayOutput { + return o +} + +func (o ConfigManagementErrorResourceResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementErrorResourceResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementErrorResourceResponse { + return vs[0].([]ConfigManagementErrorResourceResponse)[vs[1].(int)] + }).(ConfigManagementErrorResourceResponseOutput) +} + +// State of Policy Controller installation. +type ConfigManagementGatekeeperDeploymentStateResponse struct { + // Status of gatekeeper-audit deployment. + GatekeeperAudit string `pulumi:"gatekeeperAudit"` + // Status of gatekeeper-controller-manager pod. + GatekeeperControllerManagerState string `pulumi:"gatekeeperControllerManagerState"` + // Status of the pod serving the mutation webhook. + GatekeeperMutation string `pulumi:"gatekeeperMutation"` +} + +// State of Policy Controller installation. +type ConfigManagementGatekeeperDeploymentStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementGatekeeperDeploymentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementGatekeeperDeploymentStateResponse)(nil)).Elem() +} + +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) ToConfigManagementGatekeeperDeploymentStateResponseOutput() ConfigManagementGatekeeperDeploymentStateResponseOutput { + return o +} + +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) ToConfigManagementGatekeeperDeploymentStateResponseOutputWithContext(ctx context.Context) ConfigManagementGatekeeperDeploymentStateResponseOutput { + return o +} + +// Status of gatekeeper-audit deployment. +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) GatekeeperAudit() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGatekeeperDeploymentStateResponse) string { return v.GatekeeperAudit }).(pulumi.StringOutput) +} + +// Status of gatekeeper-controller-manager pod. +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) GatekeeperControllerManagerState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGatekeeperDeploymentStateResponse) string { + return v.GatekeeperControllerManagerState + }).(pulumi.StringOutput) +} + +// Status of the pod serving the mutation webhook. +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) GatekeeperMutation() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGatekeeperDeploymentStateResponse) string { return v.GatekeeperMutation }).(pulumi.StringOutput) +} + // Git repo configuration for a single cluster. type ConfigManagementGitConfig struct { // The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. @@ -3361,6 +3870,46 @@ func (o ConfigManagementGitConfigResponseOutput) SyncWaitSecs() pulumi.StringOut return o.ApplyT(func(v ConfigManagementGitConfigResponse) string { return v.SyncWaitSecs }).(pulumi.StringOutput) } +// A Kubernetes object's GVK +type ConfigManagementGroupVersionKindResponse struct { + // Kubernetes Group + Group string `pulumi:"group"` + // Kubernetes Kind + Kind string `pulumi:"kind"` + // Kubernetes Version + Version string `pulumi:"version"` +} + +// A Kubernetes object's GVK +type ConfigManagementGroupVersionKindResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementGroupVersionKindResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementGroupVersionKindResponse)(nil)).Elem() +} + +func (o ConfigManagementGroupVersionKindResponseOutput) ToConfigManagementGroupVersionKindResponseOutput() ConfigManagementGroupVersionKindResponseOutput { + return o +} + +func (o ConfigManagementGroupVersionKindResponseOutput) ToConfigManagementGroupVersionKindResponseOutputWithContext(ctx context.Context) ConfigManagementGroupVersionKindResponseOutput { + return o +} + +// Kubernetes Group +func (o ConfigManagementGroupVersionKindResponseOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGroupVersionKindResponse) string { return v.Group }).(pulumi.StringOutput) +} + +// Kubernetes Kind +func (o ConfigManagementGroupVersionKindResponseOutput) Kind() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGroupVersionKindResponse) string { return v.Kind }).(pulumi.StringOutput) +} + +// Kubernetes Version +func (o ConfigManagementGroupVersionKindResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGroupVersionKindResponse) string { return v.Version }).(pulumi.StringOutput) +} + // Configuration for Hierarchy Controller type ConfigManagementHierarchyControllerConfig struct { // Whether hierarchical resource quota is enabled in this cluster. @@ -3581,26 +4130,175 @@ func (o ConfigManagementHierarchyControllerConfigResponseOutput) Enabled() pulum return o.ApplyT(func(v ConfigManagementHierarchyControllerConfigResponse) bool { return v.Enabled }).(pulumi.BoolOutput) } -// **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. -type ConfigManagementMembershipSpec struct { - // The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. - Cluster *string `pulumi:"cluster"` - // Config Sync configuration for the cluster. - ConfigSync *ConfigManagementConfigSync `pulumi:"configSync"` - // Hierarchy Controller configuration for the cluster. - HierarchyController *ConfigManagementHierarchyControllerConfig `pulumi:"hierarchyController"` - // Policy Controller configuration for the cluster. - PolicyController *ConfigManagementPolicyController `pulumi:"policyController"` - // Version of ACM installed. - Version *string `pulumi:"version"` +// Deployment state for Hierarchy Controller +type ConfigManagementHierarchyControllerDeploymentStateResponse struct { + // The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + Extension string `pulumi:"extension"` + // The deployment state for open source HNC (e.g. v0.7.0-hc.0) + Hnc string `pulumi:"hnc"` } -// ConfigManagementMembershipSpecInput is an input type that accepts ConfigManagementMembershipSpecArgs and ConfigManagementMembershipSpecOutput values. -// You can construct a concrete instance of `ConfigManagementMembershipSpecInput` via: -// -// ConfigManagementMembershipSpecArgs{...} -type ConfigManagementMembershipSpecInput interface { - pulumi.Input +// Deployment state for Hierarchy Controller +type ConfigManagementHierarchyControllerDeploymentStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementHierarchyControllerDeploymentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementHierarchyControllerDeploymentStateResponse)(nil)).Elem() +} + +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) ToConfigManagementHierarchyControllerDeploymentStateResponseOutput() ConfigManagementHierarchyControllerDeploymentStateResponseOutput { + return o +} + +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) ToConfigManagementHierarchyControllerDeploymentStateResponseOutputWithContext(ctx context.Context) ConfigManagementHierarchyControllerDeploymentStateResponseOutput { + return o +} + +// The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) Extension() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerDeploymentStateResponse) string { return v.Extension }).(pulumi.StringOutput) +} + +// The deployment state for open source HNC (e.g. v0.7.0-hc.0) +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) Hnc() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerDeploymentStateResponse) string { return v.Hnc }).(pulumi.StringOutput) +} + +// State for Hierarchy Controller +type ConfigManagementHierarchyControllerStateResponse struct { + // The deployment state for Hierarchy Controller + State ConfigManagementHierarchyControllerDeploymentStateResponse `pulumi:"state"` + // The version for Hierarchy Controller + Version ConfigManagementHierarchyControllerVersionResponse `pulumi:"version"` +} + +// State for Hierarchy Controller +type ConfigManagementHierarchyControllerStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementHierarchyControllerStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementHierarchyControllerStateResponse)(nil)).Elem() +} + +func (o ConfigManagementHierarchyControllerStateResponseOutput) ToConfigManagementHierarchyControllerStateResponseOutput() ConfigManagementHierarchyControllerStateResponseOutput { + return o +} + +func (o ConfigManagementHierarchyControllerStateResponseOutput) ToConfigManagementHierarchyControllerStateResponseOutputWithContext(ctx context.Context) ConfigManagementHierarchyControllerStateResponseOutput { + return o +} + +// The deployment state for Hierarchy Controller +func (o ConfigManagementHierarchyControllerStateResponseOutput) State() ConfigManagementHierarchyControllerDeploymentStateResponseOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerStateResponse) ConfigManagementHierarchyControllerDeploymentStateResponse { + return v.State + }).(ConfigManagementHierarchyControllerDeploymentStateResponseOutput) +} + +// The version for Hierarchy Controller +func (o ConfigManagementHierarchyControllerStateResponseOutput) Version() ConfigManagementHierarchyControllerVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerStateResponse) ConfigManagementHierarchyControllerVersionResponse { + return v.Version + }).(ConfigManagementHierarchyControllerVersionResponseOutput) +} + +// Version for Hierarchy Controller +type ConfigManagementHierarchyControllerVersionResponse struct { + // Version for Hierarchy Controller extension + Extension string `pulumi:"extension"` + // Version for open source HNC + Hnc string `pulumi:"hnc"` +} + +// Version for Hierarchy Controller +type ConfigManagementHierarchyControllerVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementHierarchyControllerVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementHierarchyControllerVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementHierarchyControllerVersionResponseOutput) ToConfigManagementHierarchyControllerVersionResponseOutput() ConfigManagementHierarchyControllerVersionResponseOutput { + return o +} + +func (o ConfigManagementHierarchyControllerVersionResponseOutput) ToConfigManagementHierarchyControllerVersionResponseOutputWithContext(ctx context.Context) ConfigManagementHierarchyControllerVersionResponseOutput { + return o +} + +// Version for Hierarchy Controller extension +func (o ConfigManagementHierarchyControllerVersionResponseOutput) Extension() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerVersionResponse) string { return v.Extension }).(pulumi.StringOutput) +} + +// Version for open source HNC +func (o ConfigManagementHierarchyControllerVersionResponseOutput) Hnc() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerVersionResponse) string { return v.Hnc }).(pulumi.StringOutput) +} + +// Errors pertaining to the installation of ACM +type ConfigManagementInstallErrorResponse struct { + // A string representing the user facing error message + ErrorMessage string `pulumi:"errorMessage"` +} + +// Errors pertaining to the installation of ACM +type ConfigManagementInstallErrorResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementInstallErrorResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementInstallErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementInstallErrorResponseOutput) ToConfigManagementInstallErrorResponseOutput() ConfigManagementInstallErrorResponseOutput { + return o +} + +func (o ConfigManagementInstallErrorResponseOutput) ToConfigManagementInstallErrorResponseOutputWithContext(ctx context.Context) ConfigManagementInstallErrorResponseOutput { + return o +} + +// A string representing the user facing error message +func (o ConfigManagementInstallErrorResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementInstallErrorResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +type ConfigManagementInstallErrorResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementInstallErrorResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementInstallErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementInstallErrorResponseArrayOutput) ToConfigManagementInstallErrorResponseArrayOutput() ConfigManagementInstallErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementInstallErrorResponseArrayOutput) ToConfigManagementInstallErrorResponseArrayOutputWithContext(ctx context.Context) ConfigManagementInstallErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementInstallErrorResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementInstallErrorResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementInstallErrorResponse { + return vs[0].([]ConfigManagementInstallErrorResponse)[vs[1].(int)] + }).(ConfigManagementInstallErrorResponseOutput) +} + +// **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. +type ConfigManagementMembershipSpec struct { + // The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + Cluster *string `pulumi:"cluster"` + // Config Sync configuration for the cluster. + ConfigSync *ConfigManagementConfigSync `pulumi:"configSync"` + // Hierarchy Controller configuration for the cluster. + HierarchyController *ConfigManagementHierarchyControllerConfig `pulumi:"hierarchyController"` + // Policy Controller configuration for the cluster. + PolicyController *ConfigManagementPolicyController `pulumi:"policyController"` + // Version of ACM installed. + Version *string `pulumi:"version"` +} + +// ConfigManagementMembershipSpecInput is an input type that accepts ConfigManagementMembershipSpecArgs and ConfigManagementMembershipSpecOutput values. +// You can construct a concrete instance of `ConfigManagementMembershipSpecInput` via: +// +// ConfigManagementMembershipSpecArgs{...} +type ConfigManagementMembershipSpecInput interface { + pulumi.Input ToConfigManagementMembershipSpecOutput() ConfigManagementMembershipSpecOutput ToConfigManagementMembershipSpecOutputWithContext(context.Context) ConfigManagementMembershipSpecOutput @@ -3857,6 +4555,77 @@ func (o ConfigManagementMembershipSpecResponseOutput) Version() pulumi.StringOut return o.ApplyT(func(v ConfigManagementMembershipSpecResponse) string { return v.Version }).(pulumi.StringOutput) } +// **Anthos Config Management**: State for a single cluster. +type ConfigManagementMembershipStateResponse struct { + // This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + ClusterName string `pulumi:"clusterName"` + // Current sync status + ConfigSyncState ConfigManagementConfigSyncStateResponse `pulumi:"configSyncState"` + // Hierarchy Controller status + HierarchyControllerState ConfigManagementHierarchyControllerStateResponse `pulumi:"hierarchyControllerState"` + // Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + MembershipSpec ConfigManagementMembershipSpecResponse `pulumi:"membershipSpec"` + // Current install status of ACM's Operator + OperatorState ConfigManagementOperatorStateResponse `pulumi:"operatorState"` + // PolicyController status + PolicyControllerState ConfigManagementPolicyControllerStateResponse `pulumi:"policyControllerState"` +} + +// **Anthos Config Management**: State for a single cluster. +type ConfigManagementMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementMembershipStateResponse)(nil)).Elem() +} + +func (o ConfigManagementMembershipStateResponseOutput) ToConfigManagementMembershipStateResponseOutput() ConfigManagementMembershipStateResponseOutput { + return o +} + +func (o ConfigManagementMembershipStateResponseOutput) ToConfigManagementMembershipStateResponseOutputWithContext(ctx context.Context) ConfigManagementMembershipStateResponseOutput { + return o +} + +// This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. +func (o ConfigManagementMembershipStateResponseOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) string { return v.ClusterName }).(pulumi.StringOutput) +} + +// Current sync status +func (o ConfigManagementMembershipStateResponseOutput) ConfigSyncState() ConfigManagementConfigSyncStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementConfigSyncStateResponse { + return v.ConfigSyncState + }).(ConfigManagementConfigSyncStateResponseOutput) +} + +// Hierarchy Controller status +func (o ConfigManagementMembershipStateResponseOutput) HierarchyControllerState() ConfigManagementHierarchyControllerStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementHierarchyControllerStateResponse { + return v.HierarchyControllerState + }).(ConfigManagementHierarchyControllerStateResponseOutput) +} + +// Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state +func (o ConfigManagementMembershipStateResponseOutput) MembershipSpec() ConfigManagementMembershipSpecResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementMembershipSpecResponse { + return v.MembershipSpec + }).(ConfigManagementMembershipSpecResponseOutput) +} + +// Current install status of ACM's Operator +func (o ConfigManagementMembershipStateResponseOutput) OperatorState() ConfigManagementOperatorStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementOperatorStateResponse { + return v.OperatorState + }).(ConfigManagementOperatorStateResponseOutput) +} + +// PolicyController status +func (o ConfigManagementMembershipStateResponseOutput) PolicyControllerState() ConfigManagementPolicyControllerStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementPolicyControllerStateResponse { + return v.PolicyControllerState + }).(ConfigManagementPolicyControllerStateResponseOutput) +} + // OCI repo configuration for a single cluster type ConfigManagementOciConfig struct { // The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. @@ -4127,6 +4896,46 @@ func (o ConfigManagementOciConfigResponseOutput) SyncWaitSecs() pulumi.StringOut return o.ApplyT(func(v ConfigManagementOciConfigResponse) string { return v.SyncWaitSecs }).(pulumi.StringOutput) } +// State information for an ACM's Operator +type ConfigManagementOperatorStateResponse struct { + // The state of the Operator's deployment + DeploymentState string `pulumi:"deploymentState"` + // Install errors. + Errors []ConfigManagementInstallErrorResponse `pulumi:"errors"` + // The semenatic version number of the operator + Version string `pulumi:"version"` +} + +// State information for an ACM's Operator +type ConfigManagementOperatorStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementOperatorStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementOperatorStateResponse)(nil)).Elem() +} + +func (o ConfigManagementOperatorStateResponseOutput) ToConfigManagementOperatorStateResponseOutput() ConfigManagementOperatorStateResponseOutput { + return o +} + +func (o ConfigManagementOperatorStateResponseOutput) ToConfigManagementOperatorStateResponseOutputWithContext(ctx context.Context) ConfigManagementOperatorStateResponseOutput { + return o +} + +// The state of the Operator's deployment +func (o ConfigManagementOperatorStateResponseOutput) DeploymentState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementOperatorStateResponse) string { return v.DeploymentState }).(pulumi.StringOutput) +} + +// Install errors. +func (o ConfigManagementOperatorStateResponseOutput) Errors() ConfigManagementInstallErrorResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementOperatorStateResponse) []ConfigManagementInstallErrorResponse { return v.Errors }).(ConfigManagementInstallErrorResponseArrayOutput) +} + +// The semenatic version number of the operator +func (o ConfigManagementOperatorStateResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementOperatorStateResponse) string { return v.Version }).(pulumi.StringOutput) +} + // Configuration for Policy Controller type ConfigManagementPolicyController struct { // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. @@ -4402,6 +5211,39 @@ func (o ConfigManagementPolicyControllerPtrOutput) TemplateLibraryInstalled() pu }).(pulumi.BoolPtrOutput) } +// State for the migration of PolicyController from ACM -> PoCo Hub. +type ConfigManagementPolicyControllerMigrationResponse struct { + // Last time this membership spec was copied to PoCo feature. + CopyTime string `pulumi:"copyTime"` + // Stage of the migration. + Stage string `pulumi:"stage"` +} + +// State for the migration of PolicyController from ACM -> PoCo Hub. +type ConfigManagementPolicyControllerMigrationResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementPolicyControllerMigrationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementPolicyControllerMigrationResponse)(nil)).Elem() +} + +func (o ConfigManagementPolicyControllerMigrationResponseOutput) ToConfigManagementPolicyControllerMigrationResponseOutput() ConfigManagementPolicyControllerMigrationResponseOutput { + return o +} + +func (o ConfigManagementPolicyControllerMigrationResponseOutput) ToConfigManagementPolicyControllerMigrationResponseOutputWithContext(ctx context.Context) ConfigManagementPolicyControllerMigrationResponseOutput { + return o +} + +// Last time this membership spec was copied to PoCo feature. +func (o ConfigManagementPolicyControllerMigrationResponseOutput) CopyTime() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerMigrationResponse) string { return v.CopyTime }).(pulumi.StringOutput) +} + +// Stage of the migration. +func (o ConfigManagementPolicyControllerMigrationResponseOutput) Stage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerMigrationResponse) string { return v.Stage }).(pulumi.StringOutput) +} + // PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] type ConfigManagementPolicyControllerMonitoring struct { // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. @@ -4654,6 +5496,212 @@ func (o ConfigManagementPolicyControllerResponseOutput) UpdateTime() pulumi.Stri return o.ApplyT(func(v ConfigManagementPolicyControllerResponse) string { return v.UpdateTime }).(pulumi.StringOutput) } +// State for PolicyControllerState. +type ConfigManagementPolicyControllerStateResponse struct { + // The state about the policy controller installation. + DeploymentState ConfigManagementGatekeeperDeploymentStateResponse `pulumi:"deploymentState"` + // Record state of ACM -> PoCo Hub migration for this feature. + Migration ConfigManagementPolicyControllerMigrationResponse `pulumi:"migration"` + // The version of Gatekeeper Policy Controller deployed. + Version ConfigManagementPolicyControllerVersionResponse `pulumi:"version"` +} + +// State for PolicyControllerState. +type ConfigManagementPolicyControllerStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementPolicyControllerStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementPolicyControllerStateResponse)(nil)).Elem() +} + +func (o ConfigManagementPolicyControllerStateResponseOutput) ToConfigManagementPolicyControllerStateResponseOutput() ConfigManagementPolicyControllerStateResponseOutput { + return o +} + +func (o ConfigManagementPolicyControllerStateResponseOutput) ToConfigManagementPolicyControllerStateResponseOutputWithContext(ctx context.Context) ConfigManagementPolicyControllerStateResponseOutput { + return o +} + +// The state about the policy controller installation. +func (o ConfigManagementPolicyControllerStateResponseOutput) DeploymentState() ConfigManagementGatekeeperDeploymentStateResponseOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerStateResponse) ConfigManagementGatekeeperDeploymentStateResponse { + return v.DeploymentState + }).(ConfigManagementGatekeeperDeploymentStateResponseOutput) +} + +// Record state of ACM -> PoCo Hub migration for this feature. +func (o ConfigManagementPolicyControllerStateResponseOutput) Migration() ConfigManagementPolicyControllerMigrationResponseOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerStateResponse) ConfigManagementPolicyControllerMigrationResponse { + return v.Migration + }).(ConfigManagementPolicyControllerMigrationResponseOutput) +} + +// The version of Gatekeeper Policy Controller deployed. +func (o ConfigManagementPolicyControllerStateResponseOutput) Version() ConfigManagementPolicyControllerVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerStateResponse) ConfigManagementPolicyControllerVersionResponse { + return v.Version + }).(ConfigManagementPolicyControllerVersionResponseOutput) +} + +// The build version of Gatekeeper Policy Controller is using. +type ConfigManagementPolicyControllerVersionResponse struct { + // The gatekeeper image tag that is composed of ACM version, git tag, build number. + Version string `pulumi:"version"` +} + +// The build version of Gatekeeper Policy Controller is using. +type ConfigManagementPolicyControllerVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementPolicyControllerVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementPolicyControllerVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementPolicyControllerVersionResponseOutput) ToConfigManagementPolicyControllerVersionResponseOutput() ConfigManagementPolicyControllerVersionResponseOutput { + return o +} + +func (o ConfigManagementPolicyControllerVersionResponseOutput) ToConfigManagementPolicyControllerVersionResponseOutputWithContext(ctx context.Context) ConfigManagementPolicyControllerVersionResponseOutput { + return o +} + +// The gatekeeper image tag that is composed of ACM version, git tag, build number. +func (o ConfigManagementPolicyControllerVersionResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerVersionResponse) string { return v.Version }).(pulumi.StringOutput) +} + +// An ACM created error representing a problem syncing configurations +type ConfigManagementSyncErrorResponse struct { + // An ACM defined error code + Code string `pulumi:"code"` + // A description of the error + ErrorMessage string `pulumi:"errorMessage"` + // A list of config(s) associated with the error, if any + ErrorResources []ConfigManagementErrorResourceResponse `pulumi:"errorResources"` +} + +// An ACM created error representing a problem syncing configurations +type ConfigManagementSyncErrorResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementSyncErrorResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementSyncErrorResponseOutput) ToConfigManagementSyncErrorResponseOutput() ConfigManagementSyncErrorResponseOutput { + return o +} + +func (o ConfigManagementSyncErrorResponseOutput) ToConfigManagementSyncErrorResponseOutputWithContext(ctx context.Context) ConfigManagementSyncErrorResponseOutput { + return o +} + +// An ACM defined error code +func (o ConfigManagementSyncErrorResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncErrorResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// A description of the error +func (o ConfigManagementSyncErrorResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncErrorResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +// A list of config(s) associated with the error, if any +func (o ConfigManagementSyncErrorResponseOutput) ErrorResources() ConfigManagementErrorResourceResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementSyncErrorResponse) []ConfigManagementErrorResourceResponse { + return v.ErrorResources + }).(ConfigManagementErrorResourceResponseArrayOutput) +} + +type ConfigManagementSyncErrorResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementSyncErrorResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementSyncErrorResponseArrayOutput) ToConfigManagementSyncErrorResponseArrayOutput() ConfigManagementSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementSyncErrorResponseArrayOutput) ToConfigManagementSyncErrorResponseArrayOutputWithContext(ctx context.Context) ConfigManagementSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementSyncErrorResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementSyncErrorResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementSyncErrorResponse { + return vs[0].([]ConfigManagementSyncErrorResponse)[vs[1].(int)] + }).(ConfigManagementSyncErrorResponseOutput) +} + +// State indicating an ACM's progress syncing configurations to a cluster +type ConfigManagementSyncStateResponse struct { + // Sync status code + Code string `pulumi:"code"` + // A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + Errors []ConfigManagementSyncErrorResponse `pulumi:"errors"` + // Token indicating the state of the importer. + ImportToken string `pulumi:"importToken"` + // Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + // + // Deprecated: Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + LastSync string `pulumi:"lastSync"` + // Timestamp type of when ACM last successfully synced the repo + LastSyncTime string `pulumi:"lastSyncTime"` + // Token indicating the state of the repo. + SourceToken string `pulumi:"sourceToken"` + // Token indicating the state of the syncer. + SyncToken string `pulumi:"syncToken"` +} + +// State indicating an ACM's progress syncing configurations to a cluster +type ConfigManagementSyncStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementSyncStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementSyncStateResponse)(nil)).Elem() +} + +func (o ConfigManagementSyncStateResponseOutput) ToConfigManagementSyncStateResponseOutput() ConfigManagementSyncStateResponseOutput { + return o +} + +func (o ConfigManagementSyncStateResponseOutput) ToConfigManagementSyncStateResponseOutputWithContext(ctx context.Context) ConfigManagementSyncStateResponseOutput { + return o +} + +// Sync status code +func (o ConfigManagementSyncStateResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. +func (o ConfigManagementSyncStateResponseOutput) Errors() ConfigManagementSyncErrorResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) []ConfigManagementSyncErrorResponse { return v.Errors }).(ConfigManagementSyncErrorResponseArrayOutput) +} + +// Token indicating the state of the importer. +func (o ConfigManagementSyncStateResponseOutput) ImportToken() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.ImportToken }).(pulumi.StringOutput) +} + +// Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String +// +// Deprecated: Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String +func (o ConfigManagementSyncStateResponseOutput) LastSync() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.LastSync }).(pulumi.StringOutput) +} + +// Timestamp type of when ACM last successfully synced the repo +func (o ConfigManagementSyncStateResponseOutput) LastSyncTime() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.LastSyncTime }).(pulumi.StringOutput) +} + +// Token indicating the state of the repo. +func (o ConfigManagementSyncStateResponseOutput) SourceToken() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.SourceToken }).(pulumi.StringOutput) +} + +// Token indicating the state of the syncer. +func (o ConfigManagementSyncStateResponseOutput) SyncToken() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.SyncToken }).(pulumi.StringOutput) +} + // DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet. type DefaultClusterConfig struct { // Optional. Enable/Disable binary authorization features for the cluster. @@ -5906,42 +6954,201 @@ func (o FleetObservabilityLoggingConfigResponseOutput) FleetScopeLogsConfig() Fl }).(FleetObservabilityRoutingConfigResponseOutput) } -// RoutingConfig configures the behaviour of fleet logging feature. -type FleetObservabilityRoutingConfig struct { - // mode configures the logs routing mode. - Mode *FleetObservabilityRoutingConfigMode `pulumi:"mode"` +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpec struct { } -// FleetObservabilityRoutingConfigInput is an input type that accepts FleetObservabilityRoutingConfigArgs and FleetObservabilityRoutingConfigOutput values. -// You can construct a concrete instance of `FleetObservabilityRoutingConfigInput` via: +// FleetObservabilityMembershipSpecInput is an input type that accepts FleetObservabilityMembershipSpecArgs and FleetObservabilityMembershipSpecOutput values. +// You can construct a concrete instance of `FleetObservabilityMembershipSpecInput` via: // -// FleetObservabilityRoutingConfigArgs{...} -type FleetObservabilityRoutingConfigInput interface { +// FleetObservabilityMembershipSpecArgs{...} +type FleetObservabilityMembershipSpecInput interface { pulumi.Input - ToFleetObservabilityRoutingConfigOutput() FleetObservabilityRoutingConfigOutput - ToFleetObservabilityRoutingConfigOutputWithContext(context.Context) FleetObservabilityRoutingConfigOutput + ToFleetObservabilityMembershipSpecOutput() FleetObservabilityMembershipSpecOutput + ToFleetObservabilityMembershipSpecOutputWithContext(context.Context) FleetObservabilityMembershipSpecOutput } -// RoutingConfig configures the behaviour of fleet logging feature. -type FleetObservabilityRoutingConfigArgs struct { - // mode configures the logs routing mode. - Mode FleetObservabilityRoutingConfigModePtrInput `pulumi:"mode"` +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecArgs struct { } -func (FleetObservabilityRoutingConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*FleetObservabilityRoutingConfig)(nil)).Elem() +func (FleetObservabilityMembershipSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipSpec)(nil)).Elem() } -func (i FleetObservabilityRoutingConfigArgs) ToFleetObservabilityRoutingConfigOutput() FleetObservabilityRoutingConfigOutput { - return i.ToFleetObservabilityRoutingConfigOutputWithContext(context.Background()) +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecOutput() FleetObservabilityMembershipSpecOutput { + return i.ToFleetObservabilityMembershipSpecOutputWithContext(context.Background()) } -func (i FleetObservabilityRoutingConfigArgs) ToFleetObservabilityRoutingConfigOutputWithContext(ctx context.Context) FleetObservabilityRoutingConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityRoutingConfigOutput) +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityMembershipSpecOutput) } -func (i FleetObservabilityRoutingConfigArgs) ToFleetObservabilityRoutingConfigPtrOutput() FleetObservabilityRoutingConfigPtrOutput { +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return i.ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityMembershipSpecOutput).ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx) +} + +// FleetObservabilityMembershipSpecPtrInput is an input type that accepts FleetObservabilityMembershipSpecArgs, FleetObservabilityMembershipSpecPtr and FleetObservabilityMembershipSpecPtrOutput values. +// You can construct a concrete instance of `FleetObservabilityMembershipSpecPtrInput` via: +// +// FleetObservabilityMembershipSpecArgs{...} +// +// or: +// +// nil +type FleetObservabilityMembershipSpecPtrInput interface { + pulumi.Input + + ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput + ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Context) FleetObservabilityMembershipSpecPtrOutput +} + +type fleetObservabilityMembershipSpecPtrType FleetObservabilityMembershipSpecArgs + +func FleetObservabilityMembershipSpecPtr(v *FleetObservabilityMembershipSpecArgs) FleetObservabilityMembershipSpecPtrInput { + return (*fleetObservabilityMembershipSpecPtrType)(v) +} + +func (*fleetObservabilityMembershipSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (i *fleetObservabilityMembershipSpecPtrType) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return i.ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i *fleetObservabilityMembershipSpecPtrType) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityMembershipSpecPtrOutput) +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecOutput() FleetObservabilityMembershipSpecOutput { + return o +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecOutput { + return o +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return o.ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetObservabilityMembershipSpec) *FleetObservabilityMembershipSpec { + return &v + }).(FleetObservabilityMembershipSpecPtrOutput) +} + +type FleetObservabilityMembershipSpecPtrOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (o FleetObservabilityMembershipSpecPtrOutput) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return o +} + +func (o FleetObservabilityMembershipSpecPtrOutput) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return o +} + +func (o FleetObservabilityMembershipSpecPtrOutput) Elem() FleetObservabilityMembershipSpecOutput { + return o.ApplyT(func(v *FleetObservabilityMembershipSpec) FleetObservabilityMembershipSpec { + if v != nil { + return *v + } + var ret FleetObservabilityMembershipSpec + return ret + }).(FleetObservabilityMembershipSpecOutput) +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecResponse struct { +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecResponseOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipSpecResponse)(nil)).Elem() +} + +func (o FleetObservabilityMembershipSpecResponseOutput) ToFleetObservabilityMembershipSpecResponseOutput() FleetObservabilityMembershipSpecResponseOutput { + return o +} + +func (o FleetObservabilityMembershipSpecResponseOutput) ToFleetObservabilityMembershipSpecResponseOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecResponseOutput { + return o +} + +// **FleetObservability**: Membership-specific Feature state for fleetobservability. +type FleetObservabilityMembershipStateResponse struct { +} + +// **FleetObservability**: Membership-specific Feature state for fleetobservability. +type FleetObservabilityMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipStateResponse)(nil)).Elem() +} + +func (o FleetObservabilityMembershipStateResponseOutput) ToFleetObservabilityMembershipStateResponseOutput() FleetObservabilityMembershipStateResponseOutput { + return o +} + +func (o FleetObservabilityMembershipStateResponseOutput) ToFleetObservabilityMembershipStateResponseOutputWithContext(ctx context.Context) FleetObservabilityMembershipStateResponseOutput { + return o +} + +// RoutingConfig configures the behaviour of fleet logging feature. +type FleetObservabilityRoutingConfig struct { + // mode configures the logs routing mode. + Mode *FleetObservabilityRoutingConfigMode `pulumi:"mode"` +} + +// FleetObservabilityRoutingConfigInput is an input type that accepts FleetObservabilityRoutingConfigArgs and FleetObservabilityRoutingConfigOutput values. +// You can construct a concrete instance of `FleetObservabilityRoutingConfigInput` via: +// +// FleetObservabilityRoutingConfigArgs{...} +type FleetObservabilityRoutingConfigInput interface { + pulumi.Input + + ToFleetObservabilityRoutingConfigOutput() FleetObservabilityRoutingConfigOutput + ToFleetObservabilityRoutingConfigOutputWithContext(context.Context) FleetObservabilityRoutingConfigOutput +} + +// RoutingConfig configures the behaviour of fleet logging feature. +type FleetObservabilityRoutingConfigArgs struct { + // mode configures the logs routing mode. + Mode FleetObservabilityRoutingConfigModePtrInput `pulumi:"mode"` +} + +func (FleetObservabilityRoutingConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityRoutingConfig)(nil)).Elem() +} + +func (i FleetObservabilityRoutingConfigArgs) ToFleetObservabilityRoutingConfigOutput() FleetObservabilityRoutingConfigOutput { + return i.ToFleetObservabilityRoutingConfigOutputWithContext(context.Background()) +} + +func (i FleetObservabilityRoutingConfigArgs) ToFleetObservabilityRoutingConfigOutputWithContext(ctx context.Context) FleetObservabilityRoutingConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityRoutingConfigOutput) +} + +func (i FleetObservabilityRoutingConfigArgs) ToFleetObservabilityRoutingConfigPtrOutput() FleetObservabilityRoutingConfigPtrOutput { return i.ToFleetObservabilityRoutingConfigPtrOutputWithContext(context.Background()) } @@ -7040,6 +8247,55 @@ func (o IdentityServiceMembershipSpecResponseOutput) AuthMethods() IdentityServi }).(IdentityServiceAuthMethodResponseArrayOutput) } +// **Anthos Identity Service**: State for a single Membership. +type IdentityServiceMembershipStateResponse struct { + // The reason of the failure. + FailureReason string `pulumi:"failureReason"` + // Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + InstalledVersion string `pulumi:"installedVersion"` + // Last reconciled membership configuration + MemberConfig IdentityServiceMembershipSpecResponse `pulumi:"memberConfig"` + // Deployment state on this member + State string `pulumi:"state"` +} + +// **Anthos Identity Service**: State for a single Membership. +type IdentityServiceMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (IdentityServiceMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IdentityServiceMembershipStateResponse)(nil)).Elem() +} + +func (o IdentityServiceMembershipStateResponseOutput) ToIdentityServiceMembershipStateResponseOutput() IdentityServiceMembershipStateResponseOutput { + return o +} + +func (o IdentityServiceMembershipStateResponseOutput) ToIdentityServiceMembershipStateResponseOutputWithContext(ctx context.Context) IdentityServiceMembershipStateResponseOutput { + return o +} + +// The reason of the failure. +func (o IdentityServiceMembershipStateResponseOutput) FailureReason() pulumi.StringOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) string { return v.FailureReason }).(pulumi.StringOutput) +} + +// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. +func (o IdentityServiceMembershipStateResponseOutput) InstalledVersion() pulumi.StringOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) string { return v.InstalledVersion }).(pulumi.StringOutput) +} + +// Last reconciled membership configuration +func (o IdentityServiceMembershipStateResponseOutput) MemberConfig() IdentityServiceMembershipSpecResponseOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) IdentityServiceMembershipSpecResponse { + return v.MemberConfig + }).(IdentityServiceMembershipSpecResponseOutput) +} + +// Deployment state on this member +func (o IdentityServiceMembershipStateResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) string { return v.State }).(pulumi.StringOutput) +} + // Configuration for OIDC Auth flow. type IdentityServiceOidcConfig struct { // PEM-encoded CA for OIDC provider. @@ -8128,151 +9384,486 @@ func (o MembershipEndpointResponseOutput) OnPremCluster() OnPremClusterResponseO return o.ApplyT(func(v MembershipEndpointResponse) OnPremClusterResponse { return v.OnPremCluster }).(OnPremClusterResponseOutput) } -// MembershipState describes the state of a Membership resource. -type MembershipStateResponse struct { - // The current state of the Membership resource. - Code string `pulumi:"code"` +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpec struct { + // Config Management-specific spec. + Configmanagement *ConfigManagementMembershipSpec `pulumi:"configmanagement"` + // Fleet observability membership spec + Fleetobservability *FleetObservabilityMembershipSpec `pulumi:"fleetobservability"` + // Identity Service-specific spec. + Identityservice *IdentityServiceMembershipSpec `pulumi:"identityservice"` + // Anthos Service Mesh-specific spec + Mesh *ServiceMeshMembershipSpec `pulumi:"mesh"` + // Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + Origin *Origin `pulumi:"origin"` + // Policy Controller spec. + Policycontroller *PolicyControllerMembershipSpec `pulumi:"policycontroller"` } -// MembershipState describes the state of a Membership resource. -type MembershipStateResponseOutput struct{ *pulumi.OutputState } +// MembershipFeatureSpecInput is an input type that accepts MembershipFeatureSpecArgs and MembershipFeatureSpecOutput values. +// You can construct a concrete instance of `MembershipFeatureSpecInput` via: +// +// MembershipFeatureSpecArgs{...} +type MembershipFeatureSpecInput interface { + pulumi.Input -func (MembershipStateResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MembershipStateResponse)(nil)).Elem() + ToMembershipFeatureSpecOutput() MembershipFeatureSpecOutput + ToMembershipFeatureSpecOutputWithContext(context.Context) MembershipFeatureSpecOutput } -func (o MembershipStateResponseOutput) ToMembershipStateResponseOutput() MembershipStateResponseOutput { - return o +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecArgs struct { + // Config Management-specific spec. + Configmanagement ConfigManagementMembershipSpecPtrInput `pulumi:"configmanagement"` + // Fleet observability membership spec + Fleetobservability FleetObservabilityMembershipSpecPtrInput `pulumi:"fleetobservability"` + // Identity Service-specific spec. + Identityservice IdentityServiceMembershipSpecPtrInput `pulumi:"identityservice"` + // Anthos Service Mesh-specific spec + Mesh ServiceMeshMembershipSpecPtrInput `pulumi:"mesh"` + // Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + Origin OriginPtrInput `pulumi:"origin"` + // Policy Controller spec. + Policycontroller PolicyControllerMembershipSpecPtrInput `pulumi:"policycontroller"` } -func (o MembershipStateResponseOutput) ToMembershipStateResponseOutputWithContext(ctx context.Context) MembershipStateResponseOutput { - return o +func (MembershipFeatureSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureSpec)(nil)).Elem() } -// The current state of the Membership resource. -func (o MembershipStateResponseOutput) Code() pulumi.StringOutput { - return o.ApplyT(func(v MembershipStateResponse) string { return v.Code }).(pulumi.StringOutput) +func (i MembershipFeatureSpecArgs) ToMembershipFeatureSpecOutput() MembershipFeatureSpecOutput { + return i.ToMembershipFeatureSpecOutputWithContext(context.Background()) } -// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. -type MonitoringConfig struct { - // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". - Cluster *string `pulumi:"cluster"` - // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. - ClusterHash *string `pulumi:"clusterHash"` - // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. - KubernetesMetricsPrefix *string `pulumi:"kubernetesMetricsPrefix"` - // Optional. Location used to report Metrics - Location *string `pulumi:"location"` - // Optional. Project used to report Metrics - Project *string `pulumi:"project"` +func (i MembershipFeatureSpecArgs) ToMembershipFeatureSpecOutputWithContext(ctx context.Context) MembershipFeatureSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipFeatureSpecOutput) } -// MonitoringConfigInput is an input type that accepts MonitoringConfigArgs and MonitoringConfigOutput values. -// You can construct a concrete instance of `MonitoringConfigInput` via: +// MembershipFeatureSpecMapInput is an input type that accepts MembershipFeatureSpecMap and MembershipFeatureSpecMapOutput values. +// You can construct a concrete instance of `MembershipFeatureSpecMapInput` via: // -// MonitoringConfigArgs{...} -type MonitoringConfigInput interface { +// MembershipFeatureSpecMap{ "key": MembershipFeatureSpecArgs{...} } +type MembershipFeatureSpecMapInput interface { pulumi.Input - ToMonitoringConfigOutput() MonitoringConfigOutput - ToMonitoringConfigOutputWithContext(context.Context) MonitoringConfigOutput + ToMembershipFeatureSpecMapOutput() MembershipFeatureSpecMapOutput + ToMembershipFeatureSpecMapOutputWithContext(context.Context) MembershipFeatureSpecMapOutput } -// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. -type MonitoringConfigArgs struct { - // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". - Cluster pulumi.StringPtrInput `pulumi:"cluster"` - // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. - ClusterHash pulumi.StringPtrInput `pulumi:"clusterHash"` - // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. - KubernetesMetricsPrefix pulumi.StringPtrInput `pulumi:"kubernetesMetricsPrefix"` - // Optional. Location used to report Metrics - Location pulumi.StringPtrInput `pulumi:"location"` - // Optional. Project used to report Metrics - Project pulumi.StringPtrInput `pulumi:"project"` -} +type MembershipFeatureSpecMap map[string]MembershipFeatureSpecInput -func (MonitoringConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MonitoringConfig)(nil)).Elem() +func (MembershipFeatureSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureSpec)(nil)).Elem() } -func (i MonitoringConfigArgs) ToMonitoringConfigOutput() MonitoringConfigOutput { - return i.ToMonitoringConfigOutputWithContext(context.Background()) +func (i MembershipFeatureSpecMap) ToMembershipFeatureSpecMapOutput() MembershipFeatureSpecMapOutput { + return i.ToMembershipFeatureSpecMapOutputWithContext(context.Background()) } -func (i MonitoringConfigArgs) ToMonitoringConfigOutputWithContext(ctx context.Context) MonitoringConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigOutput) +func (i MembershipFeatureSpecMap) ToMembershipFeatureSpecMapOutputWithContext(ctx context.Context) MembershipFeatureSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipFeatureSpecMapOutput) } -func (i MonitoringConfigArgs) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { - return i.ToMonitoringConfigPtrOutputWithContext(context.Background()) +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureSpec)(nil)).Elem() } -func (i MonitoringConfigArgs) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigOutput).ToMonitoringConfigPtrOutputWithContext(ctx) +func (o MembershipFeatureSpecOutput) ToMembershipFeatureSpecOutput() MembershipFeatureSpecOutput { + return o } -// MonitoringConfigPtrInput is an input type that accepts MonitoringConfigArgs, MonitoringConfigPtr and MonitoringConfigPtrOutput values. -// You can construct a concrete instance of `MonitoringConfigPtrInput` via: -// -// MonitoringConfigArgs{...} -// -// or: -// -// nil -type MonitoringConfigPtrInput interface { - pulumi.Input +func (o MembershipFeatureSpecOutput) ToMembershipFeatureSpecOutputWithContext(ctx context.Context) MembershipFeatureSpecOutput { + return o +} - ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput - ToMonitoringConfigPtrOutputWithContext(context.Context) MonitoringConfigPtrOutput +// Config Management-specific spec. +func (o MembershipFeatureSpecOutput) Configmanagement() ConfigManagementMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *ConfigManagementMembershipSpec { return v.Configmanagement }).(ConfigManagementMembershipSpecPtrOutput) } -type monitoringConfigPtrType MonitoringConfigArgs +// Fleet observability membership spec +func (o MembershipFeatureSpecOutput) Fleetobservability() FleetObservabilityMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *FleetObservabilityMembershipSpec { return v.Fleetobservability }).(FleetObservabilityMembershipSpecPtrOutput) +} -func MonitoringConfigPtr(v *MonitoringConfigArgs) MonitoringConfigPtrInput { - return (*monitoringConfigPtrType)(v) +// Identity Service-specific spec. +func (o MembershipFeatureSpecOutput) Identityservice() IdentityServiceMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *IdentityServiceMembershipSpec { return v.Identityservice }).(IdentityServiceMembershipSpecPtrOutput) } -func (*monitoringConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MonitoringConfig)(nil)).Elem() +// Anthos Service Mesh-specific spec +func (o MembershipFeatureSpecOutput) Mesh() ServiceMeshMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *ServiceMeshMembershipSpec { return v.Mesh }).(ServiceMeshMembershipSpecPtrOutput) } -func (i *monitoringConfigPtrType) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { - return i.ToMonitoringConfigPtrOutputWithContext(context.Background()) +// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. +func (o MembershipFeatureSpecOutput) Origin() OriginPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *Origin { return v.Origin }).(OriginPtrOutput) } -func (i *monitoringConfigPtrType) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigPtrOutput) +// Policy Controller spec. +func (o MembershipFeatureSpecOutput) Policycontroller() PolicyControllerMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *PolicyControllerMembershipSpec { return v.Policycontroller }).(PolicyControllerMembershipSpecPtrOutput) } -// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. -type MonitoringConfigOutput struct{ *pulumi.OutputState } +type MembershipFeatureSpecMapOutput struct{ *pulumi.OutputState } -func (MonitoringConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MonitoringConfig)(nil)).Elem() +func (MembershipFeatureSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureSpec)(nil)).Elem() } -func (o MonitoringConfigOutput) ToMonitoringConfigOutput() MonitoringConfigOutput { +func (o MembershipFeatureSpecMapOutput) ToMembershipFeatureSpecMapOutput() MembershipFeatureSpecMapOutput { return o } -func (o MonitoringConfigOutput) ToMonitoringConfigOutputWithContext(ctx context.Context) MonitoringConfigOutput { +func (o MembershipFeatureSpecMapOutput) ToMembershipFeatureSpecMapOutputWithContext(ctx context.Context) MembershipFeatureSpecMapOutput { return o } -func (o MonitoringConfigOutput) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { - return o.ToMonitoringConfigPtrOutputWithContext(context.Background()) +func (o MembershipFeatureSpecMapOutput) MapIndex(k pulumi.StringInput) MembershipFeatureSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) MembershipFeatureSpec { + return vs[0].(map[string]MembershipFeatureSpec)[vs[1].(string)] + }).(MembershipFeatureSpecOutput) } -func (o MonitoringConfigOutput) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MonitoringConfig) *MonitoringConfig { - return &v - }).(MonitoringConfigPtrOutput) +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecResponse struct { + // Config Management-specific spec. + Configmanagement ConfigManagementMembershipSpecResponse `pulumi:"configmanagement"` + // Fleet observability membership spec + Fleetobservability FleetObservabilityMembershipSpecResponse `pulumi:"fleetobservability"` + // Identity Service-specific spec. + Identityservice IdentityServiceMembershipSpecResponse `pulumi:"identityservice"` + // Anthos Service Mesh-specific spec + Mesh ServiceMeshMembershipSpecResponse `pulumi:"mesh"` + // Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + Origin OriginResponse `pulumi:"origin"` + // Policy Controller spec. + Policycontroller PolicyControllerMembershipSpecResponse `pulumi:"policycontroller"` } -// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". -func (o MonitoringConfigOutput) Cluster() pulumi.StringPtrOutput { +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecResponseOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureSpecResponse)(nil)).Elem() +} + +func (o MembershipFeatureSpecResponseOutput) ToMembershipFeatureSpecResponseOutput() MembershipFeatureSpecResponseOutput { + return o +} + +func (o MembershipFeatureSpecResponseOutput) ToMembershipFeatureSpecResponseOutputWithContext(ctx context.Context) MembershipFeatureSpecResponseOutput { + return o +} + +// Config Management-specific spec. +func (o MembershipFeatureSpecResponseOutput) Configmanagement() ConfigManagementMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) ConfigManagementMembershipSpecResponse { + return v.Configmanagement + }).(ConfigManagementMembershipSpecResponseOutput) +} + +// Fleet observability membership spec +func (o MembershipFeatureSpecResponseOutput) Fleetobservability() FleetObservabilityMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) FleetObservabilityMembershipSpecResponse { + return v.Fleetobservability + }).(FleetObservabilityMembershipSpecResponseOutput) +} + +// Identity Service-specific spec. +func (o MembershipFeatureSpecResponseOutput) Identityservice() IdentityServiceMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) IdentityServiceMembershipSpecResponse { return v.Identityservice }).(IdentityServiceMembershipSpecResponseOutput) +} + +// Anthos Service Mesh-specific spec +func (o MembershipFeatureSpecResponseOutput) Mesh() ServiceMeshMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) ServiceMeshMembershipSpecResponse { return v.Mesh }).(ServiceMeshMembershipSpecResponseOutput) +} + +// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. +func (o MembershipFeatureSpecResponseOutput) Origin() OriginResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) OriginResponse { return v.Origin }).(OriginResponseOutput) +} + +// Policy Controller spec. +func (o MembershipFeatureSpecResponseOutput) Policycontroller() PolicyControllerMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) PolicyControllerMembershipSpecResponse { + return v.Policycontroller + }).(PolicyControllerMembershipSpecResponseOutput) +} + +type MembershipFeatureSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureSpecResponse)(nil)).Elem() +} + +func (o MembershipFeatureSpecResponseMapOutput) ToMembershipFeatureSpecResponseMapOutput() MembershipFeatureSpecResponseMapOutput { + return o +} + +func (o MembershipFeatureSpecResponseMapOutput) ToMembershipFeatureSpecResponseMapOutputWithContext(ctx context.Context) MembershipFeatureSpecResponseMapOutput { + return o +} + +func (o MembershipFeatureSpecResponseMapOutput) MapIndex(k pulumi.StringInput) MembershipFeatureSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) MembershipFeatureSpecResponse { + return vs[0].(map[string]MembershipFeatureSpecResponse)[vs[1].(string)] + }).(MembershipFeatureSpecResponseOutput) +} + +// MembershipFeatureState contains Feature status information for a single Membership. +type MembershipFeatureStateResponse struct { + // Appdevexperience specific state. + Appdevexperience AppDevExperienceFeatureStateResponse `pulumi:"appdevexperience"` + // ClusterUpgrade state. + Clusterupgrade ClusterUpgradeMembershipStateResponse `pulumi:"clusterupgrade"` + // Config Management-specific state. + Configmanagement ConfigManagementMembershipStateResponse `pulumi:"configmanagement"` + // Fleet observability membership state. + Fleetobservability FleetObservabilityMembershipStateResponse `pulumi:"fleetobservability"` + // Identity Service-specific state. + Identityservice IdentityServiceMembershipStateResponse `pulumi:"identityservice"` + // Policycontroller-specific state. + Policycontroller PolicyControllerMembershipStateResponse `pulumi:"policycontroller"` + // Service Mesh-specific state. + Servicemesh ServiceMeshMembershipStateResponse `pulumi:"servicemesh"` + // The high-level state of this Feature for a single membership. + State FeatureStateResponse `pulumi:"state"` +} + +// MembershipFeatureState contains Feature status information for a single Membership. +type MembershipFeatureStateResponseOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureStateResponse)(nil)).Elem() +} + +func (o MembershipFeatureStateResponseOutput) ToMembershipFeatureStateResponseOutput() MembershipFeatureStateResponseOutput { + return o +} + +func (o MembershipFeatureStateResponseOutput) ToMembershipFeatureStateResponseOutputWithContext(ctx context.Context) MembershipFeatureStateResponseOutput { + return o +} + +// Appdevexperience specific state. +func (o MembershipFeatureStateResponseOutput) Appdevexperience() AppDevExperienceFeatureStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) AppDevExperienceFeatureStateResponse { return v.Appdevexperience }).(AppDevExperienceFeatureStateResponseOutput) +} + +// ClusterUpgrade state. +func (o MembershipFeatureStateResponseOutput) Clusterupgrade() ClusterUpgradeMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) ClusterUpgradeMembershipStateResponse { return v.Clusterupgrade }).(ClusterUpgradeMembershipStateResponseOutput) +} + +// Config Management-specific state. +func (o MembershipFeatureStateResponseOutput) Configmanagement() ConfigManagementMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) ConfigManagementMembershipStateResponse { + return v.Configmanagement + }).(ConfigManagementMembershipStateResponseOutput) +} + +// Fleet observability membership state. +func (o MembershipFeatureStateResponseOutput) Fleetobservability() FleetObservabilityMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) FleetObservabilityMembershipStateResponse { + return v.Fleetobservability + }).(FleetObservabilityMembershipStateResponseOutput) +} + +// Identity Service-specific state. +func (o MembershipFeatureStateResponseOutput) Identityservice() IdentityServiceMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) IdentityServiceMembershipStateResponse { + return v.Identityservice + }).(IdentityServiceMembershipStateResponseOutput) +} + +// Policycontroller-specific state. +func (o MembershipFeatureStateResponseOutput) Policycontroller() PolicyControllerMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) PolicyControllerMembershipStateResponse { + return v.Policycontroller + }).(PolicyControllerMembershipStateResponseOutput) +} + +// Service Mesh-specific state. +func (o MembershipFeatureStateResponseOutput) Servicemesh() ServiceMeshMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) ServiceMeshMembershipStateResponse { return v.Servicemesh }).(ServiceMeshMembershipStateResponseOutput) +} + +// The high-level state of this Feature for a single membership. +func (o MembershipFeatureStateResponseOutput) State() FeatureStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) FeatureStateResponse { return v.State }).(FeatureStateResponseOutput) +} + +type MembershipFeatureStateResponseMapOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureStateResponse)(nil)).Elem() +} + +func (o MembershipFeatureStateResponseMapOutput) ToMembershipFeatureStateResponseMapOutput() MembershipFeatureStateResponseMapOutput { + return o +} + +func (o MembershipFeatureStateResponseMapOutput) ToMembershipFeatureStateResponseMapOutputWithContext(ctx context.Context) MembershipFeatureStateResponseMapOutput { + return o +} + +func (o MembershipFeatureStateResponseMapOutput) MapIndex(k pulumi.StringInput) MembershipFeatureStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) MembershipFeatureStateResponse { + return vs[0].(map[string]MembershipFeatureStateResponse)[vs[1].(string)] + }).(MembershipFeatureStateResponseOutput) +} + +// MembershipState describes the state of a Membership resource. +type MembershipStateResponse struct { + // The current state of the Membership resource. + Code string `pulumi:"code"` +} + +// MembershipState describes the state of a Membership resource. +type MembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (MembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipStateResponse)(nil)).Elem() +} + +func (o MembershipStateResponseOutput) ToMembershipStateResponseOutput() MembershipStateResponseOutput { + return o +} + +func (o MembershipStateResponseOutput) ToMembershipStateResponseOutputWithContext(ctx context.Context) MembershipStateResponseOutput { + return o +} + +// The current state of the Membership resource. +func (o MembershipStateResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v MembershipStateResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. +type MonitoringConfig struct { + // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". + Cluster *string `pulumi:"cluster"` + // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. + ClusterHash *string `pulumi:"clusterHash"` + // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. + KubernetesMetricsPrefix *string `pulumi:"kubernetesMetricsPrefix"` + // Optional. Location used to report Metrics + Location *string `pulumi:"location"` + // Optional. Project used to report Metrics + Project *string `pulumi:"project"` +} + +// MonitoringConfigInput is an input type that accepts MonitoringConfigArgs and MonitoringConfigOutput values. +// You can construct a concrete instance of `MonitoringConfigInput` via: +// +// MonitoringConfigArgs{...} +type MonitoringConfigInput interface { + pulumi.Input + + ToMonitoringConfigOutput() MonitoringConfigOutput + ToMonitoringConfigOutputWithContext(context.Context) MonitoringConfigOutput +} + +// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. +type MonitoringConfigArgs struct { + // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". + Cluster pulumi.StringPtrInput `pulumi:"cluster"` + // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. + ClusterHash pulumi.StringPtrInput `pulumi:"clusterHash"` + // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. + KubernetesMetricsPrefix pulumi.StringPtrInput `pulumi:"kubernetesMetricsPrefix"` + // Optional. Location used to report Metrics + Location pulumi.StringPtrInput `pulumi:"location"` + // Optional. Project used to report Metrics + Project pulumi.StringPtrInput `pulumi:"project"` +} + +func (MonitoringConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MonitoringConfig)(nil)).Elem() +} + +func (i MonitoringConfigArgs) ToMonitoringConfigOutput() MonitoringConfigOutput { + return i.ToMonitoringConfigOutputWithContext(context.Background()) +} + +func (i MonitoringConfigArgs) ToMonitoringConfigOutputWithContext(ctx context.Context) MonitoringConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigOutput) +} + +func (i MonitoringConfigArgs) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { + return i.ToMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (i MonitoringConfigArgs) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigOutput).ToMonitoringConfigPtrOutputWithContext(ctx) +} + +// MonitoringConfigPtrInput is an input type that accepts MonitoringConfigArgs, MonitoringConfigPtr and MonitoringConfigPtrOutput values. +// You can construct a concrete instance of `MonitoringConfigPtrInput` via: +// +// MonitoringConfigArgs{...} +// +// or: +// +// nil +type MonitoringConfigPtrInput interface { + pulumi.Input + + ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput + ToMonitoringConfigPtrOutputWithContext(context.Context) MonitoringConfigPtrOutput +} + +type monitoringConfigPtrType MonitoringConfigArgs + +func MonitoringConfigPtr(v *MonitoringConfigArgs) MonitoringConfigPtrInput { + return (*monitoringConfigPtrType)(v) +} + +func (*monitoringConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MonitoringConfig)(nil)).Elem() +} + +func (i *monitoringConfigPtrType) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { + return i.ToMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (i *monitoringConfigPtrType) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigPtrOutput) +} + +// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. +type MonitoringConfigOutput struct{ *pulumi.OutputState } + +func (MonitoringConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MonitoringConfig)(nil)).Elem() +} + +func (o MonitoringConfigOutput) ToMonitoringConfigOutput() MonitoringConfigOutput { + return o +} + +func (o MonitoringConfigOutput) ToMonitoringConfigOutputWithContext(ctx context.Context) MonitoringConfigOutput { + return o +} + +func (o MonitoringConfigOutput) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { + return o.ToMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (o MonitoringConfigOutput) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MonitoringConfig) *MonitoringConfig { + return &v + }).(MonitoringConfigPtrOutput) +} + +// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". +func (o MonitoringConfigOutput) Cluster() pulumi.StringPtrOutput { return o.ApplyT(func(v MonitoringConfig) *string { return v.Cluster }).(pulumi.StringPtrOutput) } @@ -9014,45 +10605,211 @@ func (o OnPremClusterResponseOutput) ResourceLink() pulumi.StringOutput { return o.ApplyT(func(v OnPremClusterResponse) string { return v.ResourceLink }).(pulumi.StringOutput) } -// Binauthz policy that applies to this cluster. -type PolicyBinding struct { - // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. - Name *string `pulumi:"name"` +// Origin defines where this MembershipFeatureSpec originated from. +type Origin struct { + // Type specifies which type of origin is set. + Type *OriginType `pulumi:"type"` } -// PolicyBindingInput is an input type that accepts PolicyBindingArgs and PolicyBindingOutput values. -// You can construct a concrete instance of `PolicyBindingInput` via: +// OriginInput is an input type that accepts OriginArgs and OriginOutput values. +// You can construct a concrete instance of `OriginInput` via: // -// PolicyBindingArgs{...} -type PolicyBindingInput interface { +// OriginArgs{...} +type OriginInput interface { pulumi.Input - ToPolicyBindingOutput() PolicyBindingOutput - ToPolicyBindingOutputWithContext(context.Context) PolicyBindingOutput + ToOriginOutput() OriginOutput + ToOriginOutputWithContext(context.Context) OriginOutput } -// Binauthz policy that applies to this cluster. -type PolicyBindingArgs struct { - // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. - Name pulumi.StringPtrInput `pulumi:"name"` +// Origin defines where this MembershipFeatureSpec originated from. +type OriginArgs struct { + // Type specifies which type of origin is set. + Type OriginTypePtrInput `pulumi:"type"` } -func (PolicyBindingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyBinding)(nil)).Elem() +func (OriginArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Origin)(nil)).Elem() } -func (i PolicyBindingArgs) ToPolicyBindingOutput() PolicyBindingOutput { - return i.ToPolicyBindingOutputWithContext(context.Background()) +func (i OriginArgs) ToOriginOutput() OriginOutput { + return i.ToOriginOutputWithContext(context.Background()) } -func (i PolicyBindingArgs) ToPolicyBindingOutputWithContext(ctx context.Context) PolicyBindingOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyBindingOutput) +func (i OriginArgs) ToOriginOutputWithContext(ctx context.Context) OriginOutput { + return pulumi.ToOutputWithContext(ctx, i).(OriginOutput) } -// PolicyBindingArrayInput is an input type that accepts PolicyBindingArray and PolicyBindingArrayOutput values. -// You can construct a concrete instance of `PolicyBindingArrayInput` via: -// -// PolicyBindingArray{ PolicyBindingArgs{...} } +func (i OriginArgs) ToOriginPtrOutput() OriginPtrOutput { + return i.ToOriginPtrOutputWithContext(context.Background()) +} + +func (i OriginArgs) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OriginOutput).ToOriginPtrOutputWithContext(ctx) +} + +// OriginPtrInput is an input type that accepts OriginArgs, OriginPtr and OriginPtrOutput values. +// You can construct a concrete instance of `OriginPtrInput` via: +// +// OriginArgs{...} +// +// or: +// +// nil +type OriginPtrInput interface { + pulumi.Input + + ToOriginPtrOutput() OriginPtrOutput + ToOriginPtrOutputWithContext(context.Context) OriginPtrOutput +} + +type originPtrType OriginArgs + +func OriginPtr(v *OriginArgs) OriginPtrInput { + return (*originPtrType)(v) +} + +func (*originPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Origin)(nil)).Elem() +} + +func (i *originPtrType) ToOriginPtrOutput() OriginPtrOutput { + return i.ToOriginPtrOutputWithContext(context.Background()) +} + +func (i *originPtrType) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OriginPtrOutput) +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginOutput struct{ *pulumi.OutputState } + +func (OriginOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Origin)(nil)).Elem() +} + +func (o OriginOutput) ToOriginOutput() OriginOutput { + return o +} + +func (o OriginOutput) ToOriginOutputWithContext(ctx context.Context) OriginOutput { + return o +} + +func (o OriginOutput) ToOriginPtrOutput() OriginPtrOutput { + return o.ToOriginPtrOutputWithContext(context.Background()) +} + +func (o OriginOutput) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Origin) *Origin { + return &v + }).(OriginPtrOutput) +} + +// Type specifies which type of origin is set. +func (o OriginOutput) Type() OriginTypePtrOutput { + return o.ApplyT(func(v Origin) *OriginType { return v.Type }).(OriginTypePtrOutput) +} + +type OriginPtrOutput struct{ *pulumi.OutputState } + +func (OriginPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Origin)(nil)).Elem() +} + +func (o OriginPtrOutput) ToOriginPtrOutput() OriginPtrOutput { + return o +} + +func (o OriginPtrOutput) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return o +} + +func (o OriginPtrOutput) Elem() OriginOutput { + return o.ApplyT(func(v *Origin) Origin { + if v != nil { + return *v + } + var ret Origin + return ret + }).(OriginOutput) +} + +// Type specifies which type of origin is set. +func (o OriginPtrOutput) Type() OriginTypePtrOutput { + return o.ApplyT(func(v *Origin) *OriginType { + if v == nil { + return nil + } + return v.Type + }).(OriginTypePtrOutput) +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginResponse struct { + // Type specifies which type of origin is set. + Type string `pulumi:"type"` +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginResponseOutput struct{ *pulumi.OutputState } + +func (OriginResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OriginResponse)(nil)).Elem() +} + +func (o OriginResponseOutput) ToOriginResponseOutput() OriginResponseOutput { + return o +} + +func (o OriginResponseOutput) ToOriginResponseOutputWithContext(ctx context.Context) OriginResponseOutput { + return o +} + +// Type specifies which type of origin is set. +func (o OriginResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v OriginResponse) string { return v.Type }).(pulumi.StringOutput) +} + +// Binauthz policy that applies to this cluster. +type PolicyBinding struct { + // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. + Name *string `pulumi:"name"` +} + +// PolicyBindingInput is an input type that accepts PolicyBindingArgs and PolicyBindingOutput values. +// You can construct a concrete instance of `PolicyBindingInput` via: +// +// PolicyBindingArgs{...} +type PolicyBindingInput interface { + pulumi.Input + + ToPolicyBindingOutput() PolicyBindingOutput + ToPolicyBindingOutputWithContext(context.Context) PolicyBindingOutput +} + +// Binauthz policy that applies to this cluster. +type PolicyBindingArgs struct { + // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (PolicyBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyBinding)(nil)).Elem() +} + +func (i PolicyBindingArgs) ToPolicyBindingOutput() PolicyBindingOutput { + return i.ToPolicyBindingOutputWithContext(context.Background()) +} + +func (i PolicyBindingArgs) ToPolicyBindingOutputWithContext(ctx context.Context) PolicyBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyBindingOutput) +} + +// PolicyBindingArrayInput is an input type that accepts PolicyBindingArray and PolicyBindingArrayOutput values. +// You can construct a concrete instance of `PolicyBindingArrayInput` via: +// +// PolicyBindingArray{ PolicyBindingArgs{...} } type PolicyBindingArrayInput interface { pulumi.Input @@ -9160,6 +10917,152 @@ func (o PolicyBindingResponseArrayOutput) Index(i pulumi.IntInput) PolicyBinding }).(PolicyBindingResponseOutput) } +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpec struct { + // The set of namespaces to be exempted from the bundle. + ExemptedNamespaces []string `pulumi:"exemptedNamespaces"` +} + +// PolicyControllerBundleInstallSpecInput is an input type that accepts PolicyControllerBundleInstallSpecArgs and PolicyControllerBundleInstallSpecOutput values. +// You can construct a concrete instance of `PolicyControllerBundleInstallSpecInput` via: +// +// PolicyControllerBundleInstallSpecArgs{...} +type PolicyControllerBundleInstallSpecInput interface { + pulumi.Input + + ToPolicyControllerBundleInstallSpecOutput() PolicyControllerBundleInstallSpecOutput + ToPolicyControllerBundleInstallSpecOutputWithContext(context.Context) PolicyControllerBundleInstallSpecOutput +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecArgs struct { + // The set of namespaces to be exempted from the bundle. + ExemptedNamespaces pulumi.StringArrayInput `pulumi:"exemptedNamespaces"` +} + +func (PolicyControllerBundleInstallSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (i PolicyControllerBundleInstallSpecArgs) ToPolicyControllerBundleInstallSpecOutput() PolicyControllerBundleInstallSpecOutput { + return i.ToPolicyControllerBundleInstallSpecOutputWithContext(context.Background()) +} + +func (i PolicyControllerBundleInstallSpecArgs) ToPolicyControllerBundleInstallSpecOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerBundleInstallSpecOutput) +} + +// PolicyControllerBundleInstallSpecMapInput is an input type that accepts PolicyControllerBundleInstallSpecMap and PolicyControllerBundleInstallSpecMapOutput values. +// You can construct a concrete instance of `PolicyControllerBundleInstallSpecMapInput` via: +// +// PolicyControllerBundleInstallSpecMap{ "key": PolicyControllerBundleInstallSpecArgs{...} } +type PolicyControllerBundleInstallSpecMapInput interface { + pulumi.Input + + ToPolicyControllerBundleInstallSpecMapOutput() PolicyControllerBundleInstallSpecMapOutput + ToPolicyControllerBundleInstallSpecMapOutputWithContext(context.Context) PolicyControllerBundleInstallSpecMapOutput +} + +type PolicyControllerBundleInstallSpecMap map[string]PolicyControllerBundleInstallSpecInput + +func (PolicyControllerBundleInstallSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (i PolicyControllerBundleInstallSpecMap) ToPolicyControllerBundleInstallSpecMapOutput() PolicyControllerBundleInstallSpecMapOutput { + return i.ToPolicyControllerBundleInstallSpecMapOutputWithContext(context.Background()) +} + +func (i PolicyControllerBundleInstallSpecMap) ToPolicyControllerBundleInstallSpecMapOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerBundleInstallSpecMapOutput) +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecOutput) ToPolicyControllerBundleInstallSpecOutput() PolicyControllerBundleInstallSpecOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecOutput) ToPolicyControllerBundleInstallSpecOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecOutput { + return o +} + +// The set of namespaces to be exempted from the bundle. +func (o PolicyControllerBundleInstallSpecOutput) ExemptedNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v PolicyControllerBundleInstallSpec) []string { return v.ExemptedNamespaces }).(pulumi.StringArrayOutput) +} + +type PolicyControllerBundleInstallSpecMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecMapOutput) ToPolicyControllerBundleInstallSpecMapOutput() PolicyControllerBundleInstallSpecMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecMapOutput) ToPolicyControllerBundleInstallSpecMapOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerBundleInstallSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerBundleInstallSpec { + return vs[0].(map[string]PolicyControllerBundleInstallSpec)[vs[1].(string)] + }).(PolicyControllerBundleInstallSpecOutput) +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecResponse struct { + // The set of namespaces to be exempted from the bundle. + ExemptedNamespaces []string `pulumi:"exemptedNamespaces"` +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerBundleInstallSpecResponse)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecResponseOutput) ToPolicyControllerBundleInstallSpecResponseOutput() PolicyControllerBundleInstallSpecResponseOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecResponseOutput) ToPolicyControllerBundleInstallSpecResponseOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecResponseOutput { + return o +} + +// The set of namespaces to be exempted from the bundle. +func (o PolicyControllerBundleInstallSpecResponseOutput) ExemptedNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v PolicyControllerBundleInstallSpecResponse) []string { return v.ExemptedNamespaces }).(pulumi.StringArrayOutput) +} + +type PolicyControllerBundleInstallSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerBundleInstallSpecResponse)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecResponseMapOutput) ToPolicyControllerBundleInstallSpecResponseMapOutput() PolicyControllerBundleInstallSpecResponseMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecResponseMapOutput) ToPolicyControllerBundleInstallSpecResponseMapOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecResponseMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecResponseMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerBundleInstallSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerBundleInstallSpecResponse { + return vs[0].(map[string]PolicyControllerBundleInstallSpecResponse)[vs[1].(string)] + }).(PolicyControllerBundleInstallSpecResponseOutput) +} + // Configuration for Policy Controller type PolicyControllerHubConfig struct { // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. @@ -9167,7 +11070,7 @@ type PolicyControllerHubConfig struct { // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. ConstraintViolationLimit *string `pulumi:"constraintViolationLimit"` // Map of deployment configs to deployments ("admission", "audit", "mutation'). - DeploymentConfigs map[string]string `pulumi:"deploymentConfigs"` + DeploymentConfigs map[string]PolicyControllerPolicyControllerDeploymentConfig `pulumi:"deploymentConfigs"` // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. ExemptableNamespaces []string `pulumi:"exemptableNamespaces"` // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. @@ -9202,7 +11105,7 @@ type PolicyControllerHubConfigArgs struct { // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. ConstraintViolationLimit pulumi.StringPtrInput `pulumi:"constraintViolationLimit"` // Map of deployment configs to deployments ("admission", "audit", "mutation'). - DeploymentConfigs pulumi.StringMapInput `pulumi:"deploymentConfigs"` + DeploymentConfigs PolicyControllerPolicyControllerDeploymentConfigMapInput `pulumi:"deploymentConfigs"` // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. ExemptableNamespaces pulumi.StringArrayInput `pulumi:"exemptableNamespaces"` // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. @@ -9308,8 +11211,10 @@ func (o PolicyControllerHubConfigOutput) ConstraintViolationLimit() pulumi.Strin } // Map of deployment configs to deployments ("admission", "audit", "mutation'). -func (o PolicyControllerHubConfigOutput) DeploymentConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) map[string]string { return v.DeploymentConfigs }).(pulumi.StringMapOutput) +func (o PolicyControllerHubConfigOutput) DeploymentConfigs() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) map[string]PolicyControllerPolicyControllerDeploymentConfig { + return v.DeploymentConfigs + }).(PolicyControllerPolicyControllerDeploymentConfigMapOutput) } // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. @@ -9392,13 +11297,13 @@ func (o PolicyControllerHubConfigPtrOutput) ConstraintViolationLimit() pulumi.St } // Map of deployment configs to deployments ("admission", "audit", "mutation'). -func (o PolicyControllerHubConfigPtrOutput) DeploymentConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) map[string]string { +func (o PolicyControllerHubConfigPtrOutput) DeploymentConfigs() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) map[string]PolicyControllerPolicyControllerDeploymentConfig { if v == nil { return nil } return v.DeploymentConfigs - }).(pulumi.StringMapOutput) + }).(PolicyControllerPolicyControllerDeploymentConfigMapOutput) } // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. @@ -9478,7 +11383,7 @@ type PolicyControllerHubConfigResponse struct { // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. ConstraintViolationLimit string `pulumi:"constraintViolationLimit"` // Map of deployment configs to deployments ("admission", "audit", "mutation'). - DeploymentConfigs map[string]string `pulumi:"deploymentConfigs"` + DeploymentConfigs map[string]PolicyControllerPolicyControllerDeploymentConfigResponse `pulumi:"deploymentConfigs"` // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. ExemptableNamespaces []string `pulumi:"exemptableNamespaces"` // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. @@ -9521,8 +11426,10 @@ func (o PolicyControllerHubConfigResponseOutput) ConstraintViolationLimit() pulu } // Map of deployment configs to deployments ("admission", "audit", "mutation'). -func (o PolicyControllerHubConfigResponseOutput) DeploymentConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) map[string]string { return v.DeploymentConfigs }).(pulumi.StringMapOutput) +func (o PolicyControllerHubConfigResponseOutput) DeploymentConfigs() PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) map[string]PolicyControllerPolicyControllerDeploymentConfigResponse { + return v.DeploymentConfigs + }).(PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) } // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. @@ -9758,6 +11665,50 @@ func (o PolicyControllerMembershipSpecResponseOutput) Version() pulumi.StringOut return o.ApplyT(func(v PolicyControllerMembershipSpecResponse) string { return v.Version }).(pulumi.StringOutput) } +// **Policy Controller**: State for a single cluster. +type PolicyControllerMembershipStateResponse struct { + // Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + ComponentStates map[string]PolicyControllerOnClusterStateResponse `pulumi:"componentStates"` + // The overall content state observed by the Hub Feature controller. + PolicyContentState PolicyControllerPolicyContentStateResponse `pulumi:"policyContentState"` + // The overall Policy Controller lifecycle state observed by the Hub Feature controller. + State string `pulumi:"state"` +} + +// **Policy Controller**: State for a single cluster. +type PolicyControllerMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerMembershipStateResponse)(nil)).Elem() +} + +func (o PolicyControllerMembershipStateResponseOutput) ToPolicyControllerMembershipStateResponseOutput() PolicyControllerMembershipStateResponseOutput { + return o +} + +func (o PolicyControllerMembershipStateResponseOutput) ToPolicyControllerMembershipStateResponseOutputWithContext(ctx context.Context) PolicyControllerMembershipStateResponseOutput { + return o +} + +// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" +func (o PolicyControllerMembershipStateResponseOutput) ComponentStates() PolicyControllerOnClusterStateResponseMapOutput { + return o.ApplyT(func(v PolicyControllerMembershipStateResponse) map[string]PolicyControllerOnClusterStateResponse { + return v.ComponentStates + }).(PolicyControllerOnClusterStateResponseMapOutput) +} + +// The overall content state observed by the Hub Feature controller. +func (o PolicyControllerMembershipStateResponseOutput) PolicyContentState() PolicyControllerPolicyContentStateResponseOutput { + return o.ApplyT(func(v PolicyControllerMembershipStateResponse) PolicyControllerPolicyContentStateResponse { + return v.PolicyContentState + }).(PolicyControllerPolicyContentStateResponseOutput) +} + +// The overall Policy Controller lifecycle state observed by the Hub Feature controller. +func (o PolicyControllerMembershipStateResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerMembershipStateResponse) string { return v.State }).(pulumi.StringOutput) +} + // MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] type PolicyControllerMonitoringConfig struct { // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. @@ -9926,10 +11877,63 @@ func (o PolicyControllerMonitoringConfigResponseOutput) Backends() pulumi.String return o.ApplyT(func(v PolicyControllerMonitoringConfigResponse) []string { return v.Backends }).(pulumi.StringArrayOutput) } +// OnClusterState represents the state of a sub-component of Policy Controller. +type PolicyControllerOnClusterStateResponse struct { + // Surface potential errors or information logs. + Details string `pulumi:"details"` + // The lifecycle state of this component. + State string `pulumi:"state"` +} + +// OnClusterState represents the state of a sub-component of Policy Controller. +type PolicyControllerOnClusterStateResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerOnClusterStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerOnClusterStateResponse)(nil)).Elem() +} + +func (o PolicyControllerOnClusterStateResponseOutput) ToPolicyControllerOnClusterStateResponseOutput() PolicyControllerOnClusterStateResponseOutput { + return o +} + +func (o PolicyControllerOnClusterStateResponseOutput) ToPolicyControllerOnClusterStateResponseOutputWithContext(ctx context.Context) PolicyControllerOnClusterStateResponseOutput { + return o +} + +// Surface potential errors or information logs. +func (o PolicyControllerOnClusterStateResponseOutput) Details() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerOnClusterStateResponse) string { return v.Details }).(pulumi.StringOutput) +} + +// The lifecycle state of this component. +func (o PolicyControllerOnClusterStateResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerOnClusterStateResponse) string { return v.State }).(pulumi.StringOutput) +} + +type PolicyControllerOnClusterStateResponseMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerOnClusterStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerOnClusterStateResponse)(nil)).Elem() +} + +func (o PolicyControllerOnClusterStateResponseMapOutput) ToPolicyControllerOnClusterStateResponseMapOutput() PolicyControllerOnClusterStateResponseMapOutput { + return o +} + +func (o PolicyControllerOnClusterStateResponseMapOutput) ToPolicyControllerOnClusterStateResponseMapOutputWithContext(ctx context.Context) PolicyControllerOnClusterStateResponseMapOutput { + return o +} + +func (o PolicyControllerOnClusterStateResponseMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerOnClusterStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerOnClusterStateResponse { + return vs[0].(map[string]PolicyControllerOnClusterStateResponse)[vs[1].(string)] + }).(PolicyControllerOnClusterStateResponseOutput) +} + // PolicyContentSpec defines the user's desired content configuration on the cluster. type PolicyControllerPolicyContentSpec struct { // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - Bundles map[string]string `pulumi:"bundles"` + Bundles map[string]PolicyControllerBundleInstallSpec `pulumi:"bundles"` // Configures the installation of the Template Library. TemplateLibrary *PolicyControllerTemplateLibraryConfig `pulumi:"templateLibrary"` } @@ -9948,7 +11952,7 @@ type PolicyControllerPolicyContentSpecInput interface { // PolicyContentSpec defines the user's desired content configuration on the cluster. type PolicyControllerPolicyContentSpecArgs struct { // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - Bundles pulumi.StringMapInput `pulumi:"bundles"` + Bundles PolicyControllerBundleInstallSpecMapInput `pulumi:"bundles"` // Configures the installation of the Template Library. TemplateLibrary PolicyControllerTemplateLibraryConfigPtrInput `pulumi:"templateLibrary"` } @@ -10032,8 +12036,10 @@ func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContent } // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. -func (o PolicyControllerPolicyContentSpecOutput) Bundles() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerPolicyContentSpec) map[string]string { return v.Bundles }).(pulumi.StringMapOutput) +func (o PolicyControllerPolicyContentSpecOutput) Bundles() PolicyControllerBundleInstallSpecMapOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentSpec) map[string]PolicyControllerBundleInstallSpec { + return v.Bundles + }).(PolicyControllerBundleInstallSpecMapOutput) } // Configures the installation of the Template Library. @@ -10068,13 +12074,13 @@ func (o PolicyControllerPolicyContentSpecPtrOutput) Elem() PolicyControllerPolic } // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. -func (o PolicyControllerPolicyContentSpecPtrOutput) Bundles() pulumi.StringMapOutput { - return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) map[string]string { +func (o PolicyControllerPolicyContentSpecPtrOutput) Bundles() PolicyControllerBundleInstallSpecMapOutput { + return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) map[string]PolicyControllerBundleInstallSpec { if v == nil { return nil } return v.Bundles - }).(pulumi.StringMapOutput) + }).(PolicyControllerBundleInstallSpecMapOutput) } // Configures the installation of the Template Library. @@ -10090,7 +12096,7 @@ func (o PolicyControllerPolicyContentSpecPtrOutput) TemplateLibrary() PolicyCont // PolicyContentSpec defines the user's desired content configuration on the cluster. type PolicyControllerPolicyContentSpecResponse struct { // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - Bundles map[string]string `pulumi:"bundles"` + Bundles map[string]PolicyControllerBundleInstallSpecResponse `pulumi:"bundles"` // Configures the installation of the Template Library. TemplateLibrary PolicyControllerTemplateLibraryConfigResponse `pulumi:"templateLibrary"` } @@ -10111,8 +12117,10 @@ func (o PolicyControllerPolicyContentSpecResponseOutput) ToPolicyControllerPolic } // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. -func (o PolicyControllerPolicyContentSpecResponseOutput) Bundles() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerPolicyContentSpecResponse) map[string]string { return v.Bundles }).(pulumi.StringMapOutput) +func (o PolicyControllerPolicyContentSpecResponseOutput) Bundles() PolicyControllerBundleInstallSpecResponseMapOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentSpecResponse) map[string]PolicyControllerBundleInstallSpecResponse { + return v.Bundles + }).(PolicyControllerBundleInstallSpecResponseMapOutput) } // Configures the installation of the Template Library. @@ -10122,6 +12130,660 @@ func (o PolicyControllerPolicyContentSpecResponseOutput) TemplateLibrary() Polic }).(PolicyControllerTemplateLibraryConfigResponseOutput) } +// The state of the policy controller policy content +type PolicyControllerPolicyContentStateResponse struct { + // The state of the any bundles included in the chosen version of the manifest + BundleStates map[string]PolicyControllerOnClusterStateResponse `pulumi:"bundleStates"` + // The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + ReferentialSyncConfigState PolicyControllerOnClusterStateResponse `pulumi:"referentialSyncConfigState"` + // The state of the template library + TemplateLibraryState PolicyControllerOnClusterStateResponse `pulumi:"templateLibraryState"` +} + +// The state of the policy controller policy content +type PolicyControllerPolicyContentStateResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyContentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyContentStateResponse)(nil)).Elem() +} + +func (o PolicyControllerPolicyContentStateResponseOutput) ToPolicyControllerPolicyContentStateResponseOutput() PolicyControllerPolicyContentStateResponseOutput { + return o +} + +func (o PolicyControllerPolicyContentStateResponseOutput) ToPolicyControllerPolicyContentStateResponseOutputWithContext(ctx context.Context) PolicyControllerPolicyContentStateResponseOutput { + return o +} + +// The state of the any bundles included in the chosen version of the manifest +func (o PolicyControllerPolicyContentStateResponseOutput) BundleStates() PolicyControllerOnClusterStateResponseMapOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentStateResponse) map[string]PolicyControllerOnClusterStateResponse { + return v.BundleStates + }).(PolicyControllerOnClusterStateResponseMapOutput) +} + +// The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. +func (o PolicyControllerPolicyContentStateResponseOutput) ReferentialSyncConfigState() PolicyControllerOnClusterStateResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentStateResponse) PolicyControllerOnClusterStateResponse { + return v.ReferentialSyncConfigState + }).(PolicyControllerOnClusterStateResponseOutput) +} + +// The state of the template library +func (o PolicyControllerPolicyContentStateResponseOutput) TemplateLibraryState() PolicyControllerOnClusterStateResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentStateResponse) PolicyControllerOnClusterStateResponse { + return v.TemplateLibraryState + }).(PolicyControllerOnClusterStateResponseOutput) +} + +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfig struct { + // Container resource requirements. + ContainerResources *PolicyControllerResourceRequirements `pulumi:"containerResources"` + // Pod affinity configuration. + PodAffinity *PolicyControllerPolicyControllerDeploymentConfigPodAffinity `pulumi:"podAffinity"` + // Pod anti-affinity enablement. + PodAntiAffinity *bool `pulumi:"podAntiAffinity"` + // Pod tolerations of node taints. + PodTolerations []PolicyControllerToleration `pulumi:"podTolerations"` + // Pod replica count. + ReplicaCount *string `pulumi:"replicaCount"` +} + +// PolicyControllerPolicyControllerDeploymentConfigInput is an input type that accepts PolicyControllerPolicyControllerDeploymentConfigArgs and PolicyControllerPolicyControllerDeploymentConfigOutput values. +// You can construct a concrete instance of `PolicyControllerPolicyControllerDeploymentConfigInput` via: +// +// PolicyControllerPolicyControllerDeploymentConfigArgs{...} +type PolicyControllerPolicyControllerDeploymentConfigInput interface { + pulumi.Input + + ToPolicyControllerPolicyControllerDeploymentConfigOutput() PolicyControllerPolicyControllerDeploymentConfigOutput + ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigOutput +} + +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigArgs struct { + // Container resource requirements. + ContainerResources PolicyControllerResourceRequirementsPtrInput `pulumi:"containerResources"` + // Pod affinity configuration. + PodAffinity PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput `pulumi:"podAffinity"` + // Pod anti-affinity enablement. + PodAntiAffinity pulumi.BoolPtrInput `pulumi:"podAntiAffinity"` + // Pod tolerations of node taints. + PodTolerations PolicyControllerTolerationArrayInput `pulumi:"podTolerations"` + // Pod replica count. + ReplicaCount pulumi.StringPtrInput `pulumi:"replicaCount"` +} + +func (PolicyControllerPolicyControllerDeploymentConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() +} + +func (i PolicyControllerPolicyControllerDeploymentConfigArgs) ToPolicyControllerPolicyControllerDeploymentConfigOutput() PolicyControllerPolicyControllerDeploymentConfigOutput { + return i.ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(context.Background()) +} + +func (i PolicyControllerPolicyControllerDeploymentConfigArgs) ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyControllerDeploymentConfigOutput) +} + +// PolicyControllerPolicyControllerDeploymentConfigMapInput is an input type that accepts PolicyControllerPolicyControllerDeploymentConfigMap and PolicyControllerPolicyControllerDeploymentConfigMapOutput values. +// You can construct a concrete instance of `PolicyControllerPolicyControllerDeploymentConfigMapInput` via: +// +// PolicyControllerPolicyControllerDeploymentConfigMap{ "key": PolicyControllerPolicyControllerDeploymentConfigArgs{...} } +type PolicyControllerPolicyControllerDeploymentConfigMapInput interface { + pulumi.Input + + ToPolicyControllerPolicyControllerDeploymentConfigMapOutput() PolicyControllerPolicyControllerDeploymentConfigMapOutput + ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigMapOutput +} + +type PolicyControllerPolicyControllerDeploymentConfigMap map[string]PolicyControllerPolicyControllerDeploymentConfigInput + +func (PolicyControllerPolicyControllerDeploymentConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() +} + +func (i PolicyControllerPolicyControllerDeploymentConfigMap) ToPolicyControllerPolicyControllerDeploymentConfigMapOutput() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return i.ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(context.Background()) +} + +func (i PolicyControllerPolicyControllerDeploymentConfigMap) ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyControllerDeploymentConfigMapOutput) +} + +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ToPolicyControllerPolicyControllerDeploymentConfigOutput() PolicyControllerPolicyControllerDeploymentConfigOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigOutput { + return o +} + +// Container resource requirements. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ContainerResources() PolicyControllerResourceRequirementsPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *PolicyControllerResourceRequirements { + return v.ContainerResources + }).(PolicyControllerResourceRequirementsPtrOutput) +} + +// Pod affinity configuration. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) PodAffinity() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *PolicyControllerPolicyControllerDeploymentConfigPodAffinity { + return v.PodAffinity + }).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + +// Pod anti-affinity enablement. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) PodAntiAffinity() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *bool { return v.PodAntiAffinity }).(pulumi.BoolPtrOutput) +} + +// Pod tolerations of node taints. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) PodTolerations() PolicyControllerTolerationArrayOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) []PolicyControllerToleration { + return v.PodTolerations + }).(PolicyControllerTolerationArrayOutput) +} + +// Pod replica count. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ReplicaCount() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *string { return v.ReplicaCount }).(pulumi.StringPtrOutput) +} + +type PolicyControllerPolicyControllerDeploymentConfigMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigMapOutput() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerPolicyControllerDeploymentConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerPolicyControllerDeploymentConfig { + return vs[0].(map[string]PolicyControllerPolicyControllerDeploymentConfig)[vs[1].(string)] + }).(PolicyControllerPolicyControllerDeploymentConfigOutput) +} + +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigResponse struct { + // Container resource requirements. + ContainerResources PolicyControllerResourceRequirementsResponse `pulumi:"containerResources"` + // Pod affinity configuration. + PodAffinity string `pulumi:"podAffinity"` + // Pod anti-affinity enablement. + PodAntiAffinity bool `pulumi:"podAntiAffinity"` + // Pod tolerations of node taints. + PodTolerations []PolicyControllerTolerationResponse `pulumi:"podTolerations"` + // Pod replica count. + ReplicaCount string `pulumi:"replicaCount"` +} + +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigResponse)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseOutput() PolicyControllerPolicyControllerDeploymentConfigResponseOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigResponseOutput { + return o +} + +// Container resource requirements. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ContainerResources() PolicyControllerResourceRequirementsResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) PolicyControllerResourceRequirementsResponse { + return v.ContainerResources + }).(PolicyControllerResourceRequirementsResponseOutput) +} + +// Pod affinity configuration. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) PodAffinity() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) string { return v.PodAffinity }).(pulumi.StringOutput) +} + +// Pod anti-affinity enablement. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) PodAntiAffinity() pulumi.BoolOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) bool { return v.PodAntiAffinity }).(pulumi.BoolOutput) +} + +// Pod tolerations of node taints. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) PodTolerations() PolicyControllerTolerationResponseArrayOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) []PolicyControllerTolerationResponse { + return v.PodTolerations + }).(PolicyControllerTolerationResponseArrayOutput) +} + +// Pod replica count. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ReplicaCount() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) string { return v.ReplicaCount }).(pulumi.StringOutput) +} + +type PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerPolicyControllerDeploymentConfigResponse)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseMapOutput() PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseMapOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerPolicyControllerDeploymentConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerPolicyControllerDeploymentConfigResponse { + return vs[0].(map[string]PolicyControllerPolicyControllerDeploymentConfigResponse)[vs[1].(string)] + }).(PolicyControllerPolicyControllerDeploymentConfigResponseOutput) +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceList struct { + // CPU requirement expressed in Kubernetes resource units. + Cpu *string `pulumi:"cpu"` + // Memory requirement expressed in Kubernetes resource units. + Memory *string `pulumi:"memory"` +} + +// PolicyControllerResourceListInput is an input type that accepts PolicyControllerResourceListArgs and PolicyControllerResourceListOutput values. +// You can construct a concrete instance of `PolicyControllerResourceListInput` via: +// +// PolicyControllerResourceListArgs{...} +type PolicyControllerResourceListInput interface { + pulumi.Input + + ToPolicyControllerResourceListOutput() PolicyControllerResourceListOutput + ToPolicyControllerResourceListOutputWithContext(context.Context) PolicyControllerResourceListOutput +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceListArgs struct { + // CPU requirement expressed in Kubernetes resource units. + Cpu pulumi.StringPtrInput `pulumi:"cpu"` + // Memory requirement expressed in Kubernetes resource units. + Memory pulumi.StringPtrInput `pulumi:"memory"` +} + +func (PolicyControllerResourceListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceList)(nil)).Elem() +} + +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListOutput() PolicyControllerResourceListOutput { + return i.ToPolicyControllerResourceListOutputWithContext(context.Background()) +} + +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListOutputWithContext(ctx context.Context) PolicyControllerResourceListOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceListOutput) +} + +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return i.ToPolicyControllerResourceListPtrOutputWithContext(context.Background()) +} + +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceListOutput).ToPolicyControllerResourceListPtrOutputWithContext(ctx) +} + +// PolicyControllerResourceListPtrInput is an input type that accepts PolicyControllerResourceListArgs, PolicyControllerResourceListPtr and PolicyControllerResourceListPtrOutput values. +// You can construct a concrete instance of `PolicyControllerResourceListPtrInput` via: +// +// PolicyControllerResourceListArgs{...} +// +// or: +// +// nil +type PolicyControllerResourceListPtrInput interface { + pulumi.Input + + ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput + ToPolicyControllerResourceListPtrOutputWithContext(context.Context) PolicyControllerResourceListPtrOutput +} + +type policyControllerResourceListPtrType PolicyControllerResourceListArgs + +func PolicyControllerResourceListPtr(v *PolicyControllerResourceListArgs) PolicyControllerResourceListPtrInput { + return (*policyControllerResourceListPtrType)(v) +} + +func (*policyControllerResourceListPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceList)(nil)).Elem() +} + +func (i *policyControllerResourceListPtrType) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return i.ToPolicyControllerResourceListPtrOutputWithContext(context.Background()) +} + +func (i *policyControllerResourceListPtrType) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceListPtrOutput) +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceListOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceList)(nil)).Elem() +} + +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListOutput() PolicyControllerResourceListOutput { + return o +} + +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListOutputWithContext(ctx context.Context) PolicyControllerResourceListOutput { + return o +} + +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return o.ToPolicyControllerResourceListPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerResourceList) *PolicyControllerResourceList { + return &v + }).(PolicyControllerResourceListPtrOutput) +} + +// CPU requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListOutput) Cpu() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceList) *string { return v.Cpu }).(pulumi.StringPtrOutput) +} + +// Memory requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceList) *string { return v.Memory }).(pulumi.StringPtrOutput) +} + +type PolicyControllerResourceListPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceListPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceList)(nil)).Elem() +} + +func (o PolicyControllerResourceListPtrOutput) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return o +} + +func (o PolicyControllerResourceListPtrOutput) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return o +} + +func (o PolicyControllerResourceListPtrOutput) Elem() PolicyControllerResourceListOutput { + return o.ApplyT(func(v *PolicyControllerResourceList) PolicyControllerResourceList { + if v != nil { + return *v + } + var ret PolicyControllerResourceList + return ret + }).(PolicyControllerResourceListOutput) +} + +// CPU requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListPtrOutput) Cpu() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceList) *string { + if v == nil { + return nil + } + return v.Cpu + }).(pulumi.StringPtrOutput) +} + +// Memory requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListPtrOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceList) *string { + if v == nil { + return nil + } + return v.Memory + }).(pulumi.StringPtrOutput) +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceListResponse struct { + // CPU requirement expressed in Kubernetes resource units. + Cpu string `pulumi:"cpu"` + // Memory requirement expressed in Kubernetes resource units. + Memory string `pulumi:"memory"` +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceListResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceListResponse)(nil)).Elem() +} + +func (o PolicyControllerResourceListResponseOutput) ToPolicyControllerResourceListResponseOutput() PolicyControllerResourceListResponseOutput { + return o +} + +func (o PolicyControllerResourceListResponseOutput) ToPolicyControllerResourceListResponseOutputWithContext(ctx context.Context) PolicyControllerResourceListResponseOutput { + return o +} + +// CPU requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListResponseOutput) Cpu() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerResourceListResponse) string { return v.Cpu }).(pulumi.StringOutput) +} + +// Memory requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListResponseOutput) Memory() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerResourceListResponse) string { return v.Memory }).(pulumi.StringOutput) +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirements struct { + // Limits describes the maximum amount of compute resources allowed for use by the running container. + Limits *PolicyControllerResourceList `pulumi:"limits"` + // Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + Requests *PolicyControllerResourceList `pulumi:"requests"` +} + +// PolicyControllerResourceRequirementsInput is an input type that accepts PolicyControllerResourceRequirementsArgs and PolicyControllerResourceRequirementsOutput values. +// You can construct a concrete instance of `PolicyControllerResourceRequirementsInput` via: +// +// PolicyControllerResourceRequirementsArgs{...} +type PolicyControllerResourceRequirementsInput interface { + pulumi.Input + + ToPolicyControllerResourceRequirementsOutput() PolicyControllerResourceRequirementsOutput + ToPolicyControllerResourceRequirementsOutputWithContext(context.Context) PolicyControllerResourceRequirementsOutput +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsArgs struct { + // Limits describes the maximum amount of compute resources allowed for use by the running container. + Limits PolicyControllerResourceListPtrInput `pulumi:"limits"` + // Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + Requests PolicyControllerResourceListPtrInput `pulumi:"requests"` +} + +func (PolicyControllerResourceRequirementsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceRequirements)(nil)).Elem() +} + +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsOutput() PolicyControllerResourceRequirementsOutput { + return i.ToPolicyControllerResourceRequirementsOutputWithContext(context.Background()) +} + +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceRequirementsOutput) +} + +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return i.ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Background()) +} + +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceRequirementsOutput).ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx) +} + +// PolicyControllerResourceRequirementsPtrInput is an input type that accepts PolicyControllerResourceRequirementsArgs, PolicyControllerResourceRequirementsPtr and PolicyControllerResourceRequirementsPtrOutput values. +// You can construct a concrete instance of `PolicyControllerResourceRequirementsPtrInput` via: +// +// PolicyControllerResourceRequirementsArgs{...} +// +// or: +// +// nil +type PolicyControllerResourceRequirementsPtrInput interface { + pulumi.Input + + ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput + ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Context) PolicyControllerResourceRequirementsPtrOutput +} + +type policyControllerResourceRequirementsPtrType PolicyControllerResourceRequirementsArgs + +func PolicyControllerResourceRequirementsPtr(v *PolicyControllerResourceRequirementsArgs) PolicyControllerResourceRequirementsPtrInput { + return (*policyControllerResourceRequirementsPtrType)(v) +} + +func (*policyControllerResourceRequirementsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceRequirements)(nil)).Elem() +} + +func (i *policyControllerResourceRequirementsPtrType) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return i.ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Background()) +} + +func (i *policyControllerResourceRequirementsPtrType) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceRequirementsPtrOutput) +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceRequirementsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceRequirements)(nil)).Elem() +} + +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsOutput() PolicyControllerResourceRequirementsOutput { + return o +} + +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsOutput { + return o +} + +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return o.ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerResourceRequirements) *PolicyControllerResourceRequirements { + return &v + }).(PolicyControllerResourceRequirementsPtrOutput) +} + +// Limits describes the maximum amount of compute resources allowed for use by the running container. +func (o PolicyControllerResourceRequirementsOutput) Limits() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirements) *PolicyControllerResourceList { return v.Limits }).(PolicyControllerResourceListPtrOutput) +} + +// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. +func (o PolicyControllerResourceRequirementsOutput) Requests() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirements) *PolicyControllerResourceList { return v.Requests }).(PolicyControllerResourceListPtrOutput) +} + +type PolicyControllerResourceRequirementsPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceRequirementsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceRequirements)(nil)).Elem() +} + +func (o PolicyControllerResourceRequirementsPtrOutput) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return o +} + +func (o PolicyControllerResourceRequirementsPtrOutput) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return o +} + +func (o PolicyControllerResourceRequirementsPtrOutput) Elem() PolicyControllerResourceRequirementsOutput { + return o.ApplyT(func(v *PolicyControllerResourceRequirements) PolicyControllerResourceRequirements { + if v != nil { + return *v + } + var ret PolicyControllerResourceRequirements + return ret + }).(PolicyControllerResourceRequirementsOutput) +} + +// Limits describes the maximum amount of compute resources allowed for use by the running container. +func (o PolicyControllerResourceRequirementsPtrOutput) Limits() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceRequirements) *PolicyControllerResourceList { + if v == nil { + return nil + } + return v.Limits + }).(PolicyControllerResourceListPtrOutput) +} + +// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. +func (o PolicyControllerResourceRequirementsPtrOutput) Requests() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceRequirements) *PolicyControllerResourceList { + if v == nil { + return nil + } + return v.Requests + }).(PolicyControllerResourceListPtrOutput) +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsResponse struct { + // Limits describes the maximum amount of compute resources allowed for use by the running container. + Limits PolicyControllerResourceListResponse `pulumi:"limits"` + // Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + Requests PolicyControllerResourceListResponse `pulumi:"requests"` +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceRequirementsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceRequirementsResponse)(nil)).Elem() +} + +func (o PolicyControllerResourceRequirementsResponseOutput) ToPolicyControllerResourceRequirementsResponseOutput() PolicyControllerResourceRequirementsResponseOutput { + return o +} + +func (o PolicyControllerResourceRequirementsResponseOutput) ToPolicyControllerResourceRequirementsResponseOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsResponseOutput { + return o +} + +// Limits describes the maximum amount of compute resources allowed for use by the running container. +func (o PolicyControllerResourceRequirementsResponseOutput) Limits() PolicyControllerResourceListResponseOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirementsResponse) PolicyControllerResourceListResponse { + return v.Limits + }).(PolicyControllerResourceListResponseOutput) +} + +// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. +func (o PolicyControllerResourceRequirementsResponseOutput) Requests() PolicyControllerResourceListResponseOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirementsResponse) PolicyControllerResourceListResponse { + return v.Requests + }).(PolicyControllerResourceListResponseOutput) +} + // The config specifying which default library templates to install. type PolicyControllerTemplateLibraryConfig struct { // Configures the manner in which the template library is installed on the cluster. @@ -10290,6 +12952,200 @@ func (o PolicyControllerTemplateLibraryConfigResponseOutput) Installation() pulu return o.ApplyT(func(v PolicyControllerTemplateLibraryConfigResponse) string { return v.Installation }).(pulumi.StringOutput) } +// Toleration of a node taint. +type PolicyControllerToleration struct { + // Matches a taint effect. + Effect *string `pulumi:"effect"` + // Matches a taint key (not necessarily unique). + Key *string `pulumi:"key"` + // Matches a taint operator. + Operator *string `pulumi:"operator"` + // Matches a taint value. + Value *string `pulumi:"value"` +} + +// PolicyControllerTolerationInput is an input type that accepts PolicyControllerTolerationArgs and PolicyControllerTolerationOutput values. +// You can construct a concrete instance of `PolicyControllerTolerationInput` via: +// +// PolicyControllerTolerationArgs{...} +type PolicyControllerTolerationInput interface { + pulumi.Input + + ToPolicyControllerTolerationOutput() PolicyControllerTolerationOutput + ToPolicyControllerTolerationOutputWithContext(context.Context) PolicyControllerTolerationOutput +} + +// Toleration of a node taint. +type PolicyControllerTolerationArgs struct { + // Matches a taint effect. + Effect pulumi.StringPtrInput `pulumi:"effect"` + // Matches a taint key (not necessarily unique). + Key pulumi.StringPtrInput `pulumi:"key"` + // Matches a taint operator. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Matches a taint value. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (PolicyControllerTolerationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerToleration)(nil)).Elem() +} + +func (i PolicyControllerTolerationArgs) ToPolicyControllerTolerationOutput() PolicyControllerTolerationOutput { + return i.ToPolicyControllerTolerationOutputWithContext(context.Background()) +} + +func (i PolicyControllerTolerationArgs) ToPolicyControllerTolerationOutputWithContext(ctx context.Context) PolicyControllerTolerationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTolerationOutput) +} + +// PolicyControllerTolerationArrayInput is an input type that accepts PolicyControllerTolerationArray and PolicyControllerTolerationArrayOutput values. +// You can construct a concrete instance of `PolicyControllerTolerationArrayInput` via: +// +// PolicyControllerTolerationArray{ PolicyControllerTolerationArgs{...} } +type PolicyControllerTolerationArrayInput interface { + pulumi.Input + + ToPolicyControllerTolerationArrayOutput() PolicyControllerTolerationArrayOutput + ToPolicyControllerTolerationArrayOutputWithContext(context.Context) PolicyControllerTolerationArrayOutput +} + +type PolicyControllerTolerationArray []PolicyControllerTolerationInput + +func (PolicyControllerTolerationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyControllerToleration)(nil)).Elem() +} + +func (i PolicyControllerTolerationArray) ToPolicyControllerTolerationArrayOutput() PolicyControllerTolerationArrayOutput { + return i.ToPolicyControllerTolerationArrayOutputWithContext(context.Background()) +} + +func (i PolicyControllerTolerationArray) ToPolicyControllerTolerationArrayOutputWithContext(ctx context.Context) PolicyControllerTolerationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTolerationArrayOutput) +} + +// Toleration of a node taint. +type PolicyControllerTolerationOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerToleration)(nil)).Elem() +} + +func (o PolicyControllerTolerationOutput) ToPolicyControllerTolerationOutput() PolicyControllerTolerationOutput { + return o +} + +func (o PolicyControllerTolerationOutput) ToPolicyControllerTolerationOutputWithContext(ctx context.Context) PolicyControllerTolerationOutput { + return o +} + +// Matches a taint effect. +func (o PolicyControllerTolerationOutput) Effect() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Effect }).(pulumi.StringPtrOutput) +} + +// Matches a taint key (not necessarily unique). +func (o PolicyControllerTolerationOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Matches a taint operator. +func (o PolicyControllerTolerationOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Matches a taint value. +func (o PolicyControllerTolerationOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type PolicyControllerTolerationArrayOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyControllerToleration)(nil)).Elem() +} + +func (o PolicyControllerTolerationArrayOutput) ToPolicyControllerTolerationArrayOutput() PolicyControllerTolerationArrayOutput { + return o +} + +func (o PolicyControllerTolerationArrayOutput) ToPolicyControllerTolerationArrayOutputWithContext(ctx context.Context) PolicyControllerTolerationArrayOutput { + return o +} + +func (o PolicyControllerTolerationArrayOutput) Index(i pulumi.IntInput) PolicyControllerTolerationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyControllerToleration { + return vs[0].([]PolicyControllerToleration)[vs[1].(int)] + }).(PolicyControllerTolerationOutput) +} + +// Toleration of a node taint. +type PolicyControllerTolerationResponse struct { + // Matches a taint effect. + Effect string `pulumi:"effect"` + // Matches a taint key (not necessarily unique). + Key string `pulumi:"key"` + // Matches a taint operator. + Operator string `pulumi:"operator"` + // Matches a taint value. + Value string `pulumi:"value"` +} + +// Toleration of a node taint. +type PolicyControllerTolerationResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerTolerationResponse)(nil)).Elem() +} + +func (o PolicyControllerTolerationResponseOutput) ToPolicyControllerTolerationResponseOutput() PolicyControllerTolerationResponseOutput { + return o +} + +func (o PolicyControllerTolerationResponseOutput) ToPolicyControllerTolerationResponseOutputWithContext(ctx context.Context) PolicyControllerTolerationResponseOutput { + return o +} + +// Matches a taint effect. +func (o PolicyControllerTolerationResponseOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Effect }).(pulumi.StringOutput) +} + +// Matches a taint key (not necessarily unique). +func (o PolicyControllerTolerationResponseOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Key }).(pulumi.StringOutput) +} + +// Matches a taint operator. +func (o PolicyControllerTolerationResponseOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Operator }).(pulumi.StringOutput) +} + +// Matches a taint value. +func (o PolicyControllerTolerationResponseOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Value }).(pulumi.StringOutput) +} + +type PolicyControllerTolerationResponseArrayOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyControllerTolerationResponse)(nil)).Elem() +} + +func (o PolicyControllerTolerationResponseArrayOutput) ToPolicyControllerTolerationResponseArrayOutput() PolicyControllerTolerationResponseArrayOutput { + return o +} + +func (o PolicyControllerTolerationResponseArrayOutput) ToPolicyControllerTolerationResponseArrayOutputWithContext(ctx context.Context) PolicyControllerTolerationResponseArrayOutput { + return o +} + +func (o PolicyControllerTolerationResponseArrayOutput) Index(i pulumi.IntInput) PolicyControllerTolerationResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyControllerTolerationResponse { + return vs[0].([]PolicyControllerTolerationResponse)[vs[1].(int)] + }).(PolicyControllerTolerationResponseOutput) +} + // RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. type RBACRoleBindingLifecycleStateResponse struct { // The current state of the rbacrolebinding resource. @@ -10668,6 +13524,182 @@ func (o RoleResponseOutput) PredefinedRole() pulumi.StringOutput { return o.ApplyT(func(v RoleResponse) string { return v.PredefinedRole }).(pulumi.StringOutput) } +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpec struct { +} + +// ScopeFeatureSpecInput is an input type that accepts ScopeFeatureSpecArgs and ScopeFeatureSpecOutput values. +// You can construct a concrete instance of `ScopeFeatureSpecInput` via: +// +// ScopeFeatureSpecArgs{...} +type ScopeFeatureSpecInput interface { + pulumi.Input + + ToScopeFeatureSpecOutput() ScopeFeatureSpecOutput + ToScopeFeatureSpecOutputWithContext(context.Context) ScopeFeatureSpecOutput +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecArgs struct { +} + +func (ScopeFeatureSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureSpec)(nil)).Elem() +} + +func (i ScopeFeatureSpecArgs) ToScopeFeatureSpecOutput() ScopeFeatureSpecOutput { + return i.ToScopeFeatureSpecOutputWithContext(context.Background()) +} + +func (i ScopeFeatureSpecArgs) ToScopeFeatureSpecOutputWithContext(ctx context.Context) ScopeFeatureSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScopeFeatureSpecOutput) +} + +// ScopeFeatureSpecMapInput is an input type that accepts ScopeFeatureSpecMap and ScopeFeatureSpecMapOutput values. +// You can construct a concrete instance of `ScopeFeatureSpecMapInput` via: +// +// ScopeFeatureSpecMap{ "key": ScopeFeatureSpecArgs{...} } +type ScopeFeatureSpecMapInput interface { + pulumi.Input + + ToScopeFeatureSpecMapOutput() ScopeFeatureSpecMapOutput + ToScopeFeatureSpecMapOutputWithContext(context.Context) ScopeFeatureSpecMapOutput +} + +type ScopeFeatureSpecMap map[string]ScopeFeatureSpecInput + +func (ScopeFeatureSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureSpec)(nil)).Elem() +} + +func (i ScopeFeatureSpecMap) ToScopeFeatureSpecMapOutput() ScopeFeatureSpecMapOutput { + return i.ToScopeFeatureSpecMapOutputWithContext(context.Background()) +} + +func (i ScopeFeatureSpecMap) ToScopeFeatureSpecMapOutputWithContext(ctx context.Context) ScopeFeatureSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScopeFeatureSpecMapOutput) +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureSpec)(nil)).Elem() +} + +func (o ScopeFeatureSpecOutput) ToScopeFeatureSpecOutput() ScopeFeatureSpecOutput { + return o +} + +func (o ScopeFeatureSpecOutput) ToScopeFeatureSpecOutputWithContext(ctx context.Context) ScopeFeatureSpecOutput { + return o +} + +type ScopeFeatureSpecMapOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureSpec)(nil)).Elem() +} + +func (o ScopeFeatureSpecMapOutput) ToScopeFeatureSpecMapOutput() ScopeFeatureSpecMapOutput { + return o +} + +func (o ScopeFeatureSpecMapOutput) ToScopeFeatureSpecMapOutputWithContext(ctx context.Context) ScopeFeatureSpecMapOutput { + return o +} + +func (o ScopeFeatureSpecMapOutput) MapIndex(k pulumi.StringInput) ScopeFeatureSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScopeFeatureSpec { + return vs[0].(map[string]ScopeFeatureSpec)[vs[1].(string)] + }).(ScopeFeatureSpecOutput) +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecResponse struct { +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecResponseOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureSpecResponse)(nil)).Elem() +} + +func (o ScopeFeatureSpecResponseOutput) ToScopeFeatureSpecResponseOutput() ScopeFeatureSpecResponseOutput { + return o +} + +func (o ScopeFeatureSpecResponseOutput) ToScopeFeatureSpecResponseOutputWithContext(ctx context.Context) ScopeFeatureSpecResponseOutput { + return o +} + +type ScopeFeatureSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureSpecResponse)(nil)).Elem() +} + +func (o ScopeFeatureSpecResponseMapOutput) ToScopeFeatureSpecResponseMapOutput() ScopeFeatureSpecResponseMapOutput { + return o +} + +func (o ScopeFeatureSpecResponseMapOutput) ToScopeFeatureSpecResponseMapOutputWithContext(ctx context.Context) ScopeFeatureSpecResponseMapOutput { + return o +} + +func (o ScopeFeatureSpecResponseMapOutput) MapIndex(k pulumi.StringInput) ScopeFeatureSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScopeFeatureSpecResponse { + return vs[0].(map[string]ScopeFeatureSpecResponse)[vs[1].(string)] + }).(ScopeFeatureSpecResponseOutput) +} + +// ScopeFeatureState contains Scope-wide Feature status information. +type ScopeFeatureStateResponse struct { + // The "running state" of the Feature in this Scope. + State FeatureStateResponse `pulumi:"state"` +} + +// ScopeFeatureState contains Scope-wide Feature status information. +type ScopeFeatureStateResponseOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureStateResponse)(nil)).Elem() +} + +func (o ScopeFeatureStateResponseOutput) ToScopeFeatureStateResponseOutput() ScopeFeatureStateResponseOutput { + return o +} + +func (o ScopeFeatureStateResponseOutput) ToScopeFeatureStateResponseOutputWithContext(ctx context.Context) ScopeFeatureStateResponseOutput { + return o +} + +// The "running state" of the Feature in this Scope. +func (o ScopeFeatureStateResponseOutput) State() FeatureStateResponseOutput { + return o.ApplyT(func(v ScopeFeatureStateResponse) FeatureStateResponse { return v.State }).(FeatureStateResponseOutput) +} + +type ScopeFeatureStateResponseMapOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureStateResponse)(nil)).Elem() +} + +func (o ScopeFeatureStateResponseMapOutput) ToScopeFeatureStateResponseMapOutput() ScopeFeatureStateResponseMapOutput { + return o +} + +func (o ScopeFeatureStateResponseMapOutput) ToScopeFeatureStateResponseMapOutputWithContext(ctx context.Context) ScopeFeatureStateResponseMapOutput { + return o +} + +func (o ScopeFeatureStateResponseMapOutput) MapIndex(k pulumi.StringInput) ScopeFeatureStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScopeFeatureStateResponse { + return vs[0].(map[string]ScopeFeatureStateResponse)[vs[1].(string)] + }).(ScopeFeatureStateResponseOutput) +} + // ScopeLifecycleState describes the state of a Scope resource. type ScopeLifecycleStateResponse struct { // The current state of the scope resource. @@ -10886,6 +13918,72 @@ func (o SecurityPostureConfigResponseOutput) VulnerabilityMode() pulumi.StringOu return o.ApplyT(func(v SecurityPostureConfigResponse) string { return v.VulnerabilityMode }).(pulumi.StringOutput) } +// Status of control plane management. +type ServiceMeshControlPlaneManagementResponse struct { + // Explanation of state. + Details []ServiceMeshStatusDetailsResponse `pulumi:"details"` + // LifecycleState of control plane management. + State string `pulumi:"state"` +} + +// Status of control plane management. +type ServiceMeshControlPlaneManagementResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshControlPlaneManagementResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshControlPlaneManagementResponse)(nil)).Elem() +} + +func (o ServiceMeshControlPlaneManagementResponseOutput) ToServiceMeshControlPlaneManagementResponseOutput() ServiceMeshControlPlaneManagementResponseOutput { + return o +} + +func (o ServiceMeshControlPlaneManagementResponseOutput) ToServiceMeshControlPlaneManagementResponseOutputWithContext(ctx context.Context) ServiceMeshControlPlaneManagementResponseOutput { + return o +} + +// Explanation of state. +func (o ServiceMeshControlPlaneManagementResponseOutput) Details() ServiceMeshStatusDetailsResponseArrayOutput { + return o.ApplyT(func(v ServiceMeshControlPlaneManagementResponse) []ServiceMeshStatusDetailsResponse { return v.Details }).(ServiceMeshStatusDetailsResponseArrayOutput) +} + +// LifecycleState of control plane management. +func (o ServiceMeshControlPlaneManagementResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshControlPlaneManagementResponse) string { return v.State }).(pulumi.StringOutput) +} + +// Status of data plane management. Only reported per-member. +type ServiceMeshDataPlaneManagementResponse struct { + // Explanation of the status. + Details []ServiceMeshStatusDetailsResponse `pulumi:"details"` + // Lifecycle status of data plane management. + State string `pulumi:"state"` +} + +// Status of data plane management. Only reported per-member. +type ServiceMeshDataPlaneManagementResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshDataPlaneManagementResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshDataPlaneManagementResponse)(nil)).Elem() +} + +func (o ServiceMeshDataPlaneManagementResponseOutput) ToServiceMeshDataPlaneManagementResponseOutput() ServiceMeshDataPlaneManagementResponseOutput { + return o +} + +func (o ServiceMeshDataPlaneManagementResponseOutput) ToServiceMeshDataPlaneManagementResponseOutputWithContext(ctx context.Context) ServiceMeshDataPlaneManagementResponseOutput { + return o +} + +// Explanation of the status. +func (o ServiceMeshDataPlaneManagementResponseOutput) Details() ServiceMeshStatusDetailsResponseArrayOutput { + return o.ApplyT(func(v ServiceMeshDataPlaneManagementResponse) []ServiceMeshStatusDetailsResponse { return v.Details }).(ServiceMeshStatusDetailsResponseArrayOutput) +} + +// Lifecycle status of data plane management. +func (o ServiceMeshDataPlaneManagementResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshDataPlaneManagementResponse) string { return v.State }).(pulumi.StringOutput) +} + // **Service Mesh**: Spec for a single Membership for the servicemesh feature type ServiceMeshMembershipSpec struct { // Deprecated: use `management` instead Enables automatic control plane management. @@ -11090,6 +14188,96 @@ func (o ServiceMeshMembershipSpecResponseOutput) Management() pulumi.StringOutpu return o.ApplyT(func(v ServiceMeshMembershipSpecResponse) string { return v.Management }).(pulumi.StringOutput) } +// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. +type ServiceMeshMembershipStateResponse struct { + // Status of control plane management + ControlPlaneManagement ServiceMeshControlPlaneManagementResponse `pulumi:"controlPlaneManagement"` + // Status of data plane management. + DataPlaneManagement ServiceMeshDataPlaneManagementResponse `pulumi:"dataPlaneManagement"` +} + +// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. +type ServiceMeshMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshMembershipStateResponse)(nil)).Elem() +} + +func (o ServiceMeshMembershipStateResponseOutput) ToServiceMeshMembershipStateResponseOutput() ServiceMeshMembershipStateResponseOutput { + return o +} + +func (o ServiceMeshMembershipStateResponseOutput) ToServiceMeshMembershipStateResponseOutputWithContext(ctx context.Context) ServiceMeshMembershipStateResponseOutput { + return o +} + +// Status of control plane management +func (o ServiceMeshMembershipStateResponseOutput) ControlPlaneManagement() ServiceMeshControlPlaneManagementResponseOutput { + return o.ApplyT(func(v ServiceMeshMembershipStateResponse) ServiceMeshControlPlaneManagementResponse { + return v.ControlPlaneManagement + }).(ServiceMeshControlPlaneManagementResponseOutput) +} + +// Status of data plane management. +func (o ServiceMeshMembershipStateResponseOutput) DataPlaneManagement() ServiceMeshDataPlaneManagementResponseOutput { + return o.ApplyT(func(v ServiceMeshMembershipStateResponse) ServiceMeshDataPlaneManagementResponse { + return v.DataPlaneManagement + }).(ServiceMeshDataPlaneManagementResponseOutput) +} + +// Structured and human-readable details for a status. +type ServiceMeshStatusDetailsResponse struct { + // A machine-readable code that further describes a broad status. + Code string `pulumi:"code"` + // Human-readable explanation of code. + Details string `pulumi:"details"` +} + +// Structured and human-readable details for a status. +type ServiceMeshStatusDetailsResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshStatusDetailsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshStatusDetailsResponse)(nil)).Elem() +} + +func (o ServiceMeshStatusDetailsResponseOutput) ToServiceMeshStatusDetailsResponseOutput() ServiceMeshStatusDetailsResponseOutput { + return o +} + +func (o ServiceMeshStatusDetailsResponseOutput) ToServiceMeshStatusDetailsResponseOutputWithContext(ctx context.Context) ServiceMeshStatusDetailsResponseOutput { + return o +} + +// A machine-readable code that further describes a broad status. +func (o ServiceMeshStatusDetailsResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshStatusDetailsResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// Human-readable explanation of code. +func (o ServiceMeshStatusDetailsResponseOutput) Details() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshStatusDetailsResponse) string { return v.Details }).(pulumi.StringOutput) +} + +type ServiceMeshStatusDetailsResponseArrayOutput struct{ *pulumi.OutputState } + +func (ServiceMeshStatusDetailsResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceMeshStatusDetailsResponse)(nil)).Elem() +} + +func (o ServiceMeshStatusDetailsResponseArrayOutput) ToServiceMeshStatusDetailsResponseArrayOutput() ServiceMeshStatusDetailsResponseArrayOutput { + return o +} + +func (o ServiceMeshStatusDetailsResponseArrayOutput) ToServiceMeshStatusDetailsResponseArrayOutputWithContext(ctx context.Context) ServiceMeshStatusDetailsResponseArrayOutput { + return o +} + +func (o ServiceMeshStatusDetailsResponseArrayOutput) Index(i pulumi.IntInput) ServiceMeshStatusDetailsResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceMeshStatusDetailsResponse { + return vs[0].([]ServiceMeshStatusDetailsResponse)[vs[1].(int)] + }).(ServiceMeshStatusDetailsResponseOutput) +} + // Status specifies state for the subcomponent. type StatusResponse struct { // Code specifies AppDevExperienceFeature's subcomponent ready state. @@ -11173,6 +14361,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityFeatureSpecPtrInput)(nil)).Elem(), FleetObservabilityFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityLoggingConfigInput)(nil)).Elem(), FleetObservabilityLoggingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityLoggingConfigPtrInput)(nil)).Elem(), FleetObservabilityLoggingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityMembershipSpecInput)(nil)).Elem(), FleetObservabilityMembershipSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityMembershipSpecPtrInput)(nil)).Elem(), FleetObservabilityMembershipSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityRoutingConfigInput)(nil)).Elem(), FleetObservabilityRoutingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityRoutingConfigPtrInput)(nil)).Elem(), FleetObservabilityRoutingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GkeClusterInput)(nil)).Elem(), GkeClusterArgs{}) @@ -11191,6 +14381,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*KubernetesResourcePtrInput)(nil)).Elem(), KubernetesResourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipEndpointInput)(nil)).Elem(), MembershipEndpointArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipEndpointPtrInput)(nil)).Elem(), MembershipEndpointArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipFeatureSpecInput)(nil)).Elem(), MembershipFeatureSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipFeatureSpecMapInput)(nil)).Elem(), MembershipFeatureSpecMap{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitoringConfigInput)(nil)).Elem(), MonitoringConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitoringConfigPtrInput)(nil)).Elem(), MonitoringConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MultiCloudClusterInput)(nil)).Elem(), MultiCloudClusterArgs{}) @@ -11199,8 +14391,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MultiClusterIngressFeatureSpecPtrInput)(nil)).Elem(), MultiClusterIngressFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterInput)(nil)).Elem(), OnPremClusterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterPtrInput)(nil)).Elem(), OnPremClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OriginInput)(nil)).Elem(), OriginArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OriginPtrInput)(nil)).Elem(), OriginArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyBindingInput)(nil)).Elem(), PolicyBindingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyBindingArrayInput)(nil)).Elem(), PolicyBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerBundleInstallSpecInput)(nil)).Elem(), PolicyControllerBundleInstallSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerBundleInstallSpecMapInput)(nil)).Elem(), PolicyControllerBundleInstallSpecMap{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigInput)(nil)).Elem(), PolicyControllerHubConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigPtrInput)(nil)).Elem(), PolicyControllerHubConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMembershipSpecInput)(nil)).Elem(), PolicyControllerMembershipSpecArgs{}) @@ -11209,11 +14405,21 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigPtrInput)(nil)).Elem(), PolicyControllerMonitoringConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyContentSpecInput)(nil)).Elem(), PolicyControllerPolicyContentSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyContentSpecPtrInput)(nil)).Elem(), PolicyControllerPolicyContentSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigMapInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceListInput)(nil)).Elem(), PolicyControllerResourceListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceListPtrInput)(nil)).Elem(), PolicyControllerResourceListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceRequirementsInput)(nil)).Elem(), PolicyControllerResourceRequirementsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceRequirementsPtrInput)(nil)).Elem(), PolicyControllerResourceRequirementsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigPtrInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTolerationInput)(nil)).Elem(), PolicyControllerTolerationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTolerationArrayInput)(nil)).Elem(), PolicyControllerTolerationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ResourceOptionsInput)(nil)).Elem(), ResourceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResourceOptionsPtrInput)(nil)).Elem(), ResourceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RoleInput)(nil)).Elem(), RoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScopeFeatureSpecInput)(nil)).Elem(), ScopeFeatureSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScopeFeatureSpecMapInput)(nil)).Elem(), ScopeFeatureSpecMap{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPostureConfigInput)(nil)).Elem(), SecurityPostureConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPostureConfigPtrInput)(nil)).Elem(), SecurityPostureConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceMeshMembershipSpecInput)(nil)).Elem(), ServiceMeshMembershipSpecArgs{}) @@ -11258,6 +14464,11 @@ func init() { pulumi.RegisterOutputType(ClusterUpgradeGKEUpgradeResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradeGKEUpgradeStateResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradeGKEUpgradeStateResponseArrayOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeIgnoredMembershipResponseOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeIgnoredMembershipResponseMapOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeMembershipGKEUpgradeStateResponseOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeMembershipStateResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradePostConditionsOutput{}) pulumi.RegisterOutputType(ClusterUpgradePostConditionsPtrOutput{}) pulumi.RegisterOutputType(ClusterUpgradePostConditionsResponseOutput{}) @@ -11271,25 +14482,47 @@ func init() { pulumi.RegisterOutputType(CommonFleetDefaultMemberConfigSpecResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementConfigSyncOutput{}) pulumi.RegisterOutputType(ConfigManagementConfigSyncPtrOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncDeploymentStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncErrorResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncErrorResponseArrayOutput{}) pulumi.RegisterOutputType(ConfigManagementConfigSyncResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncVersionResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementErrorResourceResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementErrorResourceResponseArrayOutput{}) + pulumi.RegisterOutputType(ConfigManagementGatekeeperDeploymentStateResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementGitConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementGitConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementGitConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementGroupVersionKindResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementHierarchyControllerConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementHierarchyControllerConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementHierarchyControllerConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementHierarchyControllerDeploymentStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementHierarchyControllerStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementHierarchyControllerVersionResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementInstallErrorResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementInstallErrorResponseArrayOutput{}) pulumi.RegisterOutputType(ConfigManagementMembershipSpecOutput{}) pulumi.RegisterOutputType(ConfigManagementMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementMembershipStateResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementOciConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementOciConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementOciConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementOperatorStateResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerPtrOutput{}) + pulumi.RegisterOutputType(ConfigManagementPolicyControllerMigrationResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementPolicyControllerStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementPolicyControllerVersionResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementSyncErrorResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementSyncErrorResponseArrayOutput{}) + pulumi.RegisterOutputType(ConfigManagementSyncStateResponseOutput{}) pulumi.RegisterOutputType(DefaultClusterConfigOutput{}) pulumi.RegisterOutputType(DefaultClusterConfigPtrOutput{}) pulumi.RegisterOutputType(DefaultClusterConfigResponseOutput{}) @@ -11314,6 +14547,10 @@ func init() { pulumi.RegisterOutputType(FleetObservabilityLoggingConfigOutput{}) pulumi.RegisterOutputType(FleetObservabilityLoggingConfigPtrOutput{}) pulumi.RegisterOutputType(FleetObservabilityLoggingConfigResponseOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipSpecOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipSpecPtrOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipStateResponseOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigPtrOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigResponseOutput{}) @@ -11333,6 +14570,7 @@ func init() { pulumi.RegisterOutputType(IdentityServiceMembershipSpecOutput{}) pulumi.RegisterOutputType(IdentityServiceMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(IdentityServiceMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(IdentityServiceMembershipStateResponseOutput{}) pulumi.RegisterOutputType(IdentityServiceOidcConfigOutput{}) pulumi.RegisterOutputType(IdentityServiceOidcConfigPtrOutput{}) pulumi.RegisterOutputType(IdentityServiceOidcConfigResponseOutput{}) @@ -11344,6 +14582,12 @@ func init() { pulumi.RegisterOutputType(MembershipEndpointOutput{}) pulumi.RegisterOutputType(MembershipEndpointPtrOutput{}) pulumi.RegisterOutputType(MembershipEndpointResponseOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecMapOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecResponseOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecResponseMapOutput{}) + pulumi.RegisterOutputType(MembershipFeatureStateResponseOutput{}) + pulumi.RegisterOutputType(MembershipFeatureStateResponseMapOutput{}) pulumi.RegisterOutputType(MembershipStateResponseOutput{}) pulumi.RegisterOutputType(MonitoringConfigOutput{}) pulumi.RegisterOutputType(MonitoringConfigPtrOutput{}) @@ -11358,25 +14602,50 @@ func init() { pulumi.RegisterOutputType(OnPremClusterOutput{}) pulumi.RegisterOutputType(OnPremClusterPtrOutput{}) pulumi.RegisterOutputType(OnPremClusterResponseOutput{}) + pulumi.RegisterOutputType(OriginOutput{}) + pulumi.RegisterOutputType(OriginPtrOutput{}) + pulumi.RegisterOutputType(OriginResponseOutput{}) pulumi.RegisterOutputType(PolicyBindingOutput{}) pulumi.RegisterOutputType(PolicyBindingArrayOutput{}) pulumi.RegisterOutputType(PolicyBindingResponseOutput{}) pulumi.RegisterOutputType(PolicyBindingResponseArrayOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecMapOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecResponseMapOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigResponseOutput{}) pulumi.RegisterOutputType(PolicyControllerMembershipSpecOutput{}) pulumi.RegisterOutputType(PolicyControllerMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerMembershipStateResponseOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerOnClusterStateResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerOnClusterStateResponseMapOutput{}) pulumi.RegisterOutputType(PolicyControllerPolicyContentSpecOutput{}) pulumi.RegisterOutputType(PolicyControllerPolicyContentSpecPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerPolicyContentSpecResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyContentStateResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigMapOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceListOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceListPtrOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceListResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceRequirementsOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceRequirementsPtrOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceRequirementsResponseOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationArrayOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationResponseArrayOutput{}) pulumi.RegisterOutputType(RBACRoleBindingLifecycleStateResponseOutput{}) pulumi.RegisterOutputType(ResourceManifestResponseOutput{}) pulumi.RegisterOutputType(ResourceManifestResponseArrayOutput{}) @@ -11385,12 +14654,23 @@ func init() { pulumi.RegisterOutputType(ResourceOptionsResponseOutput{}) pulumi.RegisterOutputType(RoleOutput{}) pulumi.RegisterOutputType(RoleResponseOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecMapOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecResponseOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecResponseMapOutput{}) + pulumi.RegisterOutputType(ScopeFeatureStateResponseOutput{}) + pulumi.RegisterOutputType(ScopeFeatureStateResponseMapOutput{}) pulumi.RegisterOutputType(ScopeLifecycleStateResponseOutput{}) pulumi.RegisterOutputType(SecurityPostureConfigOutput{}) pulumi.RegisterOutputType(SecurityPostureConfigPtrOutput{}) pulumi.RegisterOutputType(SecurityPostureConfigResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshControlPlaneManagementResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshDataPlaneManagementResponseOutput{}) pulumi.RegisterOutputType(ServiceMeshMembershipSpecOutput{}) pulumi.RegisterOutputType(ServiceMeshMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(ServiceMeshMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshMembershipStateResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshStatusDetailsResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshStatusDetailsResponseArrayOutput{}) pulumi.RegisterOutputType(StatusResponseOutput{}) } diff --git a/sdk/go/google/gkehub/v1alpha/feature.go b/sdk/go/google/gkehub/v1alpha/feature.go index ea4b16ccad..7064323ebe 100644 --- a/sdk/go/google/gkehub/v1alpha/feature.go +++ b/sdk/go/google/gkehub/v1alpha/feature.go @@ -28,9 +28,9 @@ type Feature struct { Labels pulumi.StringMapOutput `pulumi:"labels"` Location pulumi.StringOutput `pulumi:"location"` // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs pulumi.StringMapOutput `pulumi:"membershipSpecs"` + MembershipSpecs MembershipFeatureSpecResponseMapOutput `pulumi:"membershipSpecs"` // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. - MembershipStates pulumi.StringMapOutput `pulumi:"membershipStates"` + MembershipStates MembershipFeatureStateResponseMapOutput `pulumi:"membershipStates"` // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` @@ -39,9 +39,9 @@ type Feature struct { // State of the Feature resource itself. ResourceState FeatureResourceStateResponseOutput `pulumi:"resourceState"` // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs pulumi.StringMapOutput `pulumi:"scopeSpecs"` + ScopeSpecs ScopeFeatureSpecResponseMapOutput `pulumi:"scopeSpecs"` // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. - ScopeStates pulumi.StringMapOutput `pulumi:"scopeStates"` + ScopeStates ScopeFeatureStateResponseMapOutput `pulumi:"scopeStates"` // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec CommonFeatureSpecResponseOutput `pulumi:"spec"` // The Hub-wide Feature state. @@ -103,12 +103,12 @@ type featureArgs struct { Labels map[string]string `pulumi:"labels"` Location *string `pulumi:"location"` // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs map[string]string `pulumi:"membershipSpecs"` - Project *string `pulumi:"project"` + MembershipSpecs map[string]MembershipFeatureSpec `pulumi:"membershipSpecs"` + Project *string `pulumi:"project"` // A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). RequestId *string `pulumi:"requestId"` // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs map[string]string `pulumi:"scopeSpecs"` + ScopeSpecs map[string]ScopeFeatureSpec `pulumi:"scopeSpecs"` // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec *CommonFeatureSpec `pulumi:"spec"` } @@ -123,12 +123,12 @@ type FeatureArgs struct { Labels pulumi.StringMapInput Location pulumi.StringPtrInput // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs pulumi.StringMapInput + MembershipSpecs MembershipFeatureSpecMapInput Project pulumi.StringPtrInput // A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrInput // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs pulumi.StringMapInput + ScopeSpecs ScopeFeatureSpecMapInput // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec CommonFeatureSpecPtrInput } @@ -200,13 +200,13 @@ func (o FeatureOutput) Location() pulumi.StringOutput { } // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o FeatureOutput) MembershipSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.MembershipSpecs }).(pulumi.StringMapOutput) +func (o FeatureOutput) MembershipSpecs() MembershipFeatureSpecResponseMapOutput { + return o.ApplyT(func(v *Feature) MembershipFeatureSpecResponseMapOutput { return v.MembershipSpecs }).(MembershipFeatureSpecResponseMapOutput) } // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. -func (o FeatureOutput) MembershipStates() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.MembershipStates }).(pulumi.StringMapOutput) +func (o FeatureOutput) MembershipStates() MembershipFeatureStateResponseMapOutput { + return o.ApplyT(func(v *Feature) MembershipFeatureStateResponseMapOutput { return v.MembershipStates }).(MembershipFeatureStateResponseMapOutput) } // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. @@ -229,13 +229,13 @@ func (o FeatureOutput) ResourceState() FeatureResourceStateResponseOutput { } // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o FeatureOutput) ScopeSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.ScopeSpecs }).(pulumi.StringMapOutput) +func (o FeatureOutput) ScopeSpecs() ScopeFeatureSpecResponseMapOutput { + return o.ApplyT(func(v *Feature) ScopeFeatureSpecResponseMapOutput { return v.ScopeSpecs }).(ScopeFeatureSpecResponseMapOutput) } // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. -func (o FeatureOutput) ScopeStates() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.ScopeStates }).(pulumi.StringMapOutput) +func (o FeatureOutput) ScopeStates() ScopeFeatureStateResponseMapOutput { + return o.ApplyT(func(v *Feature) ScopeFeatureStateResponseMapOutput { return v.ScopeStates }).(ScopeFeatureStateResponseMapOutput) } // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. diff --git a/sdk/go/google/gkehub/v1alpha/getFeature.go b/sdk/go/google/gkehub/v1alpha/getFeature.go index 8c42606de2..74c85983d3 100644 --- a/sdk/go/google/gkehub/v1alpha/getFeature.go +++ b/sdk/go/google/gkehub/v1alpha/getFeature.go @@ -38,17 +38,17 @@ type LookupFeatureResult struct { // Labels for this Feature. Labels map[string]string `pulumi:"labels"` // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs map[string]string `pulumi:"membershipSpecs"` + MembershipSpecs map[string]MembershipFeatureSpecResponse `pulumi:"membershipSpecs"` // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. - MembershipStates map[string]string `pulumi:"membershipStates"` + MembershipStates map[string]MembershipFeatureStateResponse `pulumi:"membershipStates"` // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. Name string `pulumi:"name"` // State of the Feature resource itself. ResourceState FeatureResourceStateResponse `pulumi:"resourceState"` // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs map[string]string `pulumi:"scopeSpecs"` + ScopeSpecs map[string]ScopeFeatureSpecResponse `pulumi:"scopeSpecs"` // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. - ScopeStates map[string]string `pulumi:"scopeStates"` + ScopeStates map[string]ScopeFeatureStateResponse `pulumi:"scopeStates"` // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec CommonFeatureSpecResponse `pulumi:"spec"` // The Hub-wide Feature state. @@ -117,13 +117,13 @@ func (o LookupFeatureResultOutput) Labels() pulumi.StringMapOutput { } // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o LookupFeatureResultOutput) MembershipSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.MembershipSpecs }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) MembershipSpecs() MembershipFeatureSpecResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]MembershipFeatureSpecResponse { return v.MembershipSpecs }).(MembershipFeatureSpecResponseMapOutput) } // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. -func (o LookupFeatureResultOutput) MembershipStates() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.MembershipStates }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) MembershipStates() MembershipFeatureStateResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]MembershipFeatureStateResponse { return v.MembershipStates }).(MembershipFeatureStateResponseMapOutput) } // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. @@ -137,13 +137,13 @@ func (o LookupFeatureResultOutput) ResourceState() FeatureResourceStateResponseO } // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o LookupFeatureResultOutput) ScopeSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.ScopeSpecs }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) ScopeSpecs() ScopeFeatureSpecResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]ScopeFeatureSpecResponse { return v.ScopeSpecs }).(ScopeFeatureSpecResponseMapOutput) } // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. -func (o LookupFeatureResultOutput) ScopeStates() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.ScopeStates }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) ScopeStates() ScopeFeatureStateResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]ScopeFeatureStateResponse { return v.ScopeStates }).(ScopeFeatureStateResponseMapOutput) } // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. diff --git a/sdk/go/google/gkehub/v1alpha/pulumiEnums.go b/sdk/go/google/gkehub/v1alpha/pulumiEnums.go index 0572679542..f012a4303d 100644 --- a/sdk/go/google/gkehub/v1alpha/pulumiEnums.go +++ b/sdk/go/google/gkehub/v1alpha/pulumiEnums.go @@ -355,6 +355,177 @@ func (in *binaryAuthorizationConfigEvaluationModePtr) ToBinaryAuthorizationConfi return pulumi.ToOutputWithContext(ctx, in).(BinaryAuthorizationConfigEvaluationModePtrOutput) } +// Whether it is allowed to run the privileged builds on the cluster or not. +type CloudBuildMembershipSpecSecurityPolicy string + +const ( + // Unspecified policy + CloudBuildMembershipSpecSecurityPolicySecurityPolicyUnspecified = CloudBuildMembershipSpecSecurityPolicy("SECURITY_POLICY_UNSPECIFIED") + // Privileged build pods are disallowed + CloudBuildMembershipSpecSecurityPolicyNonPrivileged = CloudBuildMembershipSpecSecurityPolicy("NON_PRIVILEGED") + // Privileged build pods are allowed + CloudBuildMembershipSpecSecurityPolicyPrivileged = CloudBuildMembershipSpecSecurityPolicy("PRIVILEGED") +) + +func (CloudBuildMembershipSpecSecurityPolicy) ElementType() reflect.Type { + return reflect.TypeOf((*CloudBuildMembershipSpecSecurityPolicy)(nil)).Elem() +} + +func (e CloudBuildMembershipSpecSecurityPolicy) ToCloudBuildMembershipSpecSecurityPolicyOutput() CloudBuildMembershipSpecSecurityPolicyOutput { + return pulumi.ToOutput(e).(CloudBuildMembershipSpecSecurityPolicyOutput) +} + +func (e CloudBuildMembershipSpecSecurityPolicy) ToCloudBuildMembershipSpecSecurityPolicyOutputWithContext(ctx context.Context) CloudBuildMembershipSpecSecurityPolicyOutput { + return pulumi.ToOutputWithContext(ctx, e).(CloudBuildMembershipSpecSecurityPolicyOutput) +} + +func (e CloudBuildMembershipSpecSecurityPolicy) ToCloudBuildMembershipSpecSecurityPolicyPtrOutput() CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return e.ToCloudBuildMembershipSpecSecurityPolicyPtrOutputWithContext(context.Background()) +} + +func (e CloudBuildMembershipSpecSecurityPolicy) ToCloudBuildMembershipSpecSecurityPolicyPtrOutputWithContext(ctx context.Context) CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return CloudBuildMembershipSpecSecurityPolicy(e).ToCloudBuildMembershipSpecSecurityPolicyOutputWithContext(ctx).ToCloudBuildMembershipSpecSecurityPolicyPtrOutputWithContext(ctx) +} + +func (e CloudBuildMembershipSpecSecurityPolicy) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudBuildMembershipSpecSecurityPolicy) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CloudBuildMembershipSpecSecurityPolicy) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CloudBuildMembershipSpecSecurityPolicy) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CloudBuildMembershipSpecSecurityPolicyOutput struct{ *pulumi.OutputState } + +func (CloudBuildMembershipSpecSecurityPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudBuildMembershipSpecSecurityPolicy)(nil)).Elem() +} + +func (o CloudBuildMembershipSpecSecurityPolicyOutput) ToCloudBuildMembershipSpecSecurityPolicyOutput() CloudBuildMembershipSpecSecurityPolicyOutput { + return o +} + +func (o CloudBuildMembershipSpecSecurityPolicyOutput) ToCloudBuildMembershipSpecSecurityPolicyOutputWithContext(ctx context.Context) CloudBuildMembershipSpecSecurityPolicyOutput { + return o +} + +func (o CloudBuildMembershipSpecSecurityPolicyOutput) ToCloudBuildMembershipSpecSecurityPolicyPtrOutput() CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return o.ToCloudBuildMembershipSpecSecurityPolicyPtrOutputWithContext(context.Background()) +} + +func (o CloudBuildMembershipSpecSecurityPolicyOutput) ToCloudBuildMembershipSpecSecurityPolicyPtrOutputWithContext(ctx context.Context) CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CloudBuildMembershipSpecSecurityPolicy) *CloudBuildMembershipSpecSecurityPolicy { + return &v + }).(CloudBuildMembershipSpecSecurityPolicyPtrOutput) +} + +func (o CloudBuildMembershipSpecSecurityPolicyOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CloudBuildMembershipSpecSecurityPolicyOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudBuildMembershipSpecSecurityPolicy) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CloudBuildMembershipSpecSecurityPolicyOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudBuildMembershipSpecSecurityPolicyOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CloudBuildMembershipSpecSecurityPolicy) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CloudBuildMembershipSpecSecurityPolicyPtrOutput struct{ *pulumi.OutputState } + +func (CloudBuildMembershipSpecSecurityPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CloudBuildMembershipSpecSecurityPolicy)(nil)).Elem() +} + +func (o CloudBuildMembershipSpecSecurityPolicyPtrOutput) ToCloudBuildMembershipSpecSecurityPolicyPtrOutput() CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return o +} + +func (o CloudBuildMembershipSpecSecurityPolicyPtrOutput) ToCloudBuildMembershipSpecSecurityPolicyPtrOutputWithContext(ctx context.Context) CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return o +} + +func (o CloudBuildMembershipSpecSecurityPolicyPtrOutput) Elem() CloudBuildMembershipSpecSecurityPolicyOutput { + return o.ApplyT(func(v *CloudBuildMembershipSpecSecurityPolicy) CloudBuildMembershipSpecSecurityPolicy { + if v != nil { + return *v + } + var ret CloudBuildMembershipSpecSecurityPolicy + return ret + }).(CloudBuildMembershipSpecSecurityPolicyOutput) +} + +func (o CloudBuildMembershipSpecSecurityPolicyPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CloudBuildMembershipSpecSecurityPolicyPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CloudBuildMembershipSpecSecurityPolicy) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CloudBuildMembershipSpecSecurityPolicyInput is an input type that accepts values of the CloudBuildMembershipSpecSecurityPolicy enum +// A concrete instance of `CloudBuildMembershipSpecSecurityPolicyInput` can be one of the following: +// +// CloudBuildMembershipSpecSecurityPolicySecurityPolicyUnspecified +// CloudBuildMembershipSpecSecurityPolicyNonPrivileged +// CloudBuildMembershipSpecSecurityPolicyPrivileged +type CloudBuildMembershipSpecSecurityPolicyInput interface { + pulumi.Input + + ToCloudBuildMembershipSpecSecurityPolicyOutput() CloudBuildMembershipSpecSecurityPolicyOutput + ToCloudBuildMembershipSpecSecurityPolicyOutputWithContext(context.Context) CloudBuildMembershipSpecSecurityPolicyOutput +} + +var cloudBuildMembershipSpecSecurityPolicyPtrType = reflect.TypeOf((**CloudBuildMembershipSpecSecurityPolicy)(nil)).Elem() + +type CloudBuildMembershipSpecSecurityPolicyPtrInput interface { + pulumi.Input + + ToCloudBuildMembershipSpecSecurityPolicyPtrOutput() CloudBuildMembershipSpecSecurityPolicyPtrOutput + ToCloudBuildMembershipSpecSecurityPolicyPtrOutputWithContext(context.Context) CloudBuildMembershipSpecSecurityPolicyPtrOutput +} + +type cloudBuildMembershipSpecSecurityPolicyPtr string + +func CloudBuildMembershipSpecSecurityPolicyPtr(v string) CloudBuildMembershipSpecSecurityPolicyPtrInput { + return (*cloudBuildMembershipSpecSecurityPolicyPtr)(&v) +} + +func (*cloudBuildMembershipSpecSecurityPolicyPtr) ElementType() reflect.Type { + return cloudBuildMembershipSpecSecurityPolicyPtrType +} + +func (in *cloudBuildMembershipSpecSecurityPolicyPtr) ToCloudBuildMembershipSpecSecurityPolicyPtrOutput() CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return pulumi.ToOutput(in).(CloudBuildMembershipSpecSecurityPolicyPtrOutput) +} + +func (in *cloudBuildMembershipSpecSecurityPolicyPtr) ToCloudBuildMembershipSpecSecurityPolicyPtrOutputWithContext(ctx context.Context) CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CloudBuildMembershipSpecSecurityPolicyPtrOutput) +} + type ConfigManagementPolicyControllerMonitoringBackendsItem string const ( @@ -1608,6 +1779,180 @@ func (in *onPremClusterClusterTypePtr) ToOnPremClusterClusterTypePtrOutputWithCo return pulumi.ToOutputWithContext(ctx, in).(OnPremClusterClusterTypePtrOutput) } +// Type specifies which type of origin is set. +type OriginType string + +const ( + // Type is unknown or not set. + OriginTypeTypeUnspecified = OriginType("TYPE_UNSPECIFIED") + // Per-Membership spec was inherited from the fleet-level default. + OriginTypeFleet = OriginType("FLEET") + // Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + OriginTypeFleetOutOfSync = OriginType("FLEET_OUT_OF_SYNC") + // Per-Membership spec was inherited from a user specification. + OriginTypeUser = OriginType("USER") +) + +func (OriginType) ElementType() reflect.Type { + return reflect.TypeOf((*OriginType)(nil)).Elem() +} + +func (e OriginType) ToOriginTypeOutput() OriginTypeOutput { + return pulumi.ToOutput(e).(OriginTypeOutput) +} + +func (e OriginType) ToOriginTypeOutputWithContext(ctx context.Context) OriginTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(OriginTypeOutput) +} + +func (e OriginType) ToOriginTypePtrOutput() OriginTypePtrOutput { + return e.ToOriginTypePtrOutputWithContext(context.Background()) +} + +func (e OriginType) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return OriginType(e).ToOriginTypeOutputWithContext(ctx).ToOriginTypePtrOutputWithContext(ctx) +} + +func (e OriginType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e OriginType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e OriginType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e OriginType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type OriginTypeOutput struct{ *pulumi.OutputState } + +func (OriginTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OriginType)(nil)).Elem() +} + +func (o OriginTypeOutput) ToOriginTypeOutput() OriginTypeOutput { + return o +} + +func (o OriginTypeOutput) ToOriginTypeOutputWithContext(ctx context.Context) OriginTypeOutput { + return o +} + +func (o OriginTypeOutput) ToOriginTypePtrOutput() OriginTypePtrOutput { + return o.ToOriginTypePtrOutputWithContext(context.Background()) +} + +func (o OriginTypeOutput) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OriginType) *OriginType { + return &v + }).(OriginTypePtrOutput) +} + +func (o OriginTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o OriginTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e OriginType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o OriginTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o OriginTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e OriginType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type OriginTypePtrOutput struct{ *pulumi.OutputState } + +func (OriginTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OriginType)(nil)).Elem() +} + +func (o OriginTypePtrOutput) ToOriginTypePtrOutput() OriginTypePtrOutput { + return o +} + +func (o OriginTypePtrOutput) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return o +} + +func (o OriginTypePtrOutput) Elem() OriginTypeOutput { + return o.ApplyT(func(v *OriginType) OriginType { + if v != nil { + return *v + } + var ret OriginType + return ret + }).(OriginTypeOutput) +} + +func (o OriginTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o OriginTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *OriginType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// OriginTypeInput is an input type that accepts values of the OriginType enum +// A concrete instance of `OriginTypeInput` can be one of the following: +// +// OriginTypeTypeUnspecified +// OriginTypeFleet +// OriginTypeFleetOutOfSync +// OriginTypeUser +type OriginTypeInput interface { + pulumi.Input + + ToOriginTypeOutput() OriginTypeOutput + ToOriginTypeOutputWithContext(context.Context) OriginTypeOutput +} + +var originTypePtrType = reflect.TypeOf((**OriginType)(nil)).Elem() + +type OriginTypePtrInput interface { + pulumi.Input + + ToOriginTypePtrOutput() OriginTypePtrOutput + ToOriginTypePtrOutputWithContext(context.Context) OriginTypePtrOutput +} + +type originTypePtr string + +func OriginTypePtr(v string) OriginTypePtrInput { + return (*originTypePtr)(&v) +} + +func (*originTypePtr) ElementType() reflect.Type { + return originTypePtrType +} + +func (in *originTypePtr) ToOriginTypePtrOutput() OriginTypePtrOutput { + return pulumi.ToOutput(in).(OriginTypePtrOutput) +} + +func (in *originTypePtr) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(OriginTypePtrOutput) +} + // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. type PolicyControllerHubConfigInstallSpec string @@ -2000,6 +2345,177 @@ func (o PolicyControllerMonitoringConfigBackendsItemArrayOutput) Index(i pulumi. }).(PolicyControllerMonitoringConfigBackendsItemOutput) } +// Pod affinity configuration. +type PolicyControllerPolicyControllerDeploymentConfigPodAffinity string + +const ( + // No affinity configuration has been specified. + PolicyControllerPolicyControllerDeploymentConfigPodAffinityAffinityUnspecified = PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED") + // Affinity configurations will be removed from the deployment. + PolicyControllerPolicyControllerDeploymentConfigPodAffinityNoAffinity = PolicyControllerPolicyControllerDeploymentConfigPodAffinity("NO_AFFINITY") + // Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + PolicyControllerPolicyControllerDeploymentConfigPodAffinityAntiAffinity = PolicyControllerPolicyControllerDeploymentConfigPodAffinity("ANTI_AFFINITY") +) + +func (PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return pulumi.ToOutput(e).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return pulumi.ToOutputWithContext(ctx, e).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return e.ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(context.Background()) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return PolicyControllerPolicyControllerDeploymentConfigPodAffinity(e).ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(ctx).ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o.ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerPolicyControllerDeploymentConfigPodAffinity) *PolicyControllerPolicyControllerDeploymentConfigPodAffinity { + return &v + }).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) Elem() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return o.ApplyT(func(v *PolicyControllerPolicyControllerDeploymentConfigPodAffinity) PolicyControllerPolicyControllerDeploymentConfigPodAffinity { + if v != nil { + return *v + } + var ret PolicyControllerPolicyControllerDeploymentConfigPodAffinity + return ret + }).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *PolicyControllerPolicyControllerDeploymentConfigPodAffinity) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput is an input type that accepts values of the PolicyControllerPolicyControllerDeploymentConfigPodAffinity enum +// A concrete instance of `PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput` can be one of the following: +// +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityAffinityUnspecified +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityNoAffinity +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityAntiAffinity +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput interface { + pulumi.Input + + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput +} + +var policyControllerPolicyControllerDeploymentConfigPodAffinityPtrType = reflect.TypeOf((**PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() + +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput interface { + pulumi.Input + + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput +} + +type policyControllerPolicyControllerDeploymentConfigPodAffinityPtr string + +func PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtr(v string) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput { + return (*policyControllerPolicyControllerDeploymentConfigPodAffinityPtr)(&v) +} + +func (*policyControllerPolicyControllerDeploymentConfigPodAffinityPtr) ElementType() reflect.Type { + return policyControllerPolicyControllerDeploymentConfigPodAffinityPtrType +} + +func (in *policyControllerPolicyControllerDeploymentConfigPodAffinityPtr) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return pulumi.ToOutput(in).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + +func (in *policyControllerPolicyControllerDeploymentConfigPodAffinityPtr) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + // Configures the manner in which the template library is installed on the cluster. type PolicyControllerTemplateLibraryConfigInstallation string @@ -3214,6 +3730,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigLogTypePtrInput)(nil)).Elem(), AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*BinaryAuthorizationConfigEvaluationModeInput)(nil)).Elem(), BinaryAuthorizationConfigEvaluationMode("EVALUATION_MODE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*BinaryAuthorizationConfigEvaluationModePtrInput)(nil)).Elem(), BinaryAuthorizationConfigEvaluationMode("EVALUATION_MODE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*CloudBuildMembershipSpecSecurityPolicyInput)(nil)).Elem(), CloudBuildMembershipSpecSecurityPolicy("SECURITY_POLICY_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*CloudBuildMembershipSpecSecurityPolicyPtrInput)(nil)).Elem(), CloudBuildMembershipSpecSecurityPolicy("SECURITY_POLICY_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*ConfigManagementPolicyControllerMonitoringBackendsItemInput)(nil)).Elem(), ConfigManagementPolicyControllerMonitoringBackendsItem("MONITORING_BACKEND_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*ConfigManagementPolicyControllerMonitoringBackendsItemPtrInput)(nil)).Elem(), ConfigManagementPolicyControllerMonitoringBackendsItem("MONITORING_BACKEND_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*ConfigManagementPolicyControllerMonitoringBackendsItemArrayInput)(nil)).Elem(), ConfigManagementPolicyControllerMonitoringBackendsItemArray{}) @@ -3229,11 +3747,15 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*NamespaceActuationFeatureSpecActuationModePtrInput)(nil)).Elem(), NamespaceActuationFeatureSpecActuationMode("ACTUATION_MODE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterClusterTypeInput)(nil)).Elem(), OnPremClusterClusterType("CLUSTERTYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterClusterTypePtrInput)(nil)).Elem(), OnPremClusterClusterType("CLUSTERTYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*OriginTypeInput)(nil)).Elem(), OriginType("TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*OriginTypePtrInput)(nil)).Elem(), OriginType("TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigInstallSpecInput)(nil)).Elem(), PolicyControllerHubConfigInstallSpec("INSTALL_SPEC_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigInstallSpecPtrInput)(nil)).Elem(), PolicyControllerHubConfigInstallSpec("INSTALL_SPEC_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigBackendsItemInput)(nil)).Elem(), PolicyControllerMonitoringConfigBackendsItem("MONITORING_BACKEND_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigBackendsItemPtrInput)(nil)).Elem(), PolicyControllerMonitoringConfigBackendsItem("MONITORING_BACKEND_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigBackendsItemArrayInput)(nil)).Elem(), PolicyControllerMonitoringConfigBackendsItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigInstallationInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigInstallation("INSTALLATION_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigInstallationPtrInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigInstallation("INSTALLATION_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*RolePredefinedRoleInput)(nil)).Elem(), RolePredefinedRole("UNKNOWN")) @@ -3252,6 +3774,8 @@ func init() { pulumi.RegisterOutputType(AuditLogConfigLogTypePtrOutput{}) pulumi.RegisterOutputType(BinaryAuthorizationConfigEvaluationModeOutput{}) pulumi.RegisterOutputType(BinaryAuthorizationConfigEvaluationModePtrOutput{}) + pulumi.RegisterOutputType(CloudBuildMembershipSpecSecurityPolicyOutput{}) + pulumi.RegisterOutputType(CloudBuildMembershipSpecSecurityPolicyPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringBackendsItemOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringBackendsItemPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringBackendsItemArrayOutput{}) @@ -3267,11 +3791,15 @@ func init() { pulumi.RegisterOutputType(NamespaceActuationFeatureSpecActuationModePtrOutput{}) pulumi.RegisterOutputType(OnPremClusterClusterTypeOutput{}) pulumi.RegisterOutputType(OnPremClusterClusterTypePtrOutput{}) + pulumi.RegisterOutputType(OriginTypeOutput{}) + pulumi.RegisterOutputType(OriginTypePtrOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigInstallSpecOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigInstallSpecPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigBackendsItemOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigBackendsItemPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigBackendsItemArrayOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigInstallationOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigInstallationPtrOutput{}) pulumi.RegisterOutputType(RolePredefinedRoleOutput{}) diff --git a/sdk/go/google/gkehub/v1alpha/pulumiTypes.go b/sdk/go/google/gkehub/v1alpha/pulumiTypes.go index 3e5d75364e..528d6949bb 100644 --- a/sdk/go/google/gkehub/v1alpha/pulumiTypes.go +++ b/sdk/go/google/gkehub/v1alpha/pulumiTypes.go @@ -1799,6 +1799,198 @@ func (o CloudAuditLoggingFeatureSpecResponseOutput) AllowlistedServiceAccounts() return o.ApplyT(func(v CloudAuditLoggingFeatureSpecResponse) []string { return v.AllowlistedServiceAccounts }).(pulumi.StringArrayOutput) } +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type CloudBuildMembershipSpec struct { + // Whether it is allowed to run the privileged builds on the cluster or not. + SecurityPolicy *CloudBuildMembershipSpecSecurityPolicy `pulumi:"securityPolicy"` + // Version of the cloud build software on the cluster. + Version *string `pulumi:"version"` +} + +// CloudBuildMembershipSpecInput is an input type that accepts CloudBuildMembershipSpecArgs and CloudBuildMembershipSpecOutput values. +// You can construct a concrete instance of `CloudBuildMembershipSpecInput` via: +// +// CloudBuildMembershipSpecArgs{...} +type CloudBuildMembershipSpecInput interface { + pulumi.Input + + ToCloudBuildMembershipSpecOutput() CloudBuildMembershipSpecOutput + ToCloudBuildMembershipSpecOutputWithContext(context.Context) CloudBuildMembershipSpecOutput +} + +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type CloudBuildMembershipSpecArgs struct { + // Whether it is allowed to run the privileged builds on the cluster or not. + SecurityPolicy CloudBuildMembershipSpecSecurityPolicyPtrInput `pulumi:"securityPolicy"` + // Version of the cloud build software on the cluster. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (CloudBuildMembershipSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CloudBuildMembershipSpec)(nil)).Elem() +} + +func (i CloudBuildMembershipSpecArgs) ToCloudBuildMembershipSpecOutput() CloudBuildMembershipSpecOutput { + return i.ToCloudBuildMembershipSpecOutputWithContext(context.Background()) +} + +func (i CloudBuildMembershipSpecArgs) ToCloudBuildMembershipSpecOutputWithContext(ctx context.Context) CloudBuildMembershipSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloudBuildMembershipSpecOutput) +} + +func (i CloudBuildMembershipSpecArgs) ToCloudBuildMembershipSpecPtrOutput() CloudBuildMembershipSpecPtrOutput { + return i.ToCloudBuildMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i CloudBuildMembershipSpecArgs) ToCloudBuildMembershipSpecPtrOutputWithContext(ctx context.Context) CloudBuildMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloudBuildMembershipSpecOutput).ToCloudBuildMembershipSpecPtrOutputWithContext(ctx) +} + +// CloudBuildMembershipSpecPtrInput is an input type that accepts CloudBuildMembershipSpecArgs, CloudBuildMembershipSpecPtr and CloudBuildMembershipSpecPtrOutput values. +// You can construct a concrete instance of `CloudBuildMembershipSpecPtrInput` via: +// +// CloudBuildMembershipSpecArgs{...} +// +// or: +// +// nil +type CloudBuildMembershipSpecPtrInput interface { + pulumi.Input + + ToCloudBuildMembershipSpecPtrOutput() CloudBuildMembershipSpecPtrOutput + ToCloudBuildMembershipSpecPtrOutputWithContext(context.Context) CloudBuildMembershipSpecPtrOutput +} + +type cloudBuildMembershipSpecPtrType CloudBuildMembershipSpecArgs + +func CloudBuildMembershipSpecPtr(v *CloudBuildMembershipSpecArgs) CloudBuildMembershipSpecPtrInput { + return (*cloudBuildMembershipSpecPtrType)(v) +} + +func (*cloudBuildMembershipSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CloudBuildMembershipSpec)(nil)).Elem() +} + +func (i *cloudBuildMembershipSpecPtrType) ToCloudBuildMembershipSpecPtrOutput() CloudBuildMembershipSpecPtrOutput { + return i.ToCloudBuildMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i *cloudBuildMembershipSpecPtrType) ToCloudBuildMembershipSpecPtrOutputWithContext(ctx context.Context) CloudBuildMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CloudBuildMembershipSpecPtrOutput) +} + +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type CloudBuildMembershipSpecOutput struct{ *pulumi.OutputState } + +func (CloudBuildMembershipSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudBuildMembershipSpec)(nil)).Elem() +} + +func (o CloudBuildMembershipSpecOutput) ToCloudBuildMembershipSpecOutput() CloudBuildMembershipSpecOutput { + return o +} + +func (o CloudBuildMembershipSpecOutput) ToCloudBuildMembershipSpecOutputWithContext(ctx context.Context) CloudBuildMembershipSpecOutput { + return o +} + +func (o CloudBuildMembershipSpecOutput) ToCloudBuildMembershipSpecPtrOutput() CloudBuildMembershipSpecPtrOutput { + return o.ToCloudBuildMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (o CloudBuildMembershipSpecOutput) ToCloudBuildMembershipSpecPtrOutputWithContext(ctx context.Context) CloudBuildMembershipSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CloudBuildMembershipSpec) *CloudBuildMembershipSpec { + return &v + }).(CloudBuildMembershipSpecPtrOutput) +} + +// Whether it is allowed to run the privileged builds on the cluster or not. +func (o CloudBuildMembershipSpecOutput) SecurityPolicy() CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return o.ApplyT(func(v CloudBuildMembershipSpec) *CloudBuildMembershipSpecSecurityPolicy { return v.SecurityPolicy }).(CloudBuildMembershipSpecSecurityPolicyPtrOutput) +} + +// Version of the cloud build software on the cluster. +func (o CloudBuildMembershipSpecOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v CloudBuildMembershipSpec) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type CloudBuildMembershipSpecPtrOutput struct{ *pulumi.OutputState } + +func (CloudBuildMembershipSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CloudBuildMembershipSpec)(nil)).Elem() +} + +func (o CloudBuildMembershipSpecPtrOutput) ToCloudBuildMembershipSpecPtrOutput() CloudBuildMembershipSpecPtrOutput { + return o +} + +func (o CloudBuildMembershipSpecPtrOutput) ToCloudBuildMembershipSpecPtrOutputWithContext(ctx context.Context) CloudBuildMembershipSpecPtrOutput { + return o +} + +func (o CloudBuildMembershipSpecPtrOutput) Elem() CloudBuildMembershipSpecOutput { + return o.ApplyT(func(v *CloudBuildMembershipSpec) CloudBuildMembershipSpec { + if v != nil { + return *v + } + var ret CloudBuildMembershipSpec + return ret + }).(CloudBuildMembershipSpecOutput) +} + +// Whether it is allowed to run the privileged builds on the cluster or not. +func (o CloudBuildMembershipSpecPtrOutput) SecurityPolicy() CloudBuildMembershipSpecSecurityPolicyPtrOutput { + return o.ApplyT(func(v *CloudBuildMembershipSpec) *CloudBuildMembershipSpecSecurityPolicy { + if v == nil { + return nil + } + return v.SecurityPolicy + }).(CloudBuildMembershipSpecSecurityPolicyPtrOutput) +} + +// Version of the cloud build software on the cluster. +func (o CloudBuildMembershipSpecPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CloudBuildMembershipSpec) *string { + if v == nil { + return nil + } + return v.Version + }).(pulumi.StringPtrOutput) +} + +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type CloudBuildMembershipSpecResponse struct { + // Whether it is allowed to run the privileged builds on the cluster or not. + SecurityPolicy string `pulumi:"securityPolicy"` + // Version of the cloud build software on the cluster. + Version string `pulumi:"version"` +} + +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type CloudBuildMembershipSpecResponseOutput struct{ *pulumi.OutputState } + +func (CloudBuildMembershipSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CloudBuildMembershipSpecResponse)(nil)).Elem() +} + +func (o CloudBuildMembershipSpecResponseOutput) ToCloudBuildMembershipSpecResponseOutput() CloudBuildMembershipSpecResponseOutput { + return o +} + +func (o CloudBuildMembershipSpecResponseOutput) ToCloudBuildMembershipSpecResponseOutputWithContext(ctx context.Context) CloudBuildMembershipSpecResponseOutput { + return o +} + +// Whether it is allowed to run the privileged builds on the cluster or not. +func (o CloudBuildMembershipSpecResponseOutput) SecurityPolicy() pulumi.StringOutput { + return o.ApplyT(func(v CloudBuildMembershipSpecResponse) string { return v.SecurityPolicy }).(pulumi.StringOutput) +} + +// Version of the cloud build software on the cluster. +func (o CloudBuildMembershipSpecResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v CloudBuildMembershipSpecResponse) string { return v.Version }).(pulumi.StringOutput) +} + // **ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature. type ClusterUpgradeFleetSpec struct { // Allow users to override some properties of each GKE upgrade. @@ -2026,7 +2218,7 @@ type ClusterUpgradeFleetStateResponse struct { // Feature state for GKE clusters. GkeState ClusterUpgradeGKEUpgradeFeatureStateResponse `pulumi:"gkeState"` // A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. - Ignored map[string]string `pulumi:"ignored"` + Ignored map[string]ClusterUpgradeIgnoredMembershipResponse `pulumi:"ignored"` } // **ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature. @@ -2057,8 +2249,10 @@ func (o ClusterUpgradeFleetStateResponseOutput) GkeState() ClusterUpgradeGKEUpgr } // A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. -func (o ClusterUpgradeFleetStateResponseOutput) Ignored() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterUpgradeFleetStateResponse) map[string]string { return v.Ignored }).(pulumi.StringMapOutput) +func (o ClusterUpgradeFleetStateResponseOutput) Ignored() ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o.ApplyT(func(v ClusterUpgradeFleetStateResponse) map[string]ClusterUpgradeIgnoredMembershipResponse { + return v.Ignored + }).(ClusterUpgradeIgnoredMembershipResponseMapOutput) } // GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade. @@ -2486,6 +2680,167 @@ func (o ClusterUpgradeGKEUpgradeStateResponseArrayOutput) Index(i pulumi.IntInpu }).(ClusterUpgradeGKEUpgradeStateResponseOutput) } +// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. +type ClusterUpgradeIgnoredMembershipResponse struct { + // Time when the membership was first set to ignored. + IgnoredTime string `pulumi:"ignoredTime"` + // Reason why the membership is ignored. + Reason string `pulumi:"reason"` +} + +// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. +type ClusterUpgradeIgnoredMembershipResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeIgnoredMembershipResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeIgnoredMembershipResponse)(nil)).Elem() +} + +func (o ClusterUpgradeIgnoredMembershipResponseOutput) ToClusterUpgradeIgnoredMembershipResponseOutput() ClusterUpgradeIgnoredMembershipResponseOutput { + return o +} + +func (o ClusterUpgradeIgnoredMembershipResponseOutput) ToClusterUpgradeIgnoredMembershipResponseOutputWithContext(ctx context.Context) ClusterUpgradeIgnoredMembershipResponseOutput { + return o +} + +// Time when the membership was first set to ignored. +func (o ClusterUpgradeIgnoredMembershipResponseOutput) IgnoredTime() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeIgnoredMembershipResponse) string { return v.IgnoredTime }).(pulumi.StringOutput) +} + +// Reason why the membership is ignored. +func (o ClusterUpgradeIgnoredMembershipResponseOutput) Reason() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeIgnoredMembershipResponse) string { return v.Reason }).(pulumi.StringOutput) +} + +type ClusterUpgradeIgnoredMembershipResponseMapOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeIgnoredMembershipResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ClusterUpgradeIgnoredMembershipResponse)(nil)).Elem() +} + +func (o ClusterUpgradeIgnoredMembershipResponseMapOutput) ToClusterUpgradeIgnoredMembershipResponseMapOutput() ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o +} + +func (o ClusterUpgradeIgnoredMembershipResponseMapOutput) ToClusterUpgradeIgnoredMembershipResponseMapOutputWithContext(ctx context.Context) ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o +} + +func (o ClusterUpgradeIgnoredMembershipResponseMapOutput) MapIndex(k pulumi.StringInput) ClusterUpgradeIgnoredMembershipResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ClusterUpgradeIgnoredMembershipResponse { + return vs[0].(map[string]ClusterUpgradeIgnoredMembershipResponse)[vs[1].(string)] + }).(ClusterUpgradeIgnoredMembershipResponseOutput) +} + +// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. +type ClusterUpgradeMembershipGKEUpgradeStateResponse struct { + // Status of the upgrade. + Status ClusterUpgradeUpgradeStatusResponse `pulumi:"status"` + // Which upgrade to track the state. + Upgrade ClusterUpgradeGKEUpgradeResponse `pulumi:"upgrade"` +} + +// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. +type ClusterUpgradeMembershipGKEUpgradeStateResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeMembershipGKEUpgradeStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseOutput() ClusterUpgradeMembershipGKEUpgradeStateResponseOutput { + return o +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseOutputWithContext(ctx context.Context) ClusterUpgradeMembershipGKEUpgradeStateResponseOutput { + return o +} + +// Status of the upgrade. +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) Status() ClusterUpgradeUpgradeStatusResponseOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipGKEUpgradeStateResponse) ClusterUpgradeUpgradeStatusResponse { + return v.Status + }).(ClusterUpgradeUpgradeStatusResponseOutput) +} + +// Which upgrade to track the state. +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) Upgrade() ClusterUpgradeGKEUpgradeResponseOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipGKEUpgradeStateResponse) ClusterUpgradeGKEUpgradeResponse { + return v.Upgrade + }).(ClusterUpgradeGKEUpgradeResponseOutput) +} + +type ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterUpgradeMembershipGKEUpgradeStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput() ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput { + return o +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutputWithContext(ctx context.Context) ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput { + return o +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) Index(i pulumi.IntInput) ClusterUpgradeMembershipGKEUpgradeStateResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterUpgradeMembershipGKEUpgradeStateResponse { + return vs[0].([]ClusterUpgradeMembershipGKEUpgradeStateResponse)[vs[1].(int)] + }).(ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) +} + +// Per-membership state for this feature. +type ClusterUpgradeMembershipStateResponse struct { + // Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + Fleet string `pulumi:"fleet"` + // Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + Ignored ClusterUpgradeIgnoredMembershipResponse `pulumi:"ignored"` + // Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + Scopes []string `pulumi:"scopes"` + // Actual upgrade state against desired. + Upgrades []ClusterUpgradeMembershipGKEUpgradeStateResponse `pulumi:"upgrades"` +} + +// Per-membership state for this feature. +type ClusterUpgradeMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeMembershipStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeMembershipStateResponseOutput) ToClusterUpgradeMembershipStateResponseOutput() ClusterUpgradeMembershipStateResponseOutput { + return o +} + +func (o ClusterUpgradeMembershipStateResponseOutput) ToClusterUpgradeMembershipStateResponseOutputWithContext(ctx context.Context) ClusterUpgradeMembershipStateResponseOutput { + return o +} + +// Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. +func (o ClusterUpgradeMembershipStateResponseOutput) Fleet() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) string { return v.Fleet }).(pulumi.StringOutput) +} + +// Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. +func (o ClusterUpgradeMembershipStateResponseOutput) Ignored() ClusterUpgradeIgnoredMembershipResponseOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) ClusterUpgradeIgnoredMembershipResponse { + return v.Ignored + }).(ClusterUpgradeIgnoredMembershipResponseOutput) +} + +// Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. +func (o ClusterUpgradeMembershipStateResponseOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) []string { return v.Scopes }).(pulumi.StringArrayOutput) +} + +// Actual upgrade state against desired. +func (o ClusterUpgradeMembershipStateResponseOutput) Upgrades() ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) []ClusterUpgradeMembershipGKEUpgradeStateResponse { + return v.Upgrades + }).(ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) +} + // Post conditional checks after an upgrade has been applied on all eligible clusters. type ClusterUpgradePostConditions struct { // Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days. Required. @@ -2652,92 +3007,356 @@ func (o ClusterUpgradePostConditionsResponseOutput) Soaking() pulumi.StringOutpu return o.ApplyT(func(v ClusterUpgradePostConditionsResponse) string { return v.Soaking }).(pulumi.StringOutput) } -// UpgradeStatus provides status information for each upgrade. -type ClusterUpgradeUpgradeStatusResponse struct { - // Status code of the upgrade. - Code string `pulumi:"code"` - // Reason for this status. - Reason string `pulumi:"reason"` - // Last timestamp the status was updated. - UpdateTime string `pulumi:"updateTime"` +// **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. +type ClusterUpgradeScopeSpec struct { + // Allow users to override some properties of each GKE upgrade. + GkeUpgradeOverrides []ClusterUpgradeGKEUpgradeOverride `pulumi:"gkeUpgradeOverrides"` + // Post conditions to evaluate to mark an upgrade COMPLETE. Required. + PostConditions ClusterUpgradePostConditions `pulumi:"postConditions"` + // This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + UpstreamScopes []string `pulumi:"upstreamScopes"` } -// UpgradeStatus provides status information for each upgrade. -type ClusterUpgradeUpgradeStatusResponseOutput struct{ *pulumi.OutputState } +// ClusterUpgradeScopeSpecInput is an input type that accepts ClusterUpgradeScopeSpecArgs and ClusterUpgradeScopeSpecOutput values. +// You can construct a concrete instance of `ClusterUpgradeScopeSpecInput` via: +// +// ClusterUpgradeScopeSpecArgs{...} +type ClusterUpgradeScopeSpecInput interface { + pulumi.Input -func (ClusterUpgradeUpgradeStatusResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ClusterUpgradeUpgradeStatusResponse)(nil)).Elem() + ToClusterUpgradeScopeSpecOutput() ClusterUpgradeScopeSpecOutput + ToClusterUpgradeScopeSpecOutputWithContext(context.Context) ClusterUpgradeScopeSpecOutput } -func (o ClusterUpgradeUpgradeStatusResponseOutput) ToClusterUpgradeUpgradeStatusResponseOutput() ClusterUpgradeUpgradeStatusResponseOutput { - return o +// **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. +type ClusterUpgradeScopeSpecArgs struct { + // Allow users to override some properties of each GKE upgrade. + GkeUpgradeOverrides ClusterUpgradeGKEUpgradeOverrideArrayInput `pulumi:"gkeUpgradeOverrides"` + // Post conditions to evaluate to mark an upgrade COMPLETE. Required. + PostConditions ClusterUpgradePostConditionsInput `pulumi:"postConditions"` + // This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + UpstreamScopes pulumi.StringArrayInput `pulumi:"upstreamScopes"` } -func (o ClusterUpgradeUpgradeStatusResponseOutput) ToClusterUpgradeUpgradeStatusResponseOutputWithContext(ctx context.Context) ClusterUpgradeUpgradeStatusResponseOutput { - return o +func (ClusterUpgradeScopeSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeScopeSpec)(nil)).Elem() } -// Status code of the upgrade. -func (o ClusterUpgradeUpgradeStatusResponseOutput) Code() pulumi.StringOutput { - return o.ApplyT(func(v ClusterUpgradeUpgradeStatusResponse) string { return v.Code }).(pulumi.StringOutput) +func (i ClusterUpgradeScopeSpecArgs) ToClusterUpgradeScopeSpecOutput() ClusterUpgradeScopeSpecOutput { + return i.ToClusterUpgradeScopeSpecOutputWithContext(context.Background()) } -// Reason for this status. -func (o ClusterUpgradeUpgradeStatusResponseOutput) Reason() pulumi.StringOutput { - return o.ApplyT(func(v ClusterUpgradeUpgradeStatusResponse) string { return v.Reason }).(pulumi.StringOutput) +func (i ClusterUpgradeScopeSpecArgs) ToClusterUpgradeScopeSpecOutputWithContext(ctx context.Context) ClusterUpgradeScopeSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterUpgradeScopeSpecOutput) } -// Last timestamp the status was updated. -func (o ClusterUpgradeUpgradeStatusResponseOutput) UpdateTime() pulumi.StringOutput { - return o.ApplyT(func(v ClusterUpgradeUpgradeStatusResponse) string { return v.UpdateTime }).(pulumi.StringOutput) +func (i ClusterUpgradeScopeSpecArgs) ToClusterUpgradeScopeSpecPtrOutput() ClusterUpgradeScopeSpecPtrOutput { + return i.ToClusterUpgradeScopeSpecPtrOutputWithContext(context.Background()) } -// CommonFeatureSpec contains Hub-wide configuration information -type CommonFeatureSpec struct { - // Anthos Observability spec - Anthosobservability *AnthosObservabilityFeatureSpec `pulumi:"anthosobservability"` - // Appdevexperience specific spec. - Appdevexperience *AppDevExperienceFeatureSpec `pulumi:"appdevexperience"` - // Cloud Audit Logging-specific spec. - Cloudauditlogging *CloudAuditLoggingFeatureSpec `pulumi:"cloudauditlogging"` - // ClusterUpgrade (fleet-based) feature spec. - Clusterupgrade *ClusterUpgradeFleetSpec `pulumi:"clusterupgrade"` - // FleetObservability feature spec. - Fleetobservability *FleetObservabilityFeatureSpec `pulumi:"fleetobservability"` - // Multicluster Ingress-specific spec. - Multiclusteringress *MultiClusterIngressFeatureSpec `pulumi:"multiclusteringress"` - // Namespace Actuation feature spec - Namespaceactuation *NamespaceActuationFeatureSpec `pulumi:"namespaceactuation"` - // Workload Certificate spec. - Workloadcertificate *FeatureSpec `pulumi:"workloadcertificate"` +func (i ClusterUpgradeScopeSpecArgs) ToClusterUpgradeScopeSpecPtrOutputWithContext(ctx context.Context) ClusterUpgradeScopeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterUpgradeScopeSpecOutput).ToClusterUpgradeScopeSpecPtrOutputWithContext(ctx) } -// CommonFeatureSpecInput is an input type that accepts CommonFeatureSpecArgs and CommonFeatureSpecOutput values. -// You can construct a concrete instance of `CommonFeatureSpecInput` via: +// ClusterUpgradeScopeSpecPtrInput is an input type that accepts ClusterUpgradeScopeSpecArgs, ClusterUpgradeScopeSpecPtr and ClusterUpgradeScopeSpecPtrOutput values. +// You can construct a concrete instance of `ClusterUpgradeScopeSpecPtrInput` via: // -// CommonFeatureSpecArgs{...} -type CommonFeatureSpecInput interface { +// ClusterUpgradeScopeSpecArgs{...} +// +// or: +// +// nil +type ClusterUpgradeScopeSpecPtrInput interface { pulumi.Input - ToCommonFeatureSpecOutput() CommonFeatureSpecOutput - ToCommonFeatureSpecOutputWithContext(context.Context) CommonFeatureSpecOutput + ToClusterUpgradeScopeSpecPtrOutput() ClusterUpgradeScopeSpecPtrOutput + ToClusterUpgradeScopeSpecPtrOutputWithContext(context.Context) ClusterUpgradeScopeSpecPtrOutput } -// CommonFeatureSpec contains Hub-wide configuration information -type CommonFeatureSpecArgs struct { - // Anthos Observability spec - Anthosobservability AnthosObservabilityFeatureSpecPtrInput `pulumi:"anthosobservability"` - // Appdevexperience specific spec. - Appdevexperience AppDevExperienceFeatureSpecPtrInput `pulumi:"appdevexperience"` - // Cloud Audit Logging-specific spec. - Cloudauditlogging CloudAuditLoggingFeatureSpecPtrInput `pulumi:"cloudauditlogging"` - // ClusterUpgrade (fleet-based) feature spec. - Clusterupgrade ClusterUpgradeFleetSpecPtrInput `pulumi:"clusterupgrade"` - // FleetObservability feature spec. - Fleetobservability FleetObservabilityFeatureSpecPtrInput `pulumi:"fleetobservability"` - // Multicluster Ingress-specific spec. - Multiclusteringress MultiClusterIngressFeatureSpecPtrInput `pulumi:"multiclusteringress"` - // Namespace Actuation feature spec +type clusterUpgradeScopeSpecPtrType ClusterUpgradeScopeSpecArgs + +func ClusterUpgradeScopeSpecPtr(v *ClusterUpgradeScopeSpecArgs) ClusterUpgradeScopeSpecPtrInput { + return (*clusterUpgradeScopeSpecPtrType)(v) +} + +func (*clusterUpgradeScopeSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterUpgradeScopeSpec)(nil)).Elem() +} + +func (i *clusterUpgradeScopeSpecPtrType) ToClusterUpgradeScopeSpecPtrOutput() ClusterUpgradeScopeSpecPtrOutput { + return i.ToClusterUpgradeScopeSpecPtrOutputWithContext(context.Background()) +} + +func (i *clusterUpgradeScopeSpecPtrType) ToClusterUpgradeScopeSpecPtrOutputWithContext(ctx context.Context) ClusterUpgradeScopeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterUpgradeScopeSpecPtrOutput) +} + +// **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. +type ClusterUpgradeScopeSpecOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeScopeSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeScopeSpec)(nil)).Elem() +} + +func (o ClusterUpgradeScopeSpecOutput) ToClusterUpgradeScopeSpecOutput() ClusterUpgradeScopeSpecOutput { + return o +} + +func (o ClusterUpgradeScopeSpecOutput) ToClusterUpgradeScopeSpecOutputWithContext(ctx context.Context) ClusterUpgradeScopeSpecOutput { + return o +} + +func (o ClusterUpgradeScopeSpecOutput) ToClusterUpgradeScopeSpecPtrOutput() ClusterUpgradeScopeSpecPtrOutput { + return o.ToClusterUpgradeScopeSpecPtrOutputWithContext(context.Background()) +} + +func (o ClusterUpgradeScopeSpecOutput) ToClusterUpgradeScopeSpecPtrOutputWithContext(ctx context.Context) ClusterUpgradeScopeSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterUpgradeScopeSpec) *ClusterUpgradeScopeSpec { + return &v + }).(ClusterUpgradeScopeSpecPtrOutput) +} + +// Allow users to override some properties of each GKE upgrade. +func (o ClusterUpgradeScopeSpecOutput) GkeUpgradeOverrides() ClusterUpgradeGKEUpgradeOverrideArrayOutput { + return o.ApplyT(func(v ClusterUpgradeScopeSpec) []ClusterUpgradeGKEUpgradeOverride { return v.GkeUpgradeOverrides }).(ClusterUpgradeGKEUpgradeOverrideArrayOutput) +} + +// Post conditions to evaluate to mark an upgrade COMPLETE. Required. +func (o ClusterUpgradeScopeSpecOutput) PostConditions() ClusterUpgradePostConditionsOutput { + return o.ApplyT(func(v ClusterUpgradeScopeSpec) ClusterUpgradePostConditions { return v.PostConditions }).(ClusterUpgradePostConditionsOutput) +} + +// This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. +func (o ClusterUpgradeScopeSpecOutput) UpstreamScopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterUpgradeScopeSpec) []string { return v.UpstreamScopes }).(pulumi.StringArrayOutput) +} + +type ClusterUpgradeScopeSpecPtrOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeScopeSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterUpgradeScopeSpec)(nil)).Elem() +} + +func (o ClusterUpgradeScopeSpecPtrOutput) ToClusterUpgradeScopeSpecPtrOutput() ClusterUpgradeScopeSpecPtrOutput { + return o +} + +func (o ClusterUpgradeScopeSpecPtrOutput) ToClusterUpgradeScopeSpecPtrOutputWithContext(ctx context.Context) ClusterUpgradeScopeSpecPtrOutput { + return o +} + +func (o ClusterUpgradeScopeSpecPtrOutput) Elem() ClusterUpgradeScopeSpecOutput { + return o.ApplyT(func(v *ClusterUpgradeScopeSpec) ClusterUpgradeScopeSpec { + if v != nil { + return *v + } + var ret ClusterUpgradeScopeSpec + return ret + }).(ClusterUpgradeScopeSpecOutput) +} + +// Allow users to override some properties of each GKE upgrade. +func (o ClusterUpgradeScopeSpecPtrOutput) GkeUpgradeOverrides() ClusterUpgradeGKEUpgradeOverrideArrayOutput { + return o.ApplyT(func(v *ClusterUpgradeScopeSpec) []ClusterUpgradeGKEUpgradeOverride { + if v == nil { + return nil + } + return v.GkeUpgradeOverrides + }).(ClusterUpgradeGKEUpgradeOverrideArrayOutput) +} + +// Post conditions to evaluate to mark an upgrade COMPLETE. Required. +func (o ClusterUpgradeScopeSpecPtrOutput) PostConditions() ClusterUpgradePostConditionsPtrOutput { + return o.ApplyT(func(v *ClusterUpgradeScopeSpec) *ClusterUpgradePostConditions { + if v == nil { + return nil + } + return &v.PostConditions + }).(ClusterUpgradePostConditionsPtrOutput) +} + +// This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. +func (o ClusterUpgradeScopeSpecPtrOutput) UpstreamScopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ClusterUpgradeScopeSpec) []string { + if v == nil { + return nil + } + return v.UpstreamScopes + }).(pulumi.StringArrayOutput) +} + +// **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. +type ClusterUpgradeScopeSpecResponse struct { + // Allow users to override some properties of each GKE upgrade. + GkeUpgradeOverrides []ClusterUpgradeGKEUpgradeOverrideResponse `pulumi:"gkeUpgradeOverrides"` + // Post conditions to evaluate to mark an upgrade COMPLETE. Required. + PostConditions ClusterUpgradePostConditionsResponse `pulumi:"postConditions"` + // This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + UpstreamScopes []string `pulumi:"upstreamScopes"` +} + +// **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. +type ClusterUpgradeScopeSpecResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeScopeSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeScopeSpecResponse)(nil)).Elem() +} + +func (o ClusterUpgradeScopeSpecResponseOutput) ToClusterUpgradeScopeSpecResponseOutput() ClusterUpgradeScopeSpecResponseOutput { + return o +} + +func (o ClusterUpgradeScopeSpecResponseOutput) ToClusterUpgradeScopeSpecResponseOutputWithContext(ctx context.Context) ClusterUpgradeScopeSpecResponseOutput { + return o +} + +// Allow users to override some properties of each GKE upgrade. +func (o ClusterUpgradeScopeSpecResponseOutput) GkeUpgradeOverrides() ClusterUpgradeGKEUpgradeOverrideResponseArrayOutput { + return o.ApplyT(func(v ClusterUpgradeScopeSpecResponse) []ClusterUpgradeGKEUpgradeOverrideResponse { + return v.GkeUpgradeOverrides + }).(ClusterUpgradeGKEUpgradeOverrideResponseArrayOutput) +} + +// Post conditions to evaluate to mark an upgrade COMPLETE. Required. +func (o ClusterUpgradeScopeSpecResponseOutput) PostConditions() ClusterUpgradePostConditionsResponseOutput { + return o.ApplyT(func(v ClusterUpgradeScopeSpecResponse) ClusterUpgradePostConditionsResponse { return v.PostConditions }).(ClusterUpgradePostConditionsResponseOutput) +} + +// This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. +func (o ClusterUpgradeScopeSpecResponseOutput) UpstreamScopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterUpgradeScopeSpecResponse) []string { return v.UpstreamScopes }).(pulumi.StringArrayOutput) +} + +// **ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature. +type ClusterUpgradeScopeStateResponse struct { + // This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. + DownstreamScopes []string `pulumi:"downstreamScopes"` + // Feature state for GKE clusters. + GkeState ClusterUpgradeGKEUpgradeFeatureStateResponse `pulumi:"gkeState"` + // A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. + Ignored map[string]ClusterUpgradeIgnoredMembershipResponse `pulumi:"ignored"` +} + +// **ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature. +type ClusterUpgradeScopeStateResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeScopeStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeScopeStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeScopeStateResponseOutput) ToClusterUpgradeScopeStateResponseOutput() ClusterUpgradeScopeStateResponseOutput { + return o +} + +func (o ClusterUpgradeScopeStateResponseOutput) ToClusterUpgradeScopeStateResponseOutputWithContext(ctx context.Context) ClusterUpgradeScopeStateResponseOutput { + return o +} + +// This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. +func (o ClusterUpgradeScopeStateResponseOutput) DownstreamScopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterUpgradeScopeStateResponse) []string { return v.DownstreamScopes }).(pulumi.StringArrayOutput) +} + +// Feature state for GKE clusters. +func (o ClusterUpgradeScopeStateResponseOutput) GkeState() ClusterUpgradeGKEUpgradeFeatureStateResponseOutput { + return o.ApplyT(func(v ClusterUpgradeScopeStateResponse) ClusterUpgradeGKEUpgradeFeatureStateResponse { + return v.GkeState + }).(ClusterUpgradeGKEUpgradeFeatureStateResponseOutput) +} + +// A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. +func (o ClusterUpgradeScopeStateResponseOutput) Ignored() ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o.ApplyT(func(v ClusterUpgradeScopeStateResponse) map[string]ClusterUpgradeIgnoredMembershipResponse { + return v.Ignored + }).(ClusterUpgradeIgnoredMembershipResponseMapOutput) +} + +// UpgradeStatus provides status information for each upgrade. +type ClusterUpgradeUpgradeStatusResponse struct { + // Status code of the upgrade. + Code string `pulumi:"code"` + // Reason for this status. + Reason string `pulumi:"reason"` + // Last timestamp the status was updated. + UpdateTime string `pulumi:"updateTime"` +} + +// UpgradeStatus provides status information for each upgrade. +type ClusterUpgradeUpgradeStatusResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeUpgradeStatusResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeUpgradeStatusResponse)(nil)).Elem() +} + +func (o ClusterUpgradeUpgradeStatusResponseOutput) ToClusterUpgradeUpgradeStatusResponseOutput() ClusterUpgradeUpgradeStatusResponseOutput { + return o +} + +func (o ClusterUpgradeUpgradeStatusResponseOutput) ToClusterUpgradeUpgradeStatusResponseOutputWithContext(ctx context.Context) ClusterUpgradeUpgradeStatusResponseOutput { + return o +} + +// Status code of the upgrade. +func (o ClusterUpgradeUpgradeStatusResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeUpgradeStatusResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// Reason for this status. +func (o ClusterUpgradeUpgradeStatusResponseOutput) Reason() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeUpgradeStatusResponse) string { return v.Reason }).(pulumi.StringOutput) +} + +// Last timestamp the status was updated. +func (o ClusterUpgradeUpgradeStatusResponseOutput) UpdateTime() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeUpgradeStatusResponse) string { return v.UpdateTime }).(pulumi.StringOutput) +} + +// CommonFeatureSpec contains Hub-wide configuration information +type CommonFeatureSpec struct { + // Anthos Observability spec + Anthosobservability *AnthosObservabilityFeatureSpec `pulumi:"anthosobservability"` + // Appdevexperience specific spec. + Appdevexperience *AppDevExperienceFeatureSpec `pulumi:"appdevexperience"` + // Cloud Audit Logging-specific spec. + Cloudauditlogging *CloudAuditLoggingFeatureSpec `pulumi:"cloudauditlogging"` + // ClusterUpgrade (fleet-based) feature spec. + Clusterupgrade *ClusterUpgradeFleetSpec `pulumi:"clusterupgrade"` + // FleetObservability feature spec. + Fleetobservability *FleetObservabilityFeatureSpec `pulumi:"fleetobservability"` + // Multicluster Ingress-specific spec. + Multiclusteringress *MultiClusterIngressFeatureSpec `pulumi:"multiclusteringress"` + // Namespace Actuation feature spec + Namespaceactuation *NamespaceActuationFeatureSpec `pulumi:"namespaceactuation"` + // Workload Certificate spec. + Workloadcertificate *FeatureSpec `pulumi:"workloadcertificate"` +} + +// CommonFeatureSpecInput is an input type that accepts CommonFeatureSpecArgs and CommonFeatureSpecOutput values. +// You can construct a concrete instance of `CommonFeatureSpecInput` via: +// +// CommonFeatureSpecArgs{...} +type CommonFeatureSpecInput interface { + pulumi.Input + + ToCommonFeatureSpecOutput() CommonFeatureSpecOutput + ToCommonFeatureSpecOutputWithContext(context.Context) CommonFeatureSpecOutput +} + +// CommonFeatureSpec contains Hub-wide configuration information +type CommonFeatureSpecArgs struct { + // Anthos Observability spec + Anthosobservability AnthosObservabilityFeatureSpecPtrInput `pulumi:"anthosobservability"` + // Appdevexperience specific spec. + Appdevexperience AppDevExperienceFeatureSpecPtrInput `pulumi:"appdevexperience"` + // Cloud Audit Logging-specific spec. + Cloudauditlogging CloudAuditLoggingFeatureSpecPtrInput `pulumi:"cloudauditlogging"` + // ClusterUpgrade (fleet-based) feature spec. + Clusterupgrade ClusterUpgradeFleetSpecPtrInput `pulumi:"clusterupgrade"` + // FleetObservability feature spec. + Fleetobservability FleetObservabilityFeatureSpecPtrInput `pulumi:"fleetobservability"` + // Multicluster Ingress-specific spec. + Multiclusteringress MultiClusterIngressFeatureSpecPtrInput `pulumi:"multiclusteringress"` + // Namespace Actuation feature spec Namespaceactuation NamespaceActuationFeatureSpecPtrInput `pulumi:"namespaceactuation"` // Workload Certificate spec. Workloadcertificate FeatureSpecPtrInput `pulumi:"workloadcertificate"` @@ -3517,6 +4136,67 @@ func (o ConfigManagementBinauthzConfigResponseOutput) Enabled() pulumi.BoolOutpu return o.ApplyT(func(v ConfigManagementBinauthzConfigResponse) bool { return v.Enabled }).(pulumi.BoolOutput) } +// State for Binauthz +type ConfigManagementBinauthzStateResponse struct { + // The version of binauthz that is installed. + Version ConfigManagementBinauthzVersionResponse `pulumi:"version"` + // The state of the binauthz webhook. + Webhook string `pulumi:"webhook"` +} + +// State for Binauthz +type ConfigManagementBinauthzStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementBinauthzStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementBinauthzStateResponse)(nil)).Elem() +} + +func (o ConfigManagementBinauthzStateResponseOutput) ToConfigManagementBinauthzStateResponseOutput() ConfigManagementBinauthzStateResponseOutput { + return o +} + +func (o ConfigManagementBinauthzStateResponseOutput) ToConfigManagementBinauthzStateResponseOutputWithContext(ctx context.Context) ConfigManagementBinauthzStateResponseOutput { + return o +} + +// The version of binauthz that is installed. +func (o ConfigManagementBinauthzStateResponseOutput) Version() ConfigManagementBinauthzVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementBinauthzStateResponse) ConfigManagementBinauthzVersionResponse { + return v.Version + }).(ConfigManagementBinauthzVersionResponseOutput) +} + +// The state of the binauthz webhook. +func (o ConfigManagementBinauthzStateResponseOutput) Webhook() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementBinauthzStateResponse) string { return v.Webhook }).(pulumi.StringOutput) +} + +// The version of binauthz. +type ConfigManagementBinauthzVersionResponse struct { + // The version of the binauthz webhook. + WebhookVersion string `pulumi:"webhookVersion"` +} + +// The version of binauthz. +type ConfigManagementBinauthzVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementBinauthzVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementBinauthzVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementBinauthzVersionResponseOutput) ToConfigManagementBinauthzVersionResponseOutput() ConfigManagementBinauthzVersionResponseOutput { + return o +} + +func (o ConfigManagementBinauthzVersionResponseOutput) ToConfigManagementBinauthzVersionResponseOutputWithContext(ctx context.Context) ConfigManagementBinauthzVersionResponseOutput { + return o +} + +// The version of the binauthz webhook. +func (o ConfigManagementBinauthzVersionResponseOutput) WebhookVersion() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementBinauthzVersionResponse) string { return v.WebhookVersion }).(pulumi.StringOutput) +} + // Configuration for Config Sync type ConfigManagementConfigSync struct { // Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. @@ -3779,38 +4459,152 @@ func (o ConfigManagementConfigSyncPtrOutput) SourceFormat() pulumi.StringPtrOutp }).(pulumi.StringPtrOutput) } -// Configuration for Config Sync -type ConfigManagementConfigSyncResponse struct { - // Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. - // - // Deprecated: Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. - AllowVerticalScale bool `pulumi:"allowVerticalScale"` - // Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field. - Enabled bool `pulumi:"enabled"` - // Git repo configuration for the cluster. - Git ConfigManagementGitConfigResponse `pulumi:"git"` - // The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. This field is required when automatic Feature management is enabled. - MetricsGcpServiceAccountEmail string `pulumi:"metricsGcpServiceAccountEmail"` - // OCI repo configuration for the cluster - Oci ConfigManagementOciConfigResponse `pulumi:"oci"` - // Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts. - PreventDrift bool `pulumi:"preventDrift"` - // Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. - SourceFormat string `pulumi:"sourceFormat"` +// The state of ConfigSync's deployment on a cluster +type ConfigManagementConfigSyncDeploymentStateResponse struct { + // Deployment state of admission-webhook + AdmissionWebhook string `pulumi:"admissionWebhook"` + // Deployment state of the git-sync pod + GitSync string `pulumi:"gitSync"` + // Deployment state of the importer pod + Importer string `pulumi:"importer"` + // Deployment state of the monitor pod + Monitor string `pulumi:"monitor"` + // Deployment state of reconciler-manager pod + ReconcilerManager string `pulumi:"reconcilerManager"` + // Deployment state of root-reconciler + RootReconciler string `pulumi:"rootReconciler"` + // Deployment state of the syncer pod + Syncer string `pulumi:"syncer"` } -// Configuration for Config Sync -type ConfigManagementConfigSyncResponseOutput struct{ *pulumi.OutputState } +// The state of ConfigSync's deployment on a cluster +type ConfigManagementConfigSyncDeploymentStateResponseOutput struct{ *pulumi.OutputState } -func (ConfigManagementConfigSyncResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ConfigManagementConfigSyncResponse)(nil)).Elem() +func (ConfigManagementConfigSyncDeploymentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncDeploymentStateResponse)(nil)).Elem() } -func (o ConfigManagementConfigSyncResponseOutput) ToConfigManagementConfigSyncResponseOutput() ConfigManagementConfigSyncResponseOutput { +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) ToConfigManagementConfigSyncDeploymentStateResponseOutput() ConfigManagementConfigSyncDeploymentStateResponseOutput { return o } -func (o ConfigManagementConfigSyncResponseOutput) ToConfigManagementConfigSyncResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncResponseOutput { +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) ToConfigManagementConfigSyncDeploymentStateResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncDeploymentStateResponseOutput { + return o +} + +// Deployment state of admission-webhook +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) AdmissionWebhook() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.AdmissionWebhook }).(pulumi.StringOutput) +} + +// Deployment state of the git-sync pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) GitSync() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.GitSync }).(pulumi.StringOutput) +} + +// Deployment state of the importer pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) Importer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.Importer }).(pulumi.StringOutput) +} + +// Deployment state of the monitor pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) Monitor() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.Monitor }).(pulumi.StringOutput) +} + +// Deployment state of reconciler-manager pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) ReconcilerManager() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.ReconcilerManager }).(pulumi.StringOutput) +} + +// Deployment state of root-reconciler +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) RootReconciler() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.RootReconciler }).(pulumi.StringOutput) +} + +// Deployment state of the syncer pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) Syncer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.Syncer }).(pulumi.StringOutput) +} + +// Errors pertaining to the installation of Config Sync +type ConfigManagementConfigSyncErrorResponse struct { + // A string representing the user facing error message + ErrorMessage string `pulumi:"errorMessage"` +} + +// Errors pertaining to the installation of Config Sync +type ConfigManagementConfigSyncErrorResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncErrorResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncErrorResponseOutput) ToConfigManagementConfigSyncErrorResponseOutput() ConfigManagementConfigSyncErrorResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncErrorResponseOutput) ToConfigManagementConfigSyncErrorResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncErrorResponseOutput { + return o +} + +// A string representing the user facing error message +func (o ConfigManagementConfigSyncErrorResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncErrorResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +type ConfigManagementConfigSyncErrorResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncErrorResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementConfigSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncErrorResponseArrayOutput) ToConfigManagementConfigSyncErrorResponseArrayOutput() ConfigManagementConfigSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementConfigSyncErrorResponseArrayOutput) ToConfigManagementConfigSyncErrorResponseArrayOutputWithContext(ctx context.Context) ConfigManagementConfigSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementConfigSyncErrorResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementConfigSyncErrorResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementConfigSyncErrorResponse { + return vs[0].([]ConfigManagementConfigSyncErrorResponse)[vs[1].(int)] + }).(ConfigManagementConfigSyncErrorResponseOutput) +} + +// Configuration for Config Sync +type ConfigManagementConfigSyncResponse struct { + // Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. + // + // Deprecated: Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. + AllowVerticalScale bool `pulumi:"allowVerticalScale"` + // Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field. + Enabled bool `pulumi:"enabled"` + // Git repo configuration for the cluster. + Git ConfigManagementGitConfigResponse `pulumi:"git"` + // The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. This field is required when automatic Feature management is enabled. + MetricsGcpServiceAccountEmail string `pulumi:"metricsGcpServiceAccountEmail"` + // OCI repo configuration for the cluster + Oci ConfigManagementOciConfigResponse `pulumi:"oci"` + // Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts. + PreventDrift bool `pulumi:"preventDrift"` + // Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + SourceFormat string `pulumi:"sourceFormat"` +} + +// Configuration for Config Sync +type ConfigManagementConfigSyncResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncResponseOutput) ToConfigManagementConfigSyncResponseOutput() ConfigManagementConfigSyncResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncResponseOutput) ToConfigManagementConfigSyncResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncResponseOutput { return o } @@ -3851,6 +4645,238 @@ func (o ConfigManagementConfigSyncResponseOutput) SourceFormat() pulumi.StringOu return o.ApplyT(func(v ConfigManagementConfigSyncResponse) string { return v.SourceFormat }).(pulumi.StringOutput) } +// State information for ConfigSync +type ConfigManagementConfigSyncStateResponse struct { + // Information about the deployment of ConfigSync, including the version of the various Pods deployed + DeploymentState ConfigManagementConfigSyncDeploymentStateResponse `pulumi:"deploymentState"` + // Errors pertaining to the installation of Config Sync. + Errors []ConfigManagementConfigSyncErrorResponse `pulumi:"errors"` + // The state of ConfigSync's process to sync configs to a cluster + SyncState ConfigManagementSyncStateResponse `pulumi:"syncState"` + // The version of ConfigSync deployed + Version ConfigManagementConfigSyncVersionResponse `pulumi:"version"` +} + +// State information for ConfigSync +type ConfigManagementConfigSyncStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncStateResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncStateResponseOutput) ToConfigManagementConfigSyncStateResponseOutput() ConfigManagementConfigSyncStateResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncStateResponseOutput) ToConfigManagementConfigSyncStateResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncStateResponseOutput { + return o +} + +// Information about the deployment of ConfigSync, including the version of the various Pods deployed +func (o ConfigManagementConfigSyncStateResponseOutput) DeploymentState() ConfigManagementConfigSyncDeploymentStateResponseOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) ConfigManagementConfigSyncDeploymentStateResponse { + return v.DeploymentState + }).(ConfigManagementConfigSyncDeploymentStateResponseOutput) +} + +// Errors pertaining to the installation of Config Sync. +func (o ConfigManagementConfigSyncStateResponseOutput) Errors() ConfigManagementConfigSyncErrorResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) []ConfigManagementConfigSyncErrorResponse { + return v.Errors + }).(ConfigManagementConfigSyncErrorResponseArrayOutput) +} + +// The state of ConfigSync's process to sync configs to a cluster +func (o ConfigManagementConfigSyncStateResponseOutput) SyncState() ConfigManagementSyncStateResponseOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) ConfigManagementSyncStateResponse { return v.SyncState }).(ConfigManagementSyncStateResponseOutput) +} + +// The version of ConfigSync deployed +func (o ConfigManagementConfigSyncStateResponseOutput) Version() ConfigManagementConfigSyncVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) ConfigManagementConfigSyncVersionResponse { + return v.Version + }).(ConfigManagementConfigSyncVersionResponseOutput) +} + +// Specific versioning information pertaining to ConfigSync's Pods +type ConfigManagementConfigSyncVersionResponse struct { + // Version of the deployed admission_webhook pod + AdmissionWebhook string `pulumi:"admissionWebhook"` + // Version of the deployed git-sync pod + GitSync string `pulumi:"gitSync"` + // Version of the deployed importer pod + Importer string `pulumi:"importer"` + // Version of the deployed monitor pod + Monitor string `pulumi:"monitor"` + // Version of the deployed reconciler-manager pod + ReconcilerManager string `pulumi:"reconcilerManager"` + // Version of the deployed reconciler container in root-reconciler pod + RootReconciler string `pulumi:"rootReconciler"` + // Version of the deployed syncer pod + Syncer string `pulumi:"syncer"` +} + +// Specific versioning information pertaining to ConfigSync's Pods +type ConfigManagementConfigSyncVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncVersionResponseOutput) ToConfigManagementConfigSyncVersionResponseOutput() ConfigManagementConfigSyncVersionResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncVersionResponseOutput) ToConfigManagementConfigSyncVersionResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncVersionResponseOutput { + return o +} + +// Version of the deployed admission_webhook pod +func (o ConfigManagementConfigSyncVersionResponseOutput) AdmissionWebhook() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.AdmissionWebhook }).(pulumi.StringOutput) +} + +// Version of the deployed git-sync pod +func (o ConfigManagementConfigSyncVersionResponseOutput) GitSync() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.GitSync }).(pulumi.StringOutput) +} + +// Version of the deployed importer pod +func (o ConfigManagementConfigSyncVersionResponseOutput) Importer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.Importer }).(pulumi.StringOutput) +} + +// Version of the deployed monitor pod +func (o ConfigManagementConfigSyncVersionResponseOutput) Monitor() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.Monitor }).(pulumi.StringOutput) +} + +// Version of the deployed reconciler-manager pod +func (o ConfigManagementConfigSyncVersionResponseOutput) ReconcilerManager() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.ReconcilerManager }).(pulumi.StringOutput) +} + +// Version of the deployed reconciler container in root-reconciler pod +func (o ConfigManagementConfigSyncVersionResponseOutput) RootReconciler() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.RootReconciler }).(pulumi.StringOutput) +} + +// Version of the deployed syncer pod +func (o ConfigManagementConfigSyncVersionResponseOutput) Syncer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.Syncer }).(pulumi.StringOutput) +} + +// Model for a config file in the git repo with an associated Sync error +type ConfigManagementErrorResourceResponse struct { + // Group/version/kind of the resource that is causing an error + ResourceGvk ConfigManagementGroupVersionKindResponse `pulumi:"resourceGvk"` + // Metadata name of the resource that is causing an error + ResourceName string `pulumi:"resourceName"` + // Namespace of the resource that is causing an error + ResourceNamespace string `pulumi:"resourceNamespace"` + // Path in the git repo of the erroneous config + SourcePath string `pulumi:"sourcePath"` +} + +// Model for a config file in the git repo with an associated Sync error +type ConfigManagementErrorResourceResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementErrorResourceResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementErrorResourceResponse)(nil)).Elem() +} + +func (o ConfigManagementErrorResourceResponseOutput) ToConfigManagementErrorResourceResponseOutput() ConfigManagementErrorResourceResponseOutput { + return o +} + +func (o ConfigManagementErrorResourceResponseOutput) ToConfigManagementErrorResourceResponseOutputWithContext(ctx context.Context) ConfigManagementErrorResourceResponseOutput { + return o +} + +// Group/version/kind of the resource that is causing an error +func (o ConfigManagementErrorResourceResponseOutput) ResourceGvk() ConfigManagementGroupVersionKindResponseOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) ConfigManagementGroupVersionKindResponse { + return v.ResourceGvk + }).(ConfigManagementGroupVersionKindResponseOutput) +} + +// Metadata name of the resource that is causing an error +func (o ConfigManagementErrorResourceResponseOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) string { return v.ResourceName }).(pulumi.StringOutput) +} + +// Namespace of the resource that is causing an error +func (o ConfigManagementErrorResourceResponseOutput) ResourceNamespace() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) string { return v.ResourceNamespace }).(pulumi.StringOutput) +} + +// Path in the git repo of the erroneous config +func (o ConfigManagementErrorResourceResponseOutput) SourcePath() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) string { return v.SourcePath }).(pulumi.StringOutput) +} + +type ConfigManagementErrorResourceResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementErrorResourceResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementErrorResourceResponse)(nil)).Elem() +} + +func (o ConfigManagementErrorResourceResponseArrayOutput) ToConfigManagementErrorResourceResponseArrayOutput() ConfigManagementErrorResourceResponseArrayOutput { + return o +} + +func (o ConfigManagementErrorResourceResponseArrayOutput) ToConfigManagementErrorResourceResponseArrayOutputWithContext(ctx context.Context) ConfigManagementErrorResourceResponseArrayOutput { + return o +} + +func (o ConfigManagementErrorResourceResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementErrorResourceResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementErrorResourceResponse { + return vs[0].([]ConfigManagementErrorResourceResponse)[vs[1].(int)] + }).(ConfigManagementErrorResourceResponseOutput) +} + +// State of Policy Controller installation. +type ConfigManagementGatekeeperDeploymentStateResponse struct { + // Status of gatekeeper-audit deployment. + GatekeeperAudit string `pulumi:"gatekeeperAudit"` + // Status of gatekeeper-controller-manager pod. + GatekeeperControllerManagerState string `pulumi:"gatekeeperControllerManagerState"` + // Status of the pod serving the mutation webhook. + GatekeeperMutation string `pulumi:"gatekeeperMutation"` +} + +// State of Policy Controller installation. +type ConfigManagementGatekeeperDeploymentStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementGatekeeperDeploymentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementGatekeeperDeploymentStateResponse)(nil)).Elem() +} + +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) ToConfigManagementGatekeeperDeploymentStateResponseOutput() ConfigManagementGatekeeperDeploymentStateResponseOutput { + return o +} + +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) ToConfigManagementGatekeeperDeploymentStateResponseOutputWithContext(ctx context.Context) ConfigManagementGatekeeperDeploymentStateResponseOutput { + return o +} + +// Status of gatekeeper-audit deployment. +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) GatekeeperAudit() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGatekeeperDeploymentStateResponse) string { return v.GatekeeperAudit }).(pulumi.StringOutput) +} + +// Status of gatekeeper-controller-manager pod. +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) GatekeeperControllerManagerState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGatekeeperDeploymentStateResponse) string { + return v.GatekeeperControllerManagerState + }).(pulumi.StringOutput) +} + +// Status of the pod serving the mutation webhook. +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) GatekeeperMutation() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGatekeeperDeploymentStateResponse) string { return v.GatekeeperMutation }).(pulumi.StringOutput) +} + // Git repo configuration for a single cluster. type ConfigManagementGitConfig struct { // The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. @@ -4199,6 +5225,46 @@ func (o ConfigManagementGitConfigResponseOutput) SyncWaitSecs() pulumi.StringOut return o.ApplyT(func(v ConfigManagementGitConfigResponse) string { return v.SyncWaitSecs }).(pulumi.StringOutput) } +// A Kubernetes object's GVK +type ConfigManagementGroupVersionKindResponse struct { + // Kubernetes Group + Group string `pulumi:"group"` + // Kubernetes Kind + Kind string `pulumi:"kind"` + // Kubernetes Version + Version string `pulumi:"version"` +} + +// A Kubernetes object's GVK +type ConfigManagementGroupVersionKindResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementGroupVersionKindResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementGroupVersionKindResponse)(nil)).Elem() +} + +func (o ConfigManagementGroupVersionKindResponseOutput) ToConfigManagementGroupVersionKindResponseOutput() ConfigManagementGroupVersionKindResponseOutput { + return o +} + +func (o ConfigManagementGroupVersionKindResponseOutput) ToConfigManagementGroupVersionKindResponseOutputWithContext(ctx context.Context) ConfigManagementGroupVersionKindResponseOutput { + return o +} + +// Kubernetes Group +func (o ConfigManagementGroupVersionKindResponseOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGroupVersionKindResponse) string { return v.Group }).(pulumi.StringOutput) +} + +// Kubernetes Kind +func (o ConfigManagementGroupVersionKindResponseOutput) Kind() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGroupVersionKindResponse) string { return v.Kind }).(pulumi.StringOutput) +} + +// Kubernetes Version +func (o ConfigManagementGroupVersionKindResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGroupVersionKindResponse) string { return v.Version }).(pulumi.StringOutput) +} + // Configuration for Hierarchy Controller type ConfigManagementHierarchyControllerConfig struct { // Whether hierarchical resource quota is enabled in this cluster. @@ -4419,6 +5485,155 @@ func (o ConfigManagementHierarchyControllerConfigResponseOutput) Enabled() pulum return o.ApplyT(func(v ConfigManagementHierarchyControllerConfigResponse) bool { return v.Enabled }).(pulumi.BoolOutput) } +// Deployment state for Hierarchy Controller +type ConfigManagementHierarchyControllerDeploymentStateResponse struct { + // The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + Extension string `pulumi:"extension"` + // The deployment state for open source HNC (e.g. v0.7.0-hc.0) + Hnc string `pulumi:"hnc"` +} + +// Deployment state for Hierarchy Controller +type ConfigManagementHierarchyControllerDeploymentStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementHierarchyControllerDeploymentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementHierarchyControllerDeploymentStateResponse)(nil)).Elem() +} + +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) ToConfigManagementHierarchyControllerDeploymentStateResponseOutput() ConfigManagementHierarchyControllerDeploymentStateResponseOutput { + return o +} + +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) ToConfigManagementHierarchyControllerDeploymentStateResponseOutputWithContext(ctx context.Context) ConfigManagementHierarchyControllerDeploymentStateResponseOutput { + return o +} + +// The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) Extension() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerDeploymentStateResponse) string { return v.Extension }).(pulumi.StringOutput) +} + +// The deployment state for open source HNC (e.g. v0.7.0-hc.0) +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) Hnc() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerDeploymentStateResponse) string { return v.Hnc }).(pulumi.StringOutput) +} + +// State for Hierarchy Controller +type ConfigManagementHierarchyControllerStateResponse struct { + // The deployment state for Hierarchy Controller + State ConfigManagementHierarchyControllerDeploymentStateResponse `pulumi:"state"` + // The version for Hierarchy Controller + Version ConfigManagementHierarchyControllerVersionResponse `pulumi:"version"` +} + +// State for Hierarchy Controller +type ConfigManagementHierarchyControllerStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementHierarchyControllerStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementHierarchyControllerStateResponse)(nil)).Elem() +} + +func (o ConfigManagementHierarchyControllerStateResponseOutput) ToConfigManagementHierarchyControllerStateResponseOutput() ConfigManagementHierarchyControllerStateResponseOutput { + return o +} + +func (o ConfigManagementHierarchyControllerStateResponseOutput) ToConfigManagementHierarchyControllerStateResponseOutputWithContext(ctx context.Context) ConfigManagementHierarchyControllerStateResponseOutput { + return o +} + +// The deployment state for Hierarchy Controller +func (o ConfigManagementHierarchyControllerStateResponseOutput) State() ConfigManagementHierarchyControllerDeploymentStateResponseOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerStateResponse) ConfigManagementHierarchyControllerDeploymentStateResponse { + return v.State + }).(ConfigManagementHierarchyControllerDeploymentStateResponseOutput) +} + +// The version for Hierarchy Controller +func (o ConfigManagementHierarchyControllerStateResponseOutput) Version() ConfigManagementHierarchyControllerVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerStateResponse) ConfigManagementHierarchyControllerVersionResponse { + return v.Version + }).(ConfigManagementHierarchyControllerVersionResponseOutput) +} + +// Version for Hierarchy Controller +type ConfigManagementHierarchyControllerVersionResponse struct { + // Version for Hierarchy Controller extension + Extension string `pulumi:"extension"` + // Version for open source HNC + Hnc string `pulumi:"hnc"` +} + +// Version for Hierarchy Controller +type ConfigManagementHierarchyControllerVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementHierarchyControllerVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementHierarchyControllerVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementHierarchyControllerVersionResponseOutput) ToConfigManagementHierarchyControllerVersionResponseOutput() ConfigManagementHierarchyControllerVersionResponseOutput { + return o +} + +func (o ConfigManagementHierarchyControllerVersionResponseOutput) ToConfigManagementHierarchyControllerVersionResponseOutputWithContext(ctx context.Context) ConfigManagementHierarchyControllerVersionResponseOutput { + return o +} + +// Version for Hierarchy Controller extension +func (o ConfigManagementHierarchyControllerVersionResponseOutput) Extension() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerVersionResponse) string { return v.Extension }).(pulumi.StringOutput) +} + +// Version for open source HNC +func (o ConfigManagementHierarchyControllerVersionResponseOutput) Hnc() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerVersionResponse) string { return v.Hnc }).(pulumi.StringOutput) +} + +// Errors pertaining to the installation of ACM +type ConfigManagementInstallErrorResponse struct { + // A string representing the user facing error message + ErrorMessage string `pulumi:"errorMessage"` +} + +// Errors pertaining to the installation of ACM +type ConfigManagementInstallErrorResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementInstallErrorResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementInstallErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementInstallErrorResponseOutput) ToConfigManagementInstallErrorResponseOutput() ConfigManagementInstallErrorResponseOutput { + return o +} + +func (o ConfigManagementInstallErrorResponseOutput) ToConfigManagementInstallErrorResponseOutputWithContext(ctx context.Context) ConfigManagementInstallErrorResponseOutput { + return o +} + +// A string representing the user facing error message +func (o ConfigManagementInstallErrorResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementInstallErrorResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +type ConfigManagementInstallErrorResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementInstallErrorResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementInstallErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementInstallErrorResponseArrayOutput) ToConfigManagementInstallErrorResponseArrayOutput() ConfigManagementInstallErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementInstallErrorResponseArrayOutput) ToConfigManagementInstallErrorResponseArrayOutputWithContext(ctx context.Context) ConfigManagementInstallErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementInstallErrorResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementInstallErrorResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementInstallErrorResponse { + return vs[0].([]ConfigManagementInstallErrorResponse)[vs[1].(int)] + }).(ConfigManagementInstallErrorResponseOutput) +} + // **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. type ConfigManagementMembershipSpec struct { // Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. @@ -4735,7 +5950,87 @@ func (o ConfigManagementMembershipSpecResponseOutput) Version() pulumi.StringOut return o.ApplyT(func(v ConfigManagementMembershipSpecResponse) string { return v.Version }).(pulumi.StringOutput) } -// OCI repo configuration for a single cluster +// **Anthos Config Management**: State for a single cluster. +type ConfigManagementMembershipStateResponse struct { + // Binauthz status + BinauthzState ConfigManagementBinauthzStateResponse `pulumi:"binauthzState"` + // This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + ClusterName string `pulumi:"clusterName"` + // Current sync status + ConfigSyncState ConfigManagementConfigSyncStateResponse `pulumi:"configSyncState"` + // Hierarchy Controller status + HierarchyControllerState ConfigManagementHierarchyControllerStateResponse `pulumi:"hierarchyControllerState"` + // Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + MembershipSpec ConfigManagementMembershipSpecResponse `pulumi:"membershipSpec"` + // Current install status of ACM's Operator + OperatorState ConfigManagementOperatorStateResponse `pulumi:"operatorState"` + // PolicyController status + PolicyControllerState ConfigManagementPolicyControllerStateResponse `pulumi:"policyControllerState"` +} + +// **Anthos Config Management**: State for a single cluster. +type ConfigManagementMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementMembershipStateResponse)(nil)).Elem() +} + +func (o ConfigManagementMembershipStateResponseOutput) ToConfigManagementMembershipStateResponseOutput() ConfigManagementMembershipStateResponseOutput { + return o +} + +func (o ConfigManagementMembershipStateResponseOutput) ToConfigManagementMembershipStateResponseOutputWithContext(ctx context.Context) ConfigManagementMembershipStateResponseOutput { + return o +} + +// Binauthz status +func (o ConfigManagementMembershipStateResponseOutput) BinauthzState() ConfigManagementBinauthzStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementBinauthzStateResponse { + return v.BinauthzState + }).(ConfigManagementBinauthzStateResponseOutput) +} + +// This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. +func (o ConfigManagementMembershipStateResponseOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) string { return v.ClusterName }).(pulumi.StringOutput) +} + +// Current sync status +func (o ConfigManagementMembershipStateResponseOutput) ConfigSyncState() ConfigManagementConfigSyncStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementConfigSyncStateResponse { + return v.ConfigSyncState + }).(ConfigManagementConfigSyncStateResponseOutput) +} + +// Hierarchy Controller status +func (o ConfigManagementMembershipStateResponseOutput) HierarchyControllerState() ConfigManagementHierarchyControllerStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementHierarchyControllerStateResponse { + return v.HierarchyControllerState + }).(ConfigManagementHierarchyControllerStateResponseOutput) +} + +// Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state +func (o ConfigManagementMembershipStateResponseOutput) MembershipSpec() ConfigManagementMembershipSpecResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementMembershipSpecResponse { + return v.MembershipSpec + }).(ConfigManagementMembershipSpecResponseOutput) +} + +// Current install status of ACM's Operator +func (o ConfigManagementMembershipStateResponseOutput) OperatorState() ConfigManagementOperatorStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementOperatorStateResponse { + return v.OperatorState + }).(ConfigManagementOperatorStateResponseOutput) +} + +// PolicyController status +func (o ConfigManagementMembershipStateResponseOutput) PolicyControllerState() ConfigManagementPolicyControllerStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementPolicyControllerStateResponse { + return v.PolicyControllerState + }).(ConfigManagementPolicyControllerStateResponseOutput) +} + +// OCI repo configuration for a single cluster type ConfigManagementOciConfig struct { // The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. GcpServiceAccountEmail *string `pulumi:"gcpServiceAccountEmail"` @@ -5005,6 +6300,46 @@ func (o ConfigManagementOciConfigResponseOutput) SyncWaitSecs() pulumi.StringOut return o.ApplyT(func(v ConfigManagementOciConfigResponse) string { return v.SyncWaitSecs }).(pulumi.StringOutput) } +// State information for an ACM's Operator +type ConfigManagementOperatorStateResponse struct { + // The state of the Operator's deployment + DeploymentState string `pulumi:"deploymentState"` + // Install errors. + Errors []ConfigManagementInstallErrorResponse `pulumi:"errors"` + // The semenatic version number of the operator + Version string `pulumi:"version"` +} + +// State information for an ACM's Operator +type ConfigManagementOperatorStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementOperatorStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementOperatorStateResponse)(nil)).Elem() +} + +func (o ConfigManagementOperatorStateResponseOutput) ToConfigManagementOperatorStateResponseOutput() ConfigManagementOperatorStateResponseOutput { + return o +} + +func (o ConfigManagementOperatorStateResponseOutput) ToConfigManagementOperatorStateResponseOutputWithContext(ctx context.Context) ConfigManagementOperatorStateResponseOutput { + return o +} + +// The state of the Operator's deployment +func (o ConfigManagementOperatorStateResponseOutput) DeploymentState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementOperatorStateResponse) string { return v.DeploymentState }).(pulumi.StringOutput) +} + +// Install errors. +func (o ConfigManagementOperatorStateResponseOutput) Errors() ConfigManagementInstallErrorResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementOperatorStateResponse) []ConfigManagementInstallErrorResponse { return v.Errors }).(ConfigManagementInstallErrorResponseArrayOutput) +} + +// The semenatic version number of the operator +func (o ConfigManagementOperatorStateResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementOperatorStateResponse) string { return v.Version }).(pulumi.StringOutput) +} + // Configuration for Policy Controller type ConfigManagementPolicyController struct { // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. @@ -5280,6 +6615,39 @@ func (o ConfigManagementPolicyControllerPtrOutput) TemplateLibraryInstalled() pu }).(pulumi.BoolPtrOutput) } +// State for the migration of PolicyController from ACM -> PoCo Hub. +type ConfigManagementPolicyControllerMigrationResponse struct { + // Last time this membership spec was copied to PoCo feature. + CopyTime string `pulumi:"copyTime"` + // Stage of the migration. + Stage string `pulumi:"stage"` +} + +// State for the migration of PolicyController from ACM -> PoCo Hub. +type ConfigManagementPolicyControllerMigrationResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementPolicyControllerMigrationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementPolicyControllerMigrationResponse)(nil)).Elem() +} + +func (o ConfigManagementPolicyControllerMigrationResponseOutput) ToConfigManagementPolicyControllerMigrationResponseOutput() ConfigManagementPolicyControllerMigrationResponseOutput { + return o +} + +func (o ConfigManagementPolicyControllerMigrationResponseOutput) ToConfigManagementPolicyControllerMigrationResponseOutputWithContext(ctx context.Context) ConfigManagementPolicyControllerMigrationResponseOutput { + return o +} + +// Last time this membership spec was copied to PoCo feature. +func (o ConfigManagementPolicyControllerMigrationResponseOutput) CopyTime() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerMigrationResponse) string { return v.CopyTime }).(pulumi.StringOutput) +} + +// Stage of the migration. +func (o ConfigManagementPolicyControllerMigrationResponseOutput) Stage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerMigrationResponse) string { return v.Stage }).(pulumi.StringOutput) +} + // PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] type ConfigManagementPolicyControllerMonitoring struct { // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. @@ -5532,6 +6900,212 @@ func (o ConfigManagementPolicyControllerResponseOutput) UpdateTime() pulumi.Stri return o.ApplyT(func(v ConfigManagementPolicyControllerResponse) string { return v.UpdateTime }).(pulumi.StringOutput) } +// State for PolicyControllerState. +type ConfigManagementPolicyControllerStateResponse struct { + // The state about the policy controller installation. + DeploymentState ConfigManagementGatekeeperDeploymentStateResponse `pulumi:"deploymentState"` + // Record state of ACM -> PoCo Hub migration for this feature. + Migration ConfigManagementPolicyControllerMigrationResponse `pulumi:"migration"` + // The version of Gatekeeper Policy Controller deployed. + Version ConfigManagementPolicyControllerVersionResponse `pulumi:"version"` +} + +// State for PolicyControllerState. +type ConfigManagementPolicyControllerStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementPolicyControllerStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementPolicyControllerStateResponse)(nil)).Elem() +} + +func (o ConfigManagementPolicyControllerStateResponseOutput) ToConfigManagementPolicyControllerStateResponseOutput() ConfigManagementPolicyControllerStateResponseOutput { + return o +} + +func (o ConfigManagementPolicyControllerStateResponseOutput) ToConfigManagementPolicyControllerStateResponseOutputWithContext(ctx context.Context) ConfigManagementPolicyControllerStateResponseOutput { + return o +} + +// The state about the policy controller installation. +func (o ConfigManagementPolicyControllerStateResponseOutput) DeploymentState() ConfigManagementGatekeeperDeploymentStateResponseOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerStateResponse) ConfigManagementGatekeeperDeploymentStateResponse { + return v.DeploymentState + }).(ConfigManagementGatekeeperDeploymentStateResponseOutput) +} + +// Record state of ACM -> PoCo Hub migration for this feature. +func (o ConfigManagementPolicyControllerStateResponseOutput) Migration() ConfigManagementPolicyControllerMigrationResponseOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerStateResponse) ConfigManagementPolicyControllerMigrationResponse { + return v.Migration + }).(ConfigManagementPolicyControllerMigrationResponseOutput) +} + +// The version of Gatekeeper Policy Controller deployed. +func (o ConfigManagementPolicyControllerStateResponseOutput) Version() ConfigManagementPolicyControllerVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerStateResponse) ConfigManagementPolicyControllerVersionResponse { + return v.Version + }).(ConfigManagementPolicyControllerVersionResponseOutput) +} + +// The build version of Gatekeeper Policy Controller is using. +type ConfigManagementPolicyControllerVersionResponse struct { + // The gatekeeper image tag that is composed of ACM version, git tag, build number. + Version string `pulumi:"version"` +} + +// The build version of Gatekeeper Policy Controller is using. +type ConfigManagementPolicyControllerVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementPolicyControllerVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementPolicyControllerVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementPolicyControllerVersionResponseOutput) ToConfigManagementPolicyControllerVersionResponseOutput() ConfigManagementPolicyControllerVersionResponseOutput { + return o +} + +func (o ConfigManagementPolicyControllerVersionResponseOutput) ToConfigManagementPolicyControllerVersionResponseOutputWithContext(ctx context.Context) ConfigManagementPolicyControllerVersionResponseOutput { + return o +} + +// The gatekeeper image tag that is composed of ACM version, git tag, build number. +func (o ConfigManagementPolicyControllerVersionResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerVersionResponse) string { return v.Version }).(pulumi.StringOutput) +} + +// An ACM created error representing a problem syncing configurations +type ConfigManagementSyncErrorResponse struct { + // An ACM defined error code + Code string `pulumi:"code"` + // A description of the error + ErrorMessage string `pulumi:"errorMessage"` + // A list of config(s) associated with the error, if any + ErrorResources []ConfigManagementErrorResourceResponse `pulumi:"errorResources"` +} + +// An ACM created error representing a problem syncing configurations +type ConfigManagementSyncErrorResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementSyncErrorResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementSyncErrorResponseOutput) ToConfigManagementSyncErrorResponseOutput() ConfigManagementSyncErrorResponseOutput { + return o +} + +func (o ConfigManagementSyncErrorResponseOutput) ToConfigManagementSyncErrorResponseOutputWithContext(ctx context.Context) ConfigManagementSyncErrorResponseOutput { + return o +} + +// An ACM defined error code +func (o ConfigManagementSyncErrorResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncErrorResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// A description of the error +func (o ConfigManagementSyncErrorResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncErrorResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +// A list of config(s) associated with the error, if any +func (o ConfigManagementSyncErrorResponseOutput) ErrorResources() ConfigManagementErrorResourceResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementSyncErrorResponse) []ConfigManagementErrorResourceResponse { + return v.ErrorResources + }).(ConfigManagementErrorResourceResponseArrayOutput) +} + +type ConfigManagementSyncErrorResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementSyncErrorResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementSyncErrorResponseArrayOutput) ToConfigManagementSyncErrorResponseArrayOutput() ConfigManagementSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementSyncErrorResponseArrayOutput) ToConfigManagementSyncErrorResponseArrayOutputWithContext(ctx context.Context) ConfigManagementSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementSyncErrorResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementSyncErrorResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementSyncErrorResponse { + return vs[0].([]ConfigManagementSyncErrorResponse)[vs[1].(int)] + }).(ConfigManagementSyncErrorResponseOutput) +} + +// State indicating an ACM's progress syncing configurations to a cluster +type ConfigManagementSyncStateResponse struct { + // Sync status code + Code string `pulumi:"code"` + // A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + Errors []ConfigManagementSyncErrorResponse `pulumi:"errors"` + // Token indicating the state of the importer. + ImportToken string `pulumi:"importToken"` + // Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + // + // Deprecated: Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + LastSync string `pulumi:"lastSync"` + // Timestamp type of when ACM last successfully synced the repo + LastSyncTime string `pulumi:"lastSyncTime"` + // Token indicating the state of the repo. + SourceToken string `pulumi:"sourceToken"` + // Token indicating the state of the syncer. + SyncToken string `pulumi:"syncToken"` +} + +// State indicating an ACM's progress syncing configurations to a cluster +type ConfigManagementSyncStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementSyncStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementSyncStateResponse)(nil)).Elem() +} + +func (o ConfigManagementSyncStateResponseOutput) ToConfigManagementSyncStateResponseOutput() ConfigManagementSyncStateResponseOutput { + return o +} + +func (o ConfigManagementSyncStateResponseOutput) ToConfigManagementSyncStateResponseOutputWithContext(ctx context.Context) ConfigManagementSyncStateResponseOutput { + return o +} + +// Sync status code +func (o ConfigManagementSyncStateResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. +func (o ConfigManagementSyncStateResponseOutput) Errors() ConfigManagementSyncErrorResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) []ConfigManagementSyncErrorResponse { return v.Errors }).(ConfigManagementSyncErrorResponseArrayOutput) +} + +// Token indicating the state of the importer. +func (o ConfigManagementSyncStateResponseOutput) ImportToken() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.ImportToken }).(pulumi.StringOutput) +} + +// Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String +// +// Deprecated: Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String +func (o ConfigManagementSyncStateResponseOutput) LastSync() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.LastSync }).(pulumi.StringOutput) +} + +// Timestamp type of when ACM last successfully synced the repo +func (o ConfigManagementSyncStateResponseOutput) LastSyncTime() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.LastSyncTime }).(pulumi.StringOutput) +} + +// Token indicating the state of the repo. +func (o ConfigManagementSyncStateResponseOutput) SourceToken() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.SourceToken }).(pulumi.StringOutput) +} + +// Token indicating the state of the syncer. +func (o ConfigManagementSyncStateResponseOutput) SyncToken() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.SyncToken }).(pulumi.StringOutput) +} + // DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet. type DefaultClusterConfig struct { // Optional. Enable/Disable binary authorization features for the cluster. @@ -6976,6 +8550,165 @@ func (o FleetObservabilityLoggingConfigResponseOutput) FleetScopeLogsConfig() Fl }).(FleetObservabilityRoutingConfigResponseOutput) } +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpec struct { +} + +// FleetObservabilityMembershipSpecInput is an input type that accepts FleetObservabilityMembershipSpecArgs and FleetObservabilityMembershipSpecOutput values. +// You can construct a concrete instance of `FleetObservabilityMembershipSpecInput` via: +// +// FleetObservabilityMembershipSpecArgs{...} +type FleetObservabilityMembershipSpecInput interface { + pulumi.Input + + ToFleetObservabilityMembershipSpecOutput() FleetObservabilityMembershipSpecOutput + ToFleetObservabilityMembershipSpecOutputWithContext(context.Context) FleetObservabilityMembershipSpecOutput +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecArgs struct { +} + +func (FleetObservabilityMembershipSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecOutput() FleetObservabilityMembershipSpecOutput { + return i.ToFleetObservabilityMembershipSpecOutputWithContext(context.Background()) +} + +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityMembershipSpecOutput) +} + +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return i.ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityMembershipSpecOutput).ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx) +} + +// FleetObservabilityMembershipSpecPtrInput is an input type that accepts FleetObservabilityMembershipSpecArgs, FleetObservabilityMembershipSpecPtr and FleetObservabilityMembershipSpecPtrOutput values. +// You can construct a concrete instance of `FleetObservabilityMembershipSpecPtrInput` via: +// +// FleetObservabilityMembershipSpecArgs{...} +// +// or: +// +// nil +type FleetObservabilityMembershipSpecPtrInput interface { + pulumi.Input + + ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput + ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Context) FleetObservabilityMembershipSpecPtrOutput +} + +type fleetObservabilityMembershipSpecPtrType FleetObservabilityMembershipSpecArgs + +func FleetObservabilityMembershipSpecPtr(v *FleetObservabilityMembershipSpecArgs) FleetObservabilityMembershipSpecPtrInput { + return (*fleetObservabilityMembershipSpecPtrType)(v) +} + +func (*fleetObservabilityMembershipSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (i *fleetObservabilityMembershipSpecPtrType) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return i.ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i *fleetObservabilityMembershipSpecPtrType) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityMembershipSpecPtrOutput) +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecOutput() FleetObservabilityMembershipSpecOutput { + return o +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecOutput { + return o +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return o.ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetObservabilityMembershipSpec) *FleetObservabilityMembershipSpec { + return &v + }).(FleetObservabilityMembershipSpecPtrOutput) +} + +type FleetObservabilityMembershipSpecPtrOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (o FleetObservabilityMembershipSpecPtrOutput) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return o +} + +func (o FleetObservabilityMembershipSpecPtrOutput) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return o +} + +func (o FleetObservabilityMembershipSpecPtrOutput) Elem() FleetObservabilityMembershipSpecOutput { + return o.ApplyT(func(v *FleetObservabilityMembershipSpec) FleetObservabilityMembershipSpec { + if v != nil { + return *v + } + var ret FleetObservabilityMembershipSpec + return ret + }).(FleetObservabilityMembershipSpecOutput) +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecResponse struct { +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecResponseOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipSpecResponse)(nil)).Elem() +} + +func (o FleetObservabilityMembershipSpecResponseOutput) ToFleetObservabilityMembershipSpecResponseOutput() FleetObservabilityMembershipSpecResponseOutput { + return o +} + +func (o FleetObservabilityMembershipSpecResponseOutput) ToFleetObservabilityMembershipSpecResponseOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecResponseOutput { + return o +} + +// **FleetObservability**: Membership-specific Feature state for fleetobservability. +type FleetObservabilityMembershipStateResponse struct { +} + +// **FleetObservability**: Membership-specific Feature state for fleetobservability. +type FleetObservabilityMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipStateResponse)(nil)).Elem() +} + +func (o FleetObservabilityMembershipStateResponseOutput) ToFleetObservabilityMembershipStateResponseOutput() FleetObservabilityMembershipStateResponseOutput { + return o +} + +func (o FleetObservabilityMembershipStateResponseOutput) ToFleetObservabilityMembershipStateResponseOutputWithContext(ctx context.Context) FleetObservabilityMembershipStateResponseOutput { + return o +} + // RoutingConfig configures the behaviour of fleet logging feature. type FleetObservabilityRoutingConfig struct { // mode configures the logs routing mode. @@ -8110,25 +9843,74 @@ func (o IdentityServiceMembershipSpecResponseOutput) AuthMethods() IdentityServi }).(IdentityServiceAuthMethodResponseArrayOutput) } -// Configuration for OIDC Auth flow. -type IdentityServiceOidcConfig struct { - // PEM-encoded CA for OIDC provider. - CertificateAuthorityData *string `pulumi:"certificateAuthorityData"` - // ID for OIDC client application. - ClientId *string `pulumi:"clientId"` - // Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH. - ClientSecret *string `pulumi:"clientSecret"` - // Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console. - DeployCloudConsoleProxy *bool `pulumi:"deployCloudConsoleProxy"` - // Enable access token. - EnableAccessToken *bool `pulumi:"enableAccessToken"` - // Comma-separated list of key-value pairs. - ExtraParams *string `pulumi:"extraParams"` - // Prefix to prepend to group name. - GroupPrefix *string `pulumi:"groupPrefix"` - // Claim in OIDC ID token that holds group information. - GroupsClaim *string `pulumi:"groupsClaim"` - // URI for the OIDC provider. This should point to the level below .well-known/openid-configuration. +// **Anthos Identity Service**: State for a single Membership. +type IdentityServiceMembershipStateResponse struct { + // The reason of the failure. + FailureReason string `pulumi:"failureReason"` + // Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + InstalledVersion string `pulumi:"installedVersion"` + // Last reconciled membership configuration + MemberConfig IdentityServiceMembershipSpecResponse `pulumi:"memberConfig"` + // Deployment state on this member + State string `pulumi:"state"` +} + +// **Anthos Identity Service**: State for a single Membership. +type IdentityServiceMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (IdentityServiceMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IdentityServiceMembershipStateResponse)(nil)).Elem() +} + +func (o IdentityServiceMembershipStateResponseOutput) ToIdentityServiceMembershipStateResponseOutput() IdentityServiceMembershipStateResponseOutput { + return o +} + +func (o IdentityServiceMembershipStateResponseOutput) ToIdentityServiceMembershipStateResponseOutputWithContext(ctx context.Context) IdentityServiceMembershipStateResponseOutput { + return o +} + +// The reason of the failure. +func (o IdentityServiceMembershipStateResponseOutput) FailureReason() pulumi.StringOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) string { return v.FailureReason }).(pulumi.StringOutput) +} + +// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. +func (o IdentityServiceMembershipStateResponseOutput) InstalledVersion() pulumi.StringOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) string { return v.InstalledVersion }).(pulumi.StringOutput) +} + +// Last reconciled membership configuration +func (o IdentityServiceMembershipStateResponseOutput) MemberConfig() IdentityServiceMembershipSpecResponseOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) IdentityServiceMembershipSpecResponse { + return v.MemberConfig + }).(IdentityServiceMembershipSpecResponseOutput) +} + +// Deployment state on this member +func (o IdentityServiceMembershipStateResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) string { return v.State }).(pulumi.StringOutput) +} + +// Configuration for OIDC Auth flow. +type IdentityServiceOidcConfig struct { + // PEM-encoded CA for OIDC provider. + CertificateAuthorityData *string `pulumi:"certificateAuthorityData"` + // ID for OIDC client application. + ClientId *string `pulumi:"clientId"` + // Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH. + ClientSecret *string `pulumi:"clientSecret"` + // Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console. + DeployCloudConsoleProxy *bool `pulumi:"deployCloudConsoleProxy"` + // Enable access token. + EnableAccessToken *bool `pulumi:"enableAccessToken"` + // Comma-separated list of key-value pairs. + ExtraParams *string `pulumi:"extraParams"` + // Prefix to prepend to group name. + GroupPrefix *string `pulumi:"groupPrefix"` + // Claim in OIDC ID token that holds group information. + GroupsClaim *string `pulumi:"groupsClaim"` + // URI for the OIDC provider. This should point to the level below .well-known/openid-configuration. IssuerUri *string `pulumi:"issuerUri"` // Registered redirect uri to redirect users going through OAuth flow using kubectl plugin. KubectlRedirectUri *string `pulumi:"kubectlRedirectUri"` @@ -9198,6 +10980,425 @@ func (o MembershipEndpointResponseOutput) OnPremCluster() OnPremClusterResponseO return o.ApplyT(func(v MembershipEndpointResponse) OnPremClusterResponse { return v.OnPremCluster }).(OnPremClusterResponseOutput) } +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpec struct { + // Anthos Observability-specific spec + Anthosobservability *AnthosObservabilityMembershipSpec `pulumi:"anthosobservability"` + // Cloud Build-specific spec + Cloudbuild *CloudBuildMembershipSpec `pulumi:"cloudbuild"` + // Config Management-specific spec. + Configmanagement *ConfigManagementMembershipSpec `pulumi:"configmanagement"` + // Fleet observability membership spec + Fleetobservability *FleetObservabilityMembershipSpec `pulumi:"fleetobservability"` + // Identity Service-specific spec. + Identityservice *IdentityServiceMembershipSpec `pulumi:"identityservice"` + // Anthos Service Mesh-specific spec + Mesh *ServiceMeshMembershipSpec `pulumi:"mesh"` + // FNS Actuation membership spec + Namespaceactuation *NamespaceActuationMembershipSpec `pulumi:"namespaceactuation"` + // Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + Origin *Origin `pulumi:"origin"` + // Policy Controller spec. + Policycontroller *PolicyControllerMembershipSpec `pulumi:"policycontroller"` + // Workload Certificate spec. + Workloadcertificate *MembershipSpec `pulumi:"workloadcertificate"` +} + +// MembershipFeatureSpecInput is an input type that accepts MembershipFeatureSpecArgs and MembershipFeatureSpecOutput values. +// You can construct a concrete instance of `MembershipFeatureSpecInput` via: +// +// MembershipFeatureSpecArgs{...} +type MembershipFeatureSpecInput interface { + pulumi.Input + + ToMembershipFeatureSpecOutput() MembershipFeatureSpecOutput + ToMembershipFeatureSpecOutputWithContext(context.Context) MembershipFeatureSpecOutput +} + +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecArgs struct { + // Anthos Observability-specific spec + Anthosobservability AnthosObservabilityMembershipSpecPtrInput `pulumi:"anthosobservability"` + // Cloud Build-specific spec + Cloudbuild CloudBuildMembershipSpecPtrInput `pulumi:"cloudbuild"` + // Config Management-specific spec. + Configmanagement ConfigManagementMembershipSpecPtrInput `pulumi:"configmanagement"` + // Fleet observability membership spec + Fleetobservability FleetObservabilityMembershipSpecPtrInput `pulumi:"fleetobservability"` + // Identity Service-specific spec. + Identityservice IdentityServiceMembershipSpecPtrInput `pulumi:"identityservice"` + // Anthos Service Mesh-specific spec + Mesh ServiceMeshMembershipSpecPtrInput `pulumi:"mesh"` + // FNS Actuation membership spec + Namespaceactuation NamespaceActuationMembershipSpecPtrInput `pulumi:"namespaceactuation"` + // Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + Origin OriginPtrInput `pulumi:"origin"` + // Policy Controller spec. + Policycontroller PolicyControllerMembershipSpecPtrInput `pulumi:"policycontroller"` + // Workload Certificate spec. + Workloadcertificate MembershipSpecPtrInput `pulumi:"workloadcertificate"` +} + +func (MembershipFeatureSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureSpec)(nil)).Elem() +} + +func (i MembershipFeatureSpecArgs) ToMembershipFeatureSpecOutput() MembershipFeatureSpecOutput { + return i.ToMembershipFeatureSpecOutputWithContext(context.Background()) +} + +func (i MembershipFeatureSpecArgs) ToMembershipFeatureSpecOutputWithContext(ctx context.Context) MembershipFeatureSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipFeatureSpecOutput) +} + +// MembershipFeatureSpecMapInput is an input type that accepts MembershipFeatureSpecMap and MembershipFeatureSpecMapOutput values. +// You can construct a concrete instance of `MembershipFeatureSpecMapInput` via: +// +// MembershipFeatureSpecMap{ "key": MembershipFeatureSpecArgs{...} } +type MembershipFeatureSpecMapInput interface { + pulumi.Input + + ToMembershipFeatureSpecMapOutput() MembershipFeatureSpecMapOutput + ToMembershipFeatureSpecMapOutputWithContext(context.Context) MembershipFeatureSpecMapOutput +} + +type MembershipFeatureSpecMap map[string]MembershipFeatureSpecInput + +func (MembershipFeatureSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureSpec)(nil)).Elem() +} + +func (i MembershipFeatureSpecMap) ToMembershipFeatureSpecMapOutput() MembershipFeatureSpecMapOutput { + return i.ToMembershipFeatureSpecMapOutputWithContext(context.Background()) +} + +func (i MembershipFeatureSpecMap) ToMembershipFeatureSpecMapOutputWithContext(ctx context.Context) MembershipFeatureSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipFeatureSpecMapOutput) +} + +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureSpec)(nil)).Elem() +} + +func (o MembershipFeatureSpecOutput) ToMembershipFeatureSpecOutput() MembershipFeatureSpecOutput { + return o +} + +func (o MembershipFeatureSpecOutput) ToMembershipFeatureSpecOutputWithContext(ctx context.Context) MembershipFeatureSpecOutput { + return o +} + +// Anthos Observability-specific spec +func (o MembershipFeatureSpecOutput) Anthosobservability() AnthosObservabilityMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *AnthosObservabilityMembershipSpec { return v.Anthosobservability }).(AnthosObservabilityMembershipSpecPtrOutput) +} + +// Cloud Build-specific spec +func (o MembershipFeatureSpecOutput) Cloudbuild() CloudBuildMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *CloudBuildMembershipSpec { return v.Cloudbuild }).(CloudBuildMembershipSpecPtrOutput) +} + +// Config Management-specific spec. +func (o MembershipFeatureSpecOutput) Configmanagement() ConfigManagementMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *ConfigManagementMembershipSpec { return v.Configmanagement }).(ConfigManagementMembershipSpecPtrOutput) +} + +// Fleet observability membership spec +func (o MembershipFeatureSpecOutput) Fleetobservability() FleetObservabilityMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *FleetObservabilityMembershipSpec { return v.Fleetobservability }).(FleetObservabilityMembershipSpecPtrOutput) +} + +// Identity Service-specific spec. +func (o MembershipFeatureSpecOutput) Identityservice() IdentityServiceMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *IdentityServiceMembershipSpec { return v.Identityservice }).(IdentityServiceMembershipSpecPtrOutput) +} + +// Anthos Service Mesh-specific spec +func (o MembershipFeatureSpecOutput) Mesh() ServiceMeshMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *ServiceMeshMembershipSpec { return v.Mesh }).(ServiceMeshMembershipSpecPtrOutput) +} + +// FNS Actuation membership spec +func (o MembershipFeatureSpecOutput) Namespaceactuation() NamespaceActuationMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *NamespaceActuationMembershipSpec { return v.Namespaceactuation }).(NamespaceActuationMembershipSpecPtrOutput) +} + +// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. +func (o MembershipFeatureSpecOutput) Origin() OriginPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *Origin { return v.Origin }).(OriginPtrOutput) +} + +// Policy Controller spec. +func (o MembershipFeatureSpecOutput) Policycontroller() PolicyControllerMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *PolicyControllerMembershipSpec { return v.Policycontroller }).(PolicyControllerMembershipSpecPtrOutput) +} + +// Workload Certificate spec. +func (o MembershipFeatureSpecOutput) Workloadcertificate() MembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *MembershipSpec { return v.Workloadcertificate }).(MembershipSpecPtrOutput) +} + +type MembershipFeatureSpecMapOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureSpec)(nil)).Elem() +} + +func (o MembershipFeatureSpecMapOutput) ToMembershipFeatureSpecMapOutput() MembershipFeatureSpecMapOutput { + return o +} + +func (o MembershipFeatureSpecMapOutput) ToMembershipFeatureSpecMapOutputWithContext(ctx context.Context) MembershipFeatureSpecMapOutput { + return o +} + +func (o MembershipFeatureSpecMapOutput) MapIndex(k pulumi.StringInput) MembershipFeatureSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) MembershipFeatureSpec { + return vs[0].(map[string]MembershipFeatureSpec)[vs[1].(string)] + }).(MembershipFeatureSpecOutput) +} + +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecResponse struct { + // Anthos Observability-specific spec + Anthosobservability AnthosObservabilityMembershipSpecResponse `pulumi:"anthosobservability"` + // Cloud Build-specific spec + Cloudbuild CloudBuildMembershipSpecResponse `pulumi:"cloudbuild"` + // Config Management-specific spec. + Configmanagement ConfigManagementMembershipSpecResponse `pulumi:"configmanagement"` + // Fleet observability membership spec + Fleetobservability FleetObservabilityMembershipSpecResponse `pulumi:"fleetobservability"` + // Identity Service-specific spec. + Identityservice IdentityServiceMembershipSpecResponse `pulumi:"identityservice"` + // Anthos Service Mesh-specific spec + Mesh ServiceMeshMembershipSpecResponse `pulumi:"mesh"` + // FNS Actuation membership spec + Namespaceactuation NamespaceActuationMembershipSpecResponse `pulumi:"namespaceactuation"` + // Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + Origin OriginResponse `pulumi:"origin"` + // Policy Controller spec. + Policycontroller PolicyControllerMembershipSpecResponse `pulumi:"policycontroller"` + // Workload Certificate spec. + Workloadcertificate MembershipSpecResponse `pulumi:"workloadcertificate"` +} + +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecResponseOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureSpecResponse)(nil)).Elem() +} + +func (o MembershipFeatureSpecResponseOutput) ToMembershipFeatureSpecResponseOutput() MembershipFeatureSpecResponseOutput { + return o +} + +func (o MembershipFeatureSpecResponseOutput) ToMembershipFeatureSpecResponseOutputWithContext(ctx context.Context) MembershipFeatureSpecResponseOutput { + return o +} + +// Anthos Observability-specific spec +func (o MembershipFeatureSpecResponseOutput) Anthosobservability() AnthosObservabilityMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) AnthosObservabilityMembershipSpecResponse { + return v.Anthosobservability + }).(AnthosObservabilityMembershipSpecResponseOutput) +} + +// Cloud Build-specific spec +func (o MembershipFeatureSpecResponseOutput) Cloudbuild() CloudBuildMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) CloudBuildMembershipSpecResponse { return v.Cloudbuild }).(CloudBuildMembershipSpecResponseOutput) +} + +// Config Management-specific spec. +func (o MembershipFeatureSpecResponseOutput) Configmanagement() ConfigManagementMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) ConfigManagementMembershipSpecResponse { + return v.Configmanagement + }).(ConfigManagementMembershipSpecResponseOutput) +} + +// Fleet observability membership spec +func (o MembershipFeatureSpecResponseOutput) Fleetobservability() FleetObservabilityMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) FleetObservabilityMembershipSpecResponse { + return v.Fleetobservability + }).(FleetObservabilityMembershipSpecResponseOutput) +} + +// Identity Service-specific spec. +func (o MembershipFeatureSpecResponseOutput) Identityservice() IdentityServiceMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) IdentityServiceMembershipSpecResponse { return v.Identityservice }).(IdentityServiceMembershipSpecResponseOutput) +} + +// Anthos Service Mesh-specific spec +func (o MembershipFeatureSpecResponseOutput) Mesh() ServiceMeshMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) ServiceMeshMembershipSpecResponse { return v.Mesh }).(ServiceMeshMembershipSpecResponseOutput) +} + +// FNS Actuation membership spec +func (o MembershipFeatureSpecResponseOutput) Namespaceactuation() NamespaceActuationMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) NamespaceActuationMembershipSpecResponse { + return v.Namespaceactuation + }).(NamespaceActuationMembershipSpecResponseOutput) +} + +// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. +func (o MembershipFeatureSpecResponseOutput) Origin() OriginResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) OriginResponse { return v.Origin }).(OriginResponseOutput) +} + +// Policy Controller spec. +func (o MembershipFeatureSpecResponseOutput) Policycontroller() PolicyControllerMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) PolicyControllerMembershipSpecResponse { + return v.Policycontroller + }).(PolicyControllerMembershipSpecResponseOutput) +} + +// Workload Certificate spec. +func (o MembershipFeatureSpecResponseOutput) Workloadcertificate() MembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) MembershipSpecResponse { return v.Workloadcertificate }).(MembershipSpecResponseOutput) +} + +type MembershipFeatureSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureSpecResponse)(nil)).Elem() +} + +func (o MembershipFeatureSpecResponseMapOutput) ToMembershipFeatureSpecResponseMapOutput() MembershipFeatureSpecResponseMapOutput { + return o +} + +func (o MembershipFeatureSpecResponseMapOutput) ToMembershipFeatureSpecResponseMapOutputWithContext(ctx context.Context) MembershipFeatureSpecResponseMapOutput { + return o +} + +func (o MembershipFeatureSpecResponseMapOutput) MapIndex(k pulumi.StringInput) MembershipFeatureSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) MembershipFeatureSpecResponse { + return vs[0].(map[string]MembershipFeatureSpecResponse)[vs[1].(string)] + }).(MembershipFeatureSpecResponseOutput) +} + +// MembershipFeatureState contains Feature status information for a single Membership. +type MembershipFeatureStateResponse struct { + // Appdevexperience specific state. + Appdevexperience AppDevExperienceFeatureStateResponse `pulumi:"appdevexperience"` + // ClusterUpgrade state. + Clusterupgrade ClusterUpgradeMembershipStateResponse `pulumi:"clusterupgrade"` + // Config Management-specific state. + Configmanagement ConfigManagementMembershipStateResponse `pulumi:"configmanagement"` + // Fleet observability membership state. + Fleetobservability FleetObservabilityMembershipStateResponse `pulumi:"fleetobservability"` + // Identity Service-specific state. + Identityservice IdentityServiceMembershipStateResponse `pulumi:"identityservice"` + // Metering-specific state. + Metering MeteringMembershipStateResponse `pulumi:"metering"` + // FNS Actuation membership state + Namespaceactuation NamespaceActuationMembershipStateResponse `pulumi:"namespaceactuation"` + // Policycontroller-specific state. + Policycontroller PolicyControllerMembershipStateResponse `pulumi:"policycontroller"` + // Service Mesh-specific state. + Servicemesh ServiceMeshMembershipStateResponse `pulumi:"servicemesh"` + // The high-level state of this Feature for a single membership. + State FeatureStateResponse `pulumi:"state"` +} + +// MembershipFeatureState contains Feature status information for a single Membership. +type MembershipFeatureStateResponseOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureStateResponse)(nil)).Elem() +} + +func (o MembershipFeatureStateResponseOutput) ToMembershipFeatureStateResponseOutput() MembershipFeatureStateResponseOutput { + return o +} + +func (o MembershipFeatureStateResponseOutput) ToMembershipFeatureStateResponseOutputWithContext(ctx context.Context) MembershipFeatureStateResponseOutput { + return o +} + +// Appdevexperience specific state. +func (o MembershipFeatureStateResponseOutput) Appdevexperience() AppDevExperienceFeatureStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) AppDevExperienceFeatureStateResponse { return v.Appdevexperience }).(AppDevExperienceFeatureStateResponseOutput) +} + +// ClusterUpgrade state. +func (o MembershipFeatureStateResponseOutput) Clusterupgrade() ClusterUpgradeMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) ClusterUpgradeMembershipStateResponse { return v.Clusterupgrade }).(ClusterUpgradeMembershipStateResponseOutput) +} + +// Config Management-specific state. +func (o MembershipFeatureStateResponseOutput) Configmanagement() ConfigManagementMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) ConfigManagementMembershipStateResponse { + return v.Configmanagement + }).(ConfigManagementMembershipStateResponseOutput) +} + +// Fleet observability membership state. +func (o MembershipFeatureStateResponseOutput) Fleetobservability() FleetObservabilityMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) FleetObservabilityMembershipStateResponse { + return v.Fleetobservability + }).(FleetObservabilityMembershipStateResponseOutput) +} + +// Identity Service-specific state. +func (o MembershipFeatureStateResponseOutput) Identityservice() IdentityServiceMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) IdentityServiceMembershipStateResponse { + return v.Identityservice + }).(IdentityServiceMembershipStateResponseOutput) +} + +// Metering-specific state. +func (o MembershipFeatureStateResponseOutput) Metering() MeteringMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) MeteringMembershipStateResponse { return v.Metering }).(MeteringMembershipStateResponseOutput) +} + +// FNS Actuation membership state +func (o MembershipFeatureStateResponseOutput) Namespaceactuation() NamespaceActuationMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) NamespaceActuationMembershipStateResponse { + return v.Namespaceactuation + }).(NamespaceActuationMembershipStateResponseOutput) +} + +// Policycontroller-specific state. +func (o MembershipFeatureStateResponseOutput) Policycontroller() PolicyControllerMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) PolicyControllerMembershipStateResponse { + return v.Policycontroller + }).(PolicyControllerMembershipStateResponseOutput) +} + +// Service Mesh-specific state. +func (o MembershipFeatureStateResponseOutput) Servicemesh() ServiceMeshMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) ServiceMeshMembershipStateResponse { return v.Servicemesh }).(ServiceMeshMembershipStateResponseOutput) +} + +// The high-level state of this Feature for a single membership. +func (o MembershipFeatureStateResponseOutput) State() FeatureStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) FeatureStateResponse { return v.State }).(FeatureStateResponseOutput) +} + +type MembershipFeatureStateResponseMapOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureStateResponse)(nil)).Elem() +} + +func (o MembershipFeatureStateResponseMapOutput) ToMembershipFeatureStateResponseMapOutput() MembershipFeatureStateResponseMapOutput { + return o +} + +func (o MembershipFeatureStateResponseMapOutput) ToMembershipFeatureStateResponseMapOutputWithContext(ctx context.Context) MembershipFeatureStateResponseMapOutput { + return o +} + +func (o MembershipFeatureStateResponseMapOutput) MapIndex(k pulumi.StringInput) MembershipFeatureStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) MembershipFeatureStateResponse { + return vs[0].(map[string]MembershipFeatureStateResponse)[vs[1].(string)] + }).(MembershipFeatureStateResponseOutput) +} + // **Workload Certificate**: The membership-specific input for WorkloadCertificate feature. type MembershipSpec struct { // Specifies workload certificate management. @@ -9390,15 +11591,48 @@ func (o MembershipStateResponseOutput) Code() pulumi.StringOutput { return o.ApplyT(func(v MembershipStateResponse) string { return v.Code }).(pulumi.StringOutput) } -// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. -type MonitoringConfig struct { - // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". - Cluster *string `pulumi:"cluster"` - // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. - ClusterHash *string `pulumi:"clusterHash"` - // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. - KubernetesMetricsPrefix *string `pulumi:"kubernetesMetricsPrefix"` - // Optional. Location used to report Metrics +// **Metering**: Per-Membership Feature State. +type MeteringMembershipStateResponse struct { + // The time stamp of the most recent measurement of the number of vCPUs in the cluster. + LastMeasurementTime string `pulumi:"lastMeasurementTime"` + // The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + PreciseLastMeasuredClusterVcpuCapacity float64 `pulumi:"preciseLastMeasuredClusterVcpuCapacity"` +} + +// **Metering**: Per-Membership Feature State. +type MeteringMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (MeteringMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MeteringMembershipStateResponse)(nil)).Elem() +} + +func (o MeteringMembershipStateResponseOutput) ToMeteringMembershipStateResponseOutput() MeteringMembershipStateResponseOutput { + return o +} + +func (o MeteringMembershipStateResponseOutput) ToMeteringMembershipStateResponseOutputWithContext(ctx context.Context) MeteringMembershipStateResponseOutput { + return o +} + +// The time stamp of the most recent measurement of the number of vCPUs in the cluster. +func (o MeteringMembershipStateResponseOutput) LastMeasurementTime() pulumi.StringOutput { + return o.ApplyT(func(v MeteringMembershipStateResponse) string { return v.LastMeasurementTime }).(pulumi.StringOutput) +} + +// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). +func (o MeteringMembershipStateResponseOutput) PreciseLastMeasuredClusterVcpuCapacity() pulumi.Float64Output { + return o.ApplyT(func(v MeteringMembershipStateResponse) float64 { return v.PreciseLastMeasuredClusterVcpuCapacity }).(pulumi.Float64Output) +} + +// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. +type MonitoringConfig struct { + // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". + Cluster *string `pulumi:"cluster"` + // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. + ClusterHash *string `pulumi:"clusterHash"` + // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. + KubernetesMetricsPrefix *string `pulumi:"kubernetesMetricsPrefix"` + // Optional. Location used to report Metrics Location *string `pulumi:"location"` // Optional. Project used to report Metrics Project *string `pulumi:"project"` @@ -10224,6 +12458,165 @@ func (o NamespaceActuationFeatureStateResponseOutput) ToNamespaceActuationFeatur return o } +// **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. +type NamespaceActuationMembershipSpec struct { +} + +// NamespaceActuationMembershipSpecInput is an input type that accepts NamespaceActuationMembershipSpecArgs and NamespaceActuationMembershipSpecOutput values. +// You can construct a concrete instance of `NamespaceActuationMembershipSpecInput` via: +// +// NamespaceActuationMembershipSpecArgs{...} +type NamespaceActuationMembershipSpecInput interface { + pulumi.Input + + ToNamespaceActuationMembershipSpecOutput() NamespaceActuationMembershipSpecOutput + ToNamespaceActuationMembershipSpecOutputWithContext(context.Context) NamespaceActuationMembershipSpecOutput +} + +// **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. +type NamespaceActuationMembershipSpecArgs struct { +} + +func (NamespaceActuationMembershipSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NamespaceActuationMembershipSpec)(nil)).Elem() +} + +func (i NamespaceActuationMembershipSpecArgs) ToNamespaceActuationMembershipSpecOutput() NamespaceActuationMembershipSpecOutput { + return i.ToNamespaceActuationMembershipSpecOutputWithContext(context.Background()) +} + +func (i NamespaceActuationMembershipSpecArgs) ToNamespaceActuationMembershipSpecOutputWithContext(ctx context.Context) NamespaceActuationMembershipSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceActuationMembershipSpecOutput) +} + +func (i NamespaceActuationMembershipSpecArgs) ToNamespaceActuationMembershipSpecPtrOutput() NamespaceActuationMembershipSpecPtrOutput { + return i.ToNamespaceActuationMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i NamespaceActuationMembershipSpecArgs) ToNamespaceActuationMembershipSpecPtrOutputWithContext(ctx context.Context) NamespaceActuationMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceActuationMembershipSpecOutput).ToNamespaceActuationMembershipSpecPtrOutputWithContext(ctx) +} + +// NamespaceActuationMembershipSpecPtrInput is an input type that accepts NamespaceActuationMembershipSpecArgs, NamespaceActuationMembershipSpecPtr and NamespaceActuationMembershipSpecPtrOutput values. +// You can construct a concrete instance of `NamespaceActuationMembershipSpecPtrInput` via: +// +// NamespaceActuationMembershipSpecArgs{...} +// +// or: +// +// nil +type NamespaceActuationMembershipSpecPtrInput interface { + pulumi.Input + + ToNamespaceActuationMembershipSpecPtrOutput() NamespaceActuationMembershipSpecPtrOutput + ToNamespaceActuationMembershipSpecPtrOutputWithContext(context.Context) NamespaceActuationMembershipSpecPtrOutput +} + +type namespaceActuationMembershipSpecPtrType NamespaceActuationMembershipSpecArgs + +func NamespaceActuationMembershipSpecPtr(v *NamespaceActuationMembershipSpecArgs) NamespaceActuationMembershipSpecPtrInput { + return (*namespaceActuationMembershipSpecPtrType)(v) +} + +func (*namespaceActuationMembershipSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NamespaceActuationMembershipSpec)(nil)).Elem() +} + +func (i *namespaceActuationMembershipSpecPtrType) ToNamespaceActuationMembershipSpecPtrOutput() NamespaceActuationMembershipSpecPtrOutput { + return i.ToNamespaceActuationMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i *namespaceActuationMembershipSpecPtrType) ToNamespaceActuationMembershipSpecPtrOutputWithContext(ctx context.Context) NamespaceActuationMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceActuationMembershipSpecPtrOutput) +} + +// **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. +type NamespaceActuationMembershipSpecOutput struct{ *pulumi.OutputState } + +func (NamespaceActuationMembershipSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NamespaceActuationMembershipSpec)(nil)).Elem() +} + +func (o NamespaceActuationMembershipSpecOutput) ToNamespaceActuationMembershipSpecOutput() NamespaceActuationMembershipSpecOutput { + return o +} + +func (o NamespaceActuationMembershipSpecOutput) ToNamespaceActuationMembershipSpecOutputWithContext(ctx context.Context) NamespaceActuationMembershipSpecOutput { + return o +} + +func (o NamespaceActuationMembershipSpecOutput) ToNamespaceActuationMembershipSpecPtrOutput() NamespaceActuationMembershipSpecPtrOutput { + return o.ToNamespaceActuationMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (o NamespaceActuationMembershipSpecOutput) ToNamespaceActuationMembershipSpecPtrOutputWithContext(ctx context.Context) NamespaceActuationMembershipSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NamespaceActuationMembershipSpec) *NamespaceActuationMembershipSpec { + return &v + }).(NamespaceActuationMembershipSpecPtrOutput) +} + +type NamespaceActuationMembershipSpecPtrOutput struct{ *pulumi.OutputState } + +func (NamespaceActuationMembershipSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NamespaceActuationMembershipSpec)(nil)).Elem() +} + +func (o NamespaceActuationMembershipSpecPtrOutput) ToNamespaceActuationMembershipSpecPtrOutput() NamespaceActuationMembershipSpecPtrOutput { + return o +} + +func (o NamespaceActuationMembershipSpecPtrOutput) ToNamespaceActuationMembershipSpecPtrOutputWithContext(ctx context.Context) NamespaceActuationMembershipSpecPtrOutput { + return o +} + +func (o NamespaceActuationMembershipSpecPtrOutput) Elem() NamespaceActuationMembershipSpecOutput { + return o.ApplyT(func(v *NamespaceActuationMembershipSpec) NamespaceActuationMembershipSpec { + if v != nil { + return *v + } + var ret NamespaceActuationMembershipSpec + return ret + }).(NamespaceActuationMembershipSpecOutput) +} + +// **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. +type NamespaceActuationMembershipSpecResponse struct { +} + +// **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. +type NamespaceActuationMembershipSpecResponseOutput struct{ *pulumi.OutputState } + +func (NamespaceActuationMembershipSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NamespaceActuationMembershipSpecResponse)(nil)).Elem() +} + +func (o NamespaceActuationMembershipSpecResponseOutput) ToNamespaceActuationMembershipSpecResponseOutput() NamespaceActuationMembershipSpecResponseOutput { + return o +} + +func (o NamespaceActuationMembershipSpecResponseOutput) ToNamespaceActuationMembershipSpecResponseOutputWithContext(ctx context.Context) NamespaceActuationMembershipSpecResponseOutput { + return o +} + +// **Namespace Actuation**: An empty state left as an example membership-specific Feature state. +type NamespaceActuationMembershipStateResponse struct { +} + +// **Namespace Actuation**: An empty state left as an example membership-specific Feature state. +type NamespaceActuationMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (NamespaceActuationMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NamespaceActuationMembershipStateResponse)(nil)).Elem() +} + +func (o NamespaceActuationMembershipStateResponseOutput) ToNamespaceActuationMembershipStateResponseOutput() NamespaceActuationMembershipStateResponseOutput { + return o +} + +func (o NamespaceActuationMembershipStateResponseOutput) ToNamespaceActuationMembershipStateResponseOutputWithContext(ctx context.Context) NamespaceActuationMembershipStateResponseOutput { + return o +} + // NamespaceLifecycleState describes the state of a Namespace resource. type NamespaceLifecycleStateResponse struct { // The current state of the Namespace resource. @@ -10475,6 +12868,172 @@ func (o OnPremClusterResponseOutput) ResourceLink() pulumi.StringOutput { return o.ApplyT(func(v OnPremClusterResponse) string { return v.ResourceLink }).(pulumi.StringOutput) } +// Origin defines where this MembershipFeatureSpec originated from. +type Origin struct { + // Type specifies which type of origin is set. + Type *OriginType `pulumi:"type"` +} + +// OriginInput is an input type that accepts OriginArgs and OriginOutput values. +// You can construct a concrete instance of `OriginInput` via: +// +// OriginArgs{...} +type OriginInput interface { + pulumi.Input + + ToOriginOutput() OriginOutput + ToOriginOutputWithContext(context.Context) OriginOutput +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginArgs struct { + // Type specifies which type of origin is set. + Type OriginTypePtrInput `pulumi:"type"` +} + +func (OriginArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Origin)(nil)).Elem() +} + +func (i OriginArgs) ToOriginOutput() OriginOutput { + return i.ToOriginOutputWithContext(context.Background()) +} + +func (i OriginArgs) ToOriginOutputWithContext(ctx context.Context) OriginOutput { + return pulumi.ToOutputWithContext(ctx, i).(OriginOutput) +} + +func (i OriginArgs) ToOriginPtrOutput() OriginPtrOutput { + return i.ToOriginPtrOutputWithContext(context.Background()) +} + +func (i OriginArgs) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OriginOutput).ToOriginPtrOutputWithContext(ctx) +} + +// OriginPtrInput is an input type that accepts OriginArgs, OriginPtr and OriginPtrOutput values. +// You can construct a concrete instance of `OriginPtrInput` via: +// +// OriginArgs{...} +// +// or: +// +// nil +type OriginPtrInput interface { + pulumi.Input + + ToOriginPtrOutput() OriginPtrOutput + ToOriginPtrOutputWithContext(context.Context) OriginPtrOutput +} + +type originPtrType OriginArgs + +func OriginPtr(v *OriginArgs) OriginPtrInput { + return (*originPtrType)(v) +} + +func (*originPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Origin)(nil)).Elem() +} + +func (i *originPtrType) ToOriginPtrOutput() OriginPtrOutput { + return i.ToOriginPtrOutputWithContext(context.Background()) +} + +func (i *originPtrType) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OriginPtrOutput) +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginOutput struct{ *pulumi.OutputState } + +func (OriginOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Origin)(nil)).Elem() +} + +func (o OriginOutput) ToOriginOutput() OriginOutput { + return o +} + +func (o OriginOutput) ToOriginOutputWithContext(ctx context.Context) OriginOutput { + return o +} + +func (o OriginOutput) ToOriginPtrOutput() OriginPtrOutput { + return o.ToOriginPtrOutputWithContext(context.Background()) +} + +func (o OriginOutput) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Origin) *Origin { + return &v + }).(OriginPtrOutput) +} + +// Type specifies which type of origin is set. +func (o OriginOutput) Type() OriginTypePtrOutput { + return o.ApplyT(func(v Origin) *OriginType { return v.Type }).(OriginTypePtrOutput) +} + +type OriginPtrOutput struct{ *pulumi.OutputState } + +func (OriginPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Origin)(nil)).Elem() +} + +func (o OriginPtrOutput) ToOriginPtrOutput() OriginPtrOutput { + return o +} + +func (o OriginPtrOutput) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return o +} + +func (o OriginPtrOutput) Elem() OriginOutput { + return o.ApplyT(func(v *Origin) Origin { + if v != nil { + return *v + } + var ret Origin + return ret + }).(OriginOutput) +} + +// Type specifies which type of origin is set. +func (o OriginPtrOutput) Type() OriginTypePtrOutput { + return o.ApplyT(func(v *Origin) *OriginType { + if v == nil { + return nil + } + return v.Type + }).(OriginTypePtrOutput) +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginResponse struct { + // Type specifies which type of origin is set. + Type string `pulumi:"type"` +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginResponseOutput struct{ *pulumi.OutputState } + +func (OriginResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OriginResponse)(nil)).Elem() +} + +func (o OriginResponseOutput) ToOriginResponseOutput() OriginResponseOutput { + return o +} + +func (o OriginResponseOutput) ToOriginResponseOutputWithContext(ctx context.Context) OriginResponseOutput { + return o +} + +// Type specifies which type of origin is set. +func (o OriginResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v OriginResponse) string { return v.Type }).(pulumi.StringOutput) +} + // Binauthz policy that applies to this cluster. type PolicyBinding struct { // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. @@ -10621,80 +13180,226 @@ func (o PolicyBindingResponseArrayOutput) Index(i pulumi.IntInput) PolicyBinding }).(PolicyBindingResponseOutput) } -// Configuration for Policy Controller -type PolicyControllerHubConfig struct { - // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. - AuditIntervalSeconds *string `pulumi:"auditIntervalSeconds"` - // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - ConstraintViolationLimit *string `pulumi:"constraintViolationLimit"` - // Map of deployment configs to deployments ("admission", "audit", "mutation'). - DeploymentConfigs map[string]string `pulumi:"deploymentConfigs"` - // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. - ExemptableNamespaces []string `pulumi:"exemptableNamespaces"` - // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. - InstallSpec *PolicyControllerHubConfigInstallSpec `pulumi:"installSpec"` - // Logs all denies and dry run failures. - LogDeniesEnabled *bool `pulumi:"logDeniesEnabled"` - // Monitoring specifies the configuration of monitoring. - Monitoring *PolicyControllerMonitoringConfig `pulumi:"monitoring"` - // Enables the ability to mutate resources using Policy Controller. - MutationEnabled *bool `pulumi:"mutationEnabled"` - // Specifies the desired policy content on the cluster - PolicyContent *PolicyControllerPolicyContentSpec `pulumi:"policyContent"` - // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. - ReferentialRulesEnabled *bool `pulumi:"referentialRulesEnabled"` +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpec struct { + // The set of namespaces to be exempted from the bundle. + ExemptedNamespaces []string `pulumi:"exemptedNamespaces"` } -// PolicyControllerHubConfigInput is an input type that accepts PolicyControllerHubConfigArgs and PolicyControllerHubConfigOutput values. -// You can construct a concrete instance of `PolicyControllerHubConfigInput` via: +// PolicyControllerBundleInstallSpecInput is an input type that accepts PolicyControllerBundleInstallSpecArgs and PolicyControllerBundleInstallSpecOutput values. +// You can construct a concrete instance of `PolicyControllerBundleInstallSpecInput` via: // -// PolicyControllerHubConfigArgs{...} -type PolicyControllerHubConfigInput interface { +// PolicyControllerBundleInstallSpecArgs{...} +type PolicyControllerBundleInstallSpecInput interface { pulumi.Input - ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput - ToPolicyControllerHubConfigOutputWithContext(context.Context) PolicyControllerHubConfigOutput + ToPolicyControllerBundleInstallSpecOutput() PolicyControllerBundleInstallSpecOutput + ToPolicyControllerBundleInstallSpecOutputWithContext(context.Context) PolicyControllerBundleInstallSpecOutput } -// Configuration for Policy Controller -type PolicyControllerHubConfigArgs struct { - // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. - AuditIntervalSeconds pulumi.StringPtrInput `pulumi:"auditIntervalSeconds"` - // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - ConstraintViolationLimit pulumi.StringPtrInput `pulumi:"constraintViolationLimit"` - // Map of deployment configs to deployments ("admission", "audit", "mutation'). - DeploymentConfigs pulumi.StringMapInput `pulumi:"deploymentConfigs"` - // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. - ExemptableNamespaces pulumi.StringArrayInput `pulumi:"exemptableNamespaces"` - // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. - InstallSpec PolicyControllerHubConfigInstallSpecPtrInput `pulumi:"installSpec"` - // Logs all denies and dry run failures. - LogDeniesEnabled pulumi.BoolPtrInput `pulumi:"logDeniesEnabled"` - // Monitoring specifies the configuration of monitoring. - Monitoring PolicyControllerMonitoringConfigPtrInput `pulumi:"monitoring"` - // Enables the ability to mutate resources using Policy Controller. - MutationEnabled pulumi.BoolPtrInput `pulumi:"mutationEnabled"` - // Specifies the desired policy content on the cluster - PolicyContent PolicyControllerPolicyContentSpecPtrInput `pulumi:"policyContent"` - // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. - ReferentialRulesEnabled pulumi.BoolPtrInput `pulumi:"referentialRulesEnabled"` +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecArgs struct { + // The set of namespaces to be exempted from the bundle. + ExemptedNamespaces pulumi.StringArrayInput `pulumi:"exemptedNamespaces"` } -func (PolicyControllerHubConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerHubConfig)(nil)).Elem() +func (PolicyControllerBundleInstallSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerBundleInstallSpec)(nil)).Elem() } -func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput { - return i.ToPolicyControllerHubConfigOutputWithContext(context.Background()) +func (i PolicyControllerBundleInstallSpecArgs) ToPolicyControllerBundleInstallSpecOutput() PolicyControllerBundleInstallSpecOutput { + return i.ToPolicyControllerBundleInstallSpecOutputWithContext(context.Background()) } -func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigOutputWithContext(ctx context.Context) PolicyControllerHubConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerHubConfigOutput) +func (i PolicyControllerBundleInstallSpecArgs) ToPolicyControllerBundleInstallSpecOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerBundleInstallSpecOutput) } -func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { - return i.ToPolicyControllerHubConfigPtrOutputWithContext(context.Background()) -} +// PolicyControllerBundleInstallSpecMapInput is an input type that accepts PolicyControllerBundleInstallSpecMap and PolicyControllerBundleInstallSpecMapOutput values. +// You can construct a concrete instance of `PolicyControllerBundleInstallSpecMapInput` via: +// +// PolicyControllerBundleInstallSpecMap{ "key": PolicyControllerBundleInstallSpecArgs{...} } +type PolicyControllerBundleInstallSpecMapInput interface { + pulumi.Input + + ToPolicyControllerBundleInstallSpecMapOutput() PolicyControllerBundleInstallSpecMapOutput + ToPolicyControllerBundleInstallSpecMapOutputWithContext(context.Context) PolicyControllerBundleInstallSpecMapOutput +} + +type PolicyControllerBundleInstallSpecMap map[string]PolicyControllerBundleInstallSpecInput + +func (PolicyControllerBundleInstallSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (i PolicyControllerBundleInstallSpecMap) ToPolicyControllerBundleInstallSpecMapOutput() PolicyControllerBundleInstallSpecMapOutput { + return i.ToPolicyControllerBundleInstallSpecMapOutputWithContext(context.Background()) +} + +func (i PolicyControllerBundleInstallSpecMap) ToPolicyControllerBundleInstallSpecMapOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerBundleInstallSpecMapOutput) +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecOutput) ToPolicyControllerBundleInstallSpecOutput() PolicyControllerBundleInstallSpecOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecOutput) ToPolicyControllerBundleInstallSpecOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecOutput { + return o +} + +// The set of namespaces to be exempted from the bundle. +func (o PolicyControllerBundleInstallSpecOutput) ExemptedNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v PolicyControllerBundleInstallSpec) []string { return v.ExemptedNamespaces }).(pulumi.StringArrayOutput) +} + +type PolicyControllerBundleInstallSpecMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecMapOutput) ToPolicyControllerBundleInstallSpecMapOutput() PolicyControllerBundleInstallSpecMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecMapOutput) ToPolicyControllerBundleInstallSpecMapOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerBundleInstallSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerBundleInstallSpec { + return vs[0].(map[string]PolicyControllerBundleInstallSpec)[vs[1].(string)] + }).(PolicyControllerBundleInstallSpecOutput) +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecResponse struct { + // The set of namespaces to be exempted from the bundle. + ExemptedNamespaces []string `pulumi:"exemptedNamespaces"` +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerBundleInstallSpecResponse)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecResponseOutput) ToPolicyControllerBundleInstallSpecResponseOutput() PolicyControllerBundleInstallSpecResponseOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecResponseOutput) ToPolicyControllerBundleInstallSpecResponseOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecResponseOutput { + return o +} + +// The set of namespaces to be exempted from the bundle. +func (o PolicyControllerBundleInstallSpecResponseOutput) ExemptedNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v PolicyControllerBundleInstallSpecResponse) []string { return v.ExemptedNamespaces }).(pulumi.StringArrayOutput) +} + +type PolicyControllerBundleInstallSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerBundleInstallSpecResponse)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecResponseMapOutput) ToPolicyControllerBundleInstallSpecResponseMapOutput() PolicyControllerBundleInstallSpecResponseMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecResponseMapOutput) ToPolicyControllerBundleInstallSpecResponseMapOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecResponseMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecResponseMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerBundleInstallSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerBundleInstallSpecResponse { + return vs[0].(map[string]PolicyControllerBundleInstallSpecResponse)[vs[1].(string)] + }).(PolicyControllerBundleInstallSpecResponseOutput) +} + +// Configuration for Policy Controller +type PolicyControllerHubConfig struct { + // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + AuditIntervalSeconds *string `pulumi:"auditIntervalSeconds"` + // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. + ConstraintViolationLimit *string `pulumi:"constraintViolationLimit"` + // Map of deployment configs to deployments ("admission", "audit", "mutation'). + DeploymentConfigs map[string]PolicyControllerPolicyControllerDeploymentConfig `pulumi:"deploymentConfigs"` + // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + ExemptableNamespaces []string `pulumi:"exemptableNamespaces"` + // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. + InstallSpec *PolicyControllerHubConfigInstallSpec `pulumi:"installSpec"` + // Logs all denies and dry run failures. + LogDeniesEnabled *bool `pulumi:"logDeniesEnabled"` + // Monitoring specifies the configuration of monitoring. + Monitoring *PolicyControllerMonitoringConfig `pulumi:"monitoring"` + // Enables the ability to mutate resources using Policy Controller. + MutationEnabled *bool `pulumi:"mutationEnabled"` + // Specifies the desired policy content on the cluster + PolicyContent *PolicyControllerPolicyContentSpec `pulumi:"policyContent"` + // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + ReferentialRulesEnabled *bool `pulumi:"referentialRulesEnabled"` +} + +// PolicyControllerHubConfigInput is an input type that accepts PolicyControllerHubConfigArgs and PolicyControllerHubConfigOutput values. +// You can construct a concrete instance of `PolicyControllerHubConfigInput` via: +// +// PolicyControllerHubConfigArgs{...} +type PolicyControllerHubConfigInput interface { + pulumi.Input + + ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput + ToPolicyControllerHubConfigOutputWithContext(context.Context) PolicyControllerHubConfigOutput +} + +// Configuration for Policy Controller +type PolicyControllerHubConfigArgs struct { + // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + AuditIntervalSeconds pulumi.StringPtrInput `pulumi:"auditIntervalSeconds"` + // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. + ConstraintViolationLimit pulumi.StringPtrInput `pulumi:"constraintViolationLimit"` + // Map of deployment configs to deployments ("admission", "audit", "mutation'). + DeploymentConfigs PolicyControllerPolicyControllerDeploymentConfigMapInput `pulumi:"deploymentConfigs"` + // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + ExemptableNamespaces pulumi.StringArrayInput `pulumi:"exemptableNamespaces"` + // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. + InstallSpec PolicyControllerHubConfigInstallSpecPtrInput `pulumi:"installSpec"` + // Logs all denies and dry run failures. + LogDeniesEnabled pulumi.BoolPtrInput `pulumi:"logDeniesEnabled"` + // Monitoring specifies the configuration of monitoring. + Monitoring PolicyControllerMonitoringConfigPtrInput `pulumi:"monitoring"` + // Enables the ability to mutate resources using Policy Controller. + MutationEnabled pulumi.BoolPtrInput `pulumi:"mutationEnabled"` + // Specifies the desired policy content on the cluster + PolicyContent PolicyControllerPolicyContentSpecPtrInput `pulumi:"policyContent"` + // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + ReferentialRulesEnabled pulumi.BoolPtrInput `pulumi:"referentialRulesEnabled"` +} + +func (PolicyControllerHubConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerHubConfig)(nil)).Elem() +} + +func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput { + return i.ToPolicyControllerHubConfigOutputWithContext(context.Background()) +} + +func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigOutputWithContext(ctx context.Context) PolicyControllerHubConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerHubConfigOutput) +} + +func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { + return i.ToPolicyControllerHubConfigPtrOutputWithContext(context.Background()) +} func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigPtrOutputWithContext(ctx context.Context) PolicyControllerHubConfigPtrOutput { return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerHubConfigOutput).ToPolicyControllerHubConfigPtrOutputWithContext(ctx) @@ -10769,8 +13474,10 @@ func (o PolicyControllerHubConfigOutput) ConstraintViolationLimit() pulumi.Strin } // Map of deployment configs to deployments ("admission", "audit", "mutation'). -func (o PolicyControllerHubConfigOutput) DeploymentConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) map[string]string { return v.DeploymentConfigs }).(pulumi.StringMapOutput) +func (o PolicyControllerHubConfigOutput) DeploymentConfigs() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) map[string]PolicyControllerPolicyControllerDeploymentConfig { + return v.DeploymentConfigs + }).(PolicyControllerPolicyControllerDeploymentConfigMapOutput) } // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. @@ -10853,13 +13560,13 @@ func (o PolicyControllerHubConfigPtrOutput) ConstraintViolationLimit() pulumi.St } // Map of deployment configs to deployments ("admission", "audit", "mutation'). -func (o PolicyControllerHubConfigPtrOutput) DeploymentConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) map[string]string { +func (o PolicyControllerHubConfigPtrOutput) DeploymentConfigs() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) map[string]PolicyControllerPolicyControllerDeploymentConfig { if v == nil { return nil } return v.DeploymentConfigs - }).(pulumi.StringMapOutput) + }).(PolicyControllerPolicyControllerDeploymentConfigMapOutput) } // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. @@ -10939,7 +13646,7 @@ type PolicyControllerHubConfigResponse struct { // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. ConstraintViolationLimit string `pulumi:"constraintViolationLimit"` // Map of deployment configs to deployments ("admission", "audit", "mutation'). - DeploymentConfigs map[string]string `pulumi:"deploymentConfigs"` + DeploymentConfigs map[string]PolicyControllerPolicyControllerDeploymentConfigResponse `pulumi:"deploymentConfigs"` // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. ExemptableNamespaces []string `pulumi:"exemptableNamespaces"` // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. @@ -10982,8 +13689,10 @@ func (o PolicyControllerHubConfigResponseOutput) ConstraintViolationLimit() pulu } // Map of deployment configs to deployments ("admission", "audit", "mutation'). -func (o PolicyControllerHubConfigResponseOutput) DeploymentConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) map[string]string { return v.DeploymentConfigs }).(pulumi.StringMapOutput) +func (o PolicyControllerHubConfigResponseOutput) DeploymentConfigs() PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) map[string]PolicyControllerPolicyControllerDeploymentConfigResponse { + return v.DeploymentConfigs + }).(PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) } // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. @@ -11219,6 +13928,50 @@ func (o PolicyControllerMembershipSpecResponseOutput) Version() pulumi.StringOut return o.ApplyT(func(v PolicyControllerMembershipSpecResponse) string { return v.Version }).(pulumi.StringOutput) } +// **Policy Controller**: State for a single cluster. +type PolicyControllerMembershipStateResponse struct { + // Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + ComponentStates map[string]PolicyControllerOnClusterStateResponse `pulumi:"componentStates"` + // The overall content state observed by the Hub Feature controller. + PolicyContentState PolicyControllerPolicyContentStateResponse `pulumi:"policyContentState"` + // The overall Policy Controller lifecycle state observed by the Hub Feature controller. + State string `pulumi:"state"` +} + +// **Policy Controller**: State for a single cluster. +type PolicyControllerMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerMembershipStateResponse)(nil)).Elem() +} + +func (o PolicyControllerMembershipStateResponseOutput) ToPolicyControllerMembershipStateResponseOutput() PolicyControllerMembershipStateResponseOutput { + return o +} + +func (o PolicyControllerMembershipStateResponseOutput) ToPolicyControllerMembershipStateResponseOutputWithContext(ctx context.Context) PolicyControllerMembershipStateResponseOutput { + return o +} + +// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" +func (o PolicyControllerMembershipStateResponseOutput) ComponentStates() PolicyControllerOnClusterStateResponseMapOutput { + return o.ApplyT(func(v PolicyControllerMembershipStateResponse) map[string]PolicyControllerOnClusterStateResponse { + return v.ComponentStates + }).(PolicyControllerOnClusterStateResponseMapOutput) +} + +// The overall content state observed by the Hub Feature controller. +func (o PolicyControllerMembershipStateResponseOutput) PolicyContentState() PolicyControllerPolicyContentStateResponseOutput { + return o.ApplyT(func(v PolicyControllerMembershipStateResponse) PolicyControllerPolicyContentStateResponse { + return v.PolicyContentState + }).(PolicyControllerPolicyContentStateResponseOutput) +} + +// The overall Policy Controller lifecycle state observed by the Hub Feature controller. +func (o PolicyControllerMembershipStateResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerMembershipStateResponse) string { return v.State }).(pulumi.StringOutput) +} + // MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] type PolicyControllerMonitoringConfig struct { // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. @@ -11387,10 +14140,63 @@ func (o PolicyControllerMonitoringConfigResponseOutput) Backends() pulumi.String return o.ApplyT(func(v PolicyControllerMonitoringConfigResponse) []string { return v.Backends }).(pulumi.StringArrayOutput) } +// OnClusterState represents the state of a sub-component of Policy Controller. +type PolicyControllerOnClusterStateResponse struct { + // Surface potential errors or information logs. + Details string `pulumi:"details"` + // The lifecycle state of this component. + State string `pulumi:"state"` +} + +// OnClusterState represents the state of a sub-component of Policy Controller. +type PolicyControllerOnClusterStateResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerOnClusterStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerOnClusterStateResponse)(nil)).Elem() +} + +func (o PolicyControllerOnClusterStateResponseOutput) ToPolicyControllerOnClusterStateResponseOutput() PolicyControllerOnClusterStateResponseOutput { + return o +} + +func (o PolicyControllerOnClusterStateResponseOutput) ToPolicyControllerOnClusterStateResponseOutputWithContext(ctx context.Context) PolicyControllerOnClusterStateResponseOutput { + return o +} + +// Surface potential errors or information logs. +func (o PolicyControllerOnClusterStateResponseOutput) Details() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerOnClusterStateResponse) string { return v.Details }).(pulumi.StringOutput) +} + +// The lifecycle state of this component. +func (o PolicyControllerOnClusterStateResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerOnClusterStateResponse) string { return v.State }).(pulumi.StringOutput) +} + +type PolicyControllerOnClusterStateResponseMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerOnClusterStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerOnClusterStateResponse)(nil)).Elem() +} + +func (o PolicyControllerOnClusterStateResponseMapOutput) ToPolicyControllerOnClusterStateResponseMapOutput() PolicyControllerOnClusterStateResponseMapOutput { + return o +} + +func (o PolicyControllerOnClusterStateResponseMapOutput) ToPolicyControllerOnClusterStateResponseMapOutputWithContext(ctx context.Context) PolicyControllerOnClusterStateResponseMapOutput { + return o +} + +func (o PolicyControllerOnClusterStateResponseMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerOnClusterStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerOnClusterStateResponse { + return vs[0].(map[string]PolicyControllerOnClusterStateResponse)[vs[1].(string)] + }).(PolicyControllerOnClusterStateResponseOutput) +} + // PolicyContentSpec defines the user's desired content configuration on the cluster. type PolicyControllerPolicyContentSpec struct { // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - Bundles map[string]string `pulumi:"bundles"` + Bundles map[string]PolicyControllerBundleInstallSpec `pulumi:"bundles"` // Configures the installation of the Template Library. TemplateLibrary *PolicyControllerTemplateLibraryConfig `pulumi:"templateLibrary"` } @@ -11409,7 +14215,7 @@ type PolicyControllerPolicyContentSpecInput interface { // PolicyContentSpec defines the user's desired content configuration on the cluster. type PolicyControllerPolicyContentSpecArgs struct { // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - Bundles pulumi.StringMapInput `pulumi:"bundles"` + Bundles PolicyControllerBundleInstallSpecMapInput `pulumi:"bundles"` // Configures the installation of the Template Library. TemplateLibrary PolicyControllerTemplateLibraryConfigPtrInput `pulumi:"templateLibrary"` } @@ -11493,8 +14299,10 @@ func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContent } // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. -func (o PolicyControllerPolicyContentSpecOutput) Bundles() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerPolicyContentSpec) map[string]string { return v.Bundles }).(pulumi.StringMapOutput) +func (o PolicyControllerPolicyContentSpecOutput) Bundles() PolicyControllerBundleInstallSpecMapOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentSpec) map[string]PolicyControllerBundleInstallSpec { + return v.Bundles + }).(PolicyControllerBundleInstallSpecMapOutput) } // Configures the installation of the Template Library. @@ -11529,13 +14337,13 @@ func (o PolicyControllerPolicyContentSpecPtrOutput) Elem() PolicyControllerPolic } // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. -func (o PolicyControllerPolicyContentSpecPtrOutput) Bundles() pulumi.StringMapOutput { - return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) map[string]string { +func (o PolicyControllerPolicyContentSpecPtrOutput) Bundles() PolicyControllerBundleInstallSpecMapOutput { + return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) map[string]PolicyControllerBundleInstallSpec { if v == nil { return nil } return v.Bundles - }).(pulumi.StringMapOutput) + }).(PolicyControllerBundleInstallSpecMapOutput) } // Configures the installation of the Template Library. @@ -11551,7 +14359,7 @@ func (o PolicyControllerPolicyContentSpecPtrOutput) TemplateLibrary() PolicyCont // PolicyContentSpec defines the user's desired content configuration on the cluster. type PolicyControllerPolicyContentSpecResponse struct { // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - Bundles map[string]string `pulumi:"bundles"` + Bundles map[string]PolicyControllerBundleInstallSpecResponse `pulumi:"bundles"` // Configures the installation of the Template Library. TemplateLibrary PolicyControllerTemplateLibraryConfigResponse `pulumi:"templateLibrary"` } @@ -11572,8 +14380,10 @@ func (o PolicyControllerPolicyContentSpecResponseOutput) ToPolicyControllerPolic } // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. -func (o PolicyControllerPolicyContentSpecResponseOutput) Bundles() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerPolicyContentSpecResponse) map[string]string { return v.Bundles }).(pulumi.StringMapOutput) +func (o PolicyControllerPolicyContentSpecResponseOutput) Bundles() PolicyControllerBundleInstallSpecResponseMapOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentSpecResponse) map[string]PolicyControllerBundleInstallSpecResponse { + return v.Bundles + }).(PolicyControllerBundleInstallSpecResponseMapOutput) } // Configures the installation of the Template Library. @@ -11583,172 +14393,1020 @@ func (o PolicyControllerPolicyContentSpecResponseOutput) TemplateLibrary() Polic }).(PolicyControllerTemplateLibraryConfigResponseOutput) } -// The config specifying which default library templates to install. -type PolicyControllerTemplateLibraryConfig struct { - // Configures the manner in which the template library is installed on the cluster. - Installation *PolicyControllerTemplateLibraryConfigInstallation `pulumi:"installation"` +// The state of the policy controller policy content +type PolicyControllerPolicyContentStateResponse struct { + // The state of the any bundles included in the chosen version of the manifest + BundleStates map[string]PolicyControllerOnClusterStateResponse `pulumi:"bundleStates"` + // The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + ReferentialSyncConfigState PolicyControllerOnClusterStateResponse `pulumi:"referentialSyncConfigState"` + // The state of the template library + TemplateLibraryState PolicyControllerOnClusterStateResponse `pulumi:"templateLibraryState"` } -// PolicyControllerTemplateLibraryConfigInput is an input type that accepts PolicyControllerTemplateLibraryConfigArgs and PolicyControllerTemplateLibraryConfigOutput values. -// You can construct a concrete instance of `PolicyControllerTemplateLibraryConfigInput` via: -// -// PolicyControllerTemplateLibraryConfigArgs{...} -type PolicyControllerTemplateLibraryConfigInput interface { - pulumi.Input +// The state of the policy controller policy content +type PolicyControllerPolicyContentStateResponseOutput struct{ *pulumi.OutputState } - ToPolicyControllerTemplateLibraryConfigOutput() PolicyControllerTemplateLibraryConfigOutput - ToPolicyControllerTemplateLibraryConfigOutputWithContext(context.Context) PolicyControllerTemplateLibraryConfigOutput +func (PolicyControllerPolicyContentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyContentStateResponse)(nil)).Elem() } -// The config specifying which default library templates to install. -type PolicyControllerTemplateLibraryConfigArgs struct { - // Configures the manner in which the template library is installed on the cluster. - Installation PolicyControllerTemplateLibraryConfigInstallationPtrInput `pulumi:"installation"` +func (o PolicyControllerPolicyContentStateResponseOutput) ToPolicyControllerPolicyContentStateResponseOutput() PolicyControllerPolicyContentStateResponseOutput { + return o } -func (PolicyControllerTemplateLibraryConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerTemplateLibraryConfig)(nil)).Elem() +func (o PolicyControllerPolicyContentStateResponseOutput) ToPolicyControllerPolicyContentStateResponseOutputWithContext(ctx context.Context) PolicyControllerPolicyContentStateResponseOutput { + return o } -func (i PolicyControllerTemplateLibraryConfigArgs) ToPolicyControllerTemplateLibraryConfigOutput() PolicyControllerTemplateLibraryConfigOutput { - return i.ToPolicyControllerTemplateLibraryConfigOutputWithContext(context.Background()) +// The state of the any bundles included in the chosen version of the manifest +func (o PolicyControllerPolicyContentStateResponseOutput) BundleStates() PolicyControllerOnClusterStateResponseMapOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentStateResponse) map[string]PolicyControllerOnClusterStateResponse { + return v.BundleStates + }).(PolicyControllerOnClusterStateResponseMapOutput) } -func (i PolicyControllerTemplateLibraryConfigArgs) ToPolicyControllerTemplateLibraryConfigOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTemplateLibraryConfigOutput) +// The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. +func (o PolicyControllerPolicyContentStateResponseOutput) ReferentialSyncConfigState() PolicyControllerOnClusterStateResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentStateResponse) PolicyControllerOnClusterStateResponse { + return v.ReferentialSyncConfigState + }).(PolicyControllerOnClusterStateResponseOutput) } -func (i PolicyControllerTemplateLibraryConfigArgs) ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput { - return i.ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(context.Background()) +// The state of the template library +func (o PolicyControllerPolicyContentStateResponseOutput) TemplateLibraryState() PolicyControllerOnClusterStateResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentStateResponse) PolicyControllerOnClusterStateResponse { + return v.TemplateLibraryState + }).(PolicyControllerOnClusterStateResponseOutput) } -func (i PolicyControllerTemplateLibraryConfigArgs) ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTemplateLibraryConfigOutput).ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx) +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfig struct { + // Container resource requirements. + ContainerResources *PolicyControllerResourceRequirements `pulumi:"containerResources"` + // Pod affinity configuration. + PodAffinity *PolicyControllerPolicyControllerDeploymentConfigPodAffinity `pulumi:"podAffinity"` + // Pod anti-affinity enablement. + PodAntiAffinity *bool `pulumi:"podAntiAffinity"` + // Pod tolerations of node taints. + PodTolerations []PolicyControllerToleration `pulumi:"podTolerations"` + // Pod replica count. + ReplicaCount *string `pulumi:"replicaCount"` } -// PolicyControllerTemplateLibraryConfigPtrInput is an input type that accepts PolicyControllerTemplateLibraryConfigArgs, PolicyControllerTemplateLibraryConfigPtr and PolicyControllerTemplateLibraryConfigPtrOutput values. -// You can construct a concrete instance of `PolicyControllerTemplateLibraryConfigPtrInput` via: -// -// PolicyControllerTemplateLibraryConfigArgs{...} +// PolicyControllerPolicyControllerDeploymentConfigInput is an input type that accepts PolicyControllerPolicyControllerDeploymentConfigArgs and PolicyControllerPolicyControllerDeploymentConfigOutput values. +// You can construct a concrete instance of `PolicyControllerPolicyControllerDeploymentConfigInput` via: // -// or: +// PolicyControllerPolicyControllerDeploymentConfigArgs{...} +type PolicyControllerPolicyControllerDeploymentConfigInput interface { + pulumi.Input + + ToPolicyControllerPolicyControllerDeploymentConfigOutput() PolicyControllerPolicyControllerDeploymentConfigOutput + ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigOutput +} + +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigArgs struct { + // Container resource requirements. + ContainerResources PolicyControllerResourceRequirementsPtrInput `pulumi:"containerResources"` + // Pod affinity configuration. + PodAffinity PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput `pulumi:"podAffinity"` + // Pod anti-affinity enablement. + PodAntiAffinity pulumi.BoolPtrInput `pulumi:"podAntiAffinity"` + // Pod tolerations of node taints. + PodTolerations PolicyControllerTolerationArrayInput `pulumi:"podTolerations"` + // Pod replica count. + ReplicaCount pulumi.StringPtrInput `pulumi:"replicaCount"` +} + +func (PolicyControllerPolicyControllerDeploymentConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() +} + +func (i PolicyControllerPolicyControllerDeploymentConfigArgs) ToPolicyControllerPolicyControllerDeploymentConfigOutput() PolicyControllerPolicyControllerDeploymentConfigOutput { + return i.ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(context.Background()) +} + +func (i PolicyControllerPolicyControllerDeploymentConfigArgs) ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyControllerDeploymentConfigOutput) +} + +// PolicyControllerPolicyControllerDeploymentConfigMapInput is an input type that accepts PolicyControllerPolicyControllerDeploymentConfigMap and PolicyControllerPolicyControllerDeploymentConfigMapOutput values. +// You can construct a concrete instance of `PolicyControllerPolicyControllerDeploymentConfigMapInput` via: // -// nil -type PolicyControllerTemplateLibraryConfigPtrInput interface { +// PolicyControllerPolicyControllerDeploymentConfigMap{ "key": PolicyControllerPolicyControllerDeploymentConfigArgs{...} } +type PolicyControllerPolicyControllerDeploymentConfigMapInput interface { pulumi.Input - ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput - ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(context.Context) PolicyControllerTemplateLibraryConfigPtrOutput + ToPolicyControllerPolicyControllerDeploymentConfigMapOutput() PolicyControllerPolicyControllerDeploymentConfigMapOutput + ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigMapOutput +} + +type PolicyControllerPolicyControllerDeploymentConfigMap map[string]PolicyControllerPolicyControllerDeploymentConfigInput + +func (PolicyControllerPolicyControllerDeploymentConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() +} + +func (i PolicyControllerPolicyControllerDeploymentConfigMap) ToPolicyControllerPolicyControllerDeploymentConfigMapOutput() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return i.ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(context.Background()) +} + +func (i PolicyControllerPolicyControllerDeploymentConfigMap) ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyControllerDeploymentConfigMapOutput) +} + +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ToPolicyControllerPolicyControllerDeploymentConfigOutput() PolicyControllerPolicyControllerDeploymentConfigOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigOutput { + return o +} + +// Container resource requirements. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ContainerResources() PolicyControllerResourceRequirementsPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *PolicyControllerResourceRequirements { + return v.ContainerResources + }).(PolicyControllerResourceRequirementsPtrOutput) +} + +// Pod affinity configuration. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) PodAffinity() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *PolicyControllerPolicyControllerDeploymentConfigPodAffinity { + return v.PodAffinity + }).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + +// Pod anti-affinity enablement. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) PodAntiAffinity() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *bool { return v.PodAntiAffinity }).(pulumi.BoolPtrOutput) +} + +// Pod tolerations of node taints. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) PodTolerations() PolicyControllerTolerationArrayOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) []PolicyControllerToleration { + return v.PodTolerations + }).(PolicyControllerTolerationArrayOutput) +} + +// Pod replica count. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ReplicaCount() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *string { return v.ReplicaCount }).(pulumi.StringPtrOutput) +} + +type PolicyControllerPolicyControllerDeploymentConfigMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigMapOutput() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerPolicyControllerDeploymentConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerPolicyControllerDeploymentConfig { + return vs[0].(map[string]PolicyControllerPolicyControllerDeploymentConfig)[vs[1].(string)] + }).(PolicyControllerPolicyControllerDeploymentConfigOutput) +} + +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigResponse struct { + // Container resource requirements. + ContainerResources PolicyControllerResourceRequirementsResponse `pulumi:"containerResources"` + // Pod affinity configuration. + PodAffinity string `pulumi:"podAffinity"` + // Pod anti-affinity enablement. + PodAntiAffinity bool `pulumi:"podAntiAffinity"` + // Pod tolerations of node taints. + PodTolerations []PolicyControllerTolerationResponse `pulumi:"podTolerations"` + // Pod replica count. + ReplicaCount string `pulumi:"replicaCount"` +} + +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigResponse)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseOutput() PolicyControllerPolicyControllerDeploymentConfigResponseOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigResponseOutput { + return o +} + +// Container resource requirements. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ContainerResources() PolicyControllerResourceRequirementsResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) PolicyControllerResourceRequirementsResponse { + return v.ContainerResources + }).(PolicyControllerResourceRequirementsResponseOutput) +} + +// Pod affinity configuration. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) PodAffinity() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) string { return v.PodAffinity }).(pulumi.StringOutput) +} + +// Pod anti-affinity enablement. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) PodAntiAffinity() pulumi.BoolOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) bool { return v.PodAntiAffinity }).(pulumi.BoolOutput) +} + +// Pod tolerations of node taints. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) PodTolerations() PolicyControllerTolerationResponseArrayOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) []PolicyControllerTolerationResponse { + return v.PodTolerations + }).(PolicyControllerTolerationResponseArrayOutput) +} + +// Pod replica count. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ReplicaCount() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) string { return v.ReplicaCount }).(pulumi.StringOutput) +} + +type PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerPolicyControllerDeploymentConfigResponse)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseMapOutput() PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseMapOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerPolicyControllerDeploymentConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerPolicyControllerDeploymentConfigResponse { + return vs[0].(map[string]PolicyControllerPolicyControllerDeploymentConfigResponse)[vs[1].(string)] + }).(PolicyControllerPolicyControllerDeploymentConfigResponseOutput) +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceList struct { + // CPU requirement expressed in Kubernetes resource units. + Cpu *string `pulumi:"cpu"` + // Memory requirement expressed in Kubernetes resource units. + Memory *string `pulumi:"memory"` +} + +// PolicyControllerResourceListInput is an input type that accepts PolicyControllerResourceListArgs and PolicyControllerResourceListOutput values. +// You can construct a concrete instance of `PolicyControllerResourceListInput` via: +// +// PolicyControllerResourceListArgs{...} +type PolicyControllerResourceListInput interface { + pulumi.Input + + ToPolicyControllerResourceListOutput() PolicyControllerResourceListOutput + ToPolicyControllerResourceListOutputWithContext(context.Context) PolicyControllerResourceListOutput +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceListArgs struct { + // CPU requirement expressed in Kubernetes resource units. + Cpu pulumi.StringPtrInput `pulumi:"cpu"` + // Memory requirement expressed in Kubernetes resource units. + Memory pulumi.StringPtrInput `pulumi:"memory"` +} + +func (PolicyControllerResourceListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceList)(nil)).Elem() +} + +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListOutput() PolicyControllerResourceListOutput { + return i.ToPolicyControllerResourceListOutputWithContext(context.Background()) +} + +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListOutputWithContext(ctx context.Context) PolicyControllerResourceListOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceListOutput) +} + +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return i.ToPolicyControllerResourceListPtrOutputWithContext(context.Background()) +} + +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceListOutput).ToPolicyControllerResourceListPtrOutputWithContext(ctx) +} + +// PolicyControllerResourceListPtrInput is an input type that accepts PolicyControllerResourceListArgs, PolicyControllerResourceListPtr and PolicyControllerResourceListPtrOutput values. +// You can construct a concrete instance of `PolicyControllerResourceListPtrInput` via: +// +// PolicyControllerResourceListArgs{...} +// +// or: +// +// nil +type PolicyControllerResourceListPtrInput interface { + pulumi.Input + + ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput + ToPolicyControllerResourceListPtrOutputWithContext(context.Context) PolicyControllerResourceListPtrOutput +} + +type policyControllerResourceListPtrType PolicyControllerResourceListArgs + +func PolicyControllerResourceListPtr(v *PolicyControllerResourceListArgs) PolicyControllerResourceListPtrInput { + return (*policyControllerResourceListPtrType)(v) +} + +func (*policyControllerResourceListPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceList)(nil)).Elem() +} + +func (i *policyControllerResourceListPtrType) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return i.ToPolicyControllerResourceListPtrOutputWithContext(context.Background()) +} + +func (i *policyControllerResourceListPtrType) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceListPtrOutput) +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceListOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceList)(nil)).Elem() +} + +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListOutput() PolicyControllerResourceListOutput { + return o +} + +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListOutputWithContext(ctx context.Context) PolicyControllerResourceListOutput { + return o +} + +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return o.ToPolicyControllerResourceListPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerResourceList) *PolicyControllerResourceList { + return &v + }).(PolicyControllerResourceListPtrOutput) +} + +// CPU requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListOutput) Cpu() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceList) *string { return v.Cpu }).(pulumi.StringPtrOutput) +} + +// Memory requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceList) *string { return v.Memory }).(pulumi.StringPtrOutput) +} + +type PolicyControllerResourceListPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceListPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceList)(nil)).Elem() +} + +func (o PolicyControllerResourceListPtrOutput) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return o +} + +func (o PolicyControllerResourceListPtrOutput) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return o +} + +func (o PolicyControllerResourceListPtrOutput) Elem() PolicyControllerResourceListOutput { + return o.ApplyT(func(v *PolicyControllerResourceList) PolicyControllerResourceList { + if v != nil { + return *v + } + var ret PolicyControllerResourceList + return ret + }).(PolicyControllerResourceListOutput) +} + +// CPU requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListPtrOutput) Cpu() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceList) *string { + if v == nil { + return nil + } + return v.Cpu + }).(pulumi.StringPtrOutput) +} + +// Memory requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListPtrOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceList) *string { + if v == nil { + return nil + } + return v.Memory + }).(pulumi.StringPtrOutput) +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceListResponse struct { + // CPU requirement expressed in Kubernetes resource units. + Cpu string `pulumi:"cpu"` + // Memory requirement expressed in Kubernetes resource units. + Memory string `pulumi:"memory"` +} + +// ResourceList contains container resource requirements. +type PolicyControllerResourceListResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceListResponse)(nil)).Elem() +} + +func (o PolicyControllerResourceListResponseOutput) ToPolicyControllerResourceListResponseOutput() PolicyControllerResourceListResponseOutput { + return o +} + +func (o PolicyControllerResourceListResponseOutput) ToPolicyControllerResourceListResponseOutputWithContext(ctx context.Context) PolicyControllerResourceListResponseOutput { + return o +} + +// CPU requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListResponseOutput) Cpu() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerResourceListResponse) string { return v.Cpu }).(pulumi.StringOutput) +} + +// Memory requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListResponseOutput) Memory() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerResourceListResponse) string { return v.Memory }).(pulumi.StringOutput) +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirements struct { + // Limits describes the maximum amount of compute resources allowed for use by the running container. + Limits *PolicyControllerResourceList `pulumi:"limits"` + // Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + Requests *PolicyControllerResourceList `pulumi:"requests"` +} + +// PolicyControllerResourceRequirementsInput is an input type that accepts PolicyControllerResourceRequirementsArgs and PolicyControllerResourceRequirementsOutput values. +// You can construct a concrete instance of `PolicyControllerResourceRequirementsInput` via: +// +// PolicyControllerResourceRequirementsArgs{...} +type PolicyControllerResourceRequirementsInput interface { + pulumi.Input + + ToPolicyControllerResourceRequirementsOutput() PolicyControllerResourceRequirementsOutput + ToPolicyControllerResourceRequirementsOutputWithContext(context.Context) PolicyControllerResourceRequirementsOutput +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsArgs struct { + // Limits describes the maximum amount of compute resources allowed for use by the running container. + Limits PolicyControllerResourceListPtrInput `pulumi:"limits"` + // Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + Requests PolicyControllerResourceListPtrInput `pulumi:"requests"` +} + +func (PolicyControllerResourceRequirementsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceRequirements)(nil)).Elem() +} + +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsOutput() PolicyControllerResourceRequirementsOutput { + return i.ToPolicyControllerResourceRequirementsOutputWithContext(context.Background()) +} + +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceRequirementsOutput) +} + +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return i.ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Background()) +} + +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceRequirementsOutput).ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx) +} + +// PolicyControllerResourceRequirementsPtrInput is an input type that accepts PolicyControllerResourceRequirementsArgs, PolicyControllerResourceRequirementsPtr and PolicyControllerResourceRequirementsPtrOutput values. +// You can construct a concrete instance of `PolicyControllerResourceRequirementsPtrInput` via: +// +// PolicyControllerResourceRequirementsArgs{...} +// +// or: +// +// nil +type PolicyControllerResourceRequirementsPtrInput interface { + pulumi.Input + + ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput + ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Context) PolicyControllerResourceRequirementsPtrOutput +} + +type policyControllerResourceRequirementsPtrType PolicyControllerResourceRequirementsArgs + +func PolicyControllerResourceRequirementsPtr(v *PolicyControllerResourceRequirementsArgs) PolicyControllerResourceRequirementsPtrInput { + return (*policyControllerResourceRequirementsPtrType)(v) +} + +func (*policyControllerResourceRequirementsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceRequirements)(nil)).Elem() +} + +func (i *policyControllerResourceRequirementsPtrType) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return i.ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Background()) +} + +func (i *policyControllerResourceRequirementsPtrType) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceRequirementsPtrOutput) +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceRequirementsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceRequirements)(nil)).Elem() +} + +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsOutput() PolicyControllerResourceRequirementsOutput { + return o +} + +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsOutput { + return o +} + +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return o.ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerResourceRequirements) *PolicyControllerResourceRequirements { + return &v + }).(PolicyControllerResourceRequirementsPtrOutput) +} + +// Limits describes the maximum amount of compute resources allowed for use by the running container. +func (o PolicyControllerResourceRequirementsOutput) Limits() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirements) *PolicyControllerResourceList { return v.Limits }).(PolicyControllerResourceListPtrOutput) +} + +// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. +func (o PolicyControllerResourceRequirementsOutput) Requests() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirements) *PolicyControllerResourceList { return v.Requests }).(PolicyControllerResourceListPtrOutput) +} + +type PolicyControllerResourceRequirementsPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceRequirementsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceRequirements)(nil)).Elem() +} + +func (o PolicyControllerResourceRequirementsPtrOutput) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return o +} + +func (o PolicyControllerResourceRequirementsPtrOutput) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return o +} + +func (o PolicyControllerResourceRequirementsPtrOutput) Elem() PolicyControllerResourceRequirementsOutput { + return o.ApplyT(func(v *PolicyControllerResourceRequirements) PolicyControllerResourceRequirements { + if v != nil { + return *v + } + var ret PolicyControllerResourceRequirements + return ret + }).(PolicyControllerResourceRequirementsOutput) +} + +// Limits describes the maximum amount of compute resources allowed for use by the running container. +func (o PolicyControllerResourceRequirementsPtrOutput) Limits() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceRequirements) *PolicyControllerResourceList { + if v == nil { + return nil + } + return v.Limits + }).(PolicyControllerResourceListPtrOutput) +} + +// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. +func (o PolicyControllerResourceRequirementsPtrOutput) Requests() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceRequirements) *PolicyControllerResourceList { + if v == nil { + return nil + } + return v.Requests + }).(PolicyControllerResourceListPtrOutput) +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsResponse struct { + // Limits describes the maximum amount of compute resources allowed for use by the running container. + Limits PolicyControllerResourceListResponse `pulumi:"limits"` + // Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + Requests PolicyControllerResourceListResponse `pulumi:"requests"` +} + +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceRequirementsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceRequirementsResponse)(nil)).Elem() +} + +func (o PolicyControllerResourceRequirementsResponseOutput) ToPolicyControllerResourceRequirementsResponseOutput() PolicyControllerResourceRequirementsResponseOutput { + return o +} + +func (o PolicyControllerResourceRequirementsResponseOutput) ToPolicyControllerResourceRequirementsResponseOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsResponseOutput { + return o +} + +// Limits describes the maximum amount of compute resources allowed for use by the running container. +func (o PolicyControllerResourceRequirementsResponseOutput) Limits() PolicyControllerResourceListResponseOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirementsResponse) PolicyControllerResourceListResponse { + return v.Limits + }).(PolicyControllerResourceListResponseOutput) +} + +// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. +func (o PolicyControllerResourceRequirementsResponseOutput) Requests() PolicyControllerResourceListResponseOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirementsResponse) PolicyControllerResourceListResponse { + return v.Requests + }).(PolicyControllerResourceListResponseOutput) +} + +// The config specifying which default library templates to install. +type PolicyControllerTemplateLibraryConfig struct { + // Configures the manner in which the template library is installed on the cluster. + Installation *PolicyControllerTemplateLibraryConfigInstallation `pulumi:"installation"` +} + +// PolicyControllerTemplateLibraryConfigInput is an input type that accepts PolicyControllerTemplateLibraryConfigArgs and PolicyControllerTemplateLibraryConfigOutput values. +// You can construct a concrete instance of `PolicyControllerTemplateLibraryConfigInput` via: +// +// PolicyControllerTemplateLibraryConfigArgs{...} +type PolicyControllerTemplateLibraryConfigInput interface { + pulumi.Input + + ToPolicyControllerTemplateLibraryConfigOutput() PolicyControllerTemplateLibraryConfigOutput + ToPolicyControllerTemplateLibraryConfigOutputWithContext(context.Context) PolicyControllerTemplateLibraryConfigOutput +} + +// The config specifying which default library templates to install. +type PolicyControllerTemplateLibraryConfigArgs struct { + // Configures the manner in which the template library is installed on the cluster. + Installation PolicyControllerTemplateLibraryConfigInstallationPtrInput `pulumi:"installation"` +} + +func (PolicyControllerTemplateLibraryConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerTemplateLibraryConfig)(nil)).Elem() +} + +func (i PolicyControllerTemplateLibraryConfigArgs) ToPolicyControllerTemplateLibraryConfigOutput() PolicyControllerTemplateLibraryConfigOutput { + return i.ToPolicyControllerTemplateLibraryConfigOutputWithContext(context.Background()) +} + +func (i PolicyControllerTemplateLibraryConfigArgs) ToPolicyControllerTemplateLibraryConfigOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTemplateLibraryConfigOutput) +} + +func (i PolicyControllerTemplateLibraryConfigArgs) ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput { + return i.ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(context.Background()) +} + +func (i PolicyControllerTemplateLibraryConfigArgs) ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTemplateLibraryConfigOutput).ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx) +} + +// PolicyControllerTemplateLibraryConfigPtrInput is an input type that accepts PolicyControllerTemplateLibraryConfigArgs, PolicyControllerTemplateLibraryConfigPtr and PolicyControllerTemplateLibraryConfigPtrOutput values. +// You can construct a concrete instance of `PolicyControllerTemplateLibraryConfigPtrInput` via: +// +// PolicyControllerTemplateLibraryConfigArgs{...} +// +// or: +// +// nil +type PolicyControllerTemplateLibraryConfigPtrInput interface { + pulumi.Input + + ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput + ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(context.Context) PolicyControllerTemplateLibraryConfigPtrOutput +} + +type policyControllerTemplateLibraryConfigPtrType PolicyControllerTemplateLibraryConfigArgs + +func PolicyControllerTemplateLibraryConfigPtr(v *PolicyControllerTemplateLibraryConfigArgs) PolicyControllerTemplateLibraryConfigPtrInput { + return (*policyControllerTemplateLibraryConfigPtrType)(v) +} + +func (*policyControllerTemplateLibraryConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerTemplateLibraryConfig)(nil)).Elem() +} + +func (i *policyControllerTemplateLibraryConfigPtrType) ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput { + return i.ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(context.Background()) +} + +func (i *policyControllerTemplateLibraryConfigPtrType) ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTemplateLibraryConfigPtrOutput) +} + +// The config specifying which default library templates to install. +type PolicyControllerTemplateLibraryConfigOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTemplateLibraryConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerTemplateLibraryConfig)(nil)).Elem() +} + +func (o PolicyControllerTemplateLibraryConfigOutput) ToPolicyControllerTemplateLibraryConfigOutput() PolicyControllerTemplateLibraryConfigOutput { + return o +} + +func (o PolicyControllerTemplateLibraryConfigOutput) ToPolicyControllerTemplateLibraryConfigOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigOutput { + return o +} + +func (o PolicyControllerTemplateLibraryConfigOutput) ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput { + return o.ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerTemplateLibraryConfigOutput) ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerTemplateLibraryConfig) *PolicyControllerTemplateLibraryConfig { + return &v + }).(PolicyControllerTemplateLibraryConfigPtrOutput) +} + +// Configures the manner in which the template library is installed on the cluster. +func (o PolicyControllerTemplateLibraryConfigOutput) Installation() PolicyControllerTemplateLibraryConfigInstallationPtrOutput { + return o.ApplyT(func(v PolicyControllerTemplateLibraryConfig) *PolicyControllerTemplateLibraryConfigInstallation { + return v.Installation + }).(PolicyControllerTemplateLibraryConfigInstallationPtrOutput) +} + +type PolicyControllerTemplateLibraryConfigPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTemplateLibraryConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerTemplateLibraryConfig)(nil)).Elem() +} + +func (o PolicyControllerTemplateLibraryConfigPtrOutput) ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput { + return o +} + +func (o PolicyControllerTemplateLibraryConfigPtrOutput) ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigPtrOutput { + return o +} + +func (o PolicyControllerTemplateLibraryConfigPtrOutput) Elem() PolicyControllerTemplateLibraryConfigOutput { + return o.ApplyT(func(v *PolicyControllerTemplateLibraryConfig) PolicyControllerTemplateLibraryConfig { + if v != nil { + return *v + } + var ret PolicyControllerTemplateLibraryConfig + return ret + }).(PolicyControllerTemplateLibraryConfigOutput) +} + +// Configures the manner in which the template library is installed on the cluster. +func (o PolicyControllerTemplateLibraryConfigPtrOutput) Installation() PolicyControllerTemplateLibraryConfigInstallationPtrOutput { + return o.ApplyT(func(v *PolicyControllerTemplateLibraryConfig) *PolicyControllerTemplateLibraryConfigInstallation { + if v == nil { + return nil + } + return v.Installation + }).(PolicyControllerTemplateLibraryConfigInstallationPtrOutput) +} + +// The config specifying which default library templates to install. +type PolicyControllerTemplateLibraryConfigResponse struct { + // Configures the manner in which the template library is installed on the cluster. + Installation string `pulumi:"installation"` +} + +// The config specifying which default library templates to install. +type PolicyControllerTemplateLibraryConfigResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTemplateLibraryConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerTemplateLibraryConfigResponse)(nil)).Elem() +} + +func (o PolicyControllerTemplateLibraryConfigResponseOutput) ToPolicyControllerTemplateLibraryConfigResponseOutput() PolicyControllerTemplateLibraryConfigResponseOutput { + return o +} + +func (o PolicyControllerTemplateLibraryConfigResponseOutput) ToPolicyControllerTemplateLibraryConfigResponseOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigResponseOutput { + return o +} + +// Configures the manner in which the template library is installed on the cluster. +func (o PolicyControllerTemplateLibraryConfigResponseOutput) Installation() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTemplateLibraryConfigResponse) string { return v.Installation }).(pulumi.StringOutput) +} + +// Toleration of a node taint. +type PolicyControllerToleration struct { + // Matches a taint effect. + Effect *string `pulumi:"effect"` + // Matches a taint key (not necessarily unique). + Key *string `pulumi:"key"` + // Matches a taint operator. + Operator *string `pulumi:"operator"` + // Matches a taint value. + Value *string `pulumi:"value"` +} + +// PolicyControllerTolerationInput is an input type that accepts PolicyControllerTolerationArgs and PolicyControllerTolerationOutput values. +// You can construct a concrete instance of `PolicyControllerTolerationInput` via: +// +// PolicyControllerTolerationArgs{...} +type PolicyControllerTolerationInput interface { + pulumi.Input + + ToPolicyControllerTolerationOutput() PolicyControllerTolerationOutput + ToPolicyControllerTolerationOutputWithContext(context.Context) PolicyControllerTolerationOutput +} + +// Toleration of a node taint. +type PolicyControllerTolerationArgs struct { + // Matches a taint effect. + Effect pulumi.StringPtrInput `pulumi:"effect"` + // Matches a taint key (not necessarily unique). + Key pulumi.StringPtrInput `pulumi:"key"` + // Matches a taint operator. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Matches a taint value. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (PolicyControllerTolerationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerToleration)(nil)).Elem() +} + +func (i PolicyControllerTolerationArgs) ToPolicyControllerTolerationOutput() PolicyControllerTolerationOutput { + return i.ToPolicyControllerTolerationOutputWithContext(context.Background()) +} + +func (i PolicyControllerTolerationArgs) ToPolicyControllerTolerationOutputWithContext(ctx context.Context) PolicyControllerTolerationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTolerationOutput) +} + +// PolicyControllerTolerationArrayInput is an input type that accepts PolicyControllerTolerationArray and PolicyControllerTolerationArrayOutput values. +// You can construct a concrete instance of `PolicyControllerTolerationArrayInput` via: +// +// PolicyControllerTolerationArray{ PolicyControllerTolerationArgs{...} } +type PolicyControllerTolerationArrayInput interface { + pulumi.Input + + ToPolicyControllerTolerationArrayOutput() PolicyControllerTolerationArrayOutput + ToPolicyControllerTolerationArrayOutputWithContext(context.Context) PolicyControllerTolerationArrayOutput +} + +type PolicyControllerTolerationArray []PolicyControllerTolerationInput + +func (PolicyControllerTolerationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyControllerToleration)(nil)).Elem() +} + +func (i PolicyControllerTolerationArray) ToPolicyControllerTolerationArrayOutput() PolicyControllerTolerationArrayOutput { + return i.ToPolicyControllerTolerationArrayOutputWithContext(context.Background()) +} + +func (i PolicyControllerTolerationArray) ToPolicyControllerTolerationArrayOutputWithContext(ctx context.Context) PolicyControllerTolerationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTolerationArrayOutput) } -type policyControllerTemplateLibraryConfigPtrType PolicyControllerTemplateLibraryConfigArgs +// Toleration of a node taint. +type PolicyControllerTolerationOutput struct{ *pulumi.OutputState } -func PolicyControllerTemplateLibraryConfigPtr(v *PolicyControllerTemplateLibraryConfigArgs) PolicyControllerTemplateLibraryConfigPtrInput { - return (*policyControllerTemplateLibraryConfigPtrType)(v) +func (PolicyControllerTolerationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerToleration)(nil)).Elem() } -func (*policyControllerTemplateLibraryConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerTemplateLibraryConfig)(nil)).Elem() +func (o PolicyControllerTolerationOutput) ToPolicyControllerTolerationOutput() PolicyControllerTolerationOutput { + return o } -func (i *policyControllerTemplateLibraryConfigPtrType) ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput { - return i.ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(context.Background()) +func (o PolicyControllerTolerationOutput) ToPolicyControllerTolerationOutputWithContext(ctx context.Context) PolicyControllerTolerationOutput { + return o } -func (i *policyControllerTemplateLibraryConfigPtrType) ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTemplateLibraryConfigPtrOutput) +// Matches a taint effect. +func (o PolicyControllerTolerationOutput) Effect() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Effect }).(pulumi.StringPtrOutput) } -// The config specifying which default library templates to install. -type PolicyControllerTemplateLibraryConfigOutput struct{ *pulumi.OutputState } +// Matches a taint key (not necessarily unique). +func (o PolicyControllerTolerationOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Key }).(pulumi.StringPtrOutput) +} -func (PolicyControllerTemplateLibraryConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerTemplateLibraryConfig)(nil)).Elem() +// Matches a taint operator. +func (o PolicyControllerTolerationOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Operator }).(pulumi.StringPtrOutput) } -func (o PolicyControllerTemplateLibraryConfigOutput) ToPolicyControllerTemplateLibraryConfigOutput() PolicyControllerTemplateLibraryConfigOutput { - return o +// Matches a taint value. +func (o PolicyControllerTolerationOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Value }).(pulumi.StringPtrOutput) } -func (o PolicyControllerTemplateLibraryConfigOutput) ToPolicyControllerTemplateLibraryConfigOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigOutput { +type PolicyControllerTolerationArrayOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyControllerToleration)(nil)).Elem() +} + +func (o PolicyControllerTolerationArrayOutput) ToPolicyControllerTolerationArrayOutput() PolicyControllerTolerationArrayOutput { return o } -func (o PolicyControllerTemplateLibraryConfigOutput) ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput { - return o.ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(context.Background()) +func (o PolicyControllerTolerationArrayOutput) ToPolicyControllerTolerationArrayOutputWithContext(ctx context.Context) PolicyControllerTolerationArrayOutput { + return o } -func (o PolicyControllerTemplateLibraryConfigOutput) ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerTemplateLibraryConfig) *PolicyControllerTemplateLibraryConfig { - return &v - }).(PolicyControllerTemplateLibraryConfigPtrOutput) +func (o PolicyControllerTolerationArrayOutput) Index(i pulumi.IntInput) PolicyControllerTolerationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyControllerToleration { + return vs[0].([]PolicyControllerToleration)[vs[1].(int)] + }).(PolicyControllerTolerationOutput) } -// Configures the manner in which the template library is installed on the cluster. -func (o PolicyControllerTemplateLibraryConfigOutput) Installation() PolicyControllerTemplateLibraryConfigInstallationPtrOutput { - return o.ApplyT(func(v PolicyControllerTemplateLibraryConfig) *PolicyControllerTemplateLibraryConfigInstallation { - return v.Installation - }).(PolicyControllerTemplateLibraryConfigInstallationPtrOutput) +// Toleration of a node taint. +type PolicyControllerTolerationResponse struct { + // Matches a taint effect. + Effect string `pulumi:"effect"` + // Matches a taint key (not necessarily unique). + Key string `pulumi:"key"` + // Matches a taint operator. + Operator string `pulumi:"operator"` + // Matches a taint value. + Value string `pulumi:"value"` } -type PolicyControllerTemplateLibraryConfigPtrOutput struct{ *pulumi.OutputState } +// Toleration of a node taint. +type PolicyControllerTolerationResponseOutput struct{ *pulumi.OutputState } -func (PolicyControllerTemplateLibraryConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerTemplateLibraryConfig)(nil)).Elem() +func (PolicyControllerTolerationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerTolerationResponse)(nil)).Elem() } -func (o PolicyControllerTemplateLibraryConfigPtrOutput) ToPolicyControllerTemplateLibraryConfigPtrOutput() PolicyControllerTemplateLibraryConfigPtrOutput { +func (o PolicyControllerTolerationResponseOutput) ToPolicyControllerTolerationResponseOutput() PolicyControllerTolerationResponseOutput { return o } -func (o PolicyControllerTemplateLibraryConfigPtrOutput) ToPolicyControllerTemplateLibraryConfigPtrOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigPtrOutput { +func (o PolicyControllerTolerationResponseOutput) ToPolicyControllerTolerationResponseOutputWithContext(ctx context.Context) PolicyControllerTolerationResponseOutput { return o } -func (o PolicyControllerTemplateLibraryConfigPtrOutput) Elem() PolicyControllerTemplateLibraryConfigOutput { - return o.ApplyT(func(v *PolicyControllerTemplateLibraryConfig) PolicyControllerTemplateLibraryConfig { - if v != nil { - return *v - } - var ret PolicyControllerTemplateLibraryConfig - return ret - }).(PolicyControllerTemplateLibraryConfigOutput) +// Matches a taint effect. +func (o PolicyControllerTolerationResponseOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Effect }).(pulumi.StringOutput) } -// Configures the manner in which the template library is installed on the cluster. -func (o PolicyControllerTemplateLibraryConfigPtrOutput) Installation() PolicyControllerTemplateLibraryConfigInstallationPtrOutput { - return o.ApplyT(func(v *PolicyControllerTemplateLibraryConfig) *PolicyControllerTemplateLibraryConfigInstallation { - if v == nil { - return nil - } - return v.Installation - }).(PolicyControllerTemplateLibraryConfigInstallationPtrOutput) +// Matches a taint key (not necessarily unique). +func (o PolicyControllerTolerationResponseOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Key }).(pulumi.StringOutput) } -// The config specifying which default library templates to install. -type PolicyControllerTemplateLibraryConfigResponse struct { - // Configures the manner in which the template library is installed on the cluster. - Installation string `pulumi:"installation"` +// Matches a taint operator. +func (o PolicyControllerTolerationResponseOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Operator }).(pulumi.StringOutput) } -// The config specifying which default library templates to install. -type PolicyControllerTemplateLibraryConfigResponseOutput struct{ *pulumi.OutputState } +// Matches a taint value. +func (o PolicyControllerTolerationResponseOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Value }).(pulumi.StringOutput) +} -func (PolicyControllerTemplateLibraryConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerTemplateLibraryConfigResponse)(nil)).Elem() +type PolicyControllerTolerationResponseArrayOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyControllerTolerationResponse)(nil)).Elem() } -func (o PolicyControllerTemplateLibraryConfigResponseOutput) ToPolicyControllerTemplateLibraryConfigResponseOutput() PolicyControllerTemplateLibraryConfigResponseOutput { +func (o PolicyControllerTolerationResponseArrayOutput) ToPolicyControllerTolerationResponseArrayOutput() PolicyControllerTolerationResponseArrayOutput { return o } -func (o PolicyControllerTemplateLibraryConfigResponseOutput) ToPolicyControllerTemplateLibraryConfigResponseOutputWithContext(ctx context.Context) PolicyControllerTemplateLibraryConfigResponseOutput { +func (o PolicyControllerTolerationResponseArrayOutput) ToPolicyControllerTolerationResponseArrayOutputWithContext(ctx context.Context) PolicyControllerTolerationResponseArrayOutput { return o } -// Configures the manner in which the template library is installed on the cluster. -func (o PolicyControllerTemplateLibraryConfigResponseOutput) Installation() pulumi.StringOutput { - return o.ApplyT(func(v PolicyControllerTemplateLibraryConfigResponse) string { return v.Installation }).(pulumi.StringOutput) +func (o PolicyControllerTolerationResponseArrayOutput) Index(i pulumi.IntInput) PolicyControllerTolerationResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyControllerTolerationResponse { + return vs[0].([]PolicyControllerTolerationResponse)[vs[1].(int)] + }).(PolicyControllerTolerationResponseOutput) } // RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. @@ -12129,6 +15787,205 @@ func (o RoleResponseOutput) PredefinedRole() pulumi.StringOutput { return o.ApplyT(func(v RoleResponse) string { return v.PredefinedRole }).(pulumi.StringOutput) } +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpec struct { + // Spec for the ClusterUpgrade feature at the scope level + Clusterupgrade *ClusterUpgradeScopeSpec `pulumi:"clusterupgrade"` +} + +// ScopeFeatureSpecInput is an input type that accepts ScopeFeatureSpecArgs and ScopeFeatureSpecOutput values. +// You can construct a concrete instance of `ScopeFeatureSpecInput` via: +// +// ScopeFeatureSpecArgs{...} +type ScopeFeatureSpecInput interface { + pulumi.Input + + ToScopeFeatureSpecOutput() ScopeFeatureSpecOutput + ToScopeFeatureSpecOutputWithContext(context.Context) ScopeFeatureSpecOutput +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecArgs struct { + // Spec for the ClusterUpgrade feature at the scope level + Clusterupgrade ClusterUpgradeScopeSpecPtrInput `pulumi:"clusterupgrade"` +} + +func (ScopeFeatureSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureSpec)(nil)).Elem() +} + +func (i ScopeFeatureSpecArgs) ToScopeFeatureSpecOutput() ScopeFeatureSpecOutput { + return i.ToScopeFeatureSpecOutputWithContext(context.Background()) +} + +func (i ScopeFeatureSpecArgs) ToScopeFeatureSpecOutputWithContext(ctx context.Context) ScopeFeatureSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScopeFeatureSpecOutput) +} + +// ScopeFeatureSpecMapInput is an input type that accepts ScopeFeatureSpecMap and ScopeFeatureSpecMapOutput values. +// You can construct a concrete instance of `ScopeFeatureSpecMapInput` via: +// +// ScopeFeatureSpecMap{ "key": ScopeFeatureSpecArgs{...} } +type ScopeFeatureSpecMapInput interface { + pulumi.Input + + ToScopeFeatureSpecMapOutput() ScopeFeatureSpecMapOutput + ToScopeFeatureSpecMapOutputWithContext(context.Context) ScopeFeatureSpecMapOutput +} + +type ScopeFeatureSpecMap map[string]ScopeFeatureSpecInput + +func (ScopeFeatureSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureSpec)(nil)).Elem() +} + +func (i ScopeFeatureSpecMap) ToScopeFeatureSpecMapOutput() ScopeFeatureSpecMapOutput { + return i.ToScopeFeatureSpecMapOutputWithContext(context.Background()) +} + +func (i ScopeFeatureSpecMap) ToScopeFeatureSpecMapOutputWithContext(ctx context.Context) ScopeFeatureSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScopeFeatureSpecMapOutput) +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureSpec)(nil)).Elem() +} + +func (o ScopeFeatureSpecOutput) ToScopeFeatureSpecOutput() ScopeFeatureSpecOutput { + return o +} + +func (o ScopeFeatureSpecOutput) ToScopeFeatureSpecOutputWithContext(ctx context.Context) ScopeFeatureSpecOutput { + return o +} + +// Spec for the ClusterUpgrade feature at the scope level +func (o ScopeFeatureSpecOutput) Clusterupgrade() ClusterUpgradeScopeSpecPtrOutput { + return o.ApplyT(func(v ScopeFeatureSpec) *ClusterUpgradeScopeSpec { return v.Clusterupgrade }).(ClusterUpgradeScopeSpecPtrOutput) +} + +type ScopeFeatureSpecMapOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureSpec)(nil)).Elem() +} + +func (o ScopeFeatureSpecMapOutput) ToScopeFeatureSpecMapOutput() ScopeFeatureSpecMapOutput { + return o +} + +func (o ScopeFeatureSpecMapOutput) ToScopeFeatureSpecMapOutputWithContext(ctx context.Context) ScopeFeatureSpecMapOutput { + return o +} + +func (o ScopeFeatureSpecMapOutput) MapIndex(k pulumi.StringInput) ScopeFeatureSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScopeFeatureSpec { + return vs[0].(map[string]ScopeFeatureSpec)[vs[1].(string)] + }).(ScopeFeatureSpecOutput) +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecResponse struct { + // Spec for the ClusterUpgrade feature at the scope level + Clusterupgrade ClusterUpgradeScopeSpecResponse `pulumi:"clusterupgrade"` +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecResponseOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureSpecResponse)(nil)).Elem() +} + +func (o ScopeFeatureSpecResponseOutput) ToScopeFeatureSpecResponseOutput() ScopeFeatureSpecResponseOutput { + return o +} + +func (o ScopeFeatureSpecResponseOutput) ToScopeFeatureSpecResponseOutputWithContext(ctx context.Context) ScopeFeatureSpecResponseOutput { + return o +} + +// Spec for the ClusterUpgrade feature at the scope level +func (o ScopeFeatureSpecResponseOutput) Clusterupgrade() ClusterUpgradeScopeSpecResponseOutput { + return o.ApplyT(func(v ScopeFeatureSpecResponse) ClusterUpgradeScopeSpecResponse { return v.Clusterupgrade }).(ClusterUpgradeScopeSpecResponseOutput) +} + +type ScopeFeatureSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureSpecResponse)(nil)).Elem() +} + +func (o ScopeFeatureSpecResponseMapOutput) ToScopeFeatureSpecResponseMapOutput() ScopeFeatureSpecResponseMapOutput { + return o +} + +func (o ScopeFeatureSpecResponseMapOutput) ToScopeFeatureSpecResponseMapOutputWithContext(ctx context.Context) ScopeFeatureSpecResponseMapOutput { + return o +} + +func (o ScopeFeatureSpecResponseMapOutput) MapIndex(k pulumi.StringInput) ScopeFeatureSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScopeFeatureSpecResponse { + return vs[0].(map[string]ScopeFeatureSpecResponse)[vs[1].(string)] + }).(ScopeFeatureSpecResponseOutput) +} + +// ScopeFeatureState contains Scope-wide Feature status information. +type ScopeFeatureStateResponse struct { + // State for the ClusterUpgrade feature at the scope level + Clusterupgrade ClusterUpgradeScopeStateResponse `pulumi:"clusterupgrade"` + // The "running state" of the Feature in this Scope. + State FeatureStateResponse `pulumi:"state"` +} + +// ScopeFeatureState contains Scope-wide Feature status information. +type ScopeFeatureStateResponseOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureStateResponse)(nil)).Elem() +} + +func (o ScopeFeatureStateResponseOutput) ToScopeFeatureStateResponseOutput() ScopeFeatureStateResponseOutput { + return o +} + +func (o ScopeFeatureStateResponseOutput) ToScopeFeatureStateResponseOutputWithContext(ctx context.Context) ScopeFeatureStateResponseOutput { + return o +} + +// State for the ClusterUpgrade feature at the scope level +func (o ScopeFeatureStateResponseOutput) Clusterupgrade() ClusterUpgradeScopeStateResponseOutput { + return o.ApplyT(func(v ScopeFeatureStateResponse) ClusterUpgradeScopeStateResponse { return v.Clusterupgrade }).(ClusterUpgradeScopeStateResponseOutput) +} + +// The "running state" of the Feature in this Scope. +func (o ScopeFeatureStateResponseOutput) State() FeatureStateResponseOutput { + return o.ApplyT(func(v ScopeFeatureStateResponse) FeatureStateResponse { return v.State }).(FeatureStateResponseOutput) +} + +type ScopeFeatureStateResponseMapOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureStateResponse)(nil)).Elem() +} + +func (o ScopeFeatureStateResponseMapOutput) ToScopeFeatureStateResponseMapOutput() ScopeFeatureStateResponseMapOutput { + return o +} + +func (o ScopeFeatureStateResponseMapOutput) ToScopeFeatureStateResponseMapOutputWithContext(ctx context.Context) ScopeFeatureStateResponseMapOutput { + return o +} + +func (o ScopeFeatureStateResponseMapOutput) MapIndex(k pulumi.StringInput) ScopeFeatureStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScopeFeatureStateResponse { + return vs[0].(map[string]ScopeFeatureStateResponse)[vs[1].(string)] + }).(ScopeFeatureStateResponseOutput) +} + // ScopeLifecycleState describes the state of a Scope resource. type ScopeLifecycleStateResponse struct { // The current state of the scope resource. @@ -12390,7 +16247,7 @@ func (o ServiceMeshAnalysisMessageBaseResponseOutput) Type() ServiceMeshTypeResp // AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration. type ServiceMeshAnalysisMessageResponse struct { // A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. - Args map[string]string `pulumi:"args"` + Args map[string]interface{} `pulumi:"args"` // A human readable description of what the error means. It is suitable for non-internationalize display purposes. Description string `pulumi:"description"` // Details common to all types of Istio and ServiceMesh analysis messages. @@ -12415,8 +16272,8 @@ func (o ServiceMeshAnalysisMessageResponseOutput) ToServiceMeshAnalysisMessageRe } // A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. -func (o ServiceMeshAnalysisMessageResponseOutput) Args() pulumi.StringMapOutput { - return o.ApplyT(func(v ServiceMeshAnalysisMessageResponse) map[string]string { return v.Args }).(pulumi.StringMapOutput) +func (o ServiceMeshAnalysisMessageResponseOutput) Args() pulumi.MapOutput { + return o.ApplyT(func(v ServiceMeshAnalysisMessageResponse) map[string]interface{} { return v.Args }).(pulumi.MapOutput) } // A human readable description of what the error means. It is suitable for non-internationalize display purposes. @@ -12456,6 +16313,72 @@ func (o ServiceMeshAnalysisMessageResponseArrayOutput) Index(i pulumi.IntInput) }).(ServiceMeshAnalysisMessageResponseOutput) } +// Status of control plane management. +type ServiceMeshControlPlaneManagementResponse struct { + // Explanation of state. + Details []ServiceMeshStatusDetailsResponse `pulumi:"details"` + // LifecycleState of control plane management. + State string `pulumi:"state"` +} + +// Status of control plane management. +type ServiceMeshControlPlaneManagementResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshControlPlaneManagementResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshControlPlaneManagementResponse)(nil)).Elem() +} + +func (o ServiceMeshControlPlaneManagementResponseOutput) ToServiceMeshControlPlaneManagementResponseOutput() ServiceMeshControlPlaneManagementResponseOutput { + return o +} + +func (o ServiceMeshControlPlaneManagementResponseOutput) ToServiceMeshControlPlaneManagementResponseOutputWithContext(ctx context.Context) ServiceMeshControlPlaneManagementResponseOutput { + return o +} + +// Explanation of state. +func (o ServiceMeshControlPlaneManagementResponseOutput) Details() ServiceMeshStatusDetailsResponseArrayOutput { + return o.ApplyT(func(v ServiceMeshControlPlaneManagementResponse) []ServiceMeshStatusDetailsResponse { return v.Details }).(ServiceMeshStatusDetailsResponseArrayOutput) +} + +// LifecycleState of control plane management. +func (o ServiceMeshControlPlaneManagementResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshControlPlaneManagementResponse) string { return v.State }).(pulumi.StringOutput) +} + +// Status of data plane management. Only reported per-member. +type ServiceMeshDataPlaneManagementResponse struct { + // Explanation of the status. + Details []ServiceMeshStatusDetailsResponse `pulumi:"details"` + // Lifecycle status of data plane management. + State string `pulumi:"state"` +} + +// Status of data plane management. Only reported per-member. +type ServiceMeshDataPlaneManagementResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshDataPlaneManagementResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshDataPlaneManagementResponse)(nil)).Elem() +} + +func (o ServiceMeshDataPlaneManagementResponseOutput) ToServiceMeshDataPlaneManagementResponseOutput() ServiceMeshDataPlaneManagementResponseOutput { + return o +} + +func (o ServiceMeshDataPlaneManagementResponseOutput) ToServiceMeshDataPlaneManagementResponseOutputWithContext(ctx context.Context) ServiceMeshDataPlaneManagementResponseOutput { + return o +} + +// Explanation of the status. +func (o ServiceMeshDataPlaneManagementResponseOutput) Details() ServiceMeshStatusDetailsResponseArrayOutput { + return o.ApplyT(func(v ServiceMeshDataPlaneManagementResponse) []ServiceMeshStatusDetailsResponse { return v.Details }).(ServiceMeshStatusDetailsResponseArrayOutput) +} + +// Lifecycle status of data plane management. +func (o ServiceMeshDataPlaneManagementResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshDataPlaneManagementResponse) string { return v.State }).(pulumi.StringOutput) +} + // **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller. type ServiceMeshFeatureStateResponse struct { // Results of running Service Mesh analyzers. @@ -12714,6 +16637,112 @@ func (o ServiceMeshMembershipSpecResponseOutput) Management() pulumi.StringOutpu return o.ApplyT(func(v ServiceMeshMembershipSpecResponse) string { return v.Management }).(pulumi.StringOutput) } +// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. +type ServiceMeshMembershipStateResponse struct { + // Results of running Service Mesh analyzers. + AnalysisMessages []ServiceMeshAnalysisMessageResponse `pulumi:"analysisMessages"` + // The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field. + ConfigApiVersion string `pulumi:"configApiVersion"` + // Status of control plane management + ControlPlaneManagement ServiceMeshControlPlaneManagementResponse `pulumi:"controlPlaneManagement"` + // Status of data plane management. + DataPlaneManagement ServiceMeshDataPlaneManagementResponse `pulumi:"dataPlaneManagement"` +} + +// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. +type ServiceMeshMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshMembershipStateResponse)(nil)).Elem() +} + +func (o ServiceMeshMembershipStateResponseOutput) ToServiceMeshMembershipStateResponseOutput() ServiceMeshMembershipStateResponseOutput { + return o +} + +func (o ServiceMeshMembershipStateResponseOutput) ToServiceMeshMembershipStateResponseOutputWithContext(ctx context.Context) ServiceMeshMembershipStateResponseOutput { + return o +} + +// Results of running Service Mesh analyzers. +func (o ServiceMeshMembershipStateResponseOutput) AnalysisMessages() ServiceMeshAnalysisMessageResponseArrayOutput { + return o.ApplyT(func(v ServiceMeshMembershipStateResponse) []ServiceMeshAnalysisMessageResponse { + return v.AnalysisMessages + }).(ServiceMeshAnalysisMessageResponseArrayOutput) +} + +// The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field. +func (o ServiceMeshMembershipStateResponseOutput) ConfigApiVersion() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshMembershipStateResponse) string { return v.ConfigApiVersion }).(pulumi.StringOutput) +} + +// Status of control plane management +func (o ServiceMeshMembershipStateResponseOutput) ControlPlaneManagement() ServiceMeshControlPlaneManagementResponseOutput { + return o.ApplyT(func(v ServiceMeshMembershipStateResponse) ServiceMeshControlPlaneManagementResponse { + return v.ControlPlaneManagement + }).(ServiceMeshControlPlaneManagementResponseOutput) +} + +// Status of data plane management. +func (o ServiceMeshMembershipStateResponseOutput) DataPlaneManagement() ServiceMeshDataPlaneManagementResponseOutput { + return o.ApplyT(func(v ServiceMeshMembershipStateResponse) ServiceMeshDataPlaneManagementResponse { + return v.DataPlaneManagement + }).(ServiceMeshDataPlaneManagementResponseOutput) +} + +// Structured and human-readable details for a status. +type ServiceMeshStatusDetailsResponse struct { + // A machine-readable code that further describes a broad status. + Code string `pulumi:"code"` + // Human-readable explanation of code. + Details string `pulumi:"details"` +} + +// Structured and human-readable details for a status. +type ServiceMeshStatusDetailsResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshStatusDetailsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshStatusDetailsResponse)(nil)).Elem() +} + +func (o ServiceMeshStatusDetailsResponseOutput) ToServiceMeshStatusDetailsResponseOutput() ServiceMeshStatusDetailsResponseOutput { + return o +} + +func (o ServiceMeshStatusDetailsResponseOutput) ToServiceMeshStatusDetailsResponseOutputWithContext(ctx context.Context) ServiceMeshStatusDetailsResponseOutput { + return o +} + +// A machine-readable code that further describes a broad status. +func (o ServiceMeshStatusDetailsResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshStatusDetailsResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// Human-readable explanation of code. +func (o ServiceMeshStatusDetailsResponseOutput) Details() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshStatusDetailsResponse) string { return v.Details }).(pulumi.StringOutput) +} + +type ServiceMeshStatusDetailsResponseArrayOutput struct{ *pulumi.OutputState } + +func (ServiceMeshStatusDetailsResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceMeshStatusDetailsResponse)(nil)).Elem() +} + +func (o ServiceMeshStatusDetailsResponseArrayOutput) ToServiceMeshStatusDetailsResponseArrayOutput() ServiceMeshStatusDetailsResponseArrayOutput { + return o +} + +func (o ServiceMeshStatusDetailsResponseArrayOutput) ToServiceMeshStatusDetailsResponseArrayOutputWithContext(ctx context.Context) ServiceMeshStatusDetailsResponseArrayOutput { + return o +} + +func (o ServiceMeshStatusDetailsResponseArrayOutput) Index(i pulumi.IntInput) ServiceMeshStatusDetailsResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceMeshStatusDetailsResponse { + return vs[0].([]ServiceMeshStatusDetailsResponse)[vs[1].(int)] + }).(ServiceMeshStatusDetailsResponseOutput) +} + // A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type type ServiceMeshTypeResponse struct { // A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. "IST0001" is mapped to the "InternalError" message type.) @@ -12801,6 +16830,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*BindingTypeArrayInput)(nil)).Elem(), BindingTypeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudAuditLoggingFeatureSpecInput)(nil)).Elem(), CloudAuditLoggingFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CloudAuditLoggingFeatureSpecPtrInput)(nil)).Elem(), CloudAuditLoggingFeatureSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloudBuildMembershipSpecInput)(nil)).Elem(), CloudBuildMembershipSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CloudBuildMembershipSpecPtrInput)(nil)).Elem(), CloudBuildMembershipSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradeFleetSpecInput)(nil)).Elem(), ClusterUpgradeFleetSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradeFleetSpecPtrInput)(nil)).Elem(), ClusterUpgradeFleetSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradeGKEUpgradeInput)(nil)).Elem(), ClusterUpgradeGKEUpgradeArgs{}) @@ -12808,6 +16839,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradeGKEUpgradeOverrideArrayInput)(nil)).Elem(), ClusterUpgradeGKEUpgradeOverrideArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradePostConditionsInput)(nil)).Elem(), ClusterUpgradePostConditionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradePostConditionsPtrInput)(nil)).Elem(), ClusterUpgradePostConditionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradeScopeSpecInput)(nil)).Elem(), ClusterUpgradeScopeSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterUpgradeScopeSpecPtrInput)(nil)).Elem(), ClusterUpgradeScopeSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CommonFeatureSpecInput)(nil)).Elem(), CommonFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CommonFeatureSpecPtrInput)(nil)).Elem(), CommonFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CommonFleetDefaultMemberConfigSpecInput)(nil)).Elem(), CommonFleetDefaultMemberConfigSpecArgs{}) @@ -12840,6 +16873,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityFeatureSpecPtrInput)(nil)).Elem(), FleetObservabilityFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityLoggingConfigInput)(nil)).Elem(), FleetObservabilityLoggingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityLoggingConfigPtrInput)(nil)).Elem(), FleetObservabilityLoggingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityMembershipSpecInput)(nil)).Elem(), FleetObservabilityMembershipSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityMembershipSpecPtrInput)(nil)).Elem(), FleetObservabilityMembershipSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityRoutingConfigInput)(nil)).Elem(), FleetObservabilityRoutingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityRoutingConfigPtrInput)(nil)).Elem(), FleetObservabilityRoutingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GkeClusterInput)(nil)).Elem(), GkeClusterArgs{}) @@ -12858,6 +16893,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*KubernetesResourcePtrInput)(nil)).Elem(), KubernetesResourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipEndpointInput)(nil)).Elem(), MembershipEndpointArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipEndpointPtrInput)(nil)).Elem(), MembershipEndpointArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipFeatureSpecInput)(nil)).Elem(), MembershipFeatureSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipFeatureSpecMapInput)(nil)).Elem(), MembershipFeatureSpecMap{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipSpecInput)(nil)).Elem(), MembershipSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipSpecPtrInput)(nil)).Elem(), MembershipSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitoringConfigInput)(nil)).Elem(), MonitoringConfigArgs{}) @@ -12868,10 +16905,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MultiClusterIngressFeatureSpecPtrInput)(nil)).Elem(), MultiClusterIngressFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NamespaceActuationFeatureSpecInput)(nil)).Elem(), NamespaceActuationFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NamespaceActuationFeatureSpecPtrInput)(nil)).Elem(), NamespaceActuationFeatureSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NamespaceActuationMembershipSpecInput)(nil)).Elem(), NamespaceActuationMembershipSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NamespaceActuationMembershipSpecPtrInput)(nil)).Elem(), NamespaceActuationMembershipSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterInput)(nil)).Elem(), OnPremClusterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterPtrInput)(nil)).Elem(), OnPremClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OriginInput)(nil)).Elem(), OriginArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OriginPtrInput)(nil)).Elem(), OriginArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyBindingInput)(nil)).Elem(), PolicyBindingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyBindingArrayInput)(nil)).Elem(), PolicyBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerBundleInstallSpecInput)(nil)).Elem(), PolicyControllerBundleInstallSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerBundleInstallSpecMapInput)(nil)).Elem(), PolicyControllerBundleInstallSpecMap{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigInput)(nil)).Elem(), PolicyControllerHubConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigPtrInput)(nil)).Elem(), PolicyControllerHubConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMembershipSpecInput)(nil)).Elem(), PolicyControllerMembershipSpecArgs{}) @@ -12880,11 +16923,21 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigPtrInput)(nil)).Elem(), PolicyControllerMonitoringConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyContentSpecInput)(nil)).Elem(), PolicyControllerPolicyContentSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyContentSpecPtrInput)(nil)).Elem(), PolicyControllerPolicyContentSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigMapInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceListInput)(nil)).Elem(), PolicyControllerResourceListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceListPtrInput)(nil)).Elem(), PolicyControllerResourceListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceRequirementsInput)(nil)).Elem(), PolicyControllerResourceRequirementsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceRequirementsPtrInput)(nil)).Elem(), PolicyControllerResourceRequirementsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigPtrInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTolerationInput)(nil)).Elem(), PolicyControllerTolerationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTolerationArrayInput)(nil)).Elem(), PolicyControllerTolerationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ResourceOptionsInput)(nil)).Elem(), ResourceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResourceOptionsPtrInput)(nil)).Elem(), ResourceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RoleInput)(nil)).Elem(), RoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScopeFeatureSpecInput)(nil)).Elem(), ScopeFeatureSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScopeFeatureSpecMapInput)(nil)).Elem(), ScopeFeatureSpecMap{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPostureConfigInput)(nil)).Elem(), SecurityPostureConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPostureConfigPtrInput)(nil)).Elem(), SecurityPostureConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceMeshMembershipSpecInput)(nil)).Elem(), ServiceMeshMembershipSpecArgs{}) @@ -12923,6 +16976,9 @@ func init() { pulumi.RegisterOutputType(CloudAuditLoggingFeatureSpecOutput{}) pulumi.RegisterOutputType(CloudAuditLoggingFeatureSpecPtrOutput{}) pulumi.RegisterOutputType(CloudAuditLoggingFeatureSpecResponseOutput{}) + pulumi.RegisterOutputType(CloudBuildMembershipSpecOutput{}) + pulumi.RegisterOutputType(CloudBuildMembershipSpecPtrOutput{}) + pulumi.RegisterOutputType(CloudBuildMembershipSpecResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradeFleetSpecOutput{}) pulumi.RegisterOutputType(ClusterUpgradeFleetSpecPtrOutput{}) pulumi.RegisterOutputType(ClusterUpgradeFleetSpecResponseOutput{}) @@ -12938,9 +16994,18 @@ func init() { pulumi.RegisterOutputType(ClusterUpgradeGKEUpgradeResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradeGKEUpgradeStateResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradeGKEUpgradeStateResponseArrayOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeIgnoredMembershipResponseOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeIgnoredMembershipResponseMapOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeMembershipGKEUpgradeStateResponseOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeMembershipStateResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradePostConditionsOutput{}) pulumi.RegisterOutputType(ClusterUpgradePostConditionsPtrOutput{}) pulumi.RegisterOutputType(ClusterUpgradePostConditionsResponseOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeScopeSpecOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeScopeSpecPtrOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeScopeSpecResponseOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeScopeStateResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradeUpgradeStatusResponseOutput{}) pulumi.RegisterOutputType(CommonFeatureSpecOutput{}) pulumi.RegisterOutputType(CommonFeatureSpecPtrOutput{}) @@ -12952,27 +17017,51 @@ func init() { pulumi.RegisterOutputType(ConfigManagementBinauthzConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementBinauthzConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementBinauthzConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementBinauthzStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementBinauthzVersionResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementConfigSyncOutput{}) pulumi.RegisterOutputType(ConfigManagementConfigSyncPtrOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncDeploymentStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncErrorResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncErrorResponseArrayOutput{}) pulumi.RegisterOutputType(ConfigManagementConfigSyncResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncVersionResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementErrorResourceResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementErrorResourceResponseArrayOutput{}) + pulumi.RegisterOutputType(ConfigManagementGatekeeperDeploymentStateResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementGitConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementGitConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementGitConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementGroupVersionKindResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementHierarchyControllerConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementHierarchyControllerConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementHierarchyControllerConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementHierarchyControllerDeploymentStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementHierarchyControllerStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementHierarchyControllerVersionResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementInstallErrorResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementInstallErrorResponseArrayOutput{}) pulumi.RegisterOutputType(ConfigManagementMembershipSpecOutput{}) pulumi.RegisterOutputType(ConfigManagementMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementMembershipStateResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementOciConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementOciConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementOciConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementOperatorStateResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerPtrOutput{}) + pulumi.RegisterOutputType(ConfigManagementPolicyControllerMigrationResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementPolicyControllerStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementPolicyControllerVersionResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementSyncErrorResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementSyncErrorResponseArrayOutput{}) + pulumi.RegisterOutputType(ConfigManagementSyncStateResponseOutput{}) pulumi.RegisterOutputType(DefaultClusterConfigOutput{}) pulumi.RegisterOutputType(DefaultClusterConfigPtrOutput{}) pulumi.RegisterOutputType(DefaultClusterConfigResponseOutput{}) @@ -13000,6 +17089,10 @@ func init() { pulumi.RegisterOutputType(FleetObservabilityLoggingConfigOutput{}) pulumi.RegisterOutputType(FleetObservabilityLoggingConfigPtrOutput{}) pulumi.RegisterOutputType(FleetObservabilityLoggingConfigResponseOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipSpecOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipSpecPtrOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipStateResponseOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigPtrOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigResponseOutput{}) @@ -13019,6 +17112,7 @@ func init() { pulumi.RegisterOutputType(IdentityServiceMembershipSpecOutput{}) pulumi.RegisterOutputType(IdentityServiceMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(IdentityServiceMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(IdentityServiceMembershipStateResponseOutput{}) pulumi.RegisterOutputType(IdentityServiceOidcConfigOutput{}) pulumi.RegisterOutputType(IdentityServiceOidcConfigPtrOutput{}) pulumi.RegisterOutputType(IdentityServiceOidcConfigResponseOutput{}) @@ -13030,10 +17124,17 @@ func init() { pulumi.RegisterOutputType(MembershipEndpointOutput{}) pulumi.RegisterOutputType(MembershipEndpointPtrOutput{}) pulumi.RegisterOutputType(MembershipEndpointResponseOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecMapOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecResponseOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecResponseMapOutput{}) + pulumi.RegisterOutputType(MembershipFeatureStateResponseOutput{}) + pulumi.RegisterOutputType(MembershipFeatureStateResponseMapOutput{}) pulumi.RegisterOutputType(MembershipSpecOutput{}) pulumi.RegisterOutputType(MembershipSpecPtrOutput{}) pulumi.RegisterOutputType(MembershipSpecResponseOutput{}) pulumi.RegisterOutputType(MembershipStateResponseOutput{}) + pulumi.RegisterOutputType(MeteringMembershipStateResponseOutput{}) pulumi.RegisterOutputType(MonitoringConfigOutput{}) pulumi.RegisterOutputType(MonitoringConfigPtrOutput{}) pulumi.RegisterOutputType(MonitoringConfigResponseOutput{}) @@ -13047,29 +17148,58 @@ func init() { pulumi.RegisterOutputType(NamespaceActuationFeatureSpecPtrOutput{}) pulumi.RegisterOutputType(NamespaceActuationFeatureSpecResponseOutput{}) pulumi.RegisterOutputType(NamespaceActuationFeatureStateResponseOutput{}) + pulumi.RegisterOutputType(NamespaceActuationMembershipSpecOutput{}) + pulumi.RegisterOutputType(NamespaceActuationMembershipSpecPtrOutput{}) + pulumi.RegisterOutputType(NamespaceActuationMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(NamespaceActuationMembershipStateResponseOutput{}) pulumi.RegisterOutputType(NamespaceLifecycleStateResponseOutput{}) pulumi.RegisterOutputType(OnPremClusterOutput{}) pulumi.RegisterOutputType(OnPremClusterPtrOutput{}) pulumi.RegisterOutputType(OnPremClusterResponseOutput{}) + pulumi.RegisterOutputType(OriginOutput{}) + pulumi.RegisterOutputType(OriginPtrOutput{}) + pulumi.RegisterOutputType(OriginResponseOutput{}) pulumi.RegisterOutputType(PolicyBindingOutput{}) pulumi.RegisterOutputType(PolicyBindingArrayOutput{}) pulumi.RegisterOutputType(PolicyBindingResponseOutput{}) pulumi.RegisterOutputType(PolicyBindingResponseArrayOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecMapOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecResponseMapOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigResponseOutput{}) pulumi.RegisterOutputType(PolicyControllerMembershipSpecOutput{}) pulumi.RegisterOutputType(PolicyControllerMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerMembershipStateResponseOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerOnClusterStateResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerOnClusterStateResponseMapOutput{}) pulumi.RegisterOutputType(PolicyControllerPolicyContentSpecOutput{}) pulumi.RegisterOutputType(PolicyControllerPolicyContentSpecPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerPolicyContentSpecResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyContentStateResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigMapOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceListOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceListPtrOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceListResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceRequirementsOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceRequirementsPtrOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceRequirementsResponseOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationArrayOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationResponseArrayOutput{}) pulumi.RegisterOutputType(RBACRoleBindingLifecycleStateResponseOutput{}) pulumi.RegisterOutputType(ResourceManifestResponseOutput{}) pulumi.RegisterOutputType(ResourceManifestResponseArrayOutput{}) @@ -13078,6 +17208,12 @@ func init() { pulumi.RegisterOutputType(ResourceOptionsResponseOutput{}) pulumi.RegisterOutputType(RoleOutput{}) pulumi.RegisterOutputType(RoleResponseOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecMapOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecResponseOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecResponseMapOutput{}) + pulumi.RegisterOutputType(ScopeFeatureStateResponseOutput{}) + pulumi.RegisterOutputType(ScopeFeatureStateResponseMapOutput{}) pulumi.RegisterOutputType(ScopeLifecycleStateResponseOutput{}) pulumi.RegisterOutputType(SecurityPostureConfigOutput{}) pulumi.RegisterOutputType(SecurityPostureConfigPtrOutput{}) @@ -13085,10 +17221,15 @@ func init() { pulumi.RegisterOutputType(ServiceMeshAnalysisMessageBaseResponseOutput{}) pulumi.RegisterOutputType(ServiceMeshAnalysisMessageResponseOutput{}) pulumi.RegisterOutputType(ServiceMeshAnalysisMessageResponseArrayOutput{}) + pulumi.RegisterOutputType(ServiceMeshControlPlaneManagementResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshDataPlaneManagementResponseOutput{}) pulumi.RegisterOutputType(ServiceMeshFeatureStateResponseOutput{}) pulumi.RegisterOutputType(ServiceMeshMembershipSpecOutput{}) pulumi.RegisterOutputType(ServiceMeshMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(ServiceMeshMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshMembershipStateResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshStatusDetailsResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshStatusDetailsResponseArrayOutput{}) pulumi.RegisterOutputType(ServiceMeshTypeResponseOutput{}) pulumi.RegisterOutputType(StatusResponseOutput{}) } diff --git a/sdk/go/google/gkehub/v1beta/feature.go b/sdk/go/google/gkehub/v1beta/feature.go index c386ee60a1..92f955ef00 100644 --- a/sdk/go/google/gkehub/v1beta/feature.go +++ b/sdk/go/google/gkehub/v1beta/feature.go @@ -28,9 +28,9 @@ type Feature struct { Labels pulumi.StringMapOutput `pulumi:"labels"` Location pulumi.StringOutput `pulumi:"location"` // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs pulumi.StringMapOutput `pulumi:"membershipSpecs"` + MembershipSpecs MembershipFeatureSpecResponseMapOutput `pulumi:"membershipSpecs"` // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. - MembershipStates pulumi.StringMapOutput `pulumi:"membershipStates"` + MembershipStates MembershipFeatureStateResponseMapOutput `pulumi:"membershipStates"` // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` @@ -39,9 +39,9 @@ type Feature struct { // State of the Feature resource itself. ResourceState FeatureResourceStateResponseOutput `pulumi:"resourceState"` // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs pulumi.StringMapOutput `pulumi:"scopeSpecs"` + ScopeSpecs ScopeFeatureSpecResponseMapOutput `pulumi:"scopeSpecs"` // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. - ScopeStates pulumi.StringMapOutput `pulumi:"scopeStates"` + ScopeStates ScopeFeatureStateResponseMapOutput `pulumi:"scopeStates"` // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec CommonFeatureSpecResponseOutput `pulumi:"spec"` // The Hub-wide Feature state. @@ -103,12 +103,12 @@ type featureArgs struct { Labels map[string]string `pulumi:"labels"` Location *string `pulumi:"location"` // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs map[string]string `pulumi:"membershipSpecs"` - Project *string `pulumi:"project"` + MembershipSpecs map[string]MembershipFeatureSpec `pulumi:"membershipSpecs"` + Project *string `pulumi:"project"` // A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). RequestId *string `pulumi:"requestId"` // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs map[string]string `pulumi:"scopeSpecs"` + ScopeSpecs map[string]ScopeFeatureSpec `pulumi:"scopeSpecs"` // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec *CommonFeatureSpec `pulumi:"spec"` } @@ -123,12 +123,12 @@ type FeatureArgs struct { Labels pulumi.StringMapInput Location pulumi.StringPtrInput // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs pulumi.StringMapInput + MembershipSpecs MembershipFeatureSpecMapInput Project pulumi.StringPtrInput // A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrInput // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs pulumi.StringMapInput + ScopeSpecs ScopeFeatureSpecMapInput // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec CommonFeatureSpecPtrInput } @@ -200,13 +200,13 @@ func (o FeatureOutput) Location() pulumi.StringOutput { } // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o FeatureOutput) MembershipSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.MembershipSpecs }).(pulumi.StringMapOutput) +func (o FeatureOutput) MembershipSpecs() MembershipFeatureSpecResponseMapOutput { + return o.ApplyT(func(v *Feature) MembershipFeatureSpecResponseMapOutput { return v.MembershipSpecs }).(MembershipFeatureSpecResponseMapOutput) } // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. -func (o FeatureOutput) MembershipStates() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.MembershipStates }).(pulumi.StringMapOutput) +func (o FeatureOutput) MembershipStates() MembershipFeatureStateResponseMapOutput { + return o.ApplyT(func(v *Feature) MembershipFeatureStateResponseMapOutput { return v.MembershipStates }).(MembershipFeatureStateResponseMapOutput) } // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. @@ -229,13 +229,13 @@ func (o FeatureOutput) ResourceState() FeatureResourceStateResponseOutput { } // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o FeatureOutput) ScopeSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.ScopeSpecs }).(pulumi.StringMapOutput) +func (o FeatureOutput) ScopeSpecs() ScopeFeatureSpecResponseMapOutput { + return o.ApplyT(func(v *Feature) ScopeFeatureSpecResponseMapOutput { return v.ScopeSpecs }).(ScopeFeatureSpecResponseMapOutput) } // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. -func (o FeatureOutput) ScopeStates() pulumi.StringMapOutput { - return o.ApplyT(func(v *Feature) pulumi.StringMapOutput { return v.ScopeStates }).(pulumi.StringMapOutput) +func (o FeatureOutput) ScopeStates() ScopeFeatureStateResponseMapOutput { + return o.ApplyT(func(v *Feature) ScopeFeatureStateResponseMapOutput { return v.ScopeStates }).(ScopeFeatureStateResponseMapOutput) } // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. diff --git a/sdk/go/google/gkehub/v1beta/getFeature.go b/sdk/go/google/gkehub/v1beta/getFeature.go index a0c9fcd306..733f4a0432 100644 --- a/sdk/go/google/gkehub/v1beta/getFeature.go +++ b/sdk/go/google/gkehub/v1beta/getFeature.go @@ -38,17 +38,17 @@ type LookupFeatureResult struct { // Labels for this Feature. Labels map[string]string `pulumi:"labels"` // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - MembershipSpecs map[string]string `pulumi:"membershipSpecs"` + MembershipSpecs map[string]MembershipFeatureSpecResponse `pulumi:"membershipSpecs"` // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. - MembershipStates map[string]string `pulumi:"membershipStates"` + MembershipStates map[string]MembershipFeatureStateResponse `pulumi:"membershipStates"` // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. Name string `pulumi:"name"` // State of the Feature resource itself. ResourceState FeatureResourceStateResponse `pulumi:"resourceState"` // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. - ScopeSpecs map[string]string `pulumi:"scopeSpecs"` + ScopeSpecs map[string]ScopeFeatureSpecResponse `pulumi:"scopeSpecs"` // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. - ScopeStates map[string]string `pulumi:"scopeStates"` + ScopeStates map[string]ScopeFeatureStateResponse `pulumi:"scopeStates"` // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. Spec CommonFeatureSpecResponse `pulumi:"spec"` // The Hub-wide Feature state. @@ -117,13 +117,13 @@ func (o LookupFeatureResultOutput) Labels() pulumi.StringMapOutput { } // Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o LookupFeatureResultOutput) MembershipSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.MembershipSpecs }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) MembershipSpecs() MembershipFeatureSpecResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]MembershipFeatureSpecResponse { return v.MembershipSpecs }).(MembershipFeatureSpecResponseMapOutput) } // Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. -func (o LookupFeatureResultOutput) MembershipStates() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.MembershipStates }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) MembershipStates() MembershipFeatureStateResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]MembershipFeatureStateResponse { return v.MembershipStates }).(MembershipFeatureStateResponseMapOutput) } // The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. @@ -137,13 +137,13 @@ func (o LookupFeatureResultOutput) ResourceState() FeatureResourceStateResponseO } // Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. -func (o LookupFeatureResultOutput) ScopeSpecs() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.ScopeSpecs }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) ScopeSpecs() ScopeFeatureSpecResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]ScopeFeatureSpecResponse { return v.ScopeSpecs }).(ScopeFeatureSpecResponseMapOutput) } // Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. -func (o LookupFeatureResultOutput) ScopeStates() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFeatureResult) map[string]string { return v.ScopeStates }).(pulumi.StringMapOutput) +func (o LookupFeatureResultOutput) ScopeStates() ScopeFeatureStateResponseMapOutput { + return o.ApplyT(func(v LookupFeatureResult) map[string]ScopeFeatureStateResponse { return v.ScopeStates }).(ScopeFeatureStateResponseMapOutput) } // Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. diff --git a/sdk/go/google/gkehub/v1beta/pulumiEnums.go b/sdk/go/google/gkehub/v1beta/pulumiEnums.go index 86268c2c33..90818876d4 100644 --- a/sdk/go/google/gkehub/v1beta/pulumiEnums.go +++ b/sdk/go/google/gkehub/v1beta/pulumiEnums.go @@ -741,6 +741,177 @@ func (in *fleetObservabilityRoutingConfigModePtr) ToFleetObservabilityRoutingCon return pulumi.ToOutputWithContext(ctx, in).(FleetObservabilityRoutingConfigModePtrOutput) } +// Whether it is allowed to run the privileged builds on the cluster or not. +type MembershipSpecSecurityPolicy string + +const ( + // Unspecified policy + MembershipSpecSecurityPolicySecurityPolicyUnspecified = MembershipSpecSecurityPolicy("SECURITY_POLICY_UNSPECIFIED") + // Privileged build pods are disallowed + MembershipSpecSecurityPolicyNonPrivileged = MembershipSpecSecurityPolicy("NON_PRIVILEGED") + // Privileged build pods are allowed + MembershipSpecSecurityPolicyPrivileged = MembershipSpecSecurityPolicy("PRIVILEGED") +) + +func (MembershipSpecSecurityPolicy) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipSpecSecurityPolicy)(nil)).Elem() +} + +func (e MembershipSpecSecurityPolicy) ToMembershipSpecSecurityPolicyOutput() MembershipSpecSecurityPolicyOutput { + return pulumi.ToOutput(e).(MembershipSpecSecurityPolicyOutput) +} + +func (e MembershipSpecSecurityPolicy) ToMembershipSpecSecurityPolicyOutputWithContext(ctx context.Context) MembershipSpecSecurityPolicyOutput { + return pulumi.ToOutputWithContext(ctx, e).(MembershipSpecSecurityPolicyOutput) +} + +func (e MembershipSpecSecurityPolicy) ToMembershipSpecSecurityPolicyPtrOutput() MembershipSpecSecurityPolicyPtrOutput { + return e.ToMembershipSpecSecurityPolicyPtrOutputWithContext(context.Background()) +} + +func (e MembershipSpecSecurityPolicy) ToMembershipSpecSecurityPolicyPtrOutputWithContext(ctx context.Context) MembershipSpecSecurityPolicyPtrOutput { + return MembershipSpecSecurityPolicy(e).ToMembershipSpecSecurityPolicyOutputWithContext(ctx).ToMembershipSpecSecurityPolicyPtrOutputWithContext(ctx) +} + +func (e MembershipSpecSecurityPolicy) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e MembershipSpecSecurityPolicy) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e MembershipSpecSecurityPolicy) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e MembershipSpecSecurityPolicy) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type MembershipSpecSecurityPolicyOutput struct{ *pulumi.OutputState } + +func (MembershipSpecSecurityPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipSpecSecurityPolicy)(nil)).Elem() +} + +func (o MembershipSpecSecurityPolicyOutput) ToMembershipSpecSecurityPolicyOutput() MembershipSpecSecurityPolicyOutput { + return o +} + +func (o MembershipSpecSecurityPolicyOutput) ToMembershipSpecSecurityPolicyOutputWithContext(ctx context.Context) MembershipSpecSecurityPolicyOutput { + return o +} + +func (o MembershipSpecSecurityPolicyOutput) ToMembershipSpecSecurityPolicyPtrOutput() MembershipSpecSecurityPolicyPtrOutput { + return o.ToMembershipSpecSecurityPolicyPtrOutputWithContext(context.Background()) +} + +func (o MembershipSpecSecurityPolicyOutput) ToMembershipSpecSecurityPolicyPtrOutputWithContext(ctx context.Context) MembershipSpecSecurityPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MembershipSpecSecurityPolicy) *MembershipSpecSecurityPolicy { + return &v + }).(MembershipSpecSecurityPolicyPtrOutput) +} + +func (o MembershipSpecSecurityPolicyOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o MembershipSpecSecurityPolicyOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e MembershipSpecSecurityPolicy) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o MembershipSpecSecurityPolicyOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o MembershipSpecSecurityPolicyOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e MembershipSpecSecurityPolicy) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type MembershipSpecSecurityPolicyPtrOutput struct{ *pulumi.OutputState } + +func (MembershipSpecSecurityPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MembershipSpecSecurityPolicy)(nil)).Elem() +} + +func (o MembershipSpecSecurityPolicyPtrOutput) ToMembershipSpecSecurityPolicyPtrOutput() MembershipSpecSecurityPolicyPtrOutput { + return o +} + +func (o MembershipSpecSecurityPolicyPtrOutput) ToMembershipSpecSecurityPolicyPtrOutputWithContext(ctx context.Context) MembershipSpecSecurityPolicyPtrOutput { + return o +} + +func (o MembershipSpecSecurityPolicyPtrOutput) Elem() MembershipSpecSecurityPolicyOutput { + return o.ApplyT(func(v *MembershipSpecSecurityPolicy) MembershipSpecSecurityPolicy { + if v != nil { + return *v + } + var ret MembershipSpecSecurityPolicy + return ret + }).(MembershipSpecSecurityPolicyOutput) +} + +func (o MembershipSpecSecurityPolicyPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o MembershipSpecSecurityPolicyPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *MembershipSpecSecurityPolicy) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// MembershipSpecSecurityPolicyInput is an input type that accepts values of the MembershipSpecSecurityPolicy enum +// A concrete instance of `MembershipSpecSecurityPolicyInput` can be one of the following: +// +// MembershipSpecSecurityPolicySecurityPolicyUnspecified +// MembershipSpecSecurityPolicyNonPrivileged +// MembershipSpecSecurityPolicyPrivileged +type MembershipSpecSecurityPolicyInput interface { + pulumi.Input + + ToMembershipSpecSecurityPolicyOutput() MembershipSpecSecurityPolicyOutput + ToMembershipSpecSecurityPolicyOutputWithContext(context.Context) MembershipSpecSecurityPolicyOutput +} + +var membershipSpecSecurityPolicyPtrType = reflect.TypeOf((**MembershipSpecSecurityPolicy)(nil)).Elem() + +type MembershipSpecSecurityPolicyPtrInput interface { + pulumi.Input + + ToMembershipSpecSecurityPolicyPtrOutput() MembershipSpecSecurityPolicyPtrOutput + ToMembershipSpecSecurityPolicyPtrOutputWithContext(context.Context) MembershipSpecSecurityPolicyPtrOutput +} + +type membershipSpecSecurityPolicyPtr string + +func MembershipSpecSecurityPolicyPtr(v string) MembershipSpecSecurityPolicyPtrInput { + return (*membershipSpecSecurityPolicyPtr)(&v) +} + +func (*membershipSpecSecurityPolicyPtr) ElementType() reflect.Type { + return membershipSpecSecurityPolicyPtrType +} + +func (in *membershipSpecSecurityPolicyPtr) ToMembershipSpecSecurityPolicyPtrOutput() MembershipSpecSecurityPolicyPtrOutput { + return pulumi.ToOutput(in).(MembershipSpecSecurityPolicyPtrOutput) +} + +func (in *membershipSpecSecurityPolicyPtr) ToMembershipSpecSecurityPolicyPtrOutputWithContext(ctx context.Context) MembershipSpecSecurityPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(MembershipSpecSecurityPolicyPtrOutput) +} + // Deprecated: This field will be ignored and should not be set. Customer's billing structure. type MultiClusterIngressFeatureSpecBilling string @@ -1089,6 +1260,180 @@ func (in *onPremClusterClusterTypePtr) ToOnPremClusterClusterTypePtrOutputWithCo return pulumi.ToOutputWithContext(ctx, in).(OnPremClusterClusterTypePtrOutput) } +// Type specifies which type of origin is set. +type OriginType string + +const ( + // Type is unknown or not set. + OriginTypeTypeUnspecified = OriginType("TYPE_UNSPECIFIED") + // Per-Membership spec was inherited from the fleet-level default. + OriginTypeFleet = OriginType("FLEET") + // Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + OriginTypeFleetOutOfSync = OriginType("FLEET_OUT_OF_SYNC") + // Per-Membership spec was inherited from a user specification. + OriginTypeUser = OriginType("USER") +) + +func (OriginType) ElementType() reflect.Type { + return reflect.TypeOf((*OriginType)(nil)).Elem() +} + +func (e OriginType) ToOriginTypeOutput() OriginTypeOutput { + return pulumi.ToOutput(e).(OriginTypeOutput) +} + +func (e OriginType) ToOriginTypeOutputWithContext(ctx context.Context) OriginTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(OriginTypeOutput) +} + +func (e OriginType) ToOriginTypePtrOutput() OriginTypePtrOutput { + return e.ToOriginTypePtrOutputWithContext(context.Background()) +} + +func (e OriginType) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return OriginType(e).ToOriginTypeOutputWithContext(ctx).ToOriginTypePtrOutputWithContext(ctx) +} + +func (e OriginType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e OriginType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e OriginType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e OriginType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type OriginTypeOutput struct{ *pulumi.OutputState } + +func (OriginTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OriginType)(nil)).Elem() +} + +func (o OriginTypeOutput) ToOriginTypeOutput() OriginTypeOutput { + return o +} + +func (o OriginTypeOutput) ToOriginTypeOutputWithContext(ctx context.Context) OriginTypeOutput { + return o +} + +func (o OriginTypeOutput) ToOriginTypePtrOutput() OriginTypePtrOutput { + return o.ToOriginTypePtrOutputWithContext(context.Background()) +} + +func (o OriginTypeOutput) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OriginType) *OriginType { + return &v + }).(OriginTypePtrOutput) +} + +func (o OriginTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o OriginTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e OriginType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o OriginTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o OriginTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e OriginType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type OriginTypePtrOutput struct{ *pulumi.OutputState } + +func (OriginTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OriginType)(nil)).Elem() +} + +func (o OriginTypePtrOutput) ToOriginTypePtrOutput() OriginTypePtrOutput { + return o +} + +func (o OriginTypePtrOutput) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return o +} + +func (o OriginTypePtrOutput) Elem() OriginTypeOutput { + return o.ApplyT(func(v *OriginType) OriginType { + if v != nil { + return *v + } + var ret OriginType + return ret + }).(OriginTypeOutput) +} + +func (o OriginTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o OriginTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *OriginType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// OriginTypeInput is an input type that accepts values of the OriginType enum +// A concrete instance of `OriginTypeInput` can be one of the following: +// +// OriginTypeTypeUnspecified +// OriginTypeFleet +// OriginTypeFleetOutOfSync +// OriginTypeUser +type OriginTypeInput interface { + pulumi.Input + + ToOriginTypeOutput() OriginTypeOutput + ToOriginTypeOutputWithContext(context.Context) OriginTypeOutput +} + +var originTypePtrType = reflect.TypeOf((**OriginType)(nil)).Elem() + +type OriginTypePtrInput interface { + pulumi.Input + + ToOriginTypePtrOutput() OriginTypePtrOutput + ToOriginTypePtrOutputWithContext(context.Context) OriginTypePtrOutput +} + +type originTypePtr string + +func OriginTypePtr(v string) OriginTypePtrInput { + return (*originTypePtr)(&v) +} + +func (*originTypePtr) ElementType() reflect.Type { + return originTypePtrType +} + +func (in *originTypePtr) ToOriginTypePtrOutput() OriginTypePtrOutput { + return pulumi.ToOutput(in).(OriginTypePtrOutput) +} + +func (in *originTypePtr) ToOriginTypePtrOutputWithContext(ctx context.Context) OriginTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(OriginTypePtrOutput) +} + // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. type PolicyControllerHubConfigInstallSpec string @@ -1481,6 +1826,177 @@ func (o PolicyControllerMonitoringConfigBackendsItemArrayOutput) Index(i pulumi. }).(PolicyControllerMonitoringConfigBackendsItemOutput) } +// Pod affinity configuration. +type PolicyControllerPolicyControllerDeploymentConfigPodAffinity string + +const ( + // No affinity configuration has been specified. + PolicyControllerPolicyControllerDeploymentConfigPodAffinityAffinityUnspecified = PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED") + // Affinity configurations will be removed from the deployment. + PolicyControllerPolicyControllerDeploymentConfigPodAffinityNoAffinity = PolicyControllerPolicyControllerDeploymentConfigPodAffinity("NO_AFFINITY") + // Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + PolicyControllerPolicyControllerDeploymentConfigPodAffinityAntiAffinity = PolicyControllerPolicyControllerDeploymentConfigPodAffinity("ANTI_AFFINITY") +) + +func (PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return pulumi.ToOutput(e).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return pulumi.ToOutputWithContext(ctx, e).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return e.ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(context.Background()) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return PolicyControllerPolicyControllerDeploymentConfigPodAffinity(e).ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(ctx).ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o.ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerPolicyControllerDeploymentConfigPodAffinity) *PolicyControllerPolicyControllerDeploymentConfigPodAffinity { + return &v + }).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PolicyControllerPolicyControllerDeploymentConfigPodAffinity) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) Elem() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput { + return o.ApplyT(func(v *PolicyControllerPolicyControllerDeploymentConfigPodAffinity) PolicyControllerPolicyControllerDeploymentConfigPodAffinity { + if v != nil { + return *v + } + var ret PolicyControllerPolicyControllerDeploymentConfigPodAffinity + return ret + }).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *PolicyControllerPolicyControllerDeploymentConfigPodAffinity) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput is an input type that accepts values of the PolicyControllerPolicyControllerDeploymentConfigPodAffinity enum +// A concrete instance of `PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput` can be one of the following: +// +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityAffinityUnspecified +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityNoAffinity +// PolicyControllerPolicyControllerDeploymentConfigPodAffinityAntiAffinity +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput interface { + pulumi.Input + + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput +} + +var policyControllerPolicyControllerDeploymentConfigPodAffinityPtrType = reflect.TypeOf((**PolicyControllerPolicyControllerDeploymentConfigPodAffinity)(nil)).Elem() + +type PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput interface { + pulumi.Input + + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput + ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput +} + +type policyControllerPolicyControllerDeploymentConfigPodAffinityPtr string + +func PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtr(v string) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput { + return (*policyControllerPolicyControllerDeploymentConfigPodAffinityPtr)(&v) +} + +func (*policyControllerPolicyControllerDeploymentConfigPodAffinityPtr) ElementType() reflect.Type { + return policyControllerPolicyControllerDeploymentConfigPodAffinityPtrType +} + +func (in *policyControllerPolicyControllerDeploymentConfigPodAffinityPtr) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return pulumi.ToOutput(in).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + +func (in *policyControllerPolicyControllerDeploymentConfigPodAffinityPtr) ToPolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) +} + // Configures the manner in which the template library is installed on the cluster. type PolicyControllerTemplateLibraryConfigInstallation string @@ -2526,15 +3042,21 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConfigManagementPolicyControllerMonitoringBackendsItemArrayInput)(nil)).Elem(), ConfigManagementPolicyControllerMonitoringBackendsItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityRoutingConfigModeInput)(nil)).Elem(), FleetObservabilityRoutingConfigMode("MODE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityRoutingConfigModePtrInput)(nil)).Elem(), FleetObservabilityRoutingConfigMode("MODE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipSpecSecurityPolicyInput)(nil)).Elem(), MembershipSpecSecurityPolicy("SECURITY_POLICY_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipSpecSecurityPolicyPtrInput)(nil)).Elem(), MembershipSpecSecurityPolicy("SECURITY_POLICY_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*MultiClusterIngressFeatureSpecBillingInput)(nil)).Elem(), MultiClusterIngressFeatureSpecBilling("BILLING_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*MultiClusterIngressFeatureSpecBillingPtrInput)(nil)).Elem(), MultiClusterIngressFeatureSpecBilling("BILLING_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterClusterTypeInput)(nil)).Elem(), OnPremClusterClusterType("CLUSTERTYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterClusterTypePtrInput)(nil)).Elem(), OnPremClusterClusterType("CLUSTERTYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*OriginTypeInput)(nil)).Elem(), OriginType("TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*OriginTypePtrInput)(nil)).Elem(), OriginType("TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigInstallSpecInput)(nil)).Elem(), PolicyControllerHubConfigInstallSpec("INSTALL_SPEC_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigInstallSpecPtrInput)(nil)).Elem(), PolicyControllerHubConfigInstallSpec("INSTALL_SPEC_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigBackendsItemInput)(nil)).Elem(), PolicyControllerMonitoringConfigBackendsItem("MONITORING_BACKEND_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigBackendsItemPtrInput)(nil)).Elem(), PolicyControllerMonitoringConfigBackendsItem("MONITORING_BACKEND_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigBackendsItemArrayInput)(nil)).Elem(), PolicyControllerMonitoringConfigBackendsItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinityInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigPodAffinity("AFFINITY_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigInstallationInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigInstallation("INSTALLATION_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigInstallationPtrInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigInstallation("INSTALLATION_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*RolePredefinedRoleInput)(nil)).Elem(), RolePredefinedRole("UNKNOWN")) @@ -2556,15 +3078,21 @@ func init() { pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringBackendsItemArrayOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigModeOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigModePtrOutput{}) + pulumi.RegisterOutputType(MembershipSpecSecurityPolicyOutput{}) + pulumi.RegisterOutputType(MembershipSpecSecurityPolicyPtrOutput{}) pulumi.RegisterOutputType(MultiClusterIngressFeatureSpecBillingOutput{}) pulumi.RegisterOutputType(MultiClusterIngressFeatureSpecBillingPtrOutput{}) pulumi.RegisterOutputType(OnPremClusterClusterTypeOutput{}) pulumi.RegisterOutputType(OnPremClusterClusterTypePtrOutput{}) + pulumi.RegisterOutputType(OriginTypeOutput{}) + pulumi.RegisterOutputType(OriginTypePtrOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigInstallSpecOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigInstallSpecPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigBackendsItemOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigBackendsItemPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigBackendsItemArrayOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigPodAffinityOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigInstallationOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigInstallationPtrOutput{}) pulumi.RegisterOutputType(RolePredefinedRoleOutput{}) diff --git a/sdk/go/google/gkehub/v1beta/pulumiTypes.go b/sdk/go/google/gkehub/v1beta/pulumiTypes.go index 395a6525ab..e086fa2c89 100644 --- a/sdk/go/google/gkehub/v1beta/pulumiTypes.go +++ b/sdk/go/google/gkehub/v1beta/pulumiTypes.go @@ -1860,7 +1860,7 @@ type ClusterUpgradeFleetStateResponse struct { // Feature state for GKE clusters. GkeState ClusterUpgradeGKEUpgradeFeatureStateResponse `pulumi:"gkeState"` // A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. - Ignored map[string]string `pulumi:"ignored"` + Ignored map[string]ClusterUpgradeIgnoredMembershipResponse `pulumi:"ignored"` } // **ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature. @@ -1891,8 +1891,10 @@ func (o ClusterUpgradeFleetStateResponseOutput) GkeState() ClusterUpgradeGKEUpgr } // A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. -func (o ClusterUpgradeFleetStateResponseOutput) Ignored() pulumi.StringMapOutput { - return o.ApplyT(func(v ClusterUpgradeFleetStateResponse) map[string]string { return v.Ignored }).(pulumi.StringMapOutput) +func (o ClusterUpgradeFleetStateResponseOutput) Ignored() ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o.ApplyT(func(v ClusterUpgradeFleetStateResponse) map[string]ClusterUpgradeIgnoredMembershipResponse { + return v.Ignored + }).(ClusterUpgradeIgnoredMembershipResponseMapOutput) } // GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade. @@ -2320,6 +2322,167 @@ func (o ClusterUpgradeGKEUpgradeStateResponseArrayOutput) Index(i pulumi.IntInpu }).(ClusterUpgradeGKEUpgradeStateResponseOutput) } +// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. +type ClusterUpgradeIgnoredMembershipResponse struct { + // Time when the membership was first set to ignored. + IgnoredTime string `pulumi:"ignoredTime"` + // Reason why the membership is ignored. + Reason string `pulumi:"reason"` +} + +// IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. +type ClusterUpgradeIgnoredMembershipResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeIgnoredMembershipResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeIgnoredMembershipResponse)(nil)).Elem() +} + +func (o ClusterUpgradeIgnoredMembershipResponseOutput) ToClusterUpgradeIgnoredMembershipResponseOutput() ClusterUpgradeIgnoredMembershipResponseOutput { + return o +} + +func (o ClusterUpgradeIgnoredMembershipResponseOutput) ToClusterUpgradeIgnoredMembershipResponseOutputWithContext(ctx context.Context) ClusterUpgradeIgnoredMembershipResponseOutput { + return o +} + +// Time when the membership was first set to ignored. +func (o ClusterUpgradeIgnoredMembershipResponseOutput) IgnoredTime() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeIgnoredMembershipResponse) string { return v.IgnoredTime }).(pulumi.StringOutput) +} + +// Reason why the membership is ignored. +func (o ClusterUpgradeIgnoredMembershipResponseOutput) Reason() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeIgnoredMembershipResponse) string { return v.Reason }).(pulumi.StringOutput) +} + +type ClusterUpgradeIgnoredMembershipResponseMapOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeIgnoredMembershipResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ClusterUpgradeIgnoredMembershipResponse)(nil)).Elem() +} + +func (o ClusterUpgradeIgnoredMembershipResponseMapOutput) ToClusterUpgradeIgnoredMembershipResponseMapOutput() ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o +} + +func (o ClusterUpgradeIgnoredMembershipResponseMapOutput) ToClusterUpgradeIgnoredMembershipResponseMapOutputWithContext(ctx context.Context) ClusterUpgradeIgnoredMembershipResponseMapOutput { + return o +} + +func (o ClusterUpgradeIgnoredMembershipResponseMapOutput) MapIndex(k pulumi.StringInput) ClusterUpgradeIgnoredMembershipResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ClusterUpgradeIgnoredMembershipResponse { + return vs[0].(map[string]ClusterUpgradeIgnoredMembershipResponse)[vs[1].(string)] + }).(ClusterUpgradeIgnoredMembershipResponseOutput) +} + +// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. +type ClusterUpgradeMembershipGKEUpgradeStateResponse struct { + // Status of the upgrade. + Status ClusterUpgradeUpgradeStatusResponse `pulumi:"status"` + // Which upgrade to track the state. + Upgrade ClusterUpgradeGKEUpgradeResponse `pulumi:"upgrade"` +} + +// ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. +type ClusterUpgradeMembershipGKEUpgradeStateResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeMembershipGKEUpgradeStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseOutput() ClusterUpgradeMembershipGKEUpgradeStateResponseOutput { + return o +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseOutputWithContext(ctx context.Context) ClusterUpgradeMembershipGKEUpgradeStateResponseOutput { + return o +} + +// Status of the upgrade. +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) Status() ClusterUpgradeUpgradeStatusResponseOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipGKEUpgradeStateResponse) ClusterUpgradeUpgradeStatusResponse { + return v.Status + }).(ClusterUpgradeUpgradeStatusResponseOutput) +} + +// Which upgrade to track the state. +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) Upgrade() ClusterUpgradeGKEUpgradeResponseOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipGKEUpgradeStateResponse) ClusterUpgradeGKEUpgradeResponse { + return v.Upgrade + }).(ClusterUpgradeGKEUpgradeResponseOutput) +} + +type ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterUpgradeMembershipGKEUpgradeStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput() ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput { + return o +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) ToClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutputWithContext(ctx context.Context) ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput { + return o +} + +func (o ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) Index(i pulumi.IntInput) ClusterUpgradeMembershipGKEUpgradeStateResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterUpgradeMembershipGKEUpgradeStateResponse { + return vs[0].([]ClusterUpgradeMembershipGKEUpgradeStateResponse)[vs[1].(int)] + }).(ClusterUpgradeMembershipGKEUpgradeStateResponseOutput) +} + +// Per-membership state for this feature. +type ClusterUpgradeMembershipStateResponse struct { + // Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + Fleet string `pulumi:"fleet"` + // Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + Ignored ClusterUpgradeIgnoredMembershipResponse `pulumi:"ignored"` + // Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + Scopes []string `pulumi:"scopes"` + // Actual upgrade state against desired. + Upgrades []ClusterUpgradeMembershipGKEUpgradeStateResponse `pulumi:"upgrades"` +} + +// Per-membership state for this feature. +type ClusterUpgradeMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (ClusterUpgradeMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterUpgradeMembershipStateResponse)(nil)).Elem() +} + +func (o ClusterUpgradeMembershipStateResponseOutput) ToClusterUpgradeMembershipStateResponseOutput() ClusterUpgradeMembershipStateResponseOutput { + return o +} + +func (o ClusterUpgradeMembershipStateResponseOutput) ToClusterUpgradeMembershipStateResponseOutputWithContext(ctx context.Context) ClusterUpgradeMembershipStateResponseOutput { + return o +} + +// Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. +func (o ClusterUpgradeMembershipStateResponseOutput) Fleet() pulumi.StringOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) string { return v.Fleet }).(pulumi.StringOutput) +} + +// Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. +func (o ClusterUpgradeMembershipStateResponseOutput) Ignored() ClusterUpgradeIgnoredMembershipResponseOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) ClusterUpgradeIgnoredMembershipResponse { + return v.Ignored + }).(ClusterUpgradeIgnoredMembershipResponseOutput) +} + +// Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. +func (o ClusterUpgradeMembershipStateResponseOutput) Scopes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) []string { return v.Scopes }).(pulumi.StringArrayOutput) +} + +// Actual upgrade state against desired. +func (o ClusterUpgradeMembershipStateResponseOutput) Upgrades() ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput { + return o.ApplyT(func(v ClusterUpgradeMembershipStateResponse) []ClusterUpgradeMembershipGKEUpgradeStateResponse { + return v.Upgrades + }).(ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput) +} + // Post conditional checks after an upgrade has been applied on all eligible clusters. type ClusterUpgradePostConditions struct { // Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days. Required. @@ -3259,6 +3422,67 @@ func (o ConfigManagementBinauthzConfigResponseOutput) Enabled() pulumi.BoolOutpu return o.ApplyT(func(v ConfigManagementBinauthzConfigResponse) bool { return v.Enabled }).(pulumi.BoolOutput) } +// State for Binauthz +type ConfigManagementBinauthzStateResponse struct { + // The version of binauthz that is installed. + Version ConfigManagementBinauthzVersionResponse `pulumi:"version"` + // The state of the binauthz webhook. + Webhook string `pulumi:"webhook"` +} + +// State for Binauthz +type ConfigManagementBinauthzStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementBinauthzStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementBinauthzStateResponse)(nil)).Elem() +} + +func (o ConfigManagementBinauthzStateResponseOutput) ToConfigManagementBinauthzStateResponseOutput() ConfigManagementBinauthzStateResponseOutput { + return o +} + +func (o ConfigManagementBinauthzStateResponseOutput) ToConfigManagementBinauthzStateResponseOutputWithContext(ctx context.Context) ConfigManagementBinauthzStateResponseOutput { + return o +} + +// The version of binauthz that is installed. +func (o ConfigManagementBinauthzStateResponseOutput) Version() ConfigManagementBinauthzVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementBinauthzStateResponse) ConfigManagementBinauthzVersionResponse { + return v.Version + }).(ConfigManagementBinauthzVersionResponseOutput) +} + +// The state of the binauthz webhook. +func (o ConfigManagementBinauthzStateResponseOutput) Webhook() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementBinauthzStateResponse) string { return v.Webhook }).(pulumi.StringOutput) +} + +// The version of binauthz. +type ConfigManagementBinauthzVersionResponse struct { + // The version of the binauthz webhook. + WebhookVersion string `pulumi:"webhookVersion"` +} + +// The version of binauthz. +type ConfigManagementBinauthzVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementBinauthzVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementBinauthzVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementBinauthzVersionResponseOutput) ToConfigManagementBinauthzVersionResponseOutput() ConfigManagementBinauthzVersionResponseOutput { + return o +} + +func (o ConfigManagementBinauthzVersionResponseOutput) ToConfigManagementBinauthzVersionResponseOutputWithContext(ctx context.Context) ConfigManagementBinauthzVersionResponseOutput { + return o +} + +// The version of the binauthz webhook. +func (o ConfigManagementBinauthzVersionResponseOutput) WebhookVersion() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementBinauthzVersionResponse) string { return v.WebhookVersion }).(pulumi.StringOutput) +} + // Configuration for Config Sync type ConfigManagementConfigSync struct { // Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. @@ -3521,6 +3745,120 @@ func (o ConfigManagementConfigSyncPtrOutput) SourceFormat() pulumi.StringPtrOutp }).(pulumi.StringPtrOutput) } +// The state of ConfigSync's deployment on a cluster +type ConfigManagementConfigSyncDeploymentStateResponse struct { + // Deployment state of admission-webhook + AdmissionWebhook string `pulumi:"admissionWebhook"` + // Deployment state of the git-sync pod + GitSync string `pulumi:"gitSync"` + // Deployment state of the importer pod + Importer string `pulumi:"importer"` + // Deployment state of the monitor pod + Monitor string `pulumi:"monitor"` + // Deployment state of reconciler-manager pod + ReconcilerManager string `pulumi:"reconcilerManager"` + // Deployment state of root-reconciler + RootReconciler string `pulumi:"rootReconciler"` + // Deployment state of the syncer pod + Syncer string `pulumi:"syncer"` +} + +// The state of ConfigSync's deployment on a cluster +type ConfigManagementConfigSyncDeploymentStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncDeploymentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncDeploymentStateResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) ToConfigManagementConfigSyncDeploymentStateResponseOutput() ConfigManagementConfigSyncDeploymentStateResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) ToConfigManagementConfigSyncDeploymentStateResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncDeploymentStateResponseOutput { + return o +} + +// Deployment state of admission-webhook +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) AdmissionWebhook() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.AdmissionWebhook }).(pulumi.StringOutput) +} + +// Deployment state of the git-sync pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) GitSync() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.GitSync }).(pulumi.StringOutput) +} + +// Deployment state of the importer pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) Importer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.Importer }).(pulumi.StringOutput) +} + +// Deployment state of the monitor pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) Monitor() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.Monitor }).(pulumi.StringOutput) +} + +// Deployment state of reconciler-manager pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) ReconcilerManager() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.ReconcilerManager }).(pulumi.StringOutput) +} + +// Deployment state of root-reconciler +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) RootReconciler() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.RootReconciler }).(pulumi.StringOutput) +} + +// Deployment state of the syncer pod +func (o ConfigManagementConfigSyncDeploymentStateResponseOutput) Syncer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncDeploymentStateResponse) string { return v.Syncer }).(pulumi.StringOutput) +} + +// Errors pertaining to the installation of Config Sync +type ConfigManagementConfigSyncErrorResponse struct { + // A string representing the user facing error message + ErrorMessage string `pulumi:"errorMessage"` +} + +// Errors pertaining to the installation of Config Sync +type ConfigManagementConfigSyncErrorResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncErrorResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncErrorResponseOutput) ToConfigManagementConfigSyncErrorResponseOutput() ConfigManagementConfigSyncErrorResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncErrorResponseOutput) ToConfigManagementConfigSyncErrorResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncErrorResponseOutput { + return o +} + +// A string representing the user facing error message +func (o ConfigManagementConfigSyncErrorResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncErrorResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +type ConfigManagementConfigSyncErrorResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncErrorResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementConfigSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncErrorResponseArrayOutput) ToConfigManagementConfigSyncErrorResponseArrayOutput() ConfigManagementConfigSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementConfigSyncErrorResponseArrayOutput) ToConfigManagementConfigSyncErrorResponseArrayOutputWithContext(ctx context.Context) ConfigManagementConfigSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementConfigSyncErrorResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementConfigSyncErrorResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementConfigSyncErrorResponse { + return vs[0].([]ConfigManagementConfigSyncErrorResponse)[vs[1].(int)] + }).(ConfigManagementConfigSyncErrorResponseOutput) +} + // Configuration for Config Sync type ConfigManagementConfigSyncResponse struct { // Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. @@ -3593,6 +3931,238 @@ func (o ConfigManagementConfigSyncResponseOutput) SourceFormat() pulumi.StringOu return o.ApplyT(func(v ConfigManagementConfigSyncResponse) string { return v.SourceFormat }).(pulumi.StringOutput) } +// State information for ConfigSync +type ConfigManagementConfigSyncStateResponse struct { + // Information about the deployment of ConfigSync, including the version of the various Pods deployed + DeploymentState ConfigManagementConfigSyncDeploymentStateResponse `pulumi:"deploymentState"` + // Errors pertaining to the installation of Config Sync. + Errors []ConfigManagementConfigSyncErrorResponse `pulumi:"errors"` + // The state of ConfigSync's process to sync configs to a cluster + SyncState ConfigManagementSyncStateResponse `pulumi:"syncState"` + // The version of ConfigSync deployed + Version ConfigManagementConfigSyncVersionResponse `pulumi:"version"` +} + +// State information for ConfigSync +type ConfigManagementConfigSyncStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncStateResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncStateResponseOutput) ToConfigManagementConfigSyncStateResponseOutput() ConfigManagementConfigSyncStateResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncStateResponseOutput) ToConfigManagementConfigSyncStateResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncStateResponseOutput { + return o +} + +// Information about the deployment of ConfigSync, including the version of the various Pods deployed +func (o ConfigManagementConfigSyncStateResponseOutput) DeploymentState() ConfigManagementConfigSyncDeploymentStateResponseOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) ConfigManagementConfigSyncDeploymentStateResponse { + return v.DeploymentState + }).(ConfigManagementConfigSyncDeploymentStateResponseOutput) +} + +// Errors pertaining to the installation of Config Sync. +func (o ConfigManagementConfigSyncStateResponseOutput) Errors() ConfigManagementConfigSyncErrorResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) []ConfigManagementConfigSyncErrorResponse { + return v.Errors + }).(ConfigManagementConfigSyncErrorResponseArrayOutput) +} + +// The state of ConfigSync's process to sync configs to a cluster +func (o ConfigManagementConfigSyncStateResponseOutput) SyncState() ConfigManagementSyncStateResponseOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) ConfigManagementSyncStateResponse { return v.SyncState }).(ConfigManagementSyncStateResponseOutput) +} + +// The version of ConfigSync deployed +func (o ConfigManagementConfigSyncStateResponseOutput) Version() ConfigManagementConfigSyncVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncStateResponse) ConfigManagementConfigSyncVersionResponse { + return v.Version + }).(ConfigManagementConfigSyncVersionResponseOutput) +} + +// Specific versioning information pertaining to ConfigSync's Pods +type ConfigManagementConfigSyncVersionResponse struct { + // Version of the deployed admission_webhook pod + AdmissionWebhook string `pulumi:"admissionWebhook"` + // Version of the deployed git-sync pod + GitSync string `pulumi:"gitSync"` + // Version of the deployed importer pod + Importer string `pulumi:"importer"` + // Version of the deployed monitor pod + Monitor string `pulumi:"monitor"` + // Version of the deployed reconciler-manager pod + ReconcilerManager string `pulumi:"reconcilerManager"` + // Version of the deployed reconciler container in root-reconciler pod + RootReconciler string `pulumi:"rootReconciler"` + // Version of the deployed syncer pod + Syncer string `pulumi:"syncer"` +} + +// Specific versioning information pertaining to ConfigSync's Pods +type ConfigManagementConfigSyncVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementConfigSyncVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementConfigSyncVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementConfigSyncVersionResponseOutput) ToConfigManagementConfigSyncVersionResponseOutput() ConfigManagementConfigSyncVersionResponseOutput { + return o +} + +func (o ConfigManagementConfigSyncVersionResponseOutput) ToConfigManagementConfigSyncVersionResponseOutputWithContext(ctx context.Context) ConfigManagementConfigSyncVersionResponseOutput { + return o +} + +// Version of the deployed admission_webhook pod +func (o ConfigManagementConfigSyncVersionResponseOutput) AdmissionWebhook() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.AdmissionWebhook }).(pulumi.StringOutput) +} + +// Version of the deployed git-sync pod +func (o ConfigManagementConfigSyncVersionResponseOutput) GitSync() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.GitSync }).(pulumi.StringOutput) +} + +// Version of the deployed importer pod +func (o ConfigManagementConfigSyncVersionResponseOutput) Importer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.Importer }).(pulumi.StringOutput) +} + +// Version of the deployed monitor pod +func (o ConfigManagementConfigSyncVersionResponseOutput) Monitor() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.Monitor }).(pulumi.StringOutput) +} + +// Version of the deployed reconciler-manager pod +func (o ConfigManagementConfigSyncVersionResponseOutput) ReconcilerManager() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.ReconcilerManager }).(pulumi.StringOutput) +} + +// Version of the deployed reconciler container in root-reconciler pod +func (o ConfigManagementConfigSyncVersionResponseOutput) RootReconciler() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.RootReconciler }).(pulumi.StringOutput) +} + +// Version of the deployed syncer pod +func (o ConfigManagementConfigSyncVersionResponseOutput) Syncer() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementConfigSyncVersionResponse) string { return v.Syncer }).(pulumi.StringOutput) +} + +// Model for a config file in the git repo with an associated Sync error +type ConfigManagementErrorResourceResponse struct { + // Group/version/kind of the resource that is causing an error + ResourceGvk ConfigManagementGroupVersionKindResponse `pulumi:"resourceGvk"` + // Metadata name of the resource that is causing an error + ResourceName string `pulumi:"resourceName"` + // Namespace of the resource that is causing an error + ResourceNamespace string `pulumi:"resourceNamespace"` + // Path in the git repo of the erroneous config + SourcePath string `pulumi:"sourcePath"` +} + +// Model for a config file in the git repo with an associated Sync error +type ConfigManagementErrorResourceResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementErrorResourceResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementErrorResourceResponse)(nil)).Elem() +} + +func (o ConfigManagementErrorResourceResponseOutput) ToConfigManagementErrorResourceResponseOutput() ConfigManagementErrorResourceResponseOutput { + return o +} + +func (o ConfigManagementErrorResourceResponseOutput) ToConfigManagementErrorResourceResponseOutputWithContext(ctx context.Context) ConfigManagementErrorResourceResponseOutput { + return o +} + +// Group/version/kind of the resource that is causing an error +func (o ConfigManagementErrorResourceResponseOutput) ResourceGvk() ConfigManagementGroupVersionKindResponseOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) ConfigManagementGroupVersionKindResponse { + return v.ResourceGvk + }).(ConfigManagementGroupVersionKindResponseOutput) +} + +// Metadata name of the resource that is causing an error +func (o ConfigManagementErrorResourceResponseOutput) ResourceName() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) string { return v.ResourceName }).(pulumi.StringOutput) +} + +// Namespace of the resource that is causing an error +func (o ConfigManagementErrorResourceResponseOutput) ResourceNamespace() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) string { return v.ResourceNamespace }).(pulumi.StringOutput) +} + +// Path in the git repo of the erroneous config +func (o ConfigManagementErrorResourceResponseOutput) SourcePath() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementErrorResourceResponse) string { return v.SourcePath }).(pulumi.StringOutput) +} + +type ConfigManagementErrorResourceResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementErrorResourceResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementErrorResourceResponse)(nil)).Elem() +} + +func (o ConfigManagementErrorResourceResponseArrayOutput) ToConfigManagementErrorResourceResponseArrayOutput() ConfigManagementErrorResourceResponseArrayOutput { + return o +} + +func (o ConfigManagementErrorResourceResponseArrayOutput) ToConfigManagementErrorResourceResponseArrayOutputWithContext(ctx context.Context) ConfigManagementErrorResourceResponseArrayOutput { + return o +} + +func (o ConfigManagementErrorResourceResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementErrorResourceResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementErrorResourceResponse { + return vs[0].([]ConfigManagementErrorResourceResponse)[vs[1].(int)] + }).(ConfigManagementErrorResourceResponseOutput) +} + +// State of Policy Controller installation. +type ConfigManagementGatekeeperDeploymentStateResponse struct { + // Status of gatekeeper-audit deployment. + GatekeeperAudit string `pulumi:"gatekeeperAudit"` + // Status of gatekeeper-controller-manager pod. + GatekeeperControllerManagerState string `pulumi:"gatekeeperControllerManagerState"` + // Status of the pod serving the mutation webhook. + GatekeeperMutation string `pulumi:"gatekeeperMutation"` +} + +// State of Policy Controller installation. +type ConfigManagementGatekeeperDeploymentStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementGatekeeperDeploymentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementGatekeeperDeploymentStateResponse)(nil)).Elem() +} + +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) ToConfigManagementGatekeeperDeploymentStateResponseOutput() ConfigManagementGatekeeperDeploymentStateResponseOutput { + return o +} + +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) ToConfigManagementGatekeeperDeploymentStateResponseOutputWithContext(ctx context.Context) ConfigManagementGatekeeperDeploymentStateResponseOutput { + return o +} + +// Status of gatekeeper-audit deployment. +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) GatekeeperAudit() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGatekeeperDeploymentStateResponse) string { return v.GatekeeperAudit }).(pulumi.StringOutput) +} + +// Status of gatekeeper-controller-manager pod. +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) GatekeeperControllerManagerState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGatekeeperDeploymentStateResponse) string { + return v.GatekeeperControllerManagerState + }).(pulumi.StringOutput) +} + +// Status of the pod serving the mutation webhook. +func (o ConfigManagementGatekeeperDeploymentStateResponseOutput) GatekeeperMutation() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGatekeeperDeploymentStateResponse) string { return v.GatekeeperMutation }).(pulumi.StringOutput) +} + // Git repo configuration for a single cluster. type ConfigManagementGitConfig struct { // The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. @@ -3941,13 +4511,53 @@ func (o ConfigManagementGitConfigResponseOutput) SyncWaitSecs() pulumi.StringOut return o.ApplyT(func(v ConfigManagementGitConfigResponse) string { return v.SyncWaitSecs }).(pulumi.StringOutput) } -// Configuration for Hierarchy Controller -type ConfigManagementHierarchyControllerConfig struct { - // Whether hierarchical resource quota is enabled in this cluster. - EnableHierarchicalResourceQuota *bool `pulumi:"enableHierarchicalResourceQuota"` - // Whether pod tree labels are enabled in this cluster. - EnablePodTreeLabels *bool `pulumi:"enablePodTreeLabels"` - // Whether Hierarchy Controller is enabled in this cluster. +// A Kubernetes object's GVK +type ConfigManagementGroupVersionKindResponse struct { + // Kubernetes Group + Group string `pulumi:"group"` + // Kubernetes Kind + Kind string `pulumi:"kind"` + // Kubernetes Version + Version string `pulumi:"version"` +} + +// A Kubernetes object's GVK +type ConfigManagementGroupVersionKindResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementGroupVersionKindResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementGroupVersionKindResponse)(nil)).Elem() +} + +func (o ConfigManagementGroupVersionKindResponseOutput) ToConfigManagementGroupVersionKindResponseOutput() ConfigManagementGroupVersionKindResponseOutput { + return o +} + +func (o ConfigManagementGroupVersionKindResponseOutput) ToConfigManagementGroupVersionKindResponseOutputWithContext(ctx context.Context) ConfigManagementGroupVersionKindResponseOutput { + return o +} + +// Kubernetes Group +func (o ConfigManagementGroupVersionKindResponseOutput) Group() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGroupVersionKindResponse) string { return v.Group }).(pulumi.StringOutput) +} + +// Kubernetes Kind +func (o ConfigManagementGroupVersionKindResponseOutput) Kind() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGroupVersionKindResponse) string { return v.Kind }).(pulumi.StringOutput) +} + +// Kubernetes Version +func (o ConfigManagementGroupVersionKindResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementGroupVersionKindResponse) string { return v.Version }).(pulumi.StringOutput) +} + +// Configuration for Hierarchy Controller +type ConfigManagementHierarchyControllerConfig struct { + // Whether hierarchical resource quota is enabled in this cluster. + EnableHierarchicalResourceQuota *bool `pulumi:"enableHierarchicalResourceQuota"` + // Whether pod tree labels are enabled in this cluster. + EnablePodTreeLabels *bool `pulumi:"enablePodTreeLabels"` + // Whether Hierarchy Controller is enabled in this cluster. Enabled *bool `pulumi:"enabled"` } @@ -4161,6 +4771,155 @@ func (o ConfigManagementHierarchyControllerConfigResponseOutput) Enabled() pulum return o.ApplyT(func(v ConfigManagementHierarchyControllerConfigResponse) bool { return v.Enabled }).(pulumi.BoolOutput) } +// Deployment state for Hierarchy Controller +type ConfigManagementHierarchyControllerDeploymentStateResponse struct { + // The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + Extension string `pulumi:"extension"` + // The deployment state for open source HNC (e.g. v0.7.0-hc.0) + Hnc string `pulumi:"hnc"` +} + +// Deployment state for Hierarchy Controller +type ConfigManagementHierarchyControllerDeploymentStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementHierarchyControllerDeploymentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementHierarchyControllerDeploymentStateResponse)(nil)).Elem() +} + +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) ToConfigManagementHierarchyControllerDeploymentStateResponseOutput() ConfigManagementHierarchyControllerDeploymentStateResponseOutput { + return o +} + +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) ToConfigManagementHierarchyControllerDeploymentStateResponseOutputWithContext(ctx context.Context) ConfigManagementHierarchyControllerDeploymentStateResponseOutput { + return o +} + +// The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) Extension() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerDeploymentStateResponse) string { return v.Extension }).(pulumi.StringOutput) +} + +// The deployment state for open source HNC (e.g. v0.7.0-hc.0) +func (o ConfigManagementHierarchyControllerDeploymentStateResponseOutput) Hnc() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerDeploymentStateResponse) string { return v.Hnc }).(pulumi.StringOutput) +} + +// State for Hierarchy Controller +type ConfigManagementHierarchyControllerStateResponse struct { + // The deployment state for Hierarchy Controller + State ConfigManagementHierarchyControllerDeploymentStateResponse `pulumi:"state"` + // The version for Hierarchy Controller + Version ConfigManagementHierarchyControllerVersionResponse `pulumi:"version"` +} + +// State for Hierarchy Controller +type ConfigManagementHierarchyControllerStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementHierarchyControllerStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementHierarchyControllerStateResponse)(nil)).Elem() +} + +func (o ConfigManagementHierarchyControllerStateResponseOutput) ToConfigManagementHierarchyControllerStateResponseOutput() ConfigManagementHierarchyControllerStateResponseOutput { + return o +} + +func (o ConfigManagementHierarchyControllerStateResponseOutput) ToConfigManagementHierarchyControllerStateResponseOutputWithContext(ctx context.Context) ConfigManagementHierarchyControllerStateResponseOutput { + return o +} + +// The deployment state for Hierarchy Controller +func (o ConfigManagementHierarchyControllerStateResponseOutput) State() ConfigManagementHierarchyControllerDeploymentStateResponseOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerStateResponse) ConfigManagementHierarchyControllerDeploymentStateResponse { + return v.State + }).(ConfigManagementHierarchyControllerDeploymentStateResponseOutput) +} + +// The version for Hierarchy Controller +func (o ConfigManagementHierarchyControllerStateResponseOutput) Version() ConfigManagementHierarchyControllerVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerStateResponse) ConfigManagementHierarchyControllerVersionResponse { + return v.Version + }).(ConfigManagementHierarchyControllerVersionResponseOutput) +} + +// Version for Hierarchy Controller +type ConfigManagementHierarchyControllerVersionResponse struct { + // Version for Hierarchy Controller extension + Extension string `pulumi:"extension"` + // Version for open source HNC + Hnc string `pulumi:"hnc"` +} + +// Version for Hierarchy Controller +type ConfigManagementHierarchyControllerVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementHierarchyControllerVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementHierarchyControllerVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementHierarchyControllerVersionResponseOutput) ToConfigManagementHierarchyControllerVersionResponseOutput() ConfigManagementHierarchyControllerVersionResponseOutput { + return o +} + +func (o ConfigManagementHierarchyControllerVersionResponseOutput) ToConfigManagementHierarchyControllerVersionResponseOutputWithContext(ctx context.Context) ConfigManagementHierarchyControllerVersionResponseOutput { + return o +} + +// Version for Hierarchy Controller extension +func (o ConfigManagementHierarchyControllerVersionResponseOutput) Extension() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerVersionResponse) string { return v.Extension }).(pulumi.StringOutput) +} + +// Version for open source HNC +func (o ConfigManagementHierarchyControllerVersionResponseOutput) Hnc() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementHierarchyControllerVersionResponse) string { return v.Hnc }).(pulumi.StringOutput) +} + +// Errors pertaining to the installation of ACM +type ConfigManagementInstallErrorResponse struct { + // A string representing the user facing error message + ErrorMessage string `pulumi:"errorMessage"` +} + +// Errors pertaining to the installation of ACM +type ConfigManagementInstallErrorResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementInstallErrorResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementInstallErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementInstallErrorResponseOutput) ToConfigManagementInstallErrorResponseOutput() ConfigManagementInstallErrorResponseOutput { + return o +} + +func (o ConfigManagementInstallErrorResponseOutput) ToConfigManagementInstallErrorResponseOutputWithContext(ctx context.Context) ConfigManagementInstallErrorResponseOutput { + return o +} + +// A string representing the user facing error message +func (o ConfigManagementInstallErrorResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementInstallErrorResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +type ConfigManagementInstallErrorResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementInstallErrorResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementInstallErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementInstallErrorResponseArrayOutput) ToConfigManagementInstallErrorResponseArrayOutput() ConfigManagementInstallErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementInstallErrorResponseArrayOutput) ToConfigManagementInstallErrorResponseArrayOutputWithContext(ctx context.Context) ConfigManagementInstallErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementInstallErrorResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementInstallErrorResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementInstallErrorResponse { + return vs[0].([]ConfigManagementInstallErrorResponse)[vs[1].(int)] + }).(ConfigManagementInstallErrorResponseOutput) +} + // **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. type ConfigManagementMembershipSpec struct { // Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. @@ -4477,6 +5236,86 @@ func (o ConfigManagementMembershipSpecResponseOutput) Version() pulumi.StringOut return o.ApplyT(func(v ConfigManagementMembershipSpecResponse) string { return v.Version }).(pulumi.StringOutput) } +// **Anthos Config Management**: State for a single cluster. +type ConfigManagementMembershipStateResponse struct { + // Binauthz status + BinauthzState ConfigManagementBinauthzStateResponse `pulumi:"binauthzState"` + // This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + ClusterName string `pulumi:"clusterName"` + // Current sync status + ConfigSyncState ConfigManagementConfigSyncStateResponse `pulumi:"configSyncState"` + // Hierarchy Controller status + HierarchyControllerState ConfigManagementHierarchyControllerStateResponse `pulumi:"hierarchyControllerState"` + // Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + MembershipSpec ConfigManagementMembershipSpecResponse `pulumi:"membershipSpec"` + // Current install status of ACM's Operator + OperatorState ConfigManagementOperatorStateResponse `pulumi:"operatorState"` + // PolicyController status + PolicyControllerState ConfigManagementPolicyControllerStateResponse `pulumi:"policyControllerState"` +} + +// **Anthos Config Management**: State for a single cluster. +type ConfigManagementMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementMembershipStateResponse)(nil)).Elem() +} + +func (o ConfigManagementMembershipStateResponseOutput) ToConfigManagementMembershipStateResponseOutput() ConfigManagementMembershipStateResponseOutput { + return o +} + +func (o ConfigManagementMembershipStateResponseOutput) ToConfigManagementMembershipStateResponseOutputWithContext(ctx context.Context) ConfigManagementMembershipStateResponseOutput { + return o +} + +// Binauthz status +func (o ConfigManagementMembershipStateResponseOutput) BinauthzState() ConfigManagementBinauthzStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementBinauthzStateResponse { + return v.BinauthzState + }).(ConfigManagementBinauthzStateResponseOutput) +} + +// This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. +func (o ConfigManagementMembershipStateResponseOutput) ClusterName() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) string { return v.ClusterName }).(pulumi.StringOutput) +} + +// Current sync status +func (o ConfigManagementMembershipStateResponseOutput) ConfigSyncState() ConfigManagementConfigSyncStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementConfigSyncStateResponse { + return v.ConfigSyncState + }).(ConfigManagementConfigSyncStateResponseOutput) +} + +// Hierarchy Controller status +func (o ConfigManagementMembershipStateResponseOutput) HierarchyControllerState() ConfigManagementHierarchyControllerStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementHierarchyControllerStateResponse { + return v.HierarchyControllerState + }).(ConfigManagementHierarchyControllerStateResponseOutput) +} + +// Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state +func (o ConfigManagementMembershipStateResponseOutput) MembershipSpec() ConfigManagementMembershipSpecResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementMembershipSpecResponse { + return v.MembershipSpec + }).(ConfigManagementMembershipSpecResponseOutput) +} + +// Current install status of ACM's Operator +func (o ConfigManagementMembershipStateResponseOutput) OperatorState() ConfigManagementOperatorStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementOperatorStateResponse { + return v.OperatorState + }).(ConfigManagementOperatorStateResponseOutput) +} + +// PolicyController status +func (o ConfigManagementMembershipStateResponseOutput) PolicyControllerState() ConfigManagementPolicyControllerStateResponseOutput { + return o.ApplyT(func(v ConfigManagementMembershipStateResponse) ConfigManagementPolicyControllerStateResponse { + return v.PolicyControllerState + }).(ConfigManagementPolicyControllerStateResponseOutput) +} + // OCI repo configuration for a single cluster type ConfigManagementOciConfig struct { // The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. @@ -4747,6 +5586,46 @@ func (o ConfigManagementOciConfigResponseOutput) SyncWaitSecs() pulumi.StringOut return o.ApplyT(func(v ConfigManagementOciConfigResponse) string { return v.SyncWaitSecs }).(pulumi.StringOutput) } +// State information for an ACM's Operator +type ConfigManagementOperatorStateResponse struct { + // The state of the Operator's deployment + DeploymentState string `pulumi:"deploymentState"` + // Install errors. + Errors []ConfigManagementInstallErrorResponse `pulumi:"errors"` + // The semenatic version number of the operator + Version string `pulumi:"version"` +} + +// State information for an ACM's Operator +type ConfigManagementOperatorStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementOperatorStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementOperatorStateResponse)(nil)).Elem() +} + +func (o ConfigManagementOperatorStateResponseOutput) ToConfigManagementOperatorStateResponseOutput() ConfigManagementOperatorStateResponseOutput { + return o +} + +func (o ConfigManagementOperatorStateResponseOutput) ToConfigManagementOperatorStateResponseOutputWithContext(ctx context.Context) ConfigManagementOperatorStateResponseOutput { + return o +} + +// The state of the Operator's deployment +func (o ConfigManagementOperatorStateResponseOutput) DeploymentState() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementOperatorStateResponse) string { return v.DeploymentState }).(pulumi.StringOutput) +} + +// Install errors. +func (o ConfigManagementOperatorStateResponseOutput) Errors() ConfigManagementInstallErrorResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementOperatorStateResponse) []ConfigManagementInstallErrorResponse { return v.Errors }).(ConfigManagementInstallErrorResponseArrayOutput) +} + +// The semenatic version number of the operator +func (o ConfigManagementOperatorStateResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementOperatorStateResponse) string { return v.Version }).(pulumi.StringOutput) +} + // Configuration for Policy Controller type ConfigManagementPolicyController struct { // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. @@ -5022,6 +5901,39 @@ func (o ConfigManagementPolicyControllerPtrOutput) TemplateLibraryInstalled() pu }).(pulumi.BoolPtrOutput) } +// State for the migration of PolicyController from ACM -> PoCo Hub. +type ConfigManagementPolicyControllerMigrationResponse struct { + // Last time this membership spec was copied to PoCo feature. + CopyTime string `pulumi:"copyTime"` + // Stage of the migration. + Stage string `pulumi:"stage"` +} + +// State for the migration of PolicyController from ACM -> PoCo Hub. +type ConfigManagementPolicyControllerMigrationResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementPolicyControllerMigrationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementPolicyControllerMigrationResponse)(nil)).Elem() +} + +func (o ConfigManagementPolicyControllerMigrationResponseOutput) ToConfigManagementPolicyControllerMigrationResponseOutput() ConfigManagementPolicyControllerMigrationResponseOutput { + return o +} + +func (o ConfigManagementPolicyControllerMigrationResponseOutput) ToConfigManagementPolicyControllerMigrationResponseOutputWithContext(ctx context.Context) ConfigManagementPolicyControllerMigrationResponseOutput { + return o +} + +// Last time this membership spec was copied to PoCo feature. +func (o ConfigManagementPolicyControllerMigrationResponseOutput) CopyTime() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerMigrationResponse) string { return v.CopyTime }).(pulumi.StringOutput) +} + +// Stage of the migration. +func (o ConfigManagementPolicyControllerMigrationResponseOutput) Stage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerMigrationResponse) string { return v.Stage }).(pulumi.StringOutput) +} + // PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] type ConfigManagementPolicyControllerMonitoring struct { // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. @@ -5274,6 +6186,212 @@ func (o ConfigManagementPolicyControllerResponseOutput) UpdateTime() pulumi.Stri return o.ApplyT(func(v ConfigManagementPolicyControllerResponse) string { return v.UpdateTime }).(pulumi.StringOutput) } +// State for PolicyControllerState. +type ConfigManagementPolicyControllerStateResponse struct { + // The state about the policy controller installation. + DeploymentState ConfigManagementGatekeeperDeploymentStateResponse `pulumi:"deploymentState"` + // Record state of ACM -> PoCo Hub migration for this feature. + Migration ConfigManagementPolicyControllerMigrationResponse `pulumi:"migration"` + // The version of Gatekeeper Policy Controller deployed. + Version ConfigManagementPolicyControllerVersionResponse `pulumi:"version"` +} + +// State for PolicyControllerState. +type ConfigManagementPolicyControllerStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementPolicyControllerStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementPolicyControllerStateResponse)(nil)).Elem() +} + +func (o ConfigManagementPolicyControllerStateResponseOutput) ToConfigManagementPolicyControllerStateResponseOutput() ConfigManagementPolicyControllerStateResponseOutput { + return o +} + +func (o ConfigManagementPolicyControllerStateResponseOutput) ToConfigManagementPolicyControllerStateResponseOutputWithContext(ctx context.Context) ConfigManagementPolicyControllerStateResponseOutput { + return o +} + +// The state about the policy controller installation. +func (o ConfigManagementPolicyControllerStateResponseOutput) DeploymentState() ConfigManagementGatekeeperDeploymentStateResponseOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerStateResponse) ConfigManagementGatekeeperDeploymentStateResponse { + return v.DeploymentState + }).(ConfigManagementGatekeeperDeploymentStateResponseOutput) +} + +// Record state of ACM -> PoCo Hub migration for this feature. +func (o ConfigManagementPolicyControllerStateResponseOutput) Migration() ConfigManagementPolicyControllerMigrationResponseOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerStateResponse) ConfigManagementPolicyControllerMigrationResponse { + return v.Migration + }).(ConfigManagementPolicyControllerMigrationResponseOutput) +} + +// The version of Gatekeeper Policy Controller deployed. +func (o ConfigManagementPolicyControllerStateResponseOutput) Version() ConfigManagementPolicyControllerVersionResponseOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerStateResponse) ConfigManagementPolicyControllerVersionResponse { + return v.Version + }).(ConfigManagementPolicyControllerVersionResponseOutput) +} + +// The build version of Gatekeeper Policy Controller is using. +type ConfigManagementPolicyControllerVersionResponse struct { + // The gatekeeper image tag that is composed of ACM version, git tag, build number. + Version string `pulumi:"version"` +} + +// The build version of Gatekeeper Policy Controller is using. +type ConfigManagementPolicyControllerVersionResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementPolicyControllerVersionResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementPolicyControllerVersionResponse)(nil)).Elem() +} + +func (o ConfigManagementPolicyControllerVersionResponseOutput) ToConfigManagementPolicyControllerVersionResponseOutput() ConfigManagementPolicyControllerVersionResponseOutput { + return o +} + +func (o ConfigManagementPolicyControllerVersionResponseOutput) ToConfigManagementPolicyControllerVersionResponseOutputWithContext(ctx context.Context) ConfigManagementPolicyControllerVersionResponseOutput { + return o +} + +// The gatekeeper image tag that is composed of ACM version, git tag, build number. +func (o ConfigManagementPolicyControllerVersionResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementPolicyControllerVersionResponse) string { return v.Version }).(pulumi.StringOutput) +} + +// An ACM created error representing a problem syncing configurations +type ConfigManagementSyncErrorResponse struct { + // An ACM defined error code + Code string `pulumi:"code"` + // A description of the error + ErrorMessage string `pulumi:"errorMessage"` + // A list of config(s) associated with the error, if any + ErrorResources []ConfigManagementErrorResourceResponse `pulumi:"errorResources"` +} + +// An ACM created error representing a problem syncing configurations +type ConfigManagementSyncErrorResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementSyncErrorResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementSyncErrorResponseOutput) ToConfigManagementSyncErrorResponseOutput() ConfigManagementSyncErrorResponseOutput { + return o +} + +func (o ConfigManagementSyncErrorResponseOutput) ToConfigManagementSyncErrorResponseOutputWithContext(ctx context.Context) ConfigManagementSyncErrorResponseOutput { + return o +} + +// An ACM defined error code +func (o ConfigManagementSyncErrorResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncErrorResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// A description of the error +func (o ConfigManagementSyncErrorResponseOutput) ErrorMessage() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncErrorResponse) string { return v.ErrorMessage }).(pulumi.StringOutput) +} + +// A list of config(s) associated with the error, if any +func (o ConfigManagementSyncErrorResponseOutput) ErrorResources() ConfigManagementErrorResourceResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementSyncErrorResponse) []ConfigManagementErrorResourceResponse { + return v.ErrorResources + }).(ConfigManagementErrorResourceResponseArrayOutput) +} + +type ConfigManagementSyncErrorResponseArrayOutput struct{ *pulumi.OutputState } + +func (ConfigManagementSyncErrorResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigManagementSyncErrorResponse)(nil)).Elem() +} + +func (o ConfigManagementSyncErrorResponseArrayOutput) ToConfigManagementSyncErrorResponseArrayOutput() ConfigManagementSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementSyncErrorResponseArrayOutput) ToConfigManagementSyncErrorResponseArrayOutputWithContext(ctx context.Context) ConfigManagementSyncErrorResponseArrayOutput { + return o +} + +func (o ConfigManagementSyncErrorResponseArrayOutput) Index(i pulumi.IntInput) ConfigManagementSyncErrorResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigManagementSyncErrorResponse { + return vs[0].([]ConfigManagementSyncErrorResponse)[vs[1].(int)] + }).(ConfigManagementSyncErrorResponseOutput) +} + +// State indicating an ACM's progress syncing configurations to a cluster +type ConfigManagementSyncStateResponse struct { + // Sync status code + Code string `pulumi:"code"` + // A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + Errors []ConfigManagementSyncErrorResponse `pulumi:"errors"` + // Token indicating the state of the importer. + ImportToken string `pulumi:"importToken"` + // Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + // + // Deprecated: Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + LastSync string `pulumi:"lastSync"` + // Timestamp type of when ACM last successfully synced the repo + LastSyncTime string `pulumi:"lastSyncTime"` + // Token indicating the state of the repo. + SourceToken string `pulumi:"sourceToken"` + // Token indicating the state of the syncer. + SyncToken string `pulumi:"syncToken"` +} + +// State indicating an ACM's progress syncing configurations to a cluster +type ConfigManagementSyncStateResponseOutput struct{ *pulumi.OutputState } + +func (ConfigManagementSyncStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigManagementSyncStateResponse)(nil)).Elem() +} + +func (o ConfigManagementSyncStateResponseOutput) ToConfigManagementSyncStateResponseOutput() ConfigManagementSyncStateResponseOutput { + return o +} + +func (o ConfigManagementSyncStateResponseOutput) ToConfigManagementSyncStateResponseOutputWithContext(ctx context.Context) ConfigManagementSyncStateResponseOutput { + return o +} + +// Sync status code +func (o ConfigManagementSyncStateResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. +func (o ConfigManagementSyncStateResponseOutput) Errors() ConfigManagementSyncErrorResponseArrayOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) []ConfigManagementSyncErrorResponse { return v.Errors }).(ConfigManagementSyncErrorResponseArrayOutput) +} + +// Token indicating the state of the importer. +func (o ConfigManagementSyncStateResponseOutput) ImportToken() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.ImportToken }).(pulumi.StringOutput) +} + +// Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String +// +// Deprecated: Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String +func (o ConfigManagementSyncStateResponseOutput) LastSync() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.LastSync }).(pulumi.StringOutput) +} + +// Timestamp type of when ACM last successfully synced the repo +func (o ConfigManagementSyncStateResponseOutput) LastSyncTime() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.LastSyncTime }).(pulumi.StringOutput) +} + +// Token indicating the state of the repo. +func (o ConfigManagementSyncStateResponseOutput) SourceToken() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.SourceToken }).(pulumi.StringOutput) +} + +// Token indicating the state of the syncer. +func (o ConfigManagementSyncStateResponseOutput) SyncToken() pulumi.StringOutput { + return o.ApplyT(func(v ConfigManagementSyncStateResponse) string { return v.SyncToken }).(pulumi.StringOutput) +} + // DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet. type DefaultClusterConfig struct { // Optional. Enable/Disable binary authorization features for the cluster. @@ -6526,25 +7644,184 @@ func (o FleetObservabilityLoggingConfigResponseOutput) FleetScopeLogsConfig() Fl }).(FleetObservabilityRoutingConfigResponseOutput) } -// RoutingConfig configures the behaviour of fleet logging feature. -type FleetObservabilityRoutingConfig struct { - // mode configures the logs routing mode. - Mode *FleetObservabilityRoutingConfigMode `pulumi:"mode"` +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpec struct { } -// FleetObservabilityRoutingConfigInput is an input type that accepts FleetObservabilityRoutingConfigArgs and FleetObservabilityRoutingConfigOutput values. -// You can construct a concrete instance of `FleetObservabilityRoutingConfigInput` via: +// FleetObservabilityMembershipSpecInput is an input type that accepts FleetObservabilityMembershipSpecArgs and FleetObservabilityMembershipSpecOutput values. +// You can construct a concrete instance of `FleetObservabilityMembershipSpecInput` via: // -// FleetObservabilityRoutingConfigArgs{...} -type FleetObservabilityRoutingConfigInput interface { +// FleetObservabilityMembershipSpecArgs{...} +type FleetObservabilityMembershipSpecInput interface { pulumi.Input - ToFleetObservabilityRoutingConfigOutput() FleetObservabilityRoutingConfigOutput - ToFleetObservabilityRoutingConfigOutputWithContext(context.Context) FleetObservabilityRoutingConfigOutput + ToFleetObservabilityMembershipSpecOutput() FleetObservabilityMembershipSpecOutput + ToFleetObservabilityMembershipSpecOutputWithContext(context.Context) FleetObservabilityMembershipSpecOutput } -// RoutingConfig configures the behaviour of fleet logging feature. -type FleetObservabilityRoutingConfigArgs struct { +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecArgs struct { +} + +func (FleetObservabilityMembershipSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecOutput() FleetObservabilityMembershipSpecOutput { + return i.ToFleetObservabilityMembershipSpecOutputWithContext(context.Background()) +} + +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityMembershipSpecOutput) +} + +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return i.ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i FleetObservabilityMembershipSpecArgs) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityMembershipSpecOutput).ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx) +} + +// FleetObservabilityMembershipSpecPtrInput is an input type that accepts FleetObservabilityMembershipSpecArgs, FleetObservabilityMembershipSpecPtr and FleetObservabilityMembershipSpecPtrOutput values. +// You can construct a concrete instance of `FleetObservabilityMembershipSpecPtrInput` via: +// +// FleetObservabilityMembershipSpecArgs{...} +// +// or: +// +// nil +type FleetObservabilityMembershipSpecPtrInput interface { + pulumi.Input + + ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput + ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Context) FleetObservabilityMembershipSpecPtrOutput +} + +type fleetObservabilityMembershipSpecPtrType FleetObservabilityMembershipSpecArgs + +func FleetObservabilityMembershipSpecPtr(v *FleetObservabilityMembershipSpecArgs) FleetObservabilityMembershipSpecPtrInput { + return (*fleetObservabilityMembershipSpecPtrType)(v) +} + +func (*fleetObservabilityMembershipSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (i *fleetObservabilityMembershipSpecPtrType) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return i.ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (i *fleetObservabilityMembershipSpecPtrType) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FleetObservabilityMembershipSpecPtrOutput) +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecOutput() FleetObservabilityMembershipSpecOutput { + return o +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecOutput { + return o +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return o.ToFleetObservabilityMembershipSpecPtrOutputWithContext(context.Background()) +} + +func (o FleetObservabilityMembershipSpecOutput) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FleetObservabilityMembershipSpec) *FleetObservabilityMembershipSpec { + return &v + }).(FleetObservabilityMembershipSpecPtrOutput) +} + +type FleetObservabilityMembershipSpecPtrOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FleetObservabilityMembershipSpec)(nil)).Elem() +} + +func (o FleetObservabilityMembershipSpecPtrOutput) ToFleetObservabilityMembershipSpecPtrOutput() FleetObservabilityMembershipSpecPtrOutput { + return o +} + +func (o FleetObservabilityMembershipSpecPtrOutput) ToFleetObservabilityMembershipSpecPtrOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecPtrOutput { + return o +} + +func (o FleetObservabilityMembershipSpecPtrOutput) Elem() FleetObservabilityMembershipSpecOutput { + return o.ApplyT(func(v *FleetObservabilityMembershipSpec) FleetObservabilityMembershipSpec { + if v != nil { + return *v + } + var ret FleetObservabilityMembershipSpec + return ret + }).(FleetObservabilityMembershipSpecOutput) +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecResponse struct { +} + +// **FleetObservability**: The membership-specific input for FleetObservability feature. +type FleetObservabilityMembershipSpecResponseOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipSpecResponse)(nil)).Elem() +} + +func (o FleetObservabilityMembershipSpecResponseOutput) ToFleetObservabilityMembershipSpecResponseOutput() FleetObservabilityMembershipSpecResponseOutput { + return o +} + +func (o FleetObservabilityMembershipSpecResponseOutput) ToFleetObservabilityMembershipSpecResponseOutputWithContext(ctx context.Context) FleetObservabilityMembershipSpecResponseOutput { + return o +} + +// **FleetObservability**: Membership-specific Feature state for fleetobservability. +type FleetObservabilityMembershipStateResponse struct { +} + +// **FleetObservability**: Membership-specific Feature state for fleetobservability. +type FleetObservabilityMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (FleetObservabilityMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FleetObservabilityMembershipStateResponse)(nil)).Elem() +} + +func (o FleetObservabilityMembershipStateResponseOutput) ToFleetObservabilityMembershipStateResponseOutput() FleetObservabilityMembershipStateResponseOutput { + return o +} + +func (o FleetObservabilityMembershipStateResponseOutput) ToFleetObservabilityMembershipStateResponseOutputWithContext(ctx context.Context) FleetObservabilityMembershipStateResponseOutput { + return o +} + +// RoutingConfig configures the behaviour of fleet logging feature. +type FleetObservabilityRoutingConfig struct { + // mode configures the logs routing mode. + Mode *FleetObservabilityRoutingConfigMode `pulumi:"mode"` +} + +// FleetObservabilityRoutingConfigInput is an input type that accepts FleetObservabilityRoutingConfigArgs and FleetObservabilityRoutingConfigOutput values. +// You can construct a concrete instance of `FleetObservabilityRoutingConfigInput` via: +// +// FleetObservabilityRoutingConfigArgs{...} +type FleetObservabilityRoutingConfigInput interface { + pulumi.Input + + ToFleetObservabilityRoutingConfigOutput() FleetObservabilityRoutingConfigOutput + ToFleetObservabilityRoutingConfigOutputWithContext(context.Context) FleetObservabilityRoutingConfigOutput +} + +// RoutingConfig configures the behaviour of fleet logging feature. +type FleetObservabilityRoutingConfigArgs struct { // mode configures the logs routing mode. Mode FleetObservabilityRoutingConfigModePtrInput `pulumi:"mode"` } @@ -7660,6 +8937,55 @@ func (o IdentityServiceMembershipSpecResponseOutput) AuthMethods() IdentityServi }).(IdentityServiceAuthMethodResponseArrayOutput) } +// **Anthos Identity Service**: State for a single Membership. +type IdentityServiceMembershipStateResponse struct { + // The reason of the failure. + FailureReason string `pulumi:"failureReason"` + // Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + InstalledVersion string `pulumi:"installedVersion"` + // Last reconciled membership configuration + MemberConfig IdentityServiceMembershipSpecResponse `pulumi:"memberConfig"` + // Deployment state on this member + State string `pulumi:"state"` +} + +// **Anthos Identity Service**: State for a single Membership. +type IdentityServiceMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (IdentityServiceMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*IdentityServiceMembershipStateResponse)(nil)).Elem() +} + +func (o IdentityServiceMembershipStateResponseOutput) ToIdentityServiceMembershipStateResponseOutput() IdentityServiceMembershipStateResponseOutput { + return o +} + +func (o IdentityServiceMembershipStateResponseOutput) ToIdentityServiceMembershipStateResponseOutputWithContext(ctx context.Context) IdentityServiceMembershipStateResponseOutput { + return o +} + +// The reason of the failure. +func (o IdentityServiceMembershipStateResponseOutput) FailureReason() pulumi.StringOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) string { return v.FailureReason }).(pulumi.StringOutput) +} + +// Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. +func (o IdentityServiceMembershipStateResponseOutput) InstalledVersion() pulumi.StringOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) string { return v.InstalledVersion }).(pulumi.StringOutput) +} + +// Last reconciled membership configuration +func (o IdentityServiceMembershipStateResponseOutput) MemberConfig() IdentityServiceMembershipSpecResponseOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) IdentityServiceMembershipSpecResponse { + return v.MemberConfig + }).(IdentityServiceMembershipSpecResponseOutput) +} + +// Deployment state on this member +func (o IdentityServiceMembershipStateResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v IdentityServiceMembershipStateResponse) string { return v.State }).(pulumi.StringOutput) +} + // Configuration for OIDC Auth flow. type IdentityServiceOidcConfig struct { // PEM-encoded CA for OIDC provider. @@ -8748,2036 +10074,3708 @@ func (o MembershipEndpointResponseOutput) OnPremCluster() OnPremClusterResponseO return o.ApplyT(func(v MembershipEndpointResponse) OnPremClusterResponse { return v.OnPremCluster }).(OnPremClusterResponseOutput) } -// MembershipState describes the state of a Membership resource. -type MembershipStateResponse struct { - // The current state of the Membership resource. - Code string `pulumi:"code"` +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpec struct { + // Anthos Observability-specific spec + Anthosobservability *AnthosObservabilityMembershipSpec `pulumi:"anthosobservability"` + // Cloud Build-specific spec + Cloudbuild *MembershipSpec `pulumi:"cloudbuild"` + // Config Management-specific spec. + Configmanagement *ConfigManagementMembershipSpec `pulumi:"configmanagement"` + // Fleet observability membership spec + Fleetobservability *FleetObservabilityMembershipSpec `pulumi:"fleetobservability"` + // Identity Service-specific spec. + Identityservice *IdentityServiceMembershipSpec `pulumi:"identityservice"` + // Anthos Service Mesh-specific spec + Mesh *ServiceMeshMembershipSpec `pulumi:"mesh"` + // Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + Origin *Origin `pulumi:"origin"` + // Policy Controller spec. + Policycontroller *PolicyControllerMembershipSpec `pulumi:"policycontroller"` } -// MembershipState describes the state of a Membership resource. -type MembershipStateResponseOutput struct{ *pulumi.OutputState } +// MembershipFeatureSpecInput is an input type that accepts MembershipFeatureSpecArgs and MembershipFeatureSpecOutput values. +// You can construct a concrete instance of `MembershipFeatureSpecInput` via: +// +// MembershipFeatureSpecArgs{...} +type MembershipFeatureSpecInput interface { + pulumi.Input -func (MembershipStateResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MembershipStateResponse)(nil)).Elem() + ToMembershipFeatureSpecOutput() MembershipFeatureSpecOutput + ToMembershipFeatureSpecOutputWithContext(context.Context) MembershipFeatureSpecOutput } -func (o MembershipStateResponseOutput) ToMembershipStateResponseOutput() MembershipStateResponseOutput { - return o +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecArgs struct { + // Anthos Observability-specific spec + Anthosobservability AnthosObservabilityMembershipSpecPtrInput `pulumi:"anthosobservability"` + // Cloud Build-specific spec + Cloudbuild MembershipSpecPtrInput `pulumi:"cloudbuild"` + // Config Management-specific spec. + Configmanagement ConfigManagementMembershipSpecPtrInput `pulumi:"configmanagement"` + // Fleet observability membership spec + Fleetobservability FleetObservabilityMembershipSpecPtrInput `pulumi:"fleetobservability"` + // Identity Service-specific spec. + Identityservice IdentityServiceMembershipSpecPtrInput `pulumi:"identityservice"` + // Anthos Service Mesh-specific spec + Mesh ServiceMeshMembershipSpecPtrInput `pulumi:"mesh"` + // Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + Origin OriginPtrInput `pulumi:"origin"` + // Policy Controller spec. + Policycontroller PolicyControllerMembershipSpecPtrInput `pulumi:"policycontroller"` } -func (o MembershipStateResponseOutput) ToMembershipStateResponseOutputWithContext(ctx context.Context) MembershipStateResponseOutput { - return o +func (MembershipFeatureSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureSpec)(nil)).Elem() } -// The current state of the Membership resource. -func (o MembershipStateResponseOutput) Code() pulumi.StringOutput { - return o.ApplyT(func(v MembershipStateResponse) string { return v.Code }).(pulumi.StringOutput) +func (i MembershipFeatureSpecArgs) ToMembershipFeatureSpecOutput() MembershipFeatureSpecOutput { + return i.ToMembershipFeatureSpecOutputWithContext(context.Background()) } -// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. -type MonitoringConfig struct { - // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". - Cluster *string `pulumi:"cluster"` - // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. - ClusterHash *string `pulumi:"clusterHash"` - // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. - KubernetesMetricsPrefix *string `pulumi:"kubernetesMetricsPrefix"` - // Optional. Location used to report Metrics - Location *string `pulumi:"location"` - // Optional. Project used to report Metrics - Project *string `pulumi:"project"` +func (i MembershipFeatureSpecArgs) ToMembershipFeatureSpecOutputWithContext(ctx context.Context) MembershipFeatureSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipFeatureSpecOutput) } -// MonitoringConfigInput is an input type that accepts MonitoringConfigArgs and MonitoringConfigOutput values. -// You can construct a concrete instance of `MonitoringConfigInput` via: +// MembershipFeatureSpecMapInput is an input type that accepts MembershipFeatureSpecMap and MembershipFeatureSpecMapOutput values. +// You can construct a concrete instance of `MembershipFeatureSpecMapInput` via: // -// MonitoringConfigArgs{...} -type MonitoringConfigInput interface { +// MembershipFeatureSpecMap{ "key": MembershipFeatureSpecArgs{...} } +type MembershipFeatureSpecMapInput interface { pulumi.Input - ToMonitoringConfigOutput() MonitoringConfigOutput - ToMonitoringConfigOutputWithContext(context.Context) MonitoringConfigOutput + ToMembershipFeatureSpecMapOutput() MembershipFeatureSpecMapOutput + ToMembershipFeatureSpecMapOutputWithContext(context.Context) MembershipFeatureSpecMapOutput } -// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. -type MonitoringConfigArgs struct { - // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". - Cluster pulumi.StringPtrInput `pulumi:"cluster"` - // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. - ClusterHash pulumi.StringPtrInput `pulumi:"clusterHash"` - // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. - KubernetesMetricsPrefix pulumi.StringPtrInput `pulumi:"kubernetesMetricsPrefix"` - // Optional. Location used to report Metrics - Location pulumi.StringPtrInput `pulumi:"location"` - // Optional. Project used to report Metrics - Project pulumi.StringPtrInput `pulumi:"project"` +type MembershipFeatureSpecMap map[string]MembershipFeatureSpecInput + +func (MembershipFeatureSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureSpec)(nil)).Elem() } -func (MonitoringConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MonitoringConfig)(nil)).Elem() +func (i MembershipFeatureSpecMap) ToMembershipFeatureSpecMapOutput() MembershipFeatureSpecMapOutput { + return i.ToMembershipFeatureSpecMapOutputWithContext(context.Background()) } -func (i MonitoringConfigArgs) ToMonitoringConfigOutput() MonitoringConfigOutput { - return i.ToMonitoringConfigOutputWithContext(context.Background()) +func (i MembershipFeatureSpecMap) ToMembershipFeatureSpecMapOutputWithContext(ctx context.Context) MembershipFeatureSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipFeatureSpecMapOutput) } -func (i MonitoringConfigArgs) ToMonitoringConfigOutputWithContext(ctx context.Context) MonitoringConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigOutput) +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureSpec)(nil)).Elem() } -func (i MonitoringConfigArgs) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { - return i.ToMonitoringConfigPtrOutputWithContext(context.Background()) +func (o MembershipFeatureSpecOutput) ToMembershipFeatureSpecOutput() MembershipFeatureSpecOutput { + return o } -func (i MonitoringConfigArgs) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigOutput).ToMonitoringConfigPtrOutputWithContext(ctx) +func (o MembershipFeatureSpecOutput) ToMembershipFeatureSpecOutputWithContext(ctx context.Context) MembershipFeatureSpecOutput { + return o } -// MonitoringConfigPtrInput is an input type that accepts MonitoringConfigArgs, MonitoringConfigPtr and MonitoringConfigPtrOutput values. -// You can construct a concrete instance of `MonitoringConfigPtrInput` via: -// -// MonitoringConfigArgs{...} -// -// or: -// -// nil -type MonitoringConfigPtrInput interface { - pulumi.Input +// Anthos Observability-specific spec +func (o MembershipFeatureSpecOutput) Anthosobservability() AnthosObservabilityMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *AnthosObservabilityMembershipSpec { return v.Anthosobservability }).(AnthosObservabilityMembershipSpecPtrOutput) +} - ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput - ToMonitoringConfigPtrOutputWithContext(context.Context) MonitoringConfigPtrOutput +// Cloud Build-specific spec +func (o MembershipFeatureSpecOutput) Cloudbuild() MembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *MembershipSpec { return v.Cloudbuild }).(MembershipSpecPtrOutput) } -type monitoringConfigPtrType MonitoringConfigArgs +// Config Management-specific spec. +func (o MembershipFeatureSpecOutput) Configmanagement() ConfigManagementMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *ConfigManagementMembershipSpec { return v.Configmanagement }).(ConfigManagementMembershipSpecPtrOutput) +} -func MonitoringConfigPtr(v *MonitoringConfigArgs) MonitoringConfigPtrInput { - return (*monitoringConfigPtrType)(v) +// Fleet observability membership spec +func (o MembershipFeatureSpecOutput) Fleetobservability() FleetObservabilityMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *FleetObservabilityMembershipSpec { return v.Fleetobservability }).(FleetObservabilityMembershipSpecPtrOutput) } -func (*monitoringConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MonitoringConfig)(nil)).Elem() +// Identity Service-specific spec. +func (o MembershipFeatureSpecOutput) Identityservice() IdentityServiceMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *IdentityServiceMembershipSpec { return v.Identityservice }).(IdentityServiceMembershipSpecPtrOutput) } -func (i *monitoringConfigPtrType) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { - return i.ToMonitoringConfigPtrOutputWithContext(context.Background()) +// Anthos Service Mesh-specific spec +func (o MembershipFeatureSpecOutput) Mesh() ServiceMeshMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *ServiceMeshMembershipSpec { return v.Mesh }).(ServiceMeshMembershipSpecPtrOutput) } -func (i *monitoringConfigPtrType) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigPtrOutput) +// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. +func (o MembershipFeatureSpecOutput) Origin() OriginPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *Origin { return v.Origin }).(OriginPtrOutput) } -// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. -type MonitoringConfigOutput struct{ *pulumi.OutputState } +// Policy Controller spec. +func (o MembershipFeatureSpecOutput) Policycontroller() PolicyControllerMembershipSpecPtrOutput { + return o.ApplyT(func(v MembershipFeatureSpec) *PolicyControllerMembershipSpec { return v.Policycontroller }).(PolicyControllerMembershipSpecPtrOutput) +} -func (MonitoringConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MonitoringConfig)(nil)).Elem() +type MembershipFeatureSpecMapOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureSpec)(nil)).Elem() } -func (o MonitoringConfigOutput) ToMonitoringConfigOutput() MonitoringConfigOutput { +func (o MembershipFeatureSpecMapOutput) ToMembershipFeatureSpecMapOutput() MembershipFeatureSpecMapOutput { return o } -func (o MonitoringConfigOutput) ToMonitoringConfigOutputWithContext(ctx context.Context) MonitoringConfigOutput { +func (o MembershipFeatureSpecMapOutput) ToMembershipFeatureSpecMapOutputWithContext(ctx context.Context) MembershipFeatureSpecMapOutput { return o } -func (o MonitoringConfigOutput) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { - return o.ToMonitoringConfigPtrOutputWithContext(context.Background()) +func (o MembershipFeatureSpecMapOutput) MapIndex(k pulumi.StringInput) MembershipFeatureSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) MembershipFeatureSpec { + return vs[0].(map[string]MembershipFeatureSpec)[vs[1].(string)] + }).(MembershipFeatureSpecOutput) } -func (o MonitoringConfigOutput) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MonitoringConfig) *MonitoringConfig { - return &v - }).(MonitoringConfigPtrOutput) +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecResponse struct { + // Anthos Observability-specific spec + Anthosobservability AnthosObservabilityMembershipSpecResponse `pulumi:"anthosobservability"` + // Cloud Build-specific spec + Cloudbuild MembershipSpecResponse `pulumi:"cloudbuild"` + // Config Management-specific spec. + Configmanagement ConfigManagementMembershipSpecResponse `pulumi:"configmanagement"` + // Fleet observability membership spec + Fleetobservability FleetObservabilityMembershipSpecResponse `pulumi:"fleetobservability"` + // Identity Service-specific spec. + Identityservice IdentityServiceMembershipSpecResponse `pulumi:"identityservice"` + // Anthos Service Mesh-specific spec + Mesh ServiceMeshMembershipSpecResponse `pulumi:"mesh"` + // Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + Origin OriginResponse `pulumi:"origin"` + // Policy Controller spec. + Policycontroller PolicyControllerMembershipSpecResponse `pulumi:"policycontroller"` } -// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". -func (o MonitoringConfigOutput) Cluster() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitoringConfig) *string { return v.Cluster }).(pulumi.StringPtrOutput) +// MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. +type MembershipFeatureSpecResponseOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureSpecResponse)(nil)).Elem() } -// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. -func (o MonitoringConfigOutput) ClusterHash() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitoringConfig) *string { return v.ClusterHash }).(pulumi.StringPtrOutput) +func (o MembershipFeatureSpecResponseOutput) ToMembershipFeatureSpecResponseOutput() MembershipFeatureSpecResponseOutput { + return o } -// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. -func (o MonitoringConfigOutput) KubernetesMetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitoringConfig) *string { return v.KubernetesMetricsPrefix }).(pulumi.StringPtrOutput) +func (o MembershipFeatureSpecResponseOutput) ToMembershipFeatureSpecResponseOutputWithContext(ctx context.Context) MembershipFeatureSpecResponseOutput { + return o } -// Optional. Location used to report Metrics -func (o MonitoringConfigOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitoringConfig) *string { return v.Location }).(pulumi.StringPtrOutput) +// Anthos Observability-specific spec +func (o MembershipFeatureSpecResponseOutput) Anthosobservability() AnthosObservabilityMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) AnthosObservabilityMembershipSpecResponse { + return v.Anthosobservability + }).(AnthosObservabilityMembershipSpecResponseOutput) } -// Optional. Project used to report Metrics -func (o MonitoringConfigOutput) Project() pulumi.StringPtrOutput { - return o.ApplyT(func(v MonitoringConfig) *string { return v.Project }).(pulumi.StringPtrOutput) +// Cloud Build-specific spec +func (o MembershipFeatureSpecResponseOutput) Cloudbuild() MembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) MembershipSpecResponse { return v.Cloudbuild }).(MembershipSpecResponseOutput) } -type MonitoringConfigPtrOutput struct{ *pulumi.OutputState } +// Config Management-specific spec. +func (o MembershipFeatureSpecResponseOutput) Configmanagement() ConfigManagementMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) ConfigManagementMembershipSpecResponse { + return v.Configmanagement + }).(ConfigManagementMembershipSpecResponseOutput) +} -func (MonitoringConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MonitoringConfig)(nil)).Elem() +// Fleet observability membership spec +func (o MembershipFeatureSpecResponseOutput) Fleetobservability() FleetObservabilityMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) FleetObservabilityMembershipSpecResponse { + return v.Fleetobservability + }).(FleetObservabilityMembershipSpecResponseOutput) } -func (o MonitoringConfigPtrOutput) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { - return o +// Identity Service-specific spec. +func (o MembershipFeatureSpecResponseOutput) Identityservice() IdentityServiceMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) IdentityServiceMembershipSpecResponse { return v.Identityservice }).(IdentityServiceMembershipSpecResponseOutput) } -func (o MonitoringConfigPtrOutput) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { - return o +// Anthos Service Mesh-specific spec +func (o MembershipFeatureSpecResponseOutput) Mesh() ServiceMeshMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) ServiceMeshMembershipSpecResponse { return v.Mesh }).(ServiceMeshMembershipSpecResponseOutput) } -func (o MonitoringConfigPtrOutput) Elem() MonitoringConfigOutput { - return o.ApplyT(func(v *MonitoringConfig) MonitoringConfig { - if v != nil { - return *v - } - var ret MonitoringConfig - return ret - }).(MonitoringConfigOutput) +// Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. +func (o MembershipFeatureSpecResponseOutput) Origin() OriginResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) OriginResponse { return v.Origin }).(OriginResponseOutput) } -// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". -func (o MonitoringConfigPtrOutput) Cluster() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MonitoringConfig) *string { - if v == nil { - return nil - } - return v.Cluster - }).(pulumi.StringPtrOutput) +// Policy Controller spec. +func (o MembershipFeatureSpecResponseOutput) Policycontroller() PolicyControllerMembershipSpecResponseOutput { + return o.ApplyT(func(v MembershipFeatureSpecResponse) PolicyControllerMembershipSpecResponse { + return v.Policycontroller + }).(PolicyControllerMembershipSpecResponseOutput) } -// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. -func (o MonitoringConfigPtrOutput) ClusterHash() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MonitoringConfig) *string { - if v == nil { - return nil - } - return v.ClusterHash - }).(pulumi.StringPtrOutput) +type MembershipFeatureSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureSpecResponse)(nil)).Elem() } -// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. -func (o MonitoringConfigPtrOutput) KubernetesMetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MonitoringConfig) *string { - if v == nil { - return nil - } - return v.KubernetesMetricsPrefix - }).(pulumi.StringPtrOutput) +func (o MembershipFeatureSpecResponseMapOutput) ToMembershipFeatureSpecResponseMapOutput() MembershipFeatureSpecResponseMapOutput { + return o } -// Optional. Location used to report Metrics -func (o MonitoringConfigPtrOutput) Location() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MonitoringConfig) *string { - if v == nil { - return nil - } - return v.Location - }).(pulumi.StringPtrOutput) +func (o MembershipFeatureSpecResponseMapOutput) ToMembershipFeatureSpecResponseMapOutputWithContext(ctx context.Context) MembershipFeatureSpecResponseMapOutput { + return o } -// Optional. Project used to report Metrics -func (o MonitoringConfigPtrOutput) Project() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MonitoringConfig) *string { - if v == nil { - return nil - } - return v.Project - }).(pulumi.StringPtrOutput) +func (o MembershipFeatureSpecResponseMapOutput) MapIndex(k pulumi.StringInput) MembershipFeatureSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) MembershipFeatureSpecResponse { + return vs[0].(map[string]MembershipFeatureSpecResponse)[vs[1].(string)] + }).(MembershipFeatureSpecResponseOutput) } -// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. -type MonitoringConfigResponse struct { - // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". - Cluster string `pulumi:"cluster"` - // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. - ClusterHash string `pulumi:"clusterHash"` - // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. - KubernetesMetricsPrefix string `pulumi:"kubernetesMetricsPrefix"` - // Optional. Location used to report Metrics - Location string `pulumi:"location"` - // Optional. Project used to report Metrics - Project string `pulumi:"project"` +// MembershipFeatureState contains Feature status information for a single Membership. +type MembershipFeatureStateResponse struct { + // Appdevexperience specific state. + Appdevexperience AppDevExperienceFeatureStateResponse `pulumi:"appdevexperience"` + // ClusterUpgrade state. + Clusterupgrade ClusterUpgradeMembershipStateResponse `pulumi:"clusterupgrade"` + // Config Management-specific state. + Configmanagement ConfigManagementMembershipStateResponse `pulumi:"configmanagement"` + // Fleet observability membership state. + Fleetobservability FleetObservabilityMembershipStateResponse `pulumi:"fleetobservability"` + // Identity Service-specific state. + Identityservice IdentityServiceMembershipStateResponse `pulumi:"identityservice"` + // Metering-specific state. + Metering MeteringMembershipStateResponse `pulumi:"metering"` + // Policycontroller-specific state. + Policycontroller PolicyControllerMembershipStateResponse `pulumi:"policycontroller"` + // Service Mesh-specific state. + Servicemesh ServiceMeshMembershipStateResponse `pulumi:"servicemesh"` + // The high-level state of this Feature for a single membership. + State FeatureStateResponse `pulumi:"state"` } -// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. -type MonitoringConfigResponseOutput struct{ *pulumi.OutputState } +// MembershipFeatureState contains Feature status information for a single Membership. +type MembershipFeatureStateResponseOutput struct{ *pulumi.OutputState } -func (MonitoringConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MonitoringConfigResponse)(nil)).Elem() +func (MembershipFeatureStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipFeatureStateResponse)(nil)).Elem() } -func (o MonitoringConfigResponseOutput) ToMonitoringConfigResponseOutput() MonitoringConfigResponseOutput { +func (o MembershipFeatureStateResponseOutput) ToMembershipFeatureStateResponseOutput() MembershipFeatureStateResponseOutput { return o } -func (o MonitoringConfigResponseOutput) ToMonitoringConfigResponseOutputWithContext(ctx context.Context) MonitoringConfigResponseOutput { +func (o MembershipFeatureStateResponseOutput) ToMembershipFeatureStateResponseOutputWithContext(ctx context.Context) MembershipFeatureStateResponseOutput { return o } -// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". -func (o MonitoringConfigResponseOutput) Cluster() pulumi.StringOutput { - return o.ApplyT(func(v MonitoringConfigResponse) string { return v.Cluster }).(pulumi.StringOutput) +// Appdevexperience specific state. +func (o MembershipFeatureStateResponseOutput) Appdevexperience() AppDevExperienceFeatureStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) AppDevExperienceFeatureStateResponse { return v.Appdevexperience }).(AppDevExperienceFeatureStateResponseOutput) } -// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. -func (o MonitoringConfigResponseOutput) ClusterHash() pulumi.StringOutput { - return o.ApplyT(func(v MonitoringConfigResponse) string { return v.ClusterHash }).(pulumi.StringOutput) +// ClusterUpgrade state. +func (o MembershipFeatureStateResponseOutput) Clusterupgrade() ClusterUpgradeMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) ClusterUpgradeMembershipStateResponse { return v.Clusterupgrade }).(ClusterUpgradeMembershipStateResponseOutput) } -// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. -func (o MonitoringConfigResponseOutput) KubernetesMetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v MonitoringConfigResponse) string { return v.KubernetesMetricsPrefix }).(pulumi.StringOutput) +// Config Management-specific state. +func (o MembershipFeatureStateResponseOutput) Configmanagement() ConfigManagementMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) ConfigManagementMembershipStateResponse { + return v.Configmanagement + }).(ConfigManagementMembershipStateResponseOutput) } -// Optional. Location used to report Metrics -func (o MonitoringConfigResponseOutput) Location() pulumi.StringOutput { - return o.ApplyT(func(v MonitoringConfigResponse) string { return v.Location }).(pulumi.StringOutput) +// Fleet observability membership state. +func (o MembershipFeatureStateResponseOutput) Fleetobservability() FleetObservabilityMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) FleetObservabilityMembershipStateResponse { + return v.Fleetobservability + }).(FleetObservabilityMembershipStateResponseOutput) } -// Optional. Project used to report Metrics -func (o MonitoringConfigResponseOutput) Project() pulumi.StringOutput { - return o.ApplyT(func(v MonitoringConfigResponse) string { return v.Project }).(pulumi.StringOutput) +// Identity Service-specific state. +func (o MembershipFeatureStateResponseOutput) Identityservice() IdentityServiceMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) IdentityServiceMembershipStateResponse { + return v.Identityservice + }).(IdentityServiceMembershipStateResponseOutput) } -// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. -type MultiCloudCluster struct { - // Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster - ResourceLink *string `pulumi:"resourceLink"` +// Metering-specific state. +func (o MembershipFeatureStateResponseOutput) Metering() MeteringMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) MeteringMembershipStateResponse { return v.Metering }).(MeteringMembershipStateResponseOutput) } -// MultiCloudClusterInput is an input type that accepts MultiCloudClusterArgs and MultiCloudClusterOutput values. -// You can construct a concrete instance of `MultiCloudClusterInput` via: +// Policycontroller-specific state. +func (o MembershipFeatureStateResponseOutput) Policycontroller() PolicyControllerMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) PolicyControllerMembershipStateResponse { + return v.Policycontroller + }).(PolicyControllerMembershipStateResponseOutput) +} + +// Service Mesh-specific state. +func (o MembershipFeatureStateResponseOutput) Servicemesh() ServiceMeshMembershipStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) ServiceMeshMembershipStateResponse { return v.Servicemesh }).(ServiceMeshMembershipStateResponseOutput) +} + +// The high-level state of this Feature for a single membership. +func (o MembershipFeatureStateResponseOutput) State() FeatureStateResponseOutput { + return o.ApplyT(func(v MembershipFeatureStateResponse) FeatureStateResponse { return v.State }).(FeatureStateResponseOutput) +} + +type MembershipFeatureStateResponseMapOutput struct{ *pulumi.OutputState } + +func (MembershipFeatureStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]MembershipFeatureStateResponse)(nil)).Elem() +} + +func (o MembershipFeatureStateResponseMapOutput) ToMembershipFeatureStateResponseMapOutput() MembershipFeatureStateResponseMapOutput { + return o +} + +func (o MembershipFeatureStateResponseMapOutput) ToMembershipFeatureStateResponseMapOutputWithContext(ctx context.Context) MembershipFeatureStateResponseMapOutput { + return o +} + +func (o MembershipFeatureStateResponseMapOutput) MapIndex(k pulumi.StringInput) MembershipFeatureStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) MembershipFeatureStateResponse { + return vs[0].(map[string]MembershipFeatureStateResponse)[vs[1].(string)] + }).(MembershipFeatureStateResponseOutput) +} + +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type MembershipSpec struct { + // Whether it is allowed to run the privileged builds on the cluster or not. + SecurityPolicy *MembershipSpecSecurityPolicy `pulumi:"securityPolicy"` + // Version of the cloud build software on the cluster. + Version *string `pulumi:"version"` +} + +// MembershipSpecInput is an input type that accepts MembershipSpecArgs and MembershipSpecOutput values. +// You can construct a concrete instance of `MembershipSpecInput` via: // -// MultiCloudClusterArgs{...} -type MultiCloudClusterInput interface { +// MembershipSpecArgs{...} +type MembershipSpecInput interface { pulumi.Input - ToMultiCloudClusterOutput() MultiCloudClusterOutput - ToMultiCloudClusterOutputWithContext(context.Context) MultiCloudClusterOutput + ToMembershipSpecOutput() MembershipSpecOutput + ToMembershipSpecOutputWithContext(context.Context) MembershipSpecOutput } -// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. -type MultiCloudClusterArgs struct { - // Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster - ResourceLink pulumi.StringPtrInput `pulumi:"resourceLink"` +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type MembershipSpecArgs struct { + // Whether it is allowed to run the privileged builds on the cluster or not. + SecurityPolicy MembershipSpecSecurityPolicyPtrInput `pulumi:"securityPolicy"` + // Version of the cloud build software on the cluster. + Version pulumi.StringPtrInput `pulumi:"version"` } -func (MultiCloudClusterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MultiCloudCluster)(nil)).Elem() +func (MembershipSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipSpec)(nil)).Elem() } -func (i MultiCloudClusterArgs) ToMultiCloudClusterOutput() MultiCloudClusterOutput { - return i.ToMultiCloudClusterOutputWithContext(context.Background()) +func (i MembershipSpecArgs) ToMembershipSpecOutput() MembershipSpecOutput { + return i.ToMembershipSpecOutputWithContext(context.Background()) } -func (i MultiCloudClusterArgs) ToMultiCloudClusterOutputWithContext(ctx context.Context) MultiCloudClusterOutput { - return pulumi.ToOutputWithContext(ctx, i).(MultiCloudClusterOutput) +func (i MembershipSpecArgs) ToMembershipSpecOutputWithContext(ctx context.Context) MembershipSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipSpecOutput) } -func (i MultiCloudClusterArgs) ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput { - return i.ToMultiCloudClusterPtrOutputWithContext(context.Background()) +func (i MembershipSpecArgs) ToMembershipSpecPtrOutput() MembershipSpecPtrOutput { + return i.ToMembershipSpecPtrOutputWithContext(context.Background()) } -func (i MultiCloudClusterArgs) ToMultiCloudClusterPtrOutputWithContext(ctx context.Context) MultiCloudClusterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MultiCloudClusterOutput).ToMultiCloudClusterPtrOutputWithContext(ctx) +func (i MembershipSpecArgs) ToMembershipSpecPtrOutputWithContext(ctx context.Context) MembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipSpecOutput).ToMembershipSpecPtrOutputWithContext(ctx) } -// MultiCloudClusterPtrInput is an input type that accepts MultiCloudClusterArgs, MultiCloudClusterPtr and MultiCloudClusterPtrOutput values. -// You can construct a concrete instance of `MultiCloudClusterPtrInput` via: +// MembershipSpecPtrInput is an input type that accepts MembershipSpecArgs, MembershipSpecPtr and MembershipSpecPtrOutput values. +// You can construct a concrete instance of `MembershipSpecPtrInput` via: // -// MultiCloudClusterArgs{...} +// MembershipSpecArgs{...} // // or: // // nil -type MultiCloudClusterPtrInput interface { +type MembershipSpecPtrInput interface { pulumi.Input - ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput - ToMultiCloudClusterPtrOutputWithContext(context.Context) MultiCloudClusterPtrOutput + ToMembershipSpecPtrOutput() MembershipSpecPtrOutput + ToMembershipSpecPtrOutputWithContext(context.Context) MembershipSpecPtrOutput } -type multiCloudClusterPtrType MultiCloudClusterArgs +type membershipSpecPtrType MembershipSpecArgs -func MultiCloudClusterPtr(v *MultiCloudClusterArgs) MultiCloudClusterPtrInput { - return (*multiCloudClusterPtrType)(v) +func MembershipSpecPtr(v *MembershipSpecArgs) MembershipSpecPtrInput { + return (*membershipSpecPtrType)(v) } -func (*multiCloudClusterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MultiCloudCluster)(nil)).Elem() +func (*membershipSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MembershipSpec)(nil)).Elem() } -func (i *multiCloudClusterPtrType) ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput { - return i.ToMultiCloudClusterPtrOutputWithContext(context.Background()) +func (i *membershipSpecPtrType) ToMembershipSpecPtrOutput() MembershipSpecPtrOutput { + return i.ToMembershipSpecPtrOutputWithContext(context.Background()) } -func (i *multiCloudClusterPtrType) ToMultiCloudClusterPtrOutputWithContext(ctx context.Context) MultiCloudClusterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MultiCloudClusterPtrOutput) +func (i *membershipSpecPtrType) ToMembershipSpecPtrOutputWithContext(ctx context.Context) MembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipSpecPtrOutput) } -// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. -type MultiCloudClusterOutput struct{ *pulumi.OutputState } +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type MembershipSpecOutput struct{ *pulumi.OutputState } -func (MultiCloudClusterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MultiCloudCluster)(nil)).Elem() +func (MembershipSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipSpec)(nil)).Elem() } -func (o MultiCloudClusterOutput) ToMultiCloudClusterOutput() MultiCloudClusterOutput { +func (o MembershipSpecOutput) ToMembershipSpecOutput() MembershipSpecOutput { return o } -func (o MultiCloudClusterOutput) ToMultiCloudClusterOutputWithContext(ctx context.Context) MultiCloudClusterOutput { +func (o MembershipSpecOutput) ToMembershipSpecOutputWithContext(ctx context.Context) MembershipSpecOutput { return o } -func (o MultiCloudClusterOutput) ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput { - return o.ToMultiCloudClusterPtrOutputWithContext(context.Background()) +func (o MembershipSpecOutput) ToMembershipSpecPtrOutput() MembershipSpecPtrOutput { + return o.ToMembershipSpecPtrOutputWithContext(context.Background()) } -func (o MultiCloudClusterOutput) ToMultiCloudClusterPtrOutputWithContext(ctx context.Context) MultiCloudClusterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiCloudCluster) *MultiCloudCluster { +func (o MembershipSpecOutput) ToMembershipSpecPtrOutputWithContext(ctx context.Context) MembershipSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MembershipSpec) *MembershipSpec { return &v - }).(MultiCloudClusterPtrOutput) + }).(MembershipSpecPtrOutput) } -// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster -func (o MultiCloudClusterOutput) ResourceLink() pulumi.StringPtrOutput { - return o.ApplyT(func(v MultiCloudCluster) *string { return v.ResourceLink }).(pulumi.StringPtrOutput) +// Whether it is allowed to run the privileged builds on the cluster or not. +func (o MembershipSpecOutput) SecurityPolicy() MembershipSpecSecurityPolicyPtrOutput { + return o.ApplyT(func(v MembershipSpec) *MembershipSpecSecurityPolicy { return v.SecurityPolicy }).(MembershipSpecSecurityPolicyPtrOutput) } -type MultiCloudClusterPtrOutput struct{ *pulumi.OutputState } +// Version of the cloud build software on the cluster. +func (o MembershipSpecOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v MembershipSpec) *string { return v.Version }).(pulumi.StringPtrOutput) +} -func (MultiCloudClusterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MultiCloudCluster)(nil)).Elem() +type MembershipSpecPtrOutput struct{ *pulumi.OutputState } + +func (MembershipSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MembershipSpec)(nil)).Elem() } -func (o MultiCloudClusterPtrOutput) ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput { +func (o MembershipSpecPtrOutput) ToMembershipSpecPtrOutput() MembershipSpecPtrOutput { return o } -func (o MultiCloudClusterPtrOutput) ToMultiCloudClusterPtrOutputWithContext(ctx context.Context) MultiCloudClusterPtrOutput { +func (o MembershipSpecPtrOutput) ToMembershipSpecPtrOutputWithContext(ctx context.Context) MembershipSpecPtrOutput { return o } -func (o MultiCloudClusterPtrOutput) Elem() MultiCloudClusterOutput { - return o.ApplyT(func(v *MultiCloudCluster) MultiCloudCluster { +func (o MembershipSpecPtrOutput) Elem() MembershipSpecOutput { + return o.ApplyT(func(v *MembershipSpec) MembershipSpec { if v != nil { return *v } - var ret MultiCloudCluster + var ret MembershipSpec return ret - }).(MultiCloudClusterOutput) + }).(MembershipSpecOutput) } -// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster -func (o MultiCloudClusterPtrOutput) ResourceLink() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MultiCloudCluster) *string { +// Whether it is allowed to run the privileged builds on the cluster or not. +func (o MembershipSpecPtrOutput) SecurityPolicy() MembershipSpecSecurityPolicyPtrOutput { + return o.ApplyT(func(v *MembershipSpec) *MembershipSpecSecurityPolicy { if v == nil { return nil } - return v.ResourceLink + return v.SecurityPolicy + }).(MembershipSpecSecurityPolicyPtrOutput) +} + +// Version of the cloud build software on the cluster. +func (o MembershipSpecPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MembershipSpec) *string { + if v == nil { + return nil + } + return v.Version }).(pulumi.StringPtrOutput) } -// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. -type MultiCloudClusterResponse struct { - // If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists. - ClusterMissing bool `pulumi:"clusterMissing"` - // Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster - ResourceLink string `pulumi:"resourceLink"` +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type MembershipSpecResponse struct { + // Whether it is allowed to run the privileged builds on the cluster or not. + SecurityPolicy string `pulumi:"securityPolicy"` + // Version of the cloud build software on the cluster. + Version string `pulumi:"version"` } -// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. -type MultiCloudClusterResponseOutput struct{ *pulumi.OutputState } +// **Cloud Build**: Configurations for each Cloud Build enabled cluster. +type MembershipSpecResponseOutput struct{ *pulumi.OutputState } -func (MultiCloudClusterResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MultiCloudClusterResponse)(nil)).Elem() +func (MembershipSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipSpecResponse)(nil)).Elem() } -func (o MultiCloudClusterResponseOutput) ToMultiCloudClusterResponseOutput() MultiCloudClusterResponseOutput { +func (o MembershipSpecResponseOutput) ToMembershipSpecResponseOutput() MembershipSpecResponseOutput { return o } -func (o MultiCloudClusterResponseOutput) ToMultiCloudClusterResponseOutputWithContext(ctx context.Context) MultiCloudClusterResponseOutput { +func (o MembershipSpecResponseOutput) ToMembershipSpecResponseOutputWithContext(ctx context.Context) MembershipSpecResponseOutput { return o } -// If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists. -func (o MultiCloudClusterResponseOutput) ClusterMissing() pulumi.BoolOutput { - return o.ApplyT(func(v MultiCloudClusterResponse) bool { return v.ClusterMissing }).(pulumi.BoolOutput) +// Whether it is allowed to run the privileged builds on the cluster or not. +func (o MembershipSpecResponseOutput) SecurityPolicy() pulumi.StringOutput { + return o.ApplyT(func(v MembershipSpecResponse) string { return v.SecurityPolicy }).(pulumi.StringOutput) } -// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster -func (o MultiCloudClusterResponseOutput) ResourceLink() pulumi.StringOutput { - return o.ApplyT(func(v MultiCloudClusterResponse) string { return v.ResourceLink }).(pulumi.StringOutput) +// Version of the cloud build software on the cluster. +func (o MembershipSpecResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v MembershipSpecResponse) string { return v.Version }).(pulumi.StringOutput) } -// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. -type MultiClusterIngressFeatureSpec struct { - // Deprecated: This field will be ignored and should not be set. Customer's billing structure. - // - // Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. - Billing *MultiClusterIngressFeatureSpecBilling `pulumi:"billing"` - // Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` - ConfigMembership *string `pulumi:"configMembership"` +// MembershipState describes the state of a Membership resource. +type MembershipStateResponse struct { + // The current state of the Membership resource. + Code string `pulumi:"code"` } -// MultiClusterIngressFeatureSpecInput is an input type that accepts MultiClusterIngressFeatureSpecArgs and MultiClusterIngressFeatureSpecOutput values. -// You can construct a concrete instance of `MultiClusterIngressFeatureSpecInput` via: -// -// MultiClusterIngressFeatureSpecArgs{...} -type MultiClusterIngressFeatureSpecInput interface { - pulumi.Input +// MembershipState describes the state of a Membership resource. +type MembershipStateResponseOutput struct{ *pulumi.OutputState } - ToMultiClusterIngressFeatureSpecOutput() MultiClusterIngressFeatureSpecOutput - ToMultiClusterIngressFeatureSpecOutputWithContext(context.Context) MultiClusterIngressFeatureSpecOutput +func (MembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipStateResponse)(nil)).Elem() +} + +func (o MembershipStateResponseOutput) ToMembershipStateResponseOutput() MembershipStateResponseOutput { + return o +} + +func (o MembershipStateResponseOutput) ToMembershipStateResponseOutputWithContext(ctx context.Context) MembershipStateResponseOutput { + return o +} + +// The current state of the Membership resource. +func (o MembershipStateResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v MembershipStateResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// **Metering**: Per-Membership Feature State. +type MeteringMembershipStateResponse struct { + // The time stamp of the most recent measurement of the number of vCPUs in the cluster. + LastMeasurementTime string `pulumi:"lastMeasurementTime"` + // The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + PreciseLastMeasuredClusterVcpuCapacity float64 `pulumi:"preciseLastMeasuredClusterVcpuCapacity"` +} + +// **Metering**: Per-Membership Feature State. +type MeteringMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (MeteringMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MeteringMembershipStateResponse)(nil)).Elem() +} + +func (o MeteringMembershipStateResponseOutput) ToMeteringMembershipStateResponseOutput() MeteringMembershipStateResponseOutput { + return o +} + +func (o MeteringMembershipStateResponseOutput) ToMeteringMembershipStateResponseOutputWithContext(ctx context.Context) MeteringMembershipStateResponseOutput { + return o +} + +// The time stamp of the most recent measurement of the number of vCPUs in the cluster. +func (o MeteringMembershipStateResponseOutput) LastMeasurementTime() pulumi.StringOutput { + return o.ApplyT(func(v MeteringMembershipStateResponse) string { return v.LastMeasurementTime }).(pulumi.StringOutput) +} + +// The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). +func (o MeteringMembershipStateResponseOutput) PreciseLastMeasuredClusterVcpuCapacity() pulumi.Float64Output { + return o.ApplyT(func(v MeteringMembershipStateResponse) float64 { return v.PreciseLastMeasuredClusterVcpuCapacity }).(pulumi.Float64Output) +} + +// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. +type MonitoringConfig struct { + // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". + Cluster *string `pulumi:"cluster"` + // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. + ClusterHash *string `pulumi:"clusterHash"` + // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. + KubernetesMetricsPrefix *string `pulumi:"kubernetesMetricsPrefix"` + // Optional. Location used to report Metrics + Location *string `pulumi:"location"` + // Optional. Project used to report Metrics + Project *string `pulumi:"project"` +} + +// MonitoringConfigInput is an input type that accepts MonitoringConfigArgs and MonitoringConfigOutput values. +// You can construct a concrete instance of `MonitoringConfigInput` via: +// +// MonitoringConfigArgs{...} +type MonitoringConfigInput interface { + pulumi.Input + + ToMonitoringConfigOutput() MonitoringConfigOutput + ToMonitoringConfigOutputWithContext(context.Context) MonitoringConfigOutput +} + +// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. +type MonitoringConfigArgs struct { + // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". + Cluster pulumi.StringPtrInput `pulumi:"cluster"` + // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. + ClusterHash pulumi.StringPtrInput `pulumi:"clusterHash"` + // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. + KubernetesMetricsPrefix pulumi.StringPtrInput `pulumi:"kubernetesMetricsPrefix"` + // Optional. Location used to report Metrics + Location pulumi.StringPtrInput `pulumi:"location"` + // Optional. Project used to report Metrics + Project pulumi.StringPtrInput `pulumi:"project"` +} + +func (MonitoringConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MonitoringConfig)(nil)).Elem() +} + +func (i MonitoringConfigArgs) ToMonitoringConfigOutput() MonitoringConfigOutput { + return i.ToMonitoringConfigOutputWithContext(context.Background()) +} + +func (i MonitoringConfigArgs) ToMonitoringConfigOutputWithContext(ctx context.Context) MonitoringConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigOutput) +} + +func (i MonitoringConfigArgs) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { + return i.ToMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (i MonitoringConfigArgs) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigOutput).ToMonitoringConfigPtrOutputWithContext(ctx) +} + +// MonitoringConfigPtrInput is an input type that accepts MonitoringConfigArgs, MonitoringConfigPtr and MonitoringConfigPtrOutput values. +// You can construct a concrete instance of `MonitoringConfigPtrInput` via: +// +// MonitoringConfigArgs{...} +// +// or: +// +// nil +type MonitoringConfigPtrInput interface { + pulumi.Input + + ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput + ToMonitoringConfigPtrOutputWithContext(context.Context) MonitoringConfigPtrOutput +} + +type monitoringConfigPtrType MonitoringConfigArgs + +func MonitoringConfigPtr(v *MonitoringConfigArgs) MonitoringConfigPtrInput { + return (*monitoringConfigPtrType)(v) +} + +func (*monitoringConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MonitoringConfig)(nil)).Elem() +} + +func (i *monitoringConfigPtrType) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { + return i.ToMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (i *monitoringConfigPtrType) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MonitoringConfigPtrOutput) +} + +// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. +type MonitoringConfigOutput struct{ *pulumi.OutputState } + +func (MonitoringConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MonitoringConfig)(nil)).Elem() +} + +func (o MonitoringConfigOutput) ToMonitoringConfigOutput() MonitoringConfigOutput { + return o +} + +func (o MonitoringConfigOutput) ToMonitoringConfigOutputWithContext(ctx context.Context) MonitoringConfigOutput { + return o +} + +func (o MonitoringConfigOutput) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { + return o.ToMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (o MonitoringConfigOutput) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MonitoringConfig) *MonitoringConfig { + return &v + }).(MonitoringConfigPtrOutput) +} + +// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". +func (o MonitoringConfigOutput) Cluster() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitoringConfig) *string { return v.Cluster }).(pulumi.StringPtrOutput) +} + +// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. +func (o MonitoringConfigOutput) ClusterHash() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitoringConfig) *string { return v.ClusterHash }).(pulumi.StringPtrOutput) +} + +// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. +func (o MonitoringConfigOutput) KubernetesMetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitoringConfig) *string { return v.KubernetesMetricsPrefix }).(pulumi.StringPtrOutput) +} + +// Optional. Location used to report Metrics +func (o MonitoringConfigOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitoringConfig) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Optional. Project used to report Metrics +func (o MonitoringConfigOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v MonitoringConfig) *string { return v.Project }).(pulumi.StringPtrOutput) +} + +type MonitoringConfigPtrOutput struct{ *pulumi.OutputState } + +func (MonitoringConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MonitoringConfig)(nil)).Elem() +} + +func (o MonitoringConfigPtrOutput) ToMonitoringConfigPtrOutput() MonitoringConfigPtrOutput { + return o +} + +func (o MonitoringConfigPtrOutput) ToMonitoringConfigPtrOutputWithContext(ctx context.Context) MonitoringConfigPtrOutput { + return o +} + +func (o MonitoringConfigPtrOutput) Elem() MonitoringConfigOutput { + return o.ApplyT(func(v *MonitoringConfig) MonitoringConfig { + if v != nil { + return *v + } + var ret MonitoringConfig + return ret + }).(MonitoringConfigOutput) +} + +// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". +func (o MonitoringConfigPtrOutput) Cluster() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MonitoringConfig) *string { + if v == nil { + return nil + } + return v.Cluster + }).(pulumi.StringPtrOutput) +} + +// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. +func (o MonitoringConfigPtrOutput) ClusterHash() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MonitoringConfig) *string { + if v == nil { + return nil + } + return v.ClusterHash + }).(pulumi.StringPtrOutput) +} + +// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. +func (o MonitoringConfigPtrOutput) KubernetesMetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MonitoringConfig) *string { + if v == nil { + return nil + } + return v.KubernetesMetricsPrefix + }).(pulumi.StringPtrOutput) +} + +// Optional. Location used to report Metrics +func (o MonitoringConfigPtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MonitoringConfig) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Optional. Project used to report Metrics +func (o MonitoringConfigPtrOutput) Project() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MonitoringConfig) *string { + if v == nil { + return nil + } + return v.Project + }).(pulumi.StringPtrOutput) +} + +// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. +type MonitoringConfigResponse struct { + // Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". + Cluster string `pulumi:"cluster"` + // Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. + ClusterHash string `pulumi:"clusterHash"` + // Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. + KubernetesMetricsPrefix string `pulumi:"kubernetesMetricsPrefix"` + // Optional. Location used to report Metrics + Location string `pulumi:"location"` + // Optional. Project used to report Metrics + Project string `pulumi:"project"` +} + +// MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. +type MonitoringConfigResponseOutput struct{ *pulumi.OutputState } + +func (MonitoringConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MonitoringConfigResponse)(nil)).Elem() +} + +func (o MonitoringConfigResponseOutput) ToMonitoringConfigResponseOutput() MonitoringConfigResponseOutput { + return o +} + +func (o MonitoringConfigResponseOutput) ToMonitoringConfigResponseOutputWithContext(ctx context.Context) MonitoringConfigResponseOutput { + return o +} + +// Optional. Cluster name used to report metrics. For Anthos on VMWare/Baremetal/MultiCloud clusters, it would be in format {cluster_type}/{cluster_name}, e.g., "awsClusters/cluster_1". +func (o MonitoringConfigResponseOutput) Cluster() pulumi.StringOutput { + return o.ApplyT(func(v MonitoringConfigResponse) string { return v.Cluster }).(pulumi.StringOutput) +} + +// Optional. For GKE and Multicloud clusters, this is the UUID of the cluster resource. For VMWare and Baremetal clusters, this is the kube-system UID. +func (o MonitoringConfigResponseOutput) ClusterHash() pulumi.StringOutput { + return o.ApplyT(func(v MonitoringConfigResponse) string { return v.ClusterHash }).(pulumi.StringOutput) +} + +// Optional. Kubernetes system metrics, if available, are written to this prefix. This defaults to kubernetes.io for GKE, and kubernetes.io/anthos for Anthos eventually. Noted: Anthos MultiCloud will have kubernetes.io prefix today but will migration to be under kubernetes.io/anthos. +func (o MonitoringConfigResponseOutput) KubernetesMetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v MonitoringConfigResponse) string { return v.KubernetesMetricsPrefix }).(pulumi.StringOutput) +} + +// Optional. Location used to report Metrics +func (o MonitoringConfigResponseOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v MonitoringConfigResponse) string { return v.Location }).(pulumi.StringOutput) +} + +// Optional. Project used to report Metrics +func (o MonitoringConfigResponseOutput) Project() pulumi.StringOutput { + return o.ApplyT(func(v MonitoringConfigResponse) string { return v.Project }).(pulumi.StringOutput) +} + +// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. +type MultiCloudCluster struct { + // Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster + ResourceLink *string `pulumi:"resourceLink"` +} + +// MultiCloudClusterInput is an input type that accepts MultiCloudClusterArgs and MultiCloudClusterOutput values. +// You can construct a concrete instance of `MultiCloudClusterInput` via: +// +// MultiCloudClusterArgs{...} +type MultiCloudClusterInput interface { + pulumi.Input + + ToMultiCloudClusterOutput() MultiCloudClusterOutput + ToMultiCloudClusterOutputWithContext(context.Context) MultiCloudClusterOutput +} + +// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. +type MultiCloudClusterArgs struct { + // Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster + ResourceLink pulumi.StringPtrInput `pulumi:"resourceLink"` +} + +func (MultiCloudClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MultiCloudCluster)(nil)).Elem() +} + +func (i MultiCloudClusterArgs) ToMultiCloudClusterOutput() MultiCloudClusterOutput { + return i.ToMultiCloudClusterOutputWithContext(context.Background()) +} + +func (i MultiCloudClusterArgs) ToMultiCloudClusterOutputWithContext(ctx context.Context) MultiCloudClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(MultiCloudClusterOutput) +} + +func (i MultiCloudClusterArgs) ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput { + return i.ToMultiCloudClusterPtrOutputWithContext(context.Background()) +} + +func (i MultiCloudClusterArgs) ToMultiCloudClusterPtrOutputWithContext(ctx context.Context) MultiCloudClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MultiCloudClusterOutput).ToMultiCloudClusterPtrOutputWithContext(ctx) +} + +// MultiCloudClusterPtrInput is an input type that accepts MultiCloudClusterArgs, MultiCloudClusterPtr and MultiCloudClusterPtrOutput values. +// You can construct a concrete instance of `MultiCloudClusterPtrInput` via: +// +// MultiCloudClusterArgs{...} +// +// or: +// +// nil +type MultiCloudClusterPtrInput interface { + pulumi.Input + + ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput + ToMultiCloudClusterPtrOutputWithContext(context.Context) MultiCloudClusterPtrOutput +} + +type multiCloudClusterPtrType MultiCloudClusterArgs + +func MultiCloudClusterPtr(v *MultiCloudClusterArgs) MultiCloudClusterPtrInput { + return (*multiCloudClusterPtrType)(v) +} + +func (*multiCloudClusterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MultiCloudCluster)(nil)).Elem() +} + +func (i *multiCloudClusterPtrType) ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput { + return i.ToMultiCloudClusterPtrOutputWithContext(context.Background()) +} + +func (i *multiCloudClusterPtrType) ToMultiCloudClusterPtrOutputWithContext(ctx context.Context) MultiCloudClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MultiCloudClusterPtrOutput) +} + +// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. +type MultiCloudClusterOutput struct{ *pulumi.OutputState } + +func (MultiCloudClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MultiCloudCluster)(nil)).Elem() +} + +func (o MultiCloudClusterOutput) ToMultiCloudClusterOutput() MultiCloudClusterOutput { + return o +} + +func (o MultiCloudClusterOutput) ToMultiCloudClusterOutputWithContext(ctx context.Context) MultiCloudClusterOutput { + return o +} + +func (o MultiCloudClusterOutput) ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput { + return o.ToMultiCloudClusterPtrOutputWithContext(context.Background()) +} + +func (o MultiCloudClusterOutput) ToMultiCloudClusterPtrOutputWithContext(ctx context.Context) MultiCloudClusterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiCloudCluster) *MultiCloudCluster { + return &v + }).(MultiCloudClusterPtrOutput) +} + +// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster +func (o MultiCloudClusterOutput) ResourceLink() pulumi.StringPtrOutput { + return o.ApplyT(func(v MultiCloudCluster) *string { return v.ResourceLink }).(pulumi.StringPtrOutput) +} + +type MultiCloudClusterPtrOutput struct{ *pulumi.OutputState } + +func (MultiCloudClusterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MultiCloudCluster)(nil)).Elem() +} + +func (o MultiCloudClusterPtrOutput) ToMultiCloudClusterPtrOutput() MultiCloudClusterPtrOutput { + return o +} + +func (o MultiCloudClusterPtrOutput) ToMultiCloudClusterPtrOutputWithContext(ctx context.Context) MultiCloudClusterPtrOutput { + return o +} + +func (o MultiCloudClusterPtrOutput) Elem() MultiCloudClusterOutput { + return o.ApplyT(func(v *MultiCloudCluster) MultiCloudCluster { + if v != nil { + return *v + } + var ret MultiCloudCluster + return ret + }).(MultiCloudClusterOutput) +} + +// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster +func (o MultiCloudClusterPtrOutput) ResourceLink() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MultiCloudCluster) *string { + if v == nil { + return nil + } + return v.ResourceLink + }).(pulumi.StringPtrOutput) +} + +// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. +type MultiCloudClusterResponse struct { + // If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists. + ClusterMissing bool `pulumi:"clusterMissing"` + // Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster + ResourceLink string `pulumi:"resourceLink"` +} + +// MultiCloudCluster contains information specific to GKE Multi-Cloud clusters. +type MultiCloudClusterResponseOutput struct{ *pulumi.OutputState } + +func (MultiCloudClusterResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MultiCloudClusterResponse)(nil)).Elem() +} + +func (o MultiCloudClusterResponseOutput) ToMultiCloudClusterResponseOutput() MultiCloudClusterResponseOutput { + return o +} + +func (o MultiCloudClusterResponseOutput) ToMultiCloudClusterResponseOutputWithContext(ctx context.Context) MultiCloudClusterResponseOutput { + return o +} + +// If cluster_missing is set then it denotes that API(gkemulticloud.googleapis.com) resource for this GKE Multi-Cloud cluster no longer exists. +func (o MultiCloudClusterResponseOutput) ClusterMissing() pulumi.BoolOutput { + return o.ApplyT(func(v MultiCloudClusterResponse) bool { return v.ClusterMissing }).(pulumi.BoolOutput) +} + +// Immutable. Self-link of the Google Cloud resource for the GKE Multi-Cloud cluster. For example: //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/awsClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/azureClusters/my-cluster //gkemulticloud.googleapis.com/projects/my-project/locations/us-west1-a/attachedClusters/my-cluster +func (o MultiCloudClusterResponseOutput) ResourceLink() pulumi.StringOutput { + return o.ApplyT(func(v MultiCloudClusterResponse) string { return v.ResourceLink }).(pulumi.StringOutput) +} + +// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. +type MultiClusterIngressFeatureSpec struct { + // Deprecated: This field will be ignored and should not be set. Customer's billing structure. + // + // Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. + Billing *MultiClusterIngressFeatureSpecBilling `pulumi:"billing"` + // Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` + ConfigMembership *string `pulumi:"configMembership"` +} + +// MultiClusterIngressFeatureSpecInput is an input type that accepts MultiClusterIngressFeatureSpecArgs and MultiClusterIngressFeatureSpecOutput values. +// You can construct a concrete instance of `MultiClusterIngressFeatureSpecInput` via: +// +// MultiClusterIngressFeatureSpecArgs{...} +type MultiClusterIngressFeatureSpecInput interface { + pulumi.Input + + ToMultiClusterIngressFeatureSpecOutput() MultiClusterIngressFeatureSpecOutput + ToMultiClusterIngressFeatureSpecOutputWithContext(context.Context) MultiClusterIngressFeatureSpecOutput +} + +// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. +type MultiClusterIngressFeatureSpecArgs struct { + // Deprecated: This field will be ignored and should not be set. Customer's billing structure. + // + // Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. + Billing MultiClusterIngressFeatureSpecBillingPtrInput `pulumi:"billing"` + // Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` + ConfigMembership pulumi.StringPtrInput `pulumi:"configMembership"` +} + +func (MultiClusterIngressFeatureSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MultiClusterIngressFeatureSpec)(nil)).Elem() +} + +func (i MultiClusterIngressFeatureSpecArgs) ToMultiClusterIngressFeatureSpecOutput() MultiClusterIngressFeatureSpecOutput { + return i.ToMultiClusterIngressFeatureSpecOutputWithContext(context.Background()) +} + +func (i MultiClusterIngressFeatureSpecArgs) ToMultiClusterIngressFeatureSpecOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(MultiClusterIngressFeatureSpecOutput) +} + +func (i MultiClusterIngressFeatureSpecArgs) ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput { + return i.ToMultiClusterIngressFeatureSpecPtrOutputWithContext(context.Background()) +} + +func (i MultiClusterIngressFeatureSpecArgs) ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MultiClusterIngressFeatureSpecOutput).ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx) +} + +// MultiClusterIngressFeatureSpecPtrInput is an input type that accepts MultiClusterIngressFeatureSpecArgs, MultiClusterIngressFeatureSpecPtr and MultiClusterIngressFeatureSpecPtrOutput values. +// You can construct a concrete instance of `MultiClusterIngressFeatureSpecPtrInput` via: +// +// MultiClusterIngressFeatureSpecArgs{...} +// +// or: +// +// nil +type MultiClusterIngressFeatureSpecPtrInput interface { + pulumi.Input + + ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput + ToMultiClusterIngressFeatureSpecPtrOutputWithContext(context.Context) MultiClusterIngressFeatureSpecPtrOutput +} + +type multiClusterIngressFeatureSpecPtrType MultiClusterIngressFeatureSpecArgs + +func MultiClusterIngressFeatureSpecPtr(v *MultiClusterIngressFeatureSpecArgs) MultiClusterIngressFeatureSpecPtrInput { + return (*multiClusterIngressFeatureSpecPtrType)(v) +} + +func (*multiClusterIngressFeatureSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MultiClusterIngressFeatureSpec)(nil)).Elem() +} + +func (i *multiClusterIngressFeatureSpecPtrType) ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput { + return i.ToMultiClusterIngressFeatureSpecPtrOutputWithContext(context.Background()) +} + +func (i *multiClusterIngressFeatureSpecPtrType) ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MultiClusterIngressFeatureSpecPtrOutput) +} + +// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. +type MultiClusterIngressFeatureSpecOutput struct{ *pulumi.OutputState } + +func (MultiClusterIngressFeatureSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MultiClusterIngressFeatureSpec)(nil)).Elem() +} + +func (o MultiClusterIngressFeatureSpecOutput) ToMultiClusterIngressFeatureSpecOutput() MultiClusterIngressFeatureSpecOutput { + return o +} + +func (o MultiClusterIngressFeatureSpecOutput) ToMultiClusterIngressFeatureSpecOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecOutput { + return o +} + +func (o MultiClusterIngressFeatureSpecOutput) ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput { + return o.ToMultiClusterIngressFeatureSpecPtrOutputWithContext(context.Background()) +} + +func (o MultiClusterIngressFeatureSpecOutput) ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiClusterIngressFeatureSpec) *MultiClusterIngressFeatureSpec { + return &v + }).(MultiClusterIngressFeatureSpecPtrOutput) +} + +// Deprecated: This field will be ignored and should not be set. Customer's billing structure. +// +// Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. +func (o MultiClusterIngressFeatureSpecOutput) Billing() MultiClusterIngressFeatureSpecBillingPtrOutput { + return o.ApplyT(func(v MultiClusterIngressFeatureSpec) *MultiClusterIngressFeatureSpecBilling { return v.Billing }).(MultiClusterIngressFeatureSpecBillingPtrOutput) +} + +// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` +func (o MultiClusterIngressFeatureSpecOutput) ConfigMembership() pulumi.StringPtrOutput { + return o.ApplyT(func(v MultiClusterIngressFeatureSpec) *string { return v.ConfigMembership }).(pulumi.StringPtrOutput) +} + +type MultiClusterIngressFeatureSpecPtrOutput struct{ *pulumi.OutputState } + +func (MultiClusterIngressFeatureSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MultiClusterIngressFeatureSpec)(nil)).Elem() +} + +func (o MultiClusterIngressFeatureSpecPtrOutput) ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput { + return o +} + +func (o MultiClusterIngressFeatureSpecPtrOutput) ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecPtrOutput { + return o +} + +func (o MultiClusterIngressFeatureSpecPtrOutput) Elem() MultiClusterIngressFeatureSpecOutput { + return o.ApplyT(func(v *MultiClusterIngressFeatureSpec) MultiClusterIngressFeatureSpec { + if v != nil { + return *v + } + var ret MultiClusterIngressFeatureSpec + return ret + }).(MultiClusterIngressFeatureSpecOutput) +} + +// Deprecated: This field will be ignored and should not be set. Customer's billing structure. +// +// Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. +func (o MultiClusterIngressFeatureSpecPtrOutput) Billing() MultiClusterIngressFeatureSpecBillingPtrOutput { + return o.ApplyT(func(v *MultiClusterIngressFeatureSpec) *MultiClusterIngressFeatureSpecBilling { + if v == nil { + return nil + } + return v.Billing + }).(MultiClusterIngressFeatureSpecBillingPtrOutput) +} + +// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` +func (o MultiClusterIngressFeatureSpecPtrOutput) ConfigMembership() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MultiClusterIngressFeatureSpec) *string { + if v == nil { + return nil + } + return v.ConfigMembership + }).(pulumi.StringPtrOutput) +} + +// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. +type MultiClusterIngressFeatureSpecResponse struct { + // Deprecated: This field will be ignored and should not be set. Customer's billing structure. + // + // Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. + Billing string `pulumi:"billing"` + // Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` + ConfigMembership string `pulumi:"configMembership"` +} + +// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. +type MultiClusterIngressFeatureSpecResponseOutput struct{ *pulumi.OutputState } + +func (MultiClusterIngressFeatureSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MultiClusterIngressFeatureSpecResponse)(nil)).Elem() +} + +func (o MultiClusterIngressFeatureSpecResponseOutput) ToMultiClusterIngressFeatureSpecResponseOutput() MultiClusterIngressFeatureSpecResponseOutput { + return o +} + +func (o MultiClusterIngressFeatureSpecResponseOutput) ToMultiClusterIngressFeatureSpecResponseOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecResponseOutput { + return o +} + +// Deprecated: This field will be ignored and should not be set. Customer's billing structure. +// +// Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. +func (o MultiClusterIngressFeatureSpecResponseOutput) Billing() pulumi.StringOutput { + return o.ApplyT(func(v MultiClusterIngressFeatureSpecResponse) string { return v.Billing }).(pulumi.StringOutput) +} + +// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` +func (o MultiClusterIngressFeatureSpecResponseOutput) ConfigMembership() pulumi.StringOutput { + return o.ApplyT(func(v MultiClusterIngressFeatureSpecResponse) string { return v.ConfigMembership }).(pulumi.StringOutput) +} + +// NamespaceLifecycleState describes the state of a Namespace resource. +type NamespaceLifecycleStateResponse struct { + // The current state of the Namespace resource. + Code string `pulumi:"code"` +} + +// NamespaceLifecycleState describes the state of a Namespace resource. +type NamespaceLifecycleStateResponseOutput struct{ *pulumi.OutputState } + +func (NamespaceLifecycleStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NamespaceLifecycleStateResponse)(nil)).Elem() +} + +func (o NamespaceLifecycleStateResponseOutput) ToNamespaceLifecycleStateResponseOutput() NamespaceLifecycleStateResponseOutput { + return o +} + +func (o NamespaceLifecycleStateResponseOutput) ToNamespaceLifecycleStateResponseOutputWithContext(ctx context.Context) NamespaceLifecycleStateResponseOutput { + return o +} + +// The current state of the Namespace resource. +func (o NamespaceLifecycleStateResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v NamespaceLifecycleStateResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// OnPremCluster contains information specific to GKE On-Prem clusters. +type OnPremCluster struct { + // Immutable. Whether the cluster is an admin cluster. + AdminCluster *bool `pulumi:"adminCluster"` + // Immutable. The on prem cluster's type. + ClusterType *OnPremClusterClusterType `pulumi:"clusterType"` + // Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + ResourceLink *string `pulumi:"resourceLink"` +} + +// OnPremClusterInput is an input type that accepts OnPremClusterArgs and OnPremClusterOutput values. +// You can construct a concrete instance of `OnPremClusterInput` via: +// +// OnPremClusterArgs{...} +type OnPremClusterInput interface { + pulumi.Input + + ToOnPremClusterOutput() OnPremClusterOutput + ToOnPremClusterOutputWithContext(context.Context) OnPremClusterOutput +} + +// OnPremCluster contains information specific to GKE On-Prem clusters. +type OnPremClusterArgs struct { + // Immutable. Whether the cluster is an admin cluster. + AdminCluster pulumi.BoolPtrInput `pulumi:"adminCluster"` + // Immutable. The on prem cluster's type. + ClusterType OnPremClusterClusterTypePtrInput `pulumi:"clusterType"` + // Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + ResourceLink pulumi.StringPtrInput `pulumi:"resourceLink"` +} + +func (OnPremClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OnPremCluster)(nil)).Elem() +} + +func (i OnPremClusterArgs) ToOnPremClusterOutput() OnPremClusterOutput { + return i.ToOnPremClusterOutputWithContext(context.Background()) +} + +func (i OnPremClusterArgs) ToOnPremClusterOutputWithContext(ctx context.Context) OnPremClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(OnPremClusterOutput) +} + +func (i OnPremClusterArgs) ToOnPremClusterPtrOutput() OnPremClusterPtrOutput { + return i.ToOnPremClusterPtrOutputWithContext(context.Background()) +} + +func (i OnPremClusterArgs) ToOnPremClusterPtrOutputWithContext(ctx context.Context) OnPremClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OnPremClusterOutput).ToOnPremClusterPtrOutputWithContext(ctx) +} + +// OnPremClusterPtrInput is an input type that accepts OnPremClusterArgs, OnPremClusterPtr and OnPremClusterPtrOutput values. +// You can construct a concrete instance of `OnPremClusterPtrInput` via: +// +// OnPremClusterArgs{...} +// +// or: +// +// nil +type OnPremClusterPtrInput interface { + pulumi.Input + + ToOnPremClusterPtrOutput() OnPremClusterPtrOutput + ToOnPremClusterPtrOutputWithContext(context.Context) OnPremClusterPtrOutput +} + +type onPremClusterPtrType OnPremClusterArgs + +func OnPremClusterPtr(v *OnPremClusterArgs) OnPremClusterPtrInput { + return (*onPremClusterPtrType)(v) +} + +func (*onPremClusterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**OnPremCluster)(nil)).Elem() +} + +func (i *onPremClusterPtrType) ToOnPremClusterPtrOutput() OnPremClusterPtrOutput { + return i.ToOnPremClusterPtrOutputWithContext(context.Background()) +} + +func (i *onPremClusterPtrType) ToOnPremClusterPtrOutputWithContext(ctx context.Context) OnPremClusterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OnPremClusterPtrOutput) +} + +// OnPremCluster contains information specific to GKE On-Prem clusters. +type OnPremClusterOutput struct{ *pulumi.OutputState } + +func (OnPremClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OnPremCluster)(nil)).Elem() +} + +func (o OnPremClusterOutput) ToOnPremClusterOutput() OnPremClusterOutput { + return o +} + +func (o OnPremClusterOutput) ToOnPremClusterOutputWithContext(ctx context.Context) OnPremClusterOutput { + return o +} + +func (o OnPremClusterOutput) ToOnPremClusterPtrOutput() OnPremClusterPtrOutput { + return o.ToOnPremClusterPtrOutputWithContext(context.Background()) +} + +func (o OnPremClusterOutput) ToOnPremClusterPtrOutputWithContext(ctx context.Context) OnPremClusterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OnPremCluster) *OnPremCluster { + return &v + }).(OnPremClusterPtrOutput) +} + +// Immutable. Whether the cluster is an admin cluster. +func (o OnPremClusterOutput) AdminCluster() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OnPremCluster) *bool { return v.AdminCluster }).(pulumi.BoolPtrOutput) +} + +// Immutable. The on prem cluster's type. +func (o OnPremClusterOutput) ClusterType() OnPremClusterClusterTypePtrOutput { + return o.ApplyT(func(v OnPremCluster) *OnPremClusterClusterType { return v.ClusterType }).(OnPremClusterClusterTypePtrOutput) +} + +// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster +func (o OnPremClusterOutput) ResourceLink() pulumi.StringPtrOutput { + return o.ApplyT(func(v OnPremCluster) *string { return v.ResourceLink }).(pulumi.StringPtrOutput) +} + +type OnPremClusterPtrOutput struct{ *pulumi.OutputState } + +func (OnPremClusterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OnPremCluster)(nil)).Elem() +} + +func (o OnPremClusterPtrOutput) ToOnPremClusterPtrOutput() OnPremClusterPtrOutput { + return o +} + +func (o OnPremClusterPtrOutput) ToOnPremClusterPtrOutputWithContext(ctx context.Context) OnPremClusterPtrOutput { + return o +} + +func (o OnPremClusterPtrOutput) Elem() OnPremClusterOutput { + return o.ApplyT(func(v *OnPremCluster) OnPremCluster { + if v != nil { + return *v + } + var ret OnPremCluster + return ret + }).(OnPremClusterOutput) +} + +// Immutable. Whether the cluster is an admin cluster. +func (o OnPremClusterPtrOutput) AdminCluster() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OnPremCluster) *bool { + if v == nil { + return nil + } + return v.AdminCluster + }).(pulumi.BoolPtrOutput) +} + +// Immutable. The on prem cluster's type. +func (o OnPremClusterPtrOutput) ClusterType() OnPremClusterClusterTypePtrOutput { + return o.ApplyT(func(v *OnPremCluster) *OnPremClusterClusterType { + if v == nil { + return nil + } + return v.ClusterType + }).(OnPremClusterClusterTypePtrOutput) +} + +// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster +func (o OnPremClusterPtrOutput) ResourceLink() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OnPremCluster) *string { + if v == nil { + return nil + } + return v.ResourceLink + }).(pulumi.StringPtrOutput) +} + +// OnPremCluster contains information specific to GKE On-Prem clusters. +type OnPremClusterResponse struct { + // Immutable. Whether the cluster is an admin cluster. + AdminCluster bool `pulumi:"adminCluster"` + // If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no longer exists. + ClusterMissing bool `pulumi:"clusterMissing"` + // Immutable. The on prem cluster's type. + ClusterType string `pulumi:"clusterType"` + // Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + ResourceLink string `pulumi:"resourceLink"` +} + +// OnPremCluster contains information specific to GKE On-Prem clusters. +type OnPremClusterResponseOutput struct{ *pulumi.OutputState } + +func (OnPremClusterResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OnPremClusterResponse)(nil)).Elem() +} + +func (o OnPremClusterResponseOutput) ToOnPremClusterResponseOutput() OnPremClusterResponseOutput { + return o +} + +func (o OnPremClusterResponseOutput) ToOnPremClusterResponseOutputWithContext(ctx context.Context) OnPremClusterResponseOutput { + return o +} + +// Immutable. Whether the cluster is an admin cluster. +func (o OnPremClusterResponseOutput) AdminCluster() pulumi.BoolOutput { + return o.ApplyT(func(v OnPremClusterResponse) bool { return v.AdminCluster }).(pulumi.BoolOutput) +} + +// If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no longer exists. +func (o OnPremClusterResponseOutput) ClusterMissing() pulumi.BoolOutput { + return o.ApplyT(func(v OnPremClusterResponse) bool { return v.ClusterMissing }).(pulumi.BoolOutput) +} + +// Immutable. The on prem cluster's type. +func (o OnPremClusterResponseOutput) ClusterType() pulumi.StringOutput { + return o.ApplyT(func(v OnPremClusterResponse) string { return v.ClusterType }).(pulumi.StringOutput) +} + +// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster +func (o OnPremClusterResponseOutput) ResourceLink() pulumi.StringOutput { + return o.ApplyT(func(v OnPremClusterResponse) string { return v.ResourceLink }).(pulumi.StringOutput) +} + +// Origin defines where this MembershipFeatureSpec originated from. +type Origin struct { + // Type specifies which type of origin is set. + Type *OriginType `pulumi:"type"` +} + +// OriginInput is an input type that accepts OriginArgs and OriginOutput values. +// You can construct a concrete instance of `OriginInput` via: +// +// OriginArgs{...} +type OriginInput interface { + pulumi.Input + + ToOriginOutput() OriginOutput + ToOriginOutputWithContext(context.Context) OriginOutput +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginArgs struct { + // Type specifies which type of origin is set. + Type OriginTypePtrInput `pulumi:"type"` +} + +func (OriginArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Origin)(nil)).Elem() +} + +func (i OriginArgs) ToOriginOutput() OriginOutput { + return i.ToOriginOutputWithContext(context.Background()) +} + +func (i OriginArgs) ToOriginOutputWithContext(ctx context.Context) OriginOutput { + return pulumi.ToOutputWithContext(ctx, i).(OriginOutput) +} + +func (i OriginArgs) ToOriginPtrOutput() OriginPtrOutput { + return i.ToOriginPtrOutputWithContext(context.Background()) +} + +func (i OriginArgs) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OriginOutput).ToOriginPtrOutputWithContext(ctx) +} + +// OriginPtrInput is an input type that accepts OriginArgs, OriginPtr and OriginPtrOutput values. +// You can construct a concrete instance of `OriginPtrInput` via: +// +// OriginArgs{...} +// +// or: +// +// nil +type OriginPtrInput interface { + pulumi.Input + + ToOriginPtrOutput() OriginPtrOutput + ToOriginPtrOutputWithContext(context.Context) OriginPtrOutput +} + +type originPtrType OriginArgs + +func OriginPtr(v *OriginArgs) OriginPtrInput { + return (*originPtrType)(v) +} + +func (*originPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Origin)(nil)).Elem() +} + +func (i *originPtrType) ToOriginPtrOutput() OriginPtrOutput { + return i.ToOriginPtrOutputWithContext(context.Background()) +} + +func (i *originPtrType) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OriginPtrOutput) +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginOutput struct{ *pulumi.OutputState } + +func (OriginOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Origin)(nil)).Elem() +} + +func (o OriginOutput) ToOriginOutput() OriginOutput { + return o +} + +func (o OriginOutput) ToOriginOutputWithContext(ctx context.Context) OriginOutput { + return o +} + +func (o OriginOutput) ToOriginPtrOutput() OriginPtrOutput { + return o.ToOriginPtrOutputWithContext(context.Background()) +} + +func (o OriginOutput) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Origin) *Origin { + return &v + }).(OriginPtrOutput) +} + +// Type specifies which type of origin is set. +func (o OriginOutput) Type() OriginTypePtrOutput { + return o.ApplyT(func(v Origin) *OriginType { return v.Type }).(OriginTypePtrOutput) +} + +type OriginPtrOutput struct{ *pulumi.OutputState } + +func (OriginPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Origin)(nil)).Elem() +} + +func (o OriginPtrOutput) ToOriginPtrOutput() OriginPtrOutput { + return o +} + +func (o OriginPtrOutput) ToOriginPtrOutputWithContext(ctx context.Context) OriginPtrOutput { + return o +} + +func (o OriginPtrOutput) Elem() OriginOutput { + return o.ApplyT(func(v *Origin) Origin { + if v != nil { + return *v + } + var ret Origin + return ret + }).(OriginOutput) +} + +// Type specifies which type of origin is set. +func (o OriginPtrOutput) Type() OriginTypePtrOutput { + return o.ApplyT(func(v *Origin) *OriginType { + if v == nil { + return nil + } + return v.Type + }).(OriginTypePtrOutput) +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginResponse struct { + // Type specifies which type of origin is set. + Type string `pulumi:"type"` +} + +// Origin defines where this MembershipFeatureSpec originated from. +type OriginResponseOutput struct{ *pulumi.OutputState } + +func (OriginResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OriginResponse)(nil)).Elem() +} + +func (o OriginResponseOutput) ToOriginResponseOutput() OriginResponseOutput { + return o +} + +func (o OriginResponseOutput) ToOriginResponseOutputWithContext(ctx context.Context) OriginResponseOutput { + return o +} + +// Type specifies which type of origin is set. +func (o OriginResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v OriginResponse) string { return v.Type }).(pulumi.StringOutput) +} + +// Binauthz policy that applies to this cluster. +type PolicyBinding struct { + // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. + Name *string `pulumi:"name"` +} + +// PolicyBindingInput is an input type that accepts PolicyBindingArgs and PolicyBindingOutput values. +// You can construct a concrete instance of `PolicyBindingInput` via: +// +// PolicyBindingArgs{...} +type PolicyBindingInput interface { + pulumi.Input + + ToPolicyBindingOutput() PolicyBindingOutput + ToPolicyBindingOutputWithContext(context.Context) PolicyBindingOutput +} + +// Binauthz policy that applies to this cluster. +type PolicyBindingArgs struct { + // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (PolicyBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyBinding)(nil)).Elem() +} + +func (i PolicyBindingArgs) ToPolicyBindingOutput() PolicyBindingOutput { + return i.ToPolicyBindingOutputWithContext(context.Background()) +} + +func (i PolicyBindingArgs) ToPolicyBindingOutputWithContext(ctx context.Context) PolicyBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyBindingOutput) +} + +// PolicyBindingArrayInput is an input type that accepts PolicyBindingArray and PolicyBindingArrayOutput values. +// You can construct a concrete instance of `PolicyBindingArrayInput` via: +// +// PolicyBindingArray{ PolicyBindingArgs{...} } +type PolicyBindingArrayInput interface { + pulumi.Input + + ToPolicyBindingArrayOutput() PolicyBindingArrayOutput + ToPolicyBindingArrayOutputWithContext(context.Context) PolicyBindingArrayOutput +} + +type PolicyBindingArray []PolicyBindingInput + +func (PolicyBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyBinding)(nil)).Elem() +} + +func (i PolicyBindingArray) ToPolicyBindingArrayOutput() PolicyBindingArrayOutput { + return i.ToPolicyBindingArrayOutputWithContext(context.Background()) +} + +func (i PolicyBindingArray) ToPolicyBindingArrayOutputWithContext(ctx context.Context) PolicyBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyBindingArrayOutput) +} + +// Binauthz policy that applies to this cluster. +type PolicyBindingOutput struct{ *pulumi.OutputState } + +func (PolicyBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyBinding)(nil)).Elem() +} + +func (o PolicyBindingOutput) ToPolicyBindingOutput() PolicyBindingOutput { + return o +} + +func (o PolicyBindingOutput) ToPolicyBindingOutputWithContext(ctx context.Context) PolicyBindingOutput { + return o +} + +// The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. +func (o PolicyBindingOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyBinding) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type PolicyBindingArrayOutput struct{ *pulumi.OutputState } + +func (PolicyBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyBinding)(nil)).Elem() +} + +func (o PolicyBindingArrayOutput) ToPolicyBindingArrayOutput() PolicyBindingArrayOutput { + return o +} + +func (o PolicyBindingArrayOutput) ToPolicyBindingArrayOutputWithContext(ctx context.Context) PolicyBindingArrayOutput { + return o +} + +func (o PolicyBindingArrayOutput) Index(i pulumi.IntInput) PolicyBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyBinding { + return vs[0].([]PolicyBinding)[vs[1].(int)] + }).(PolicyBindingOutput) +} + +// Binauthz policy that applies to this cluster. +type PolicyBindingResponse struct { + // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. + Name string `pulumi:"name"` +} + +// Binauthz policy that applies to this cluster. +type PolicyBindingResponseOutput struct{ *pulumi.OutputState } + +func (PolicyBindingResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyBindingResponse)(nil)).Elem() +} + +func (o PolicyBindingResponseOutput) ToPolicyBindingResponseOutput() PolicyBindingResponseOutput { + return o +} + +func (o PolicyBindingResponseOutput) ToPolicyBindingResponseOutputWithContext(ctx context.Context) PolicyBindingResponseOutput { + return o +} + +// The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. +func (o PolicyBindingResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v PolicyBindingResponse) string { return v.Name }).(pulumi.StringOutput) +} + +type PolicyBindingResponseArrayOutput struct{ *pulumi.OutputState } + +func (PolicyBindingResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyBindingResponse)(nil)).Elem() +} + +func (o PolicyBindingResponseArrayOutput) ToPolicyBindingResponseArrayOutput() PolicyBindingResponseArrayOutput { + return o +} + +func (o PolicyBindingResponseArrayOutput) ToPolicyBindingResponseArrayOutputWithContext(ctx context.Context) PolicyBindingResponseArrayOutput { + return o +} + +func (o PolicyBindingResponseArrayOutput) Index(i pulumi.IntInput) PolicyBindingResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyBindingResponse { + return vs[0].([]PolicyBindingResponse)[vs[1].(int)] + }).(PolicyBindingResponseOutput) +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpec struct { + // The set of namespaces to be exempted from the bundle. + ExemptedNamespaces []string `pulumi:"exemptedNamespaces"` +} + +// PolicyControllerBundleInstallSpecInput is an input type that accepts PolicyControllerBundleInstallSpecArgs and PolicyControllerBundleInstallSpecOutput values. +// You can construct a concrete instance of `PolicyControllerBundleInstallSpecInput` via: +// +// PolicyControllerBundleInstallSpecArgs{...} +type PolicyControllerBundleInstallSpecInput interface { + pulumi.Input + + ToPolicyControllerBundleInstallSpecOutput() PolicyControllerBundleInstallSpecOutput + ToPolicyControllerBundleInstallSpecOutputWithContext(context.Context) PolicyControllerBundleInstallSpecOutput +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecArgs struct { + // The set of namespaces to be exempted from the bundle. + ExemptedNamespaces pulumi.StringArrayInput `pulumi:"exemptedNamespaces"` +} + +func (PolicyControllerBundleInstallSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (i PolicyControllerBundleInstallSpecArgs) ToPolicyControllerBundleInstallSpecOutput() PolicyControllerBundleInstallSpecOutput { + return i.ToPolicyControllerBundleInstallSpecOutputWithContext(context.Background()) +} + +func (i PolicyControllerBundleInstallSpecArgs) ToPolicyControllerBundleInstallSpecOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerBundleInstallSpecOutput) +} + +// PolicyControllerBundleInstallSpecMapInput is an input type that accepts PolicyControllerBundleInstallSpecMap and PolicyControllerBundleInstallSpecMapOutput values. +// You can construct a concrete instance of `PolicyControllerBundleInstallSpecMapInput` via: +// +// PolicyControllerBundleInstallSpecMap{ "key": PolicyControllerBundleInstallSpecArgs{...} } +type PolicyControllerBundleInstallSpecMapInput interface { + pulumi.Input + + ToPolicyControllerBundleInstallSpecMapOutput() PolicyControllerBundleInstallSpecMapOutput + ToPolicyControllerBundleInstallSpecMapOutputWithContext(context.Context) PolicyControllerBundleInstallSpecMapOutput +} + +type PolicyControllerBundleInstallSpecMap map[string]PolicyControllerBundleInstallSpecInput + +func (PolicyControllerBundleInstallSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (i PolicyControllerBundleInstallSpecMap) ToPolicyControllerBundleInstallSpecMapOutput() PolicyControllerBundleInstallSpecMapOutput { + return i.ToPolicyControllerBundleInstallSpecMapOutputWithContext(context.Background()) +} + +func (i PolicyControllerBundleInstallSpecMap) ToPolicyControllerBundleInstallSpecMapOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerBundleInstallSpecMapOutput) +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecOutput) ToPolicyControllerBundleInstallSpecOutput() PolicyControllerBundleInstallSpecOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecOutput) ToPolicyControllerBundleInstallSpecOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecOutput { + return o +} + +// The set of namespaces to be exempted from the bundle. +func (o PolicyControllerBundleInstallSpecOutput) ExemptedNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v PolicyControllerBundleInstallSpec) []string { return v.ExemptedNamespaces }).(pulumi.StringArrayOutput) +} + +type PolicyControllerBundleInstallSpecMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerBundleInstallSpec)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecMapOutput) ToPolicyControllerBundleInstallSpecMapOutput() PolicyControllerBundleInstallSpecMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecMapOutput) ToPolicyControllerBundleInstallSpecMapOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerBundleInstallSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerBundleInstallSpec { + return vs[0].(map[string]PolicyControllerBundleInstallSpec)[vs[1].(string)] + }).(PolicyControllerBundleInstallSpecOutput) +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecResponse struct { + // The set of namespaces to be exempted from the bundle. + ExemptedNamespaces []string `pulumi:"exemptedNamespaces"` +} + +// BundleInstallSpec is the specification configuration for a single managed bundle. +type PolicyControllerBundleInstallSpecResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerBundleInstallSpecResponse)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecResponseOutput) ToPolicyControllerBundleInstallSpecResponseOutput() PolicyControllerBundleInstallSpecResponseOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecResponseOutput) ToPolicyControllerBundleInstallSpecResponseOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecResponseOutput { + return o +} + +// The set of namespaces to be exempted from the bundle. +func (o PolicyControllerBundleInstallSpecResponseOutput) ExemptedNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v PolicyControllerBundleInstallSpecResponse) []string { return v.ExemptedNamespaces }).(pulumi.StringArrayOutput) +} + +type PolicyControllerBundleInstallSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerBundleInstallSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerBundleInstallSpecResponse)(nil)).Elem() +} + +func (o PolicyControllerBundleInstallSpecResponseMapOutput) ToPolicyControllerBundleInstallSpecResponseMapOutput() PolicyControllerBundleInstallSpecResponseMapOutput { + return o +} + +func (o PolicyControllerBundleInstallSpecResponseMapOutput) ToPolicyControllerBundleInstallSpecResponseMapOutputWithContext(ctx context.Context) PolicyControllerBundleInstallSpecResponseMapOutput { + return o } -// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. -type MultiClusterIngressFeatureSpecArgs struct { - // Deprecated: This field will be ignored and should not be set. Customer's billing structure. - // - // Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. - Billing MultiClusterIngressFeatureSpecBillingPtrInput `pulumi:"billing"` - // Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` - ConfigMembership pulumi.StringPtrInput `pulumi:"configMembership"` +func (o PolicyControllerBundleInstallSpecResponseMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerBundleInstallSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerBundleInstallSpecResponse { + return vs[0].(map[string]PolicyControllerBundleInstallSpecResponse)[vs[1].(string)] + }).(PolicyControllerBundleInstallSpecResponseOutput) } -func (MultiClusterIngressFeatureSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MultiClusterIngressFeatureSpec)(nil)).Elem() +// Configuration for Policy Controller +type PolicyControllerHubConfig struct { + // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + AuditIntervalSeconds *string `pulumi:"auditIntervalSeconds"` + // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. + ConstraintViolationLimit *string `pulumi:"constraintViolationLimit"` + // Map of deployment configs to deployments ("admission", "audit", "mutation'). + DeploymentConfigs map[string]PolicyControllerPolicyControllerDeploymentConfig `pulumi:"deploymentConfigs"` + // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + ExemptableNamespaces []string `pulumi:"exemptableNamespaces"` + // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. + InstallSpec *PolicyControllerHubConfigInstallSpec `pulumi:"installSpec"` + // Logs all denies and dry run failures. + LogDeniesEnabled *bool `pulumi:"logDeniesEnabled"` + // Monitoring specifies the configuration of monitoring. + Monitoring *PolicyControllerMonitoringConfig `pulumi:"monitoring"` + // Enables the ability to mutate resources using Policy Controller. + MutationEnabled *bool `pulumi:"mutationEnabled"` + // Specifies the desired policy content on the cluster + PolicyContent *PolicyControllerPolicyContentSpec `pulumi:"policyContent"` + // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + ReferentialRulesEnabled *bool `pulumi:"referentialRulesEnabled"` } -func (i MultiClusterIngressFeatureSpecArgs) ToMultiClusterIngressFeatureSpecOutput() MultiClusterIngressFeatureSpecOutput { - return i.ToMultiClusterIngressFeatureSpecOutputWithContext(context.Background()) +// PolicyControllerHubConfigInput is an input type that accepts PolicyControllerHubConfigArgs and PolicyControllerHubConfigOutput values. +// You can construct a concrete instance of `PolicyControllerHubConfigInput` via: +// +// PolicyControllerHubConfigArgs{...} +type PolicyControllerHubConfigInput interface { + pulumi.Input + + ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput + ToPolicyControllerHubConfigOutputWithContext(context.Context) PolicyControllerHubConfigOutput } -func (i MultiClusterIngressFeatureSpecArgs) ToMultiClusterIngressFeatureSpecOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(MultiClusterIngressFeatureSpecOutput) +// Configuration for Policy Controller +type PolicyControllerHubConfigArgs struct { + // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + AuditIntervalSeconds pulumi.StringPtrInput `pulumi:"auditIntervalSeconds"` + // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. + ConstraintViolationLimit pulumi.StringPtrInput `pulumi:"constraintViolationLimit"` + // Map of deployment configs to deployments ("admission", "audit", "mutation'). + DeploymentConfigs PolicyControllerPolicyControllerDeploymentConfigMapInput `pulumi:"deploymentConfigs"` + // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + ExemptableNamespaces pulumi.StringArrayInput `pulumi:"exemptableNamespaces"` + // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. + InstallSpec PolicyControllerHubConfigInstallSpecPtrInput `pulumi:"installSpec"` + // Logs all denies and dry run failures. + LogDeniesEnabled pulumi.BoolPtrInput `pulumi:"logDeniesEnabled"` + // Monitoring specifies the configuration of monitoring. + Monitoring PolicyControllerMonitoringConfigPtrInput `pulumi:"monitoring"` + // Enables the ability to mutate resources using Policy Controller. + MutationEnabled pulumi.BoolPtrInput `pulumi:"mutationEnabled"` + // Specifies the desired policy content on the cluster + PolicyContent PolicyControllerPolicyContentSpecPtrInput `pulumi:"policyContent"` + // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + ReferentialRulesEnabled pulumi.BoolPtrInput `pulumi:"referentialRulesEnabled"` } -func (i MultiClusterIngressFeatureSpecArgs) ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput { - return i.ToMultiClusterIngressFeatureSpecPtrOutputWithContext(context.Background()) +func (PolicyControllerHubConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerHubConfig)(nil)).Elem() } -func (i MultiClusterIngressFeatureSpecArgs) ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MultiClusterIngressFeatureSpecOutput).ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx) +func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput { + return i.ToPolicyControllerHubConfigOutputWithContext(context.Background()) } -// MultiClusterIngressFeatureSpecPtrInput is an input type that accepts MultiClusterIngressFeatureSpecArgs, MultiClusterIngressFeatureSpecPtr and MultiClusterIngressFeatureSpecPtrOutput values. -// You can construct a concrete instance of `MultiClusterIngressFeatureSpecPtrInput` via: +func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigOutputWithContext(ctx context.Context) PolicyControllerHubConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerHubConfigOutput) +} + +func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { + return i.ToPolicyControllerHubConfigPtrOutputWithContext(context.Background()) +} + +func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigPtrOutputWithContext(ctx context.Context) PolicyControllerHubConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerHubConfigOutput).ToPolicyControllerHubConfigPtrOutputWithContext(ctx) +} + +// PolicyControllerHubConfigPtrInput is an input type that accepts PolicyControllerHubConfigArgs, PolicyControllerHubConfigPtr and PolicyControllerHubConfigPtrOutput values. +// You can construct a concrete instance of `PolicyControllerHubConfigPtrInput` via: // -// MultiClusterIngressFeatureSpecArgs{...} +// PolicyControllerHubConfigArgs{...} // // or: // // nil -type MultiClusterIngressFeatureSpecPtrInput interface { +type PolicyControllerHubConfigPtrInput interface { pulumi.Input - ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput - ToMultiClusterIngressFeatureSpecPtrOutputWithContext(context.Context) MultiClusterIngressFeatureSpecPtrOutput + ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput + ToPolicyControllerHubConfigPtrOutputWithContext(context.Context) PolicyControllerHubConfigPtrOutput } -type multiClusterIngressFeatureSpecPtrType MultiClusterIngressFeatureSpecArgs +type policyControllerHubConfigPtrType PolicyControllerHubConfigArgs -func MultiClusterIngressFeatureSpecPtr(v *MultiClusterIngressFeatureSpecArgs) MultiClusterIngressFeatureSpecPtrInput { - return (*multiClusterIngressFeatureSpecPtrType)(v) +func PolicyControllerHubConfigPtr(v *PolicyControllerHubConfigArgs) PolicyControllerHubConfigPtrInput { + return (*policyControllerHubConfigPtrType)(v) } -func (*multiClusterIngressFeatureSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MultiClusterIngressFeatureSpec)(nil)).Elem() +func (*policyControllerHubConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerHubConfig)(nil)).Elem() } -func (i *multiClusterIngressFeatureSpecPtrType) ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput { - return i.ToMultiClusterIngressFeatureSpecPtrOutputWithContext(context.Background()) +func (i *policyControllerHubConfigPtrType) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { + return i.ToPolicyControllerHubConfigPtrOutputWithContext(context.Background()) } -func (i *multiClusterIngressFeatureSpecPtrType) ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MultiClusterIngressFeatureSpecPtrOutput) +func (i *policyControllerHubConfigPtrType) ToPolicyControllerHubConfigPtrOutputWithContext(ctx context.Context) PolicyControllerHubConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerHubConfigPtrOutput) } -// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. -type MultiClusterIngressFeatureSpecOutput struct{ *pulumi.OutputState } +// Configuration for Policy Controller +type PolicyControllerHubConfigOutput struct{ *pulumi.OutputState } -func (MultiClusterIngressFeatureSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MultiClusterIngressFeatureSpec)(nil)).Elem() +func (PolicyControllerHubConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerHubConfig)(nil)).Elem() } -func (o MultiClusterIngressFeatureSpecOutput) ToMultiClusterIngressFeatureSpecOutput() MultiClusterIngressFeatureSpecOutput { +func (o PolicyControllerHubConfigOutput) ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput { return o } -func (o MultiClusterIngressFeatureSpecOutput) ToMultiClusterIngressFeatureSpecOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecOutput { +func (o PolicyControllerHubConfigOutput) ToPolicyControllerHubConfigOutputWithContext(ctx context.Context) PolicyControllerHubConfigOutput { return o } -func (o MultiClusterIngressFeatureSpecOutput) ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput { - return o.ToMultiClusterIngressFeatureSpecPtrOutputWithContext(context.Background()) +func (o PolicyControllerHubConfigOutput) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { + return o.ToPolicyControllerHubConfigPtrOutputWithContext(context.Background()) } -func (o MultiClusterIngressFeatureSpecOutput) ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MultiClusterIngressFeatureSpec) *MultiClusterIngressFeatureSpec { +func (o PolicyControllerHubConfigOutput) ToPolicyControllerHubConfigPtrOutputWithContext(ctx context.Context) PolicyControllerHubConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerHubConfig) *PolicyControllerHubConfig { return &v - }).(MultiClusterIngressFeatureSpecPtrOutput) + }).(PolicyControllerHubConfigPtrOutput) } -// Deprecated: This field will be ignored and should not be set. Customer's billing structure. -// -// Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. -func (o MultiClusterIngressFeatureSpecOutput) Billing() MultiClusterIngressFeatureSpecBillingPtrOutput { - return o.ApplyT(func(v MultiClusterIngressFeatureSpec) *MultiClusterIngressFeatureSpecBilling { return v.Billing }).(MultiClusterIngressFeatureSpecBillingPtrOutput) +// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. +func (o PolicyControllerHubConfigOutput) AuditIntervalSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) *string { return v.AuditIntervalSeconds }).(pulumi.StringPtrOutput) } -// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` -func (o MultiClusterIngressFeatureSpecOutput) ConfigMembership() pulumi.StringPtrOutput { - return o.ApplyT(func(v MultiClusterIngressFeatureSpec) *string { return v.ConfigMembership }).(pulumi.StringPtrOutput) +// The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. +func (o PolicyControllerHubConfigOutput) ConstraintViolationLimit() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) *string { return v.ConstraintViolationLimit }).(pulumi.StringPtrOutput) } -type MultiClusterIngressFeatureSpecPtrOutput struct{ *pulumi.OutputState } +// Map of deployment configs to deployments ("admission", "audit", "mutation'). +func (o PolicyControllerHubConfigOutput) DeploymentConfigs() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) map[string]PolicyControllerPolicyControllerDeploymentConfig { + return v.DeploymentConfigs + }).(PolicyControllerPolicyControllerDeploymentConfigMapOutput) +} -func (MultiClusterIngressFeatureSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MultiClusterIngressFeatureSpec)(nil)).Elem() +// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. +func (o PolicyControllerHubConfigOutput) ExemptableNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) []string { return v.ExemptableNamespaces }).(pulumi.StringArrayOutput) +} + +// The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. +func (o PolicyControllerHubConfigOutput) InstallSpec() PolicyControllerHubConfigInstallSpecPtrOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) *PolicyControllerHubConfigInstallSpec { return v.InstallSpec }).(PolicyControllerHubConfigInstallSpecPtrOutput) +} + +// Logs all denies and dry run failures. +func (o PolicyControllerHubConfigOutput) LogDeniesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) *bool { return v.LogDeniesEnabled }).(pulumi.BoolPtrOutput) +} + +// Monitoring specifies the configuration of monitoring. +func (o PolicyControllerHubConfigOutput) Monitoring() PolicyControllerMonitoringConfigPtrOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) *PolicyControllerMonitoringConfig { return v.Monitoring }).(PolicyControllerMonitoringConfigPtrOutput) +} + +// Enables the ability to mutate resources using Policy Controller. +func (o PolicyControllerHubConfigOutput) MutationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) *bool { return v.MutationEnabled }).(pulumi.BoolPtrOutput) +} + +// Specifies the desired policy content on the cluster +func (o PolicyControllerHubConfigOutput) PolicyContent() PolicyControllerPolicyContentSpecPtrOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) *PolicyControllerPolicyContentSpec { return v.PolicyContent }).(PolicyControllerPolicyContentSpecPtrOutput) +} + +// Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. +func (o PolicyControllerHubConfigOutput) ReferentialRulesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicyControllerHubConfig) *bool { return v.ReferentialRulesEnabled }).(pulumi.BoolPtrOutput) +} + +type PolicyControllerHubConfigPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerHubConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerHubConfig)(nil)).Elem() +} + +func (o PolicyControllerHubConfigPtrOutput) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { + return o +} + +func (o PolicyControllerHubConfigPtrOutput) ToPolicyControllerHubConfigPtrOutputWithContext(ctx context.Context) PolicyControllerHubConfigPtrOutput { + return o +} + +func (o PolicyControllerHubConfigPtrOutput) Elem() PolicyControllerHubConfigOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) PolicyControllerHubConfig { + if v != nil { + return *v + } + var ret PolicyControllerHubConfig + return ret + }).(PolicyControllerHubConfigOutput) +} + +// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. +func (o PolicyControllerHubConfigPtrOutput) AuditIntervalSeconds() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) *string { + if v == nil { + return nil + } + return v.AuditIntervalSeconds + }).(pulumi.StringPtrOutput) +} + +// The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. +func (o PolicyControllerHubConfigPtrOutput) ConstraintViolationLimit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) *string { + if v == nil { + return nil + } + return v.ConstraintViolationLimit + }).(pulumi.StringPtrOutput) +} + +// Map of deployment configs to deployments ("admission", "audit", "mutation'). +func (o PolicyControllerHubConfigPtrOutput) DeploymentConfigs() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) map[string]PolicyControllerPolicyControllerDeploymentConfig { + if v == nil { + return nil + } + return v.DeploymentConfigs + }).(PolicyControllerPolicyControllerDeploymentConfigMapOutput) +} + +// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. +func (o PolicyControllerHubConfigPtrOutput) ExemptableNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) []string { + if v == nil { + return nil + } + return v.ExemptableNamespaces + }).(pulumi.StringArrayOutput) +} + +// The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. +func (o PolicyControllerHubConfigPtrOutput) InstallSpec() PolicyControllerHubConfigInstallSpecPtrOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) *PolicyControllerHubConfigInstallSpec { + if v == nil { + return nil + } + return v.InstallSpec + }).(PolicyControllerHubConfigInstallSpecPtrOutput) } -func (o MultiClusterIngressFeatureSpecPtrOutput) ToMultiClusterIngressFeatureSpecPtrOutput() MultiClusterIngressFeatureSpecPtrOutput { - return o +// Logs all denies and dry run failures. +func (o PolicyControllerHubConfigPtrOutput) LogDeniesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) *bool { + if v == nil { + return nil + } + return v.LogDeniesEnabled + }).(pulumi.BoolPtrOutput) } -func (o MultiClusterIngressFeatureSpecPtrOutput) ToMultiClusterIngressFeatureSpecPtrOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecPtrOutput { - return o +// Monitoring specifies the configuration of monitoring. +func (o PolicyControllerHubConfigPtrOutput) Monitoring() PolicyControllerMonitoringConfigPtrOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) *PolicyControllerMonitoringConfig { + if v == nil { + return nil + } + return v.Monitoring + }).(PolicyControllerMonitoringConfigPtrOutput) } -func (o MultiClusterIngressFeatureSpecPtrOutput) Elem() MultiClusterIngressFeatureSpecOutput { - return o.ApplyT(func(v *MultiClusterIngressFeatureSpec) MultiClusterIngressFeatureSpec { - if v != nil { - return *v +// Enables the ability to mutate resources using Policy Controller. +func (o PolicyControllerHubConfigPtrOutput) MutationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) *bool { + if v == nil { + return nil } - var ret MultiClusterIngressFeatureSpec - return ret - }).(MultiClusterIngressFeatureSpecOutput) + return v.MutationEnabled + }).(pulumi.BoolPtrOutput) } -// Deprecated: This field will be ignored and should not be set. Customer's billing structure. -// -// Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. -func (o MultiClusterIngressFeatureSpecPtrOutput) Billing() MultiClusterIngressFeatureSpecBillingPtrOutput { - return o.ApplyT(func(v *MultiClusterIngressFeatureSpec) *MultiClusterIngressFeatureSpecBilling { +// Specifies the desired policy content on the cluster +func (o PolicyControllerHubConfigPtrOutput) PolicyContent() PolicyControllerPolicyContentSpecPtrOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) *PolicyControllerPolicyContentSpec { if v == nil { return nil } - return v.Billing - }).(MultiClusterIngressFeatureSpecBillingPtrOutput) + return v.PolicyContent + }).(PolicyControllerPolicyContentSpecPtrOutput) } -// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` -func (o MultiClusterIngressFeatureSpecPtrOutput) ConfigMembership() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MultiClusterIngressFeatureSpec) *string { +// Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. +func (o PolicyControllerHubConfigPtrOutput) ReferentialRulesEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PolicyControllerHubConfig) *bool { if v == nil { return nil } - return v.ConfigMembership - }).(pulumi.StringPtrOutput) + return v.ReferentialRulesEnabled + }).(pulumi.BoolPtrOutput) } -// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. -type MultiClusterIngressFeatureSpecResponse struct { - // Deprecated: This field will be ignored and should not be set. Customer's billing structure. - // - // Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. - Billing string `pulumi:"billing"` - // Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` - ConfigMembership string `pulumi:"configMembership"` +// Configuration for Policy Controller +type PolicyControllerHubConfigResponse struct { + // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + AuditIntervalSeconds string `pulumi:"auditIntervalSeconds"` + // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. + ConstraintViolationLimit string `pulumi:"constraintViolationLimit"` + // Map of deployment configs to deployments ("admission", "audit", "mutation'). + DeploymentConfigs map[string]PolicyControllerPolicyControllerDeploymentConfigResponse `pulumi:"deploymentConfigs"` + // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + ExemptableNamespaces []string `pulumi:"exemptableNamespaces"` + // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. + InstallSpec string `pulumi:"installSpec"` + // Logs all denies and dry run failures. + LogDeniesEnabled bool `pulumi:"logDeniesEnabled"` + // Monitoring specifies the configuration of monitoring. + Monitoring PolicyControllerMonitoringConfigResponse `pulumi:"monitoring"` + // Enables the ability to mutate resources using Policy Controller. + MutationEnabled bool `pulumi:"mutationEnabled"` + // Specifies the desired policy content on the cluster + PolicyContent PolicyControllerPolicyContentSpecResponse `pulumi:"policyContent"` + // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + ReferentialRulesEnabled bool `pulumi:"referentialRulesEnabled"` } -// **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. -type MultiClusterIngressFeatureSpecResponseOutput struct{ *pulumi.OutputState } +// Configuration for Policy Controller +type PolicyControllerHubConfigResponseOutput struct{ *pulumi.OutputState } -func (MultiClusterIngressFeatureSpecResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MultiClusterIngressFeatureSpecResponse)(nil)).Elem() +func (PolicyControllerHubConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerHubConfigResponse)(nil)).Elem() } -func (o MultiClusterIngressFeatureSpecResponseOutput) ToMultiClusterIngressFeatureSpecResponseOutput() MultiClusterIngressFeatureSpecResponseOutput { +func (o PolicyControllerHubConfigResponseOutput) ToPolicyControllerHubConfigResponseOutput() PolicyControllerHubConfigResponseOutput { return o } -func (o MultiClusterIngressFeatureSpecResponseOutput) ToMultiClusterIngressFeatureSpecResponseOutputWithContext(ctx context.Context) MultiClusterIngressFeatureSpecResponseOutput { +func (o PolicyControllerHubConfigResponseOutput) ToPolicyControllerHubConfigResponseOutputWithContext(ctx context.Context) PolicyControllerHubConfigResponseOutput { return o } -// Deprecated: This field will be ignored and should not be set. Customer's billing structure. -// -// Deprecated: Deprecated: This field will be ignored and should not be set. Customer's billing structure. -func (o MultiClusterIngressFeatureSpecResponseOutput) Billing() pulumi.StringOutput { - return o.ApplyT(func(v MultiClusterIngressFeatureSpecResponse) string { return v.Billing }).(pulumi.StringOutput) +// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. +func (o PolicyControllerHubConfigResponseOutput) AuditIntervalSeconds() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) string { return v.AuditIntervalSeconds }).(pulumi.StringOutput) } -// Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar` -func (o MultiClusterIngressFeatureSpecResponseOutput) ConfigMembership() pulumi.StringOutput { - return o.ApplyT(func(v MultiClusterIngressFeatureSpecResponse) string { return v.ConfigMembership }).(pulumi.StringOutput) +// The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. +func (o PolicyControllerHubConfigResponseOutput) ConstraintViolationLimit() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) string { return v.ConstraintViolationLimit }).(pulumi.StringOutput) } -// NamespaceLifecycleState describes the state of a Namespace resource. -type NamespaceLifecycleStateResponse struct { - // The current state of the Namespace resource. - Code string `pulumi:"code"` +// Map of deployment configs to deployments ("admission", "audit", "mutation'). +func (o PolicyControllerHubConfigResponseOutput) DeploymentConfigs() PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) map[string]PolicyControllerPolicyControllerDeploymentConfigResponse { + return v.DeploymentConfigs + }).(PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) } -// NamespaceLifecycleState describes the state of a Namespace resource. -type NamespaceLifecycleStateResponseOutput struct{ *pulumi.OutputState } +// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. +func (o PolicyControllerHubConfigResponseOutput) ExemptableNamespaces() pulumi.StringArrayOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) []string { return v.ExemptableNamespaces }).(pulumi.StringArrayOutput) +} -func (NamespaceLifecycleStateResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NamespaceLifecycleStateResponse)(nil)).Elem() +// The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. +func (o PolicyControllerHubConfigResponseOutput) InstallSpec() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) string { return v.InstallSpec }).(pulumi.StringOutput) } -func (o NamespaceLifecycleStateResponseOutput) ToNamespaceLifecycleStateResponseOutput() NamespaceLifecycleStateResponseOutput { - return o +// Logs all denies and dry run failures. +func (o PolicyControllerHubConfigResponseOutput) LogDeniesEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) bool { return v.LogDeniesEnabled }).(pulumi.BoolOutput) } -func (o NamespaceLifecycleStateResponseOutput) ToNamespaceLifecycleStateResponseOutputWithContext(ctx context.Context) NamespaceLifecycleStateResponseOutput { - return o +// Monitoring specifies the configuration of monitoring. +func (o PolicyControllerHubConfigResponseOutput) Monitoring() PolicyControllerMonitoringConfigResponseOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) PolicyControllerMonitoringConfigResponse { + return v.Monitoring + }).(PolicyControllerMonitoringConfigResponseOutput) } -// The current state of the Namespace resource. -func (o NamespaceLifecycleStateResponseOutput) Code() pulumi.StringOutput { - return o.ApplyT(func(v NamespaceLifecycleStateResponse) string { return v.Code }).(pulumi.StringOutput) +// Enables the ability to mutate resources using Policy Controller. +func (o PolicyControllerHubConfigResponseOutput) MutationEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) bool { return v.MutationEnabled }).(pulumi.BoolOutput) } -// OnPremCluster contains information specific to GKE On-Prem clusters. -type OnPremCluster struct { - // Immutable. Whether the cluster is an admin cluster. - AdminCluster *bool `pulumi:"adminCluster"` - // Immutable. The on prem cluster's type. - ClusterType *OnPremClusterClusterType `pulumi:"clusterType"` - // Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster - ResourceLink *string `pulumi:"resourceLink"` +// Specifies the desired policy content on the cluster +func (o PolicyControllerHubConfigResponseOutput) PolicyContent() PolicyControllerPolicyContentSpecResponseOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) PolicyControllerPolicyContentSpecResponse { + return v.PolicyContent + }).(PolicyControllerPolicyContentSpecResponseOutput) } -// OnPremClusterInput is an input type that accepts OnPremClusterArgs and OnPremClusterOutput values. -// You can construct a concrete instance of `OnPremClusterInput` via: +// Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. +func (o PolicyControllerHubConfigResponseOutput) ReferentialRulesEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v PolicyControllerHubConfigResponse) bool { return v.ReferentialRulesEnabled }).(pulumi.BoolOutput) +} + +// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. +type PolicyControllerMembershipSpec struct { + // Policy Controller configuration for the cluster. + PolicyControllerHubConfig *PolicyControllerHubConfig `pulumi:"policyControllerHubConfig"` + // Version of Policy Controller installed. + Version *string `pulumi:"version"` +} + +// PolicyControllerMembershipSpecInput is an input type that accepts PolicyControllerMembershipSpecArgs and PolicyControllerMembershipSpecOutput values. +// You can construct a concrete instance of `PolicyControllerMembershipSpecInput` via: // -// OnPremClusterArgs{...} -type OnPremClusterInput interface { +// PolicyControllerMembershipSpecArgs{...} +type PolicyControllerMembershipSpecInput interface { pulumi.Input - ToOnPremClusterOutput() OnPremClusterOutput - ToOnPremClusterOutputWithContext(context.Context) OnPremClusterOutput + ToPolicyControllerMembershipSpecOutput() PolicyControllerMembershipSpecOutput + ToPolicyControllerMembershipSpecOutputWithContext(context.Context) PolicyControllerMembershipSpecOutput } -// OnPremCluster contains information specific to GKE On-Prem clusters. -type OnPremClusterArgs struct { - // Immutable. Whether the cluster is an admin cluster. - AdminCluster pulumi.BoolPtrInput `pulumi:"adminCluster"` - // Immutable. The on prem cluster's type. - ClusterType OnPremClusterClusterTypePtrInput `pulumi:"clusterType"` - // Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster - ResourceLink pulumi.StringPtrInput `pulumi:"resourceLink"` +// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. +type PolicyControllerMembershipSpecArgs struct { + // Policy Controller configuration for the cluster. + PolicyControllerHubConfig PolicyControllerHubConfigPtrInput `pulumi:"policyControllerHubConfig"` + // Version of Policy Controller installed. + Version pulumi.StringPtrInput `pulumi:"version"` } -func (OnPremClusterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*OnPremCluster)(nil)).Elem() +func (PolicyControllerMembershipSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerMembershipSpec)(nil)).Elem() } -func (i OnPremClusterArgs) ToOnPremClusterOutput() OnPremClusterOutput { - return i.ToOnPremClusterOutputWithContext(context.Background()) +func (i PolicyControllerMembershipSpecArgs) ToPolicyControllerMembershipSpecOutput() PolicyControllerMembershipSpecOutput { + return i.ToPolicyControllerMembershipSpecOutputWithContext(context.Background()) } -func (i OnPremClusterArgs) ToOnPremClusterOutputWithContext(ctx context.Context) OnPremClusterOutput { - return pulumi.ToOutputWithContext(ctx, i).(OnPremClusterOutput) +func (i PolicyControllerMembershipSpecArgs) ToPolicyControllerMembershipSpecOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMembershipSpecOutput) } -func (i OnPremClusterArgs) ToOnPremClusterPtrOutput() OnPremClusterPtrOutput { - return i.ToOnPremClusterPtrOutputWithContext(context.Background()) +func (i PolicyControllerMembershipSpecArgs) ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput { + return i.ToPolicyControllerMembershipSpecPtrOutputWithContext(context.Background()) } -func (i OnPremClusterArgs) ToOnPremClusterPtrOutputWithContext(ctx context.Context) OnPremClusterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(OnPremClusterOutput).ToOnPremClusterPtrOutputWithContext(ctx) +func (i PolicyControllerMembershipSpecArgs) ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMembershipSpecOutput).ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx) } -// OnPremClusterPtrInput is an input type that accepts OnPremClusterArgs, OnPremClusterPtr and OnPremClusterPtrOutput values. -// You can construct a concrete instance of `OnPremClusterPtrInput` via: +// PolicyControllerMembershipSpecPtrInput is an input type that accepts PolicyControllerMembershipSpecArgs, PolicyControllerMembershipSpecPtr and PolicyControllerMembershipSpecPtrOutput values. +// You can construct a concrete instance of `PolicyControllerMembershipSpecPtrInput` via: // -// OnPremClusterArgs{...} +// PolicyControllerMembershipSpecArgs{...} // // or: // // nil -type OnPremClusterPtrInput interface { +type PolicyControllerMembershipSpecPtrInput interface { pulumi.Input - ToOnPremClusterPtrOutput() OnPremClusterPtrOutput - ToOnPremClusterPtrOutputWithContext(context.Context) OnPremClusterPtrOutput + ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput + ToPolicyControllerMembershipSpecPtrOutputWithContext(context.Context) PolicyControllerMembershipSpecPtrOutput } -type onPremClusterPtrType OnPremClusterArgs +type policyControllerMembershipSpecPtrType PolicyControllerMembershipSpecArgs -func OnPremClusterPtr(v *OnPremClusterArgs) OnPremClusterPtrInput { - return (*onPremClusterPtrType)(v) +func PolicyControllerMembershipSpecPtr(v *PolicyControllerMembershipSpecArgs) PolicyControllerMembershipSpecPtrInput { + return (*policyControllerMembershipSpecPtrType)(v) } -func (*onPremClusterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**OnPremCluster)(nil)).Elem() +func (*policyControllerMembershipSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerMembershipSpec)(nil)).Elem() } -func (i *onPremClusterPtrType) ToOnPremClusterPtrOutput() OnPremClusterPtrOutput { - return i.ToOnPremClusterPtrOutputWithContext(context.Background()) +func (i *policyControllerMembershipSpecPtrType) ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput { + return i.ToPolicyControllerMembershipSpecPtrOutputWithContext(context.Background()) } -func (i *onPremClusterPtrType) ToOnPremClusterPtrOutputWithContext(ctx context.Context) OnPremClusterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(OnPremClusterPtrOutput) +func (i *policyControllerMembershipSpecPtrType) ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMembershipSpecPtrOutput) } -// OnPremCluster contains information specific to GKE On-Prem clusters. -type OnPremClusterOutput struct{ *pulumi.OutputState } +// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. +type PolicyControllerMembershipSpecOutput struct{ *pulumi.OutputState } -func (OnPremClusterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*OnPremCluster)(nil)).Elem() +func (PolicyControllerMembershipSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerMembershipSpec)(nil)).Elem() } -func (o OnPremClusterOutput) ToOnPremClusterOutput() OnPremClusterOutput { +func (o PolicyControllerMembershipSpecOutput) ToPolicyControllerMembershipSpecOutput() PolicyControllerMembershipSpecOutput { return o } -func (o OnPremClusterOutput) ToOnPremClusterOutputWithContext(ctx context.Context) OnPremClusterOutput { +func (o PolicyControllerMembershipSpecOutput) ToPolicyControllerMembershipSpecOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecOutput { return o } -func (o OnPremClusterOutput) ToOnPremClusterPtrOutput() OnPremClusterPtrOutput { - return o.ToOnPremClusterPtrOutputWithContext(context.Background()) +func (o PolicyControllerMembershipSpecOutput) ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput { + return o.ToPolicyControllerMembershipSpecPtrOutputWithContext(context.Background()) } -func (o OnPremClusterOutput) ToOnPremClusterPtrOutputWithContext(ctx context.Context) OnPremClusterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v OnPremCluster) *OnPremCluster { +func (o PolicyControllerMembershipSpecOutput) ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerMembershipSpec) *PolicyControllerMembershipSpec { return &v - }).(OnPremClusterPtrOutput) -} - -// Immutable. Whether the cluster is an admin cluster. -func (o OnPremClusterOutput) AdminCluster() pulumi.BoolPtrOutput { - return o.ApplyT(func(v OnPremCluster) *bool { return v.AdminCluster }).(pulumi.BoolPtrOutput) + }).(PolicyControllerMembershipSpecPtrOutput) } -// Immutable. The on prem cluster's type. -func (o OnPremClusterOutput) ClusterType() OnPremClusterClusterTypePtrOutput { - return o.ApplyT(func(v OnPremCluster) *OnPremClusterClusterType { return v.ClusterType }).(OnPremClusterClusterTypePtrOutput) +// Policy Controller configuration for the cluster. +func (o PolicyControllerMembershipSpecOutput) PolicyControllerHubConfig() PolicyControllerHubConfigPtrOutput { + return o.ApplyT(func(v PolicyControllerMembershipSpec) *PolicyControllerHubConfig { return v.PolicyControllerHubConfig }).(PolicyControllerHubConfigPtrOutput) } -// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster -func (o OnPremClusterOutput) ResourceLink() pulumi.StringPtrOutput { - return o.ApplyT(func(v OnPremCluster) *string { return v.ResourceLink }).(pulumi.StringPtrOutput) +// Version of Policy Controller installed. +func (o PolicyControllerMembershipSpecOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerMembershipSpec) *string { return v.Version }).(pulumi.StringPtrOutput) } -type OnPremClusterPtrOutput struct{ *pulumi.OutputState } +type PolicyControllerMembershipSpecPtrOutput struct{ *pulumi.OutputState } -func (OnPremClusterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**OnPremCluster)(nil)).Elem() +func (PolicyControllerMembershipSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerMembershipSpec)(nil)).Elem() } -func (o OnPremClusterPtrOutput) ToOnPremClusterPtrOutput() OnPremClusterPtrOutput { +func (o PolicyControllerMembershipSpecPtrOutput) ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput { return o } -func (o OnPremClusterPtrOutput) ToOnPremClusterPtrOutputWithContext(ctx context.Context) OnPremClusterPtrOutput { +func (o PolicyControllerMembershipSpecPtrOutput) ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecPtrOutput { return o } -func (o OnPremClusterPtrOutput) Elem() OnPremClusterOutput { - return o.ApplyT(func(v *OnPremCluster) OnPremCluster { +func (o PolicyControllerMembershipSpecPtrOutput) Elem() PolicyControllerMembershipSpecOutput { + return o.ApplyT(func(v *PolicyControllerMembershipSpec) PolicyControllerMembershipSpec { if v != nil { return *v } - var ret OnPremCluster + var ret PolicyControllerMembershipSpec return ret - }).(OnPremClusterOutput) -} - -// Immutable. Whether the cluster is an admin cluster. -func (o OnPremClusterPtrOutput) AdminCluster() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *OnPremCluster) *bool { - if v == nil { - return nil - } - return v.AdminCluster - }).(pulumi.BoolPtrOutput) + }).(PolicyControllerMembershipSpecOutput) } -// Immutable. The on prem cluster's type. -func (o OnPremClusterPtrOutput) ClusterType() OnPremClusterClusterTypePtrOutput { - return o.ApplyT(func(v *OnPremCluster) *OnPremClusterClusterType { +// Policy Controller configuration for the cluster. +func (o PolicyControllerMembershipSpecPtrOutput) PolicyControllerHubConfig() PolicyControllerHubConfigPtrOutput { + return o.ApplyT(func(v *PolicyControllerMembershipSpec) *PolicyControllerHubConfig { if v == nil { return nil } - return v.ClusterType - }).(OnPremClusterClusterTypePtrOutput) + return v.PolicyControllerHubConfig + }).(PolicyControllerHubConfigPtrOutput) } -// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster -func (o OnPremClusterPtrOutput) ResourceLink() pulumi.StringPtrOutput { - return o.ApplyT(func(v *OnPremCluster) *string { +// Version of Policy Controller installed. +func (o PolicyControllerMembershipSpecPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyControllerMembershipSpec) *string { if v == nil { return nil } - return v.ResourceLink + return v.Version }).(pulumi.StringPtrOutput) } -// OnPremCluster contains information specific to GKE On-Prem clusters. -type OnPremClusterResponse struct { - // Immutable. Whether the cluster is an admin cluster. - AdminCluster bool `pulumi:"adminCluster"` - // If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no longer exists. - ClusterMissing bool `pulumi:"clusterMissing"` - // Immutable. The on prem cluster's type. - ClusterType string `pulumi:"clusterType"` - // Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster - ResourceLink string `pulumi:"resourceLink"` +// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. +type PolicyControllerMembershipSpecResponse struct { + // Policy Controller configuration for the cluster. + PolicyControllerHubConfig PolicyControllerHubConfigResponse `pulumi:"policyControllerHubConfig"` + // Version of Policy Controller installed. + Version string `pulumi:"version"` } -// OnPremCluster contains information specific to GKE On-Prem clusters. -type OnPremClusterResponseOutput struct{ *pulumi.OutputState } +// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. +type PolicyControllerMembershipSpecResponseOutput struct{ *pulumi.OutputState } -func (OnPremClusterResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*OnPremClusterResponse)(nil)).Elem() +func (PolicyControllerMembershipSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerMembershipSpecResponse)(nil)).Elem() } -func (o OnPremClusterResponseOutput) ToOnPremClusterResponseOutput() OnPremClusterResponseOutput { +func (o PolicyControllerMembershipSpecResponseOutput) ToPolicyControllerMembershipSpecResponseOutput() PolicyControllerMembershipSpecResponseOutput { return o } -func (o OnPremClusterResponseOutput) ToOnPremClusterResponseOutputWithContext(ctx context.Context) OnPremClusterResponseOutput { +func (o PolicyControllerMembershipSpecResponseOutput) ToPolicyControllerMembershipSpecResponseOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecResponseOutput { return o } -// Immutable. Whether the cluster is an admin cluster. -func (o OnPremClusterResponseOutput) AdminCluster() pulumi.BoolOutput { - return o.ApplyT(func(v OnPremClusterResponse) bool { return v.AdminCluster }).(pulumi.BoolOutput) +// Policy Controller configuration for the cluster. +func (o PolicyControllerMembershipSpecResponseOutput) PolicyControllerHubConfig() PolicyControllerHubConfigResponseOutput { + return o.ApplyT(func(v PolicyControllerMembershipSpecResponse) PolicyControllerHubConfigResponse { + return v.PolicyControllerHubConfig + }).(PolicyControllerHubConfigResponseOutput) } -// If cluster_missing is set then it denotes that API(gkeonprem.googleapis.com) resource for this GKE On-Prem cluster no longer exists. -func (o OnPremClusterResponseOutput) ClusterMissing() pulumi.BoolOutput { - return o.ApplyT(func(v OnPremClusterResponse) bool { return v.ClusterMissing }).(pulumi.BoolOutput) +// Version of Policy Controller installed. +func (o PolicyControllerMembershipSpecResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerMembershipSpecResponse) string { return v.Version }).(pulumi.StringOutput) } -// Immutable. The on prem cluster's type. -func (o OnPremClusterResponseOutput) ClusterType() pulumi.StringOutput { - return o.ApplyT(func(v OnPremClusterResponse) string { return v.ClusterType }).(pulumi.StringOutput) +// **Policy Controller**: State for a single cluster. +type PolicyControllerMembershipStateResponse struct { + // Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + ComponentStates map[string]PolicyControllerOnClusterStateResponse `pulumi:"componentStates"` + // The overall content state observed by the Hub Feature controller. + PolicyContentState PolicyControllerPolicyContentStateResponse `pulumi:"policyContentState"` + // The overall Policy Controller lifecycle state observed by the Hub Feature controller. + State string `pulumi:"state"` } -// Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster -func (o OnPremClusterResponseOutput) ResourceLink() pulumi.StringOutput { - return o.ApplyT(func(v OnPremClusterResponse) string { return v.ResourceLink }).(pulumi.StringOutput) +// **Policy Controller**: State for a single cluster. +type PolicyControllerMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerMembershipStateResponse)(nil)).Elem() } -// Binauthz policy that applies to this cluster. -type PolicyBinding struct { - // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. - Name *string `pulumi:"name"` +func (o PolicyControllerMembershipStateResponseOutput) ToPolicyControllerMembershipStateResponseOutput() PolicyControllerMembershipStateResponseOutput { + return o } -// PolicyBindingInput is an input type that accepts PolicyBindingArgs and PolicyBindingOutput values. -// You can construct a concrete instance of `PolicyBindingInput` via: +func (o PolicyControllerMembershipStateResponseOutput) ToPolicyControllerMembershipStateResponseOutputWithContext(ctx context.Context) PolicyControllerMembershipStateResponseOutput { + return o +} + +// Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" +func (o PolicyControllerMembershipStateResponseOutput) ComponentStates() PolicyControllerOnClusterStateResponseMapOutput { + return o.ApplyT(func(v PolicyControllerMembershipStateResponse) map[string]PolicyControllerOnClusterStateResponse { + return v.ComponentStates + }).(PolicyControllerOnClusterStateResponseMapOutput) +} + +// The overall content state observed by the Hub Feature controller. +func (o PolicyControllerMembershipStateResponseOutput) PolicyContentState() PolicyControllerPolicyContentStateResponseOutput { + return o.ApplyT(func(v PolicyControllerMembershipStateResponse) PolicyControllerPolicyContentStateResponse { + return v.PolicyContentState + }).(PolicyControllerPolicyContentStateResponseOutput) +} + +// The overall Policy Controller lifecycle state observed by the Hub Feature controller. +func (o PolicyControllerMembershipStateResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerMembershipStateResponse) string { return v.State }).(pulumi.StringOutput) +} + +// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] +type PolicyControllerMonitoringConfig struct { + // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + Backends []PolicyControllerMonitoringConfigBackendsItem `pulumi:"backends"` +} + +// PolicyControllerMonitoringConfigInput is an input type that accepts PolicyControllerMonitoringConfigArgs and PolicyControllerMonitoringConfigOutput values. +// You can construct a concrete instance of `PolicyControllerMonitoringConfigInput` via: // -// PolicyBindingArgs{...} -type PolicyBindingInput interface { +// PolicyControllerMonitoringConfigArgs{...} +type PolicyControllerMonitoringConfigInput interface { pulumi.Input - ToPolicyBindingOutput() PolicyBindingOutput - ToPolicyBindingOutputWithContext(context.Context) PolicyBindingOutput + ToPolicyControllerMonitoringConfigOutput() PolicyControllerMonitoringConfigOutput + ToPolicyControllerMonitoringConfigOutputWithContext(context.Context) PolicyControllerMonitoringConfigOutput } -// Binauthz policy that applies to this cluster. -type PolicyBindingArgs struct { - // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. - Name pulumi.StringPtrInput `pulumi:"name"` +// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] +type PolicyControllerMonitoringConfigArgs struct { + // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + Backends PolicyControllerMonitoringConfigBackendsItemArrayInput `pulumi:"backends"` } -func (PolicyBindingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyBinding)(nil)).Elem() +func (PolicyControllerMonitoringConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerMonitoringConfig)(nil)).Elem() } -func (i PolicyBindingArgs) ToPolicyBindingOutput() PolicyBindingOutput { - return i.ToPolicyBindingOutputWithContext(context.Background()) +func (i PolicyControllerMonitoringConfigArgs) ToPolicyControllerMonitoringConfigOutput() PolicyControllerMonitoringConfigOutput { + return i.ToPolicyControllerMonitoringConfigOutputWithContext(context.Background()) } -func (i PolicyBindingArgs) ToPolicyBindingOutputWithContext(ctx context.Context) PolicyBindingOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyBindingOutput) +func (i PolicyControllerMonitoringConfigArgs) ToPolicyControllerMonitoringConfigOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMonitoringConfigOutput) } -// PolicyBindingArrayInput is an input type that accepts PolicyBindingArray and PolicyBindingArrayOutput values. -// You can construct a concrete instance of `PolicyBindingArrayInput` via: +func (i PolicyControllerMonitoringConfigArgs) ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput { + return i.ToPolicyControllerMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (i PolicyControllerMonitoringConfigArgs) ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMonitoringConfigOutput).ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx) +} + +// PolicyControllerMonitoringConfigPtrInput is an input type that accepts PolicyControllerMonitoringConfigArgs, PolicyControllerMonitoringConfigPtr and PolicyControllerMonitoringConfigPtrOutput values. +// You can construct a concrete instance of `PolicyControllerMonitoringConfigPtrInput` via: // -// PolicyBindingArray{ PolicyBindingArgs{...} } -type PolicyBindingArrayInput interface { +// PolicyControllerMonitoringConfigArgs{...} +// +// or: +// +// nil +type PolicyControllerMonitoringConfigPtrInput interface { pulumi.Input - ToPolicyBindingArrayOutput() PolicyBindingArrayOutput - ToPolicyBindingArrayOutputWithContext(context.Context) PolicyBindingArrayOutput + ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput + ToPolicyControllerMonitoringConfigPtrOutputWithContext(context.Context) PolicyControllerMonitoringConfigPtrOutput } -type PolicyBindingArray []PolicyBindingInput +type policyControllerMonitoringConfigPtrType PolicyControllerMonitoringConfigArgs -func (PolicyBindingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]PolicyBinding)(nil)).Elem() +func PolicyControllerMonitoringConfigPtr(v *PolicyControllerMonitoringConfigArgs) PolicyControllerMonitoringConfigPtrInput { + return (*policyControllerMonitoringConfigPtrType)(v) } -func (i PolicyBindingArray) ToPolicyBindingArrayOutput() PolicyBindingArrayOutput { - return i.ToPolicyBindingArrayOutputWithContext(context.Background()) +func (*policyControllerMonitoringConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerMonitoringConfig)(nil)).Elem() } -func (i PolicyBindingArray) ToPolicyBindingArrayOutputWithContext(ctx context.Context) PolicyBindingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyBindingArrayOutput) +func (i *policyControllerMonitoringConfigPtrType) ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput { + return i.ToPolicyControllerMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (i *policyControllerMonitoringConfigPtrType) ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMonitoringConfigPtrOutput) +} + +// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] +type PolicyControllerMonitoringConfigOutput struct{ *pulumi.OutputState } + +func (PolicyControllerMonitoringConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerMonitoringConfig)(nil)).Elem() +} + +func (o PolicyControllerMonitoringConfigOutput) ToPolicyControllerMonitoringConfigOutput() PolicyControllerMonitoringConfigOutput { + return o +} + +func (o PolicyControllerMonitoringConfigOutput) ToPolicyControllerMonitoringConfigOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigOutput { + return o +} + +func (o PolicyControllerMonitoringConfigOutput) ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput { + return o.ToPolicyControllerMonitoringConfigPtrOutputWithContext(context.Background()) +} + +func (o PolicyControllerMonitoringConfigOutput) ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerMonitoringConfig) *PolicyControllerMonitoringConfig { + return &v + }).(PolicyControllerMonitoringConfigPtrOutput) +} + +// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. +func (o PolicyControllerMonitoringConfigOutput) Backends() PolicyControllerMonitoringConfigBackendsItemArrayOutput { + return o.ApplyT(func(v PolicyControllerMonitoringConfig) []PolicyControllerMonitoringConfigBackendsItem { + return v.Backends + }).(PolicyControllerMonitoringConfigBackendsItemArrayOutput) } -// Binauthz policy that applies to this cluster. -type PolicyBindingOutput struct{ *pulumi.OutputState } +type PolicyControllerMonitoringConfigPtrOutput struct{ *pulumi.OutputState } -func (PolicyBindingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyBinding)(nil)).Elem() +func (PolicyControllerMonitoringConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerMonitoringConfig)(nil)).Elem() } -func (o PolicyBindingOutput) ToPolicyBindingOutput() PolicyBindingOutput { +func (o PolicyControllerMonitoringConfigPtrOutput) ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput { return o } -func (o PolicyBindingOutput) ToPolicyBindingOutputWithContext(ctx context.Context) PolicyBindingOutput { +func (o PolicyControllerMonitoringConfigPtrOutput) ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigPtrOutput { return o } -// The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. -func (o PolicyBindingOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicyBinding) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o PolicyControllerMonitoringConfigPtrOutput) Elem() PolicyControllerMonitoringConfigOutput { + return o.ApplyT(func(v *PolicyControllerMonitoringConfig) PolicyControllerMonitoringConfig { + if v != nil { + return *v + } + var ret PolicyControllerMonitoringConfig + return ret + }).(PolicyControllerMonitoringConfigOutput) } -type PolicyBindingArrayOutput struct{ *pulumi.OutputState } +// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. +func (o PolicyControllerMonitoringConfigPtrOutput) Backends() PolicyControllerMonitoringConfigBackendsItemArrayOutput { + return o.ApplyT(func(v *PolicyControllerMonitoringConfig) []PolicyControllerMonitoringConfigBackendsItem { + if v == nil { + return nil + } + return v.Backends + }).(PolicyControllerMonitoringConfigBackendsItemArrayOutput) +} -func (PolicyBindingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PolicyBinding)(nil)).Elem() +// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] +type PolicyControllerMonitoringConfigResponse struct { + // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + Backends []string `pulumi:"backends"` } -func (o PolicyBindingArrayOutput) ToPolicyBindingArrayOutput() PolicyBindingArrayOutput { +// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] +type PolicyControllerMonitoringConfigResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerMonitoringConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerMonitoringConfigResponse)(nil)).Elem() +} + +func (o PolicyControllerMonitoringConfigResponseOutput) ToPolicyControllerMonitoringConfigResponseOutput() PolicyControllerMonitoringConfigResponseOutput { return o } -func (o PolicyBindingArrayOutput) ToPolicyBindingArrayOutputWithContext(ctx context.Context) PolicyBindingArrayOutput { +func (o PolicyControllerMonitoringConfigResponseOutput) ToPolicyControllerMonitoringConfigResponseOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigResponseOutput { return o } -func (o PolicyBindingArrayOutput) Index(i pulumi.IntInput) PolicyBindingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyBinding { - return vs[0].([]PolicyBinding)[vs[1].(int)] - }).(PolicyBindingOutput) +// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. +func (o PolicyControllerMonitoringConfigResponseOutput) Backends() pulumi.StringArrayOutput { + return o.ApplyT(func(v PolicyControllerMonitoringConfigResponse) []string { return v.Backends }).(pulumi.StringArrayOutput) } -// Binauthz policy that applies to this cluster. -type PolicyBindingResponse struct { - // The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. - Name string `pulumi:"name"` +// OnClusterState represents the state of a sub-component of Policy Controller. +type PolicyControllerOnClusterStateResponse struct { + // Surface potential errors or information logs. + Details string `pulumi:"details"` + // The lifecycle state of this component. + State string `pulumi:"state"` } -// Binauthz policy that applies to this cluster. -type PolicyBindingResponseOutput struct{ *pulumi.OutputState } +// OnClusterState represents the state of a sub-component of Policy Controller. +type PolicyControllerOnClusterStateResponseOutput struct{ *pulumi.OutputState } -func (PolicyBindingResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyBindingResponse)(nil)).Elem() +func (PolicyControllerOnClusterStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerOnClusterStateResponse)(nil)).Elem() } -func (o PolicyBindingResponseOutput) ToPolicyBindingResponseOutput() PolicyBindingResponseOutput { +func (o PolicyControllerOnClusterStateResponseOutput) ToPolicyControllerOnClusterStateResponseOutput() PolicyControllerOnClusterStateResponseOutput { return o } -func (o PolicyBindingResponseOutput) ToPolicyBindingResponseOutputWithContext(ctx context.Context) PolicyBindingResponseOutput { +func (o PolicyControllerOnClusterStateResponseOutput) ToPolicyControllerOnClusterStateResponseOutputWithContext(ctx context.Context) PolicyControllerOnClusterStateResponseOutput { return o } -// The relative resource name of the binauthz platform policy to audit. GKE platform policies have the following format: `projects/{project_number}/platforms/gke/policies/{policy_id}`. -func (o PolicyBindingResponseOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v PolicyBindingResponse) string { return v.Name }).(pulumi.StringOutput) +// Surface potential errors or information logs. +func (o PolicyControllerOnClusterStateResponseOutput) Details() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerOnClusterStateResponse) string { return v.Details }).(pulumi.StringOutput) } -type PolicyBindingResponseArrayOutput struct{ *pulumi.OutputState } +// The lifecycle state of this component. +func (o PolicyControllerOnClusterStateResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerOnClusterStateResponse) string { return v.State }).(pulumi.StringOutput) +} -func (PolicyBindingResponseArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]PolicyBindingResponse)(nil)).Elem() +type PolicyControllerOnClusterStateResponseMapOutput struct{ *pulumi.OutputState } + +func (PolicyControllerOnClusterStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerOnClusterStateResponse)(nil)).Elem() } -func (o PolicyBindingResponseArrayOutput) ToPolicyBindingResponseArrayOutput() PolicyBindingResponseArrayOutput { +func (o PolicyControllerOnClusterStateResponseMapOutput) ToPolicyControllerOnClusterStateResponseMapOutput() PolicyControllerOnClusterStateResponseMapOutput { return o } -func (o PolicyBindingResponseArrayOutput) ToPolicyBindingResponseArrayOutputWithContext(ctx context.Context) PolicyBindingResponseArrayOutput { +func (o PolicyControllerOnClusterStateResponseMapOutput) ToPolicyControllerOnClusterStateResponseMapOutputWithContext(ctx context.Context) PolicyControllerOnClusterStateResponseMapOutput { return o } -func (o PolicyBindingResponseArrayOutput) Index(i pulumi.IntInput) PolicyBindingResponseOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyBindingResponse { - return vs[0].([]PolicyBindingResponse)[vs[1].(int)] - }).(PolicyBindingResponseOutput) +func (o PolicyControllerOnClusterStateResponseMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerOnClusterStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerOnClusterStateResponse { + return vs[0].(map[string]PolicyControllerOnClusterStateResponse)[vs[1].(string)] + }).(PolicyControllerOnClusterStateResponseOutput) } -// Configuration for Policy Controller -type PolicyControllerHubConfig struct { - // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. - AuditIntervalSeconds *string `pulumi:"auditIntervalSeconds"` - // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - ConstraintViolationLimit *string `pulumi:"constraintViolationLimit"` - // Map of deployment configs to deployments ("admission", "audit", "mutation'). - DeploymentConfigs map[string]string `pulumi:"deploymentConfigs"` - // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. - ExemptableNamespaces []string `pulumi:"exemptableNamespaces"` - // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. - InstallSpec *PolicyControllerHubConfigInstallSpec `pulumi:"installSpec"` - // Logs all denies and dry run failures. - LogDeniesEnabled *bool `pulumi:"logDeniesEnabled"` - // Monitoring specifies the configuration of monitoring. - Monitoring *PolicyControllerMonitoringConfig `pulumi:"monitoring"` - // Enables the ability to mutate resources using Policy Controller. - MutationEnabled *bool `pulumi:"mutationEnabled"` - // Specifies the desired policy content on the cluster - PolicyContent *PolicyControllerPolicyContentSpec `pulumi:"policyContent"` - // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. - ReferentialRulesEnabled *bool `pulumi:"referentialRulesEnabled"` +// PolicyContentSpec defines the user's desired content configuration on the cluster. +type PolicyControllerPolicyContentSpec struct { + // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + Bundles map[string]PolicyControllerBundleInstallSpec `pulumi:"bundles"` + // Configures the installation of the Template Library. + TemplateLibrary *PolicyControllerTemplateLibraryConfig `pulumi:"templateLibrary"` } -// PolicyControllerHubConfigInput is an input type that accepts PolicyControllerHubConfigArgs and PolicyControllerHubConfigOutput values. -// You can construct a concrete instance of `PolicyControllerHubConfigInput` via: +// PolicyControllerPolicyContentSpecInput is an input type that accepts PolicyControllerPolicyContentSpecArgs and PolicyControllerPolicyContentSpecOutput values. +// You can construct a concrete instance of `PolicyControllerPolicyContentSpecInput` via: // -// PolicyControllerHubConfigArgs{...} -type PolicyControllerHubConfigInput interface { +// PolicyControllerPolicyContentSpecArgs{...} +type PolicyControllerPolicyContentSpecInput interface { pulumi.Input - ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput - ToPolicyControllerHubConfigOutputWithContext(context.Context) PolicyControllerHubConfigOutput + ToPolicyControllerPolicyContentSpecOutput() PolicyControllerPolicyContentSpecOutput + ToPolicyControllerPolicyContentSpecOutputWithContext(context.Context) PolicyControllerPolicyContentSpecOutput } -// Configuration for Policy Controller -type PolicyControllerHubConfigArgs struct { - // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. - AuditIntervalSeconds pulumi.StringPtrInput `pulumi:"auditIntervalSeconds"` - // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - ConstraintViolationLimit pulumi.StringPtrInput `pulumi:"constraintViolationLimit"` - // Map of deployment configs to deployments ("admission", "audit", "mutation'). - DeploymentConfigs pulumi.StringMapInput `pulumi:"deploymentConfigs"` - // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. - ExemptableNamespaces pulumi.StringArrayInput `pulumi:"exemptableNamespaces"` - // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. - InstallSpec PolicyControllerHubConfigInstallSpecPtrInput `pulumi:"installSpec"` - // Logs all denies and dry run failures. - LogDeniesEnabled pulumi.BoolPtrInput `pulumi:"logDeniesEnabled"` - // Monitoring specifies the configuration of monitoring. - Monitoring PolicyControllerMonitoringConfigPtrInput `pulumi:"monitoring"` - // Enables the ability to mutate resources using Policy Controller. - MutationEnabled pulumi.BoolPtrInput `pulumi:"mutationEnabled"` - // Specifies the desired policy content on the cluster - PolicyContent PolicyControllerPolicyContentSpecPtrInput `pulumi:"policyContent"` - // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. - ReferentialRulesEnabled pulumi.BoolPtrInput `pulumi:"referentialRulesEnabled"` +// PolicyContentSpec defines the user's desired content configuration on the cluster. +type PolicyControllerPolicyContentSpecArgs struct { + // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + Bundles PolicyControllerBundleInstallSpecMapInput `pulumi:"bundles"` + // Configures the installation of the Template Library. + TemplateLibrary PolicyControllerTemplateLibraryConfigPtrInput `pulumi:"templateLibrary"` } -func (PolicyControllerHubConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerHubConfig)(nil)).Elem() +func (PolicyControllerPolicyContentSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyContentSpec)(nil)).Elem() } -func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput { - return i.ToPolicyControllerHubConfigOutputWithContext(context.Background()) +func (i PolicyControllerPolicyContentSpecArgs) ToPolicyControllerPolicyContentSpecOutput() PolicyControllerPolicyContentSpecOutput { + return i.ToPolicyControllerPolicyContentSpecOutputWithContext(context.Background()) } -func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigOutputWithContext(ctx context.Context) PolicyControllerHubConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerHubConfigOutput) +func (i PolicyControllerPolicyContentSpecArgs) ToPolicyControllerPolicyContentSpecOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyContentSpecOutput) } -func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { - return i.ToPolicyControllerHubConfigPtrOutputWithContext(context.Background()) +func (i PolicyControllerPolicyContentSpecArgs) ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput { + return i.ToPolicyControllerPolicyContentSpecPtrOutputWithContext(context.Background()) } -func (i PolicyControllerHubConfigArgs) ToPolicyControllerHubConfigPtrOutputWithContext(ctx context.Context) PolicyControllerHubConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerHubConfigOutput).ToPolicyControllerHubConfigPtrOutputWithContext(ctx) +func (i PolicyControllerPolicyContentSpecArgs) ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyContentSpecOutput).ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx) } -// PolicyControllerHubConfigPtrInput is an input type that accepts PolicyControllerHubConfigArgs, PolicyControllerHubConfigPtr and PolicyControllerHubConfigPtrOutput values. -// You can construct a concrete instance of `PolicyControllerHubConfigPtrInput` via: +// PolicyControllerPolicyContentSpecPtrInput is an input type that accepts PolicyControllerPolicyContentSpecArgs, PolicyControllerPolicyContentSpecPtr and PolicyControllerPolicyContentSpecPtrOutput values. +// You can construct a concrete instance of `PolicyControllerPolicyContentSpecPtrInput` via: // -// PolicyControllerHubConfigArgs{...} +// PolicyControllerPolicyContentSpecArgs{...} // // or: // // nil -type PolicyControllerHubConfigPtrInput interface { +type PolicyControllerPolicyContentSpecPtrInput interface { pulumi.Input - ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput - ToPolicyControllerHubConfigPtrOutputWithContext(context.Context) PolicyControllerHubConfigPtrOutput + ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput + ToPolicyControllerPolicyContentSpecPtrOutputWithContext(context.Context) PolicyControllerPolicyContentSpecPtrOutput } -type policyControllerHubConfigPtrType PolicyControllerHubConfigArgs +type policyControllerPolicyContentSpecPtrType PolicyControllerPolicyContentSpecArgs -func PolicyControllerHubConfigPtr(v *PolicyControllerHubConfigArgs) PolicyControllerHubConfigPtrInput { - return (*policyControllerHubConfigPtrType)(v) +func PolicyControllerPolicyContentSpecPtr(v *PolicyControllerPolicyContentSpecArgs) PolicyControllerPolicyContentSpecPtrInput { + return (*policyControllerPolicyContentSpecPtrType)(v) } -func (*policyControllerHubConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerHubConfig)(nil)).Elem() +func (*policyControllerPolicyContentSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerPolicyContentSpec)(nil)).Elem() } -func (i *policyControllerHubConfigPtrType) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { - return i.ToPolicyControllerHubConfigPtrOutputWithContext(context.Background()) +func (i *policyControllerPolicyContentSpecPtrType) ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput { + return i.ToPolicyControllerPolicyContentSpecPtrOutputWithContext(context.Background()) } -func (i *policyControllerHubConfigPtrType) ToPolicyControllerHubConfigPtrOutputWithContext(ctx context.Context) PolicyControllerHubConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerHubConfigPtrOutput) +func (i *policyControllerPolicyContentSpecPtrType) ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyContentSpecPtrOutput) } -// Configuration for Policy Controller -type PolicyControllerHubConfigOutput struct{ *pulumi.OutputState } +// PolicyContentSpec defines the user's desired content configuration on the cluster. +type PolicyControllerPolicyContentSpecOutput struct{ *pulumi.OutputState } -func (PolicyControllerHubConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerHubConfig)(nil)).Elem() +func (PolicyControllerPolicyContentSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyContentSpec)(nil)).Elem() } -func (o PolicyControllerHubConfigOutput) ToPolicyControllerHubConfigOutput() PolicyControllerHubConfigOutput { +func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContentSpecOutput() PolicyControllerPolicyContentSpecOutput { return o } -func (o PolicyControllerHubConfigOutput) ToPolicyControllerHubConfigOutputWithContext(ctx context.Context) PolicyControllerHubConfigOutput { +func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContentSpecOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecOutput { return o } -func (o PolicyControllerHubConfigOutput) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { - return o.ToPolicyControllerHubConfigPtrOutputWithContext(context.Background()) +func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput { + return o.ToPolicyControllerPolicyContentSpecPtrOutputWithContext(context.Background()) } -func (o PolicyControllerHubConfigOutput) ToPolicyControllerHubConfigPtrOutputWithContext(ctx context.Context) PolicyControllerHubConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerHubConfig) *PolicyControllerHubConfig { +func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerPolicyContentSpec) *PolicyControllerPolicyContentSpec { return &v - }).(PolicyControllerHubConfigPtrOutput) -} - -// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. -func (o PolicyControllerHubConfigOutput) AuditIntervalSeconds() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) *string { return v.AuditIntervalSeconds }).(pulumi.StringPtrOutput) -} - -// The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. -func (o PolicyControllerHubConfigOutput) ConstraintViolationLimit() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) *string { return v.ConstraintViolationLimit }).(pulumi.StringPtrOutput) -} - -// Map of deployment configs to deployments ("admission", "audit", "mutation'). -func (o PolicyControllerHubConfigOutput) DeploymentConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) map[string]string { return v.DeploymentConfigs }).(pulumi.StringMapOutput) -} - -// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. -func (o PolicyControllerHubConfigOutput) ExemptableNamespaces() pulumi.StringArrayOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) []string { return v.ExemptableNamespaces }).(pulumi.StringArrayOutput) -} - -// The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. -func (o PolicyControllerHubConfigOutput) InstallSpec() PolicyControllerHubConfigInstallSpecPtrOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) *PolicyControllerHubConfigInstallSpec { return v.InstallSpec }).(PolicyControllerHubConfigInstallSpecPtrOutput) -} - -// Logs all denies and dry run failures. -func (o PolicyControllerHubConfigOutput) LogDeniesEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) *bool { return v.LogDeniesEnabled }).(pulumi.BoolPtrOutput) -} - -// Monitoring specifies the configuration of monitoring. -func (o PolicyControllerHubConfigOutput) Monitoring() PolicyControllerMonitoringConfigPtrOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) *PolicyControllerMonitoringConfig { return v.Monitoring }).(PolicyControllerMonitoringConfigPtrOutput) -} - -// Enables the ability to mutate resources using Policy Controller. -func (o PolicyControllerHubConfigOutput) MutationEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) *bool { return v.MutationEnabled }).(pulumi.BoolPtrOutput) + }).(PolicyControllerPolicyContentSpecPtrOutput) } -// Specifies the desired policy content on the cluster -func (o PolicyControllerHubConfigOutput) PolicyContent() PolicyControllerPolicyContentSpecPtrOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) *PolicyControllerPolicyContentSpec { return v.PolicyContent }).(PolicyControllerPolicyContentSpecPtrOutput) +// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. +func (o PolicyControllerPolicyContentSpecOutput) Bundles() PolicyControllerBundleInstallSpecMapOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentSpec) map[string]PolicyControllerBundleInstallSpec { + return v.Bundles + }).(PolicyControllerBundleInstallSpecMapOutput) } -// Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. -func (o PolicyControllerHubConfigOutput) ReferentialRulesEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v PolicyControllerHubConfig) *bool { return v.ReferentialRulesEnabled }).(pulumi.BoolPtrOutput) +// Configures the installation of the Template Library. +func (o PolicyControllerPolicyContentSpecOutput) TemplateLibrary() PolicyControllerTemplateLibraryConfigPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentSpec) *PolicyControllerTemplateLibraryConfig { + return v.TemplateLibrary + }).(PolicyControllerTemplateLibraryConfigPtrOutput) } -type PolicyControllerHubConfigPtrOutput struct{ *pulumi.OutputState } +type PolicyControllerPolicyContentSpecPtrOutput struct{ *pulumi.OutputState } -func (PolicyControllerHubConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerHubConfig)(nil)).Elem() +func (PolicyControllerPolicyContentSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerPolicyContentSpec)(nil)).Elem() } -func (o PolicyControllerHubConfigPtrOutput) ToPolicyControllerHubConfigPtrOutput() PolicyControllerHubConfigPtrOutput { +func (o PolicyControllerPolicyContentSpecPtrOutput) ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput { return o } -func (o PolicyControllerHubConfigPtrOutput) ToPolicyControllerHubConfigPtrOutputWithContext(ctx context.Context) PolicyControllerHubConfigPtrOutput { +func (o PolicyControllerPolicyContentSpecPtrOutput) ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecPtrOutput { return o } -func (o PolicyControllerHubConfigPtrOutput) Elem() PolicyControllerHubConfigOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) PolicyControllerHubConfig { +func (o PolicyControllerPolicyContentSpecPtrOutput) Elem() PolicyControllerPolicyContentSpecOutput { + return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) PolicyControllerPolicyContentSpec { if v != nil { return *v } - var ret PolicyControllerHubConfig + var ret PolicyControllerPolicyContentSpec return ret - }).(PolicyControllerHubConfigOutput) -} - -// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. -func (o PolicyControllerHubConfigPtrOutput) AuditIntervalSeconds() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) *string { - if v == nil { - return nil - } - return v.AuditIntervalSeconds - }).(pulumi.StringPtrOutput) + }).(PolicyControllerPolicyContentSpecOutput) } -// The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. -func (o PolicyControllerHubConfigPtrOutput) ConstraintViolationLimit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) *string { +// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. +func (o PolicyControllerPolicyContentSpecPtrOutput) Bundles() PolicyControllerBundleInstallSpecMapOutput { + return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) map[string]PolicyControllerBundleInstallSpec { if v == nil { return nil } - return v.ConstraintViolationLimit - }).(pulumi.StringPtrOutput) + return v.Bundles + }).(PolicyControllerBundleInstallSpecMapOutput) } -// Map of deployment configs to deployments ("admission", "audit", "mutation'). -func (o PolicyControllerHubConfigPtrOutput) DeploymentConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) map[string]string { +// Configures the installation of the Template Library. +func (o PolicyControllerPolicyContentSpecPtrOutput) TemplateLibrary() PolicyControllerTemplateLibraryConfigPtrOutput { + return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) *PolicyControllerTemplateLibraryConfig { if v == nil { return nil } - return v.DeploymentConfigs - }).(pulumi.StringMapOutput) + return v.TemplateLibrary + }).(PolicyControllerTemplateLibraryConfigPtrOutput) } -// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. -func (o PolicyControllerHubConfigPtrOutput) ExemptableNamespaces() pulumi.StringArrayOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) []string { - if v == nil { - return nil - } - return v.ExemptableNamespaces - }).(pulumi.StringArrayOutput) +// PolicyContentSpec defines the user's desired content configuration on the cluster. +type PolicyControllerPolicyContentSpecResponse struct { + // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + Bundles map[string]PolicyControllerBundleInstallSpecResponse `pulumi:"bundles"` + // Configures the installation of the Template Library. + TemplateLibrary PolicyControllerTemplateLibraryConfigResponse `pulumi:"templateLibrary"` } -// The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. -func (o PolicyControllerHubConfigPtrOutput) InstallSpec() PolicyControllerHubConfigInstallSpecPtrOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) *PolicyControllerHubConfigInstallSpec { - if v == nil { - return nil - } - return v.InstallSpec - }).(PolicyControllerHubConfigInstallSpecPtrOutput) -} +// PolicyContentSpec defines the user's desired content configuration on the cluster. +type PolicyControllerPolicyContentSpecResponseOutput struct{ *pulumi.OutputState } -// Logs all denies and dry run failures. -func (o PolicyControllerHubConfigPtrOutput) LogDeniesEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) *bool { - if v == nil { - return nil - } - return v.LogDeniesEnabled - }).(pulumi.BoolPtrOutput) +func (PolicyControllerPolicyContentSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyContentSpecResponse)(nil)).Elem() } -// Monitoring specifies the configuration of monitoring. -func (o PolicyControllerHubConfigPtrOutput) Monitoring() PolicyControllerMonitoringConfigPtrOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) *PolicyControllerMonitoringConfig { - if v == nil { - return nil - } - return v.Monitoring - }).(PolicyControllerMonitoringConfigPtrOutput) +func (o PolicyControllerPolicyContentSpecResponseOutput) ToPolicyControllerPolicyContentSpecResponseOutput() PolicyControllerPolicyContentSpecResponseOutput { + return o } -// Enables the ability to mutate resources using Policy Controller. -func (o PolicyControllerHubConfigPtrOutput) MutationEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) *bool { - if v == nil { - return nil - } - return v.MutationEnabled - }).(pulumi.BoolPtrOutput) +func (o PolicyControllerPolicyContentSpecResponseOutput) ToPolicyControllerPolicyContentSpecResponseOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecResponseOutput { + return o } -// Specifies the desired policy content on the cluster -func (o PolicyControllerHubConfigPtrOutput) PolicyContent() PolicyControllerPolicyContentSpecPtrOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) *PolicyControllerPolicyContentSpec { - if v == nil { - return nil - } - return v.PolicyContent - }).(PolicyControllerPolicyContentSpecPtrOutput) +// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. +func (o PolicyControllerPolicyContentSpecResponseOutput) Bundles() PolicyControllerBundleInstallSpecResponseMapOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentSpecResponse) map[string]PolicyControllerBundleInstallSpecResponse { + return v.Bundles + }).(PolicyControllerBundleInstallSpecResponseMapOutput) } -// Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. -func (o PolicyControllerHubConfigPtrOutput) ReferentialRulesEnabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *PolicyControllerHubConfig) *bool { - if v == nil { - return nil - } - return v.ReferentialRulesEnabled - }).(pulumi.BoolPtrOutput) +// Configures the installation of the Template Library. +func (o PolicyControllerPolicyContentSpecResponseOutput) TemplateLibrary() PolicyControllerTemplateLibraryConfigResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentSpecResponse) PolicyControllerTemplateLibraryConfigResponse { + return v.TemplateLibrary + }).(PolicyControllerTemplateLibraryConfigResponseOutput) } -// Configuration for Policy Controller -type PolicyControllerHubConfigResponse struct { - // Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. - AuditIntervalSeconds string `pulumi:"auditIntervalSeconds"` - // The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - ConstraintViolationLimit string `pulumi:"constraintViolationLimit"` - // Map of deployment configs to deployments ("admission", "audit", "mutation'). - DeploymentConfigs map[string]string `pulumi:"deploymentConfigs"` - // The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. - ExemptableNamespaces []string `pulumi:"exemptableNamespaces"` - // The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. - InstallSpec string `pulumi:"installSpec"` - // Logs all denies and dry run failures. - LogDeniesEnabled bool `pulumi:"logDeniesEnabled"` - // Monitoring specifies the configuration of monitoring. - Monitoring PolicyControllerMonitoringConfigResponse `pulumi:"monitoring"` - // Enables the ability to mutate resources using Policy Controller. - MutationEnabled bool `pulumi:"mutationEnabled"` - // Specifies the desired policy content on the cluster - PolicyContent PolicyControllerPolicyContentSpecResponse `pulumi:"policyContent"` - // Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. - ReferentialRulesEnabled bool `pulumi:"referentialRulesEnabled"` +// The state of the policy controller policy content +type PolicyControllerPolicyContentStateResponse struct { + // The state of the any bundles included in the chosen version of the manifest + BundleStates map[string]PolicyControllerOnClusterStateResponse `pulumi:"bundleStates"` + // The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + ReferentialSyncConfigState PolicyControllerOnClusterStateResponse `pulumi:"referentialSyncConfigState"` + // The state of the template library + TemplateLibraryState PolicyControllerOnClusterStateResponse `pulumi:"templateLibraryState"` } -// Configuration for Policy Controller -type PolicyControllerHubConfigResponseOutput struct{ *pulumi.OutputState } +// The state of the policy controller policy content +type PolicyControllerPolicyContentStateResponseOutput struct{ *pulumi.OutputState } -func (PolicyControllerHubConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerHubConfigResponse)(nil)).Elem() +func (PolicyControllerPolicyContentStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyContentStateResponse)(nil)).Elem() } -func (o PolicyControllerHubConfigResponseOutput) ToPolicyControllerHubConfigResponseOutput() PolicyControllerHubConfigResponseOutput { +func (o PolicyControllerPolicyContentStateResponseOutput) ToPolicyControllerPolicyContentStateResponseOutput() PolicyControllerPolicyContentStateResponseOutput { return o } -func (o PolicyControllerHubConfigResponseOutput) ToPolicyControllerHubConfigResponseOutputWithContext(ctx context.Context) PolicyControllerHubConfigResponseOutput { +func (o PolicyControllerPolicyContentStateResponseOutput) ToPolicyControllerPolicyContentStateResponseOutputWithContext(ctx context.Context) PolicyControllerPolicyContentStateResponseOutput { return o } -// Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. -func (o PolicyControllerHubConfigResponseOutput) AuditIntervalSeconds() pulumi.StringOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) string { return v.AuditIntervalSeconds }).(pulumi.StringOutput) -} - -// The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. -func (o PolicyControllerHubConfigResponseOutput) ConstraintViolationLimit() pulumi.StringOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) string { return v.ConstraintViolationLimit }).(pulumi.StringOutput) +// The state of the any bundles included in the chosen version of the manifest +func (o PolicyControllerPolicyContentStateResponseOutput) BundleStates() PolicyControllerOnClusterStateResponseMapOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentStateResponse) map[string]PolicyControllerOnClusterStateResponse { + return v.BundleStates + }).(PolicyControllerOnClusterStateResponseMapOutput) } -// Map of deployment configs to deployments ("admission", "audit", "mutation'). -func (o PolicyControllerHubConfigResponseOutput) DeploymentConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) map[string]string { return v.DeploymentConfigs }).(pulumi.StringMapOutput) +// The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. +func (o PolicyControllerPolicyContentStateResponseOutput) ReferentialSyncConfigState() PolicyControllerOnClusterStateResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentStateResponse) PolicyControllerOnClusterStateResponse { + return v.ReferentialSyncConfigState + }).(PolicyControllerOnClusterStateResponseOutput) } -// The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. -func (o PolicyControllerHubConfigResponseOutput) ExemptableNamespaces() pulumi.StringArrayOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) []string { return v.ExemptableNamespaces }).(pulumi.StringArrayOutput) +// The state of the template library +func (o PolicyControllerPolicyContentStateResponseOutput) TemplateLibraryState() PolicyControllerOnClusterStateResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyContentStateResponse) PolicyControllerOnClusterStateResponse { + return v.TemplateLibraryState + }).(PolicyControllerOnClusterStateResponseOutput) } -// The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. -func (o PolicyControllerHubConfigResponseOutput) InstallSpec() pulumi.StringOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) string { return v.InstallSpec }).(pulumi.StringOutput) +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfig struct { + // Container resource requirements. + ContainerResources *PolicyControllerResourceRequirements `pulumi:"containerResources"` + // Pod affinity configuration. + PodAffinity *PolicyControllerPolicyControllerDeploymentConfigPodAffinity `pulumi:"podAffinity"` + // Pod anti-affinity enablement. + PodAntiAffinity *bool `pulumi:"podAntiAffinity"` + // Pod tolerations of node taints. + PodTolerations []PolicyControllerToleration `pulumi:"podTolerations"` + // Pod replica count. + ReplicaCount *string `pulumi:"replicaCount"` } -// Logs all denies and dry run failures. -func (o PolicyControllerHubConfigResponseOutput) LogDeniesEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) bool { return v.LogDeniesEnabled }).(pulumi.BoolOutput) -} +// PolicyControllerPolicyControllerDeploymentConfigInput is an input type that accepts PolicyControllerPolicyControllerDeploymentConfigArgs and PolicyControllerPolicyControllerDeploymentConfigOutput values. +// You can construct a concrete instance of `PolicyControllerPolicyControllerDeploymentConfigInput` via: +// +// PolicyControllerPolicyControllerDeploymentConfigArgs{...} +type PolicyControllerPolicyControllerDeploymentConfigInput interface { + pulumi.Input -// Monitoring specifies the configuration of monitoring. -func (o PolicyControllerHubConfigResponseOutput) Monitoring() PolicyControllerMonitoringConfigResponseOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) PolicyControllerMonitoringConfigResponse { - return v.Monitoring - }).(PolicyControllerMonitoringConfigResponseOutput) + ToPolicyControllerPolicyControllerDeploymentConfigOutput() PolicyControllerPolicyControllerDeploymentConfigOutput + ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigOutput } -// Enables the ability to mutate resources using Policy Controller. -func (o PolicyControllerHubConfigResponseOutput) MutationEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) bool { return v.MutationEnabled }).(pulumi.BoolOutput) +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigArgs struct { + // Container resource requirements. + ContainerResources PolicyControllerResourceRequirementsPtrInput `pulumi:"containerResources"` + // Pod affinity configuration. + PodAffinity PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrInput `pulumi:"podAffinity"` + // Pod anti-affinity enablement. + PodAntiAffinity pulumi.BoolPtrInput `pulumi:"podAntiAffinity"` + // Pod tolerations of node taints. + PodTolerations PolicyControllerTolerationArrayInput `pulumi:"podTolerations"` + // Pod replica count. + ReplicaCount pulumi.StringPtrInput `pulumi:"replicaCount"` } -// Specifies the desired policy content on the cluster -func (o PolicyControllerHubConfigResponseOutput) PolicyContent() PolicyControllerPolicyContentSpecResponseOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) PolicyControllerPolicyContentSpecResponse { - return v.PolicyContent - }).(PolicyControllerPolicyContentSpecResponseOutput) +func (PolicyControllerPolicyControllerDeploymentConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() } -// Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. -func (o PolicyControllerHubConfigResponseOutput) ReferentialRulesEnabled() pulumi.BoolOutput { - return o.ApplyT(func(v PolicyControllerHubConfigResponse) bool { return v.ReferentialRulesEnabled }).(pulumi.BoolOutput) +func (i PolicyControllerPolicyControllerDeploymentConfigArgs) ToPolicyControllerPolicyControllerDeploymentConfigOutput() PolicyControllerPolicyControllerDeploymentConfigOutput { + return i.ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(context.Background()) } -// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. -type PolicyControllerMembershipSpec struct { - // Policy Controller configuration for the cluster. - PolicyControllerHubConfig *PolicyControllerHubConfig `pulumi:"policyControllerHubConfig"` - // Version of Policy Controller installed. - Version *string `pulumi:"version"` +func (i PolicyControllerPolicyControllerDeploymentConfigArgs) ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyControllerDeploymentConfigOutput) } -// PolicyControllerMembershipSpecInput is an input type that accepts PolicyControllerMembershipSpecArgs and PolicyControllerMembershipSpecOutput values. -// You can construct a concrete instance of `PolicyControllerMembershipSpecInput` via: +// PolicyControllerPolicyControllerDeploymentConfigMapInput is an input type that accepts PolicyControllerPolicyControllerDeploymentConfigMap and PolicyControllerPolicyControllerDeploymentConfigMapOutput values. +// You can construct a concrete instance of `PolicyControllerPolicyControllerDeploymentConfigMapInput` via: // -// PolicyControllerMembershipSpecArgs{...} -type PolicyControllerMembershipSpecInput interface { +// PolicyControllerPolicyControllerDeploymentConfigMap{ "key": PolicyControllerPolicyControllerDeploymentConfigArgs{...} } +type PolicyControllerPolicyControllerDeploymentConfigMapInput interface { pulumi.Input - ToPolicyControllerMembershipSpecOutput() PolicyControllerMembershipSpecOutput - ToPolicyControllerMembershipSpecOutputWithContext(context.Context) PolicyControllerMembershipSpecOutput + ToPolicyControllerPolicyControllerDeploymentConfigMapOutput() PolicyControllerPolicyControllerDeploymentConfigMapOutput + ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(context.Context) PolicyControllerPolicyControllerDeploymentConfigMapOutput } -// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. -type PolicyControllerMembershipSpecArgs struct { - // Policy Controller configuration for the cluster. - PolicyControllerHubConfig PolicyControllerHubConfigPtrInput `pulumi:"policyControllerHubConfig"` - // Version of Policy Controller installed. - Version pulumi.StringPtrInput `pulumi:"version"` -} +type PolicyControllerPolicyControllerDeploymentConfigMap map[string]PolicyControllerPolicyControllerDeploymentConfigInput -func (PolicyControllerMembershipSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerMembershipSpec)(nil)).Elem() +func (PolicyControllerPolicyControllerDeploymentConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() } -func (i PolicyControllerMembershipSpecArgs) ToPolicyControllerMembershipSpecOutput() PolicyControllerMembershipSpecOutput { - return i.ToPolicyControllerMembershipSpecOutputWithContext(context.Background()) +func (i PolicyControllerPolicyControllerDeploymentConfigMap) ToPolicyControllerPolicyControllerDeploymentConfigMapOutput() PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return i.ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(context.Background()) } -func (i PolicyControllerMembershipSpecArgs) ToPolicyControllerMembershipSpecOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMembershipSpecOutput) +func (i PolicyControllerPolicyControllerDeploymentConfigMap) ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyControllerDeploymentConfigMapOutput) } -func (i PolicyControllerMembershipSpecArgs) ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput { - return i.ToPolicyControllerMembershipSpecPtrOutputWithContext(context.Background()) -} +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigOutput struct{ *pulumi.OutputState } -func (i PolicyControllerMembershipSpecArgs) ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMembershipSpecOutput).ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx) +func (PolicyControllerPolicyControllerDeploymentConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() } -// PolicyControllerMembershipSpecPtrInput is an input type that accepts PolicyControllerMembershipSpecArgs, PolicyControllerMembershipSpecPtr and PolicyControllerMembershipSpecPtrOutput values. -// You can construct a concrete instance of `PolicyControllerMembershipSpecPtrInput` via: -// -// PolicyControllerMembershipSpecArgs{...} -// -// or: -// -// nil -type PolicyControllerMembershipSpecPtrInput interface { - pulumi.Input +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ToPolicyControllerPolicyControllerDeploymentConfigOutput() PolicyControllerPolicyControllerDeploymentConfigOutput { + return o +} - ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput - ToPolicyControllerMembershipSpecPtrOutputWithContext(context.Context) PolicyControllerMembershipSpecPtrOutput +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ToPolicyControllerPolicyControllerDeploymentConfigOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigOutput { + return o } -type policyControllerMembershipSpecPtrType PolicyControllerMembershipSpecArgs +// Container resource requirements. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ContainerResources() PolicyControllerResourceRequirementsPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *PolicyControllerResourceRequirements { + return v.ContainerResources + }).(PolicyControllerResourceRequirementsPtrOutput) +} -func PolicyControllerMembershipSpecPtr(v *PolicyControllerMembershipSpecArgs) PolicyControllerMembershipSpecPtrInput { - return (*policyControllerMembershipSpecPtrType)(v) +// Pod affinity configuration. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) PodAffinity() PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *PolicyControllerPolicyControllerDeploymentConfigPodAffinity { + return v.PodAffinity + }).(PolicyControllerPolicyControllerDeploymentConfigPodAffinityPtrOutput) } -func (*policyControllerMembershipSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerMembershipSpec)(nil)).Elem() +// Pod anti-affinity enablement. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) PodAntiAffinity() pulumi.BoolPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *bool { return v.PodAntiAffinity }).(pulumi.BoolPtrOutput) } -func (i *policyControllerMembershipSpecPtrType) ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput { - return i.ToPolicyControllerMembershipSpecPtrOutputWithContext(context.Background()) +// Pod tolerations of node taints. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) PodTolerations() PolicyControllerTolerationArrayOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) []PolicyControllerToleration { + return v.PodTolerations + }).(PolicyControllerTolerationArrayOutput) } -func (i *policyControllerMembershipSpecPtrType) ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMembershipSpecPtrOutput) +// Pod replica count. +func (o PolicyControllerPolicyControllerDeploymentConfigOutput) ReplicaCount() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfig) *string { return v.ReplicaCount }).(pulumi.StringPtrOutput) } -// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. -type PolicyControllerMembershipSpecOutput struct{ *pulumi.OutputState } +type PolicyControllerPolicyControllerDeploymentConfigMapOutput struct{ *pulumi.OutputState } -func (PolicyControllerMembershipSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerMembershipSpec)(nil)).Elem() +func (PolicyControllerPolicyControllerDeploymentConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerPolicyControllerDeploymentConfig)(nil)).Elem() } -func (o PolicyControllerMembershipSpecOutput) ToPolicyControllerMembershipSpecOutput() PolicyControllerMembershipSpecOutput { +func (o PolicyControllerPolicyControllerDeploymentConfigMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigMapOutput() PolicyControllerPolicyControllerDeploymentConfigMapOutput { return o } -func (o PolicyControllerMembershipSpecOutput) ToPolicyControllerMembershipSpecOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecOutput { +func (o PolicyControllerPolicyControllerDeploymentConfigMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigMapOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigMapOutput { return o } -func (o PolicyControllerMembershipSpecOutput) ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput { - return o.ToPolicyControllerMembershipSpecPtrOutputWithContext(context.Background()) +func (o PolicyControllerPolicyControllerDeploymentConfigMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerPolicyControllerDeploymentConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerPolicyControllerDeploymentConfig { + return vs[0].(map[string]PolicyControllerPolicyControllerDeploymentConfig)[vs[1].(string)] + }).(PolicyControllerPolicyControllerDeploymentConfigOutput) } -func (o PolicyControllerMembershipSpecOutput) ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerMembershipSpec) *PolicyControllerMembershipSpec { - return &v - }).(PolicyControllerMembershipSpecPtrOutput) +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigResponse struct { + // Container resource requirements. + ContainerResources PolicyControllerResourceRequirementsResponse `pulumi:"containerResources"` + // Pod affinity configuration. + PodAffinity string `pulumi:"podAffinity"` + // Pod anti-affinity enablement. + PodAntiAffinity bool `pulumi:"podAntiAffinity"` + // Pod tolerations of node taints. + PodTolerations []PolicyControllerTolerationResponse `pulumi:"podTolerations"` + // Pod replica count. + ReplicaCount string `pulumi:"replicaCount"` } -// Policy Controller configuration for the cluster. -func (o PolicyControllerMembershipSpecOutput) PolicyControllerHubConfig() PolicyControllerHubConfigPtrOutput { - return o.ApplyT(func(v PolicyControllerMembershipSpec) *PolicyControllerHubConfig { return v.PolicyControllerHubConfig }).(PolicyControllerHubConfigPtrOutput) -} +// Deployment-specific configuration. +type PolicyControllerPolicyControllerDeploymentConfigResponseOutput struct{ *pulumi.OutputState } -// Version of Policy Controller installed. -func (o PolicyControllerMembershipSpecOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v PolicyControllerMembershipSpec) *string { return v.Version }).(pulumi.StringPtrOutput) +func (PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigResponse)(nil)).Elem() } -type PolicyControllerMembershipSpecPtrOutput struct{ *pulumi.OutputState } - -func (PolicyControllerMembershipSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerMembershipSpec)(nil)).Elem() +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseOutput() PolicyControllerPolicyControllerDeploymentConfigResponseOutput { + return o } -func (o PolicyControllerMembershipSpecPtrOutput) ToPolicyControllerMembershipSpecPtrOutput() PolicyControllerMembershipSpecPtrOutput { +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigResponseOutput { return o } -func (o PolicyControllerMembershipSpecPtrOutput) ToPolicyControllerMembershipSpecPtrOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecPtrOutput { - return o +// Container resource requirements. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ContainerResources() PolicyControllerResourceRequirementsResponseOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) PolicyControllerResourceRequirementsResponse { + return v.ContainerResources + }).(PolicyControllerResourceRequirementsResponseOutput) } -func (o PolicyControllerMembershipSpecPtrOutput) Elem() PolicyControllerMembershipSpecOutput { - return o.ApplyT(func(v *PolicyControllerMembershipSpec) PolicyControllerMembershipSpec { - if v != nil { - return *v - } - var ret PolicyControllerMembershipSpec - return ret - }).(PolicyControllerMembershipSpecOutput) +// Pod affinity configuration. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) PodAffinity() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) string { return v.PodAffinity }).(pulumi.StringOutput) } -// Policy Controller configuration for the cluster. -func (o PolicyControllerMembershipSpecPtrOutput) PolicyControllerHubConfig() PolicyControllerHubConfigPtrOutput { - return o.ApplyT(func(v *PolicyControllerMembershipSpec) *PolicyControllerHubConfig { - if v == nil { - return nil - } - return v.PolicyControllerHubConfig - }).(PolicyControllerHubConfigPtrOutput) +// Pod anti-affinity enablement. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) PodAntiAffinity() pulumi.BoolOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) bool { return v.PodAntiAffinity }).(pulumi.BoolOutput) } -// Version of Policy Controller installed. -func (o PolicyControllerMembershipSpecPtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PolicyControllerMembershipSpec) *string { - if v == nil { - return nil - } - return v.Version - }).(pulumi.StringPtrOutput) +// Pod tolerations of node taints. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) PodTolerations() PolicyControllerTolerationResponseArrayOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) []PolicyControllerTolerationResponse { + return v.PodTolerations + }).(PolicyControllerTolerationResponseArrayOutput) } -// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. -type PolicyControllerMembershipSpecResponse struct { - // Policy Controller configuration for the cluster. - PolicyControllerHubConfig PolicyControllerHubConfigResponse `pulumi:"policyControllerHubConfig"` - // Version of Policy Controller installed. - Version string `pulumi:"version"` +// Pod replica count. +func (o PolicyControllerPolicyControllerDeploymentConfigResponseOutput) ReplicaCount() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerPolicyControllerDeploymentConfigResponse) string { return v.ReplicaCount }).(pulumi.StringOutput) } -// **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. -type PolicyControllerMembershipSpecResponseOutput struct{ *pulumi.OutputState } +type PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput struct{ *pulumi.OutputState } -func (PolicyControllerMembershipSpecResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerMembershipSpecResponse)(nil)).Elem() +func (PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PolicyControllerPolicyControllerDeploymentConfigResponse)(nil)).Elem() } -func (o PolicyControllerMembershipSpecResponseOutput) ToPolicyControllerMembershipSpecResponseOutput() PolicyControllerMembershipSpecResponseOutput { +func (o PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseMapOutput() PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput { return o } -func (o PolicyControllerMembershipSpecResponseOutput) ToPolicyControllerMembershipSpecResponseOutputWithContext(ctx context.Context) PolicyControllerMembershipSpecResponseOutput { +func (o PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) ToPolicyControllerPolicyControllerDeploymentConfigResponseMapOutputWithContext(ctx context.Context) PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput { return o } -// Policy Controller configuration for the cluster. -func (o PolicyControllerMembershipSpecResponseOutput) PolicyControllerHubConfig() PolicyControllerHubConfigResponseOutput { - return o.ApplyT(func(v PolicyControllerMembershipSpecResponse) PolicyControllerHubConfigResponse { - return v.PolicyControllerHubConfig - }).(PolicyControllerHubConfigResponseOutput) -} - -// Version of Policy Controller installed. -func (o PolicyControllerMembershipSpecResponseOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v PolicyControllerMembershipSpecResponse) string { return v.Version }).(pulumi.StringOutput) +func (o PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput) MapIndex(k pulumi.StringInput) PolicyControllerPolicyControllerDeploymentConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PolicyControllerPolicyControllerDeploymentConfigResponse { + return vs[0].(map[string]PolicyControllerPolicyControllerDeploymentConfigResponse)[vs[1].(string)] + }).(PolicyControllerPolicyControllerDeploymentConfigResponseOutput) } -// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] -type PolicyControllerMonitoringConfig struct { - // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. - Backends []PolicyControllerMonitoringConfigBackendsItem `pulumi:"backends"` +// ResourceList contains container resource requirements. +type PolicyControllerResourceList struct { + // CPU requirement expressed in Kubernetes resource units. + Cpu *string `pulumi:"cpu"` + // Memory requirement expressed in Kubernetes resource units. + Memory *string `pulumi:"memory"` } -// PolicyControllerMonitoringConfigInput is an input type that accepts PolicyControllerMonitoringConfigArgs and PolicyControllerMonitoringConfigOutput values. -// You can construct a concrete instance of `PolicyControllerMonitoringConfigInput` via: +// PolicyControllerResourceListInput is an input type that accepts PolicyControllerResourceListArgs and PolicyControllerResourceListOutput values. +// You can construct a concrete instance of `PolicyControllerResourceListInput` via: // -// PolicyControllerMonitoringConfigArgs{...} -type PolicyControllerMonitoringConfigInput interface { +// PolicyControllerResourceListArgs{...} +type PolicyControllerResourceListInput interface { pulumi.Input - ToPolicyControllerMonitoringConfigOutput() PolicyControllerMonitoringConfigOutput - ToPolicyControllerMonitoringConfigOutputWithContext(context.Context) PolicyControllerMonitoringConfigOutput + ToPolicyControllerResourceListOutput() PolicyControllerResourceListOutput + ToPolicyControllerResourceListOutputWithContext(context.Context) PolicyControllerResourceListOutput } -// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] -type PolicyControllerMonitoringConfigArgs struct { - // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. - Backends PolicyControllerMonitoringConfigBackendsItemArrayInput `pulumi:"backends"` +// ResourceList contains container resource requirements. +type PolicyControllerResourceListArgs struct { + // CPU requirement expressed in Kubernetes resource units. + Cpu pulumi.StringPtrInput `pulumi:"cpu"` + // Memory requirement expressed in Kubernetes resource units. + Memory pulumi.StringPtrInput `pulumi:"memory"` } -func (PolicyControllerMonitoringConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerMonitoringConfig)(nil)).Elem() +func (PolicyControllerResourceListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceList)(nil)).Elem() } -func (i PolicyControllerMonitoringConfigArgs) ToPolicyControllerMonitoringConfigOutput() PolicyControllerMonitoringConfigOutput { - return i.ToPolicyControllerMonitoringConfigOutputWithContext(context.Background()) +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListOutput() PolicyControllerResourceListOutput { + return i.ToPolicyControllerResourceListOutputWithContext(context.Background()) } -func (i PolicyControllerMonitoringConfigArgs) ToPolicyControllerMonitoringConfigOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMonitoringConfigOutput) +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListOutputWithContext(ctx context.Context) PolicyControllerResourceListOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceListOutput) } -func (i PolicyControllerMonitoringConfigArgs) ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput { - return i.ToPolicyControllerMonitoringConfigPtrOutputWithContext(context.Background()) +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return i.ToPolicyControllerResourceListPtrOutputWithContext(context.Background()) } -func (i PolicyControllerMonitoringConfigArgs) ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMonitoringConfigOutput).ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx) +func (i PolicyControllerResourceListArgs) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceListOutput).ToPolicyControllerResourceListPtrOutputWithContext(ctx) } -// PolicyControllerMonitoringConfigPtrInput is an input type that accepts PolicyControllerMonitoringConfigArgs, PolicyControllerMonitoringConfigPtr and PolicyControllerMonitoringConfigPtrOutput values. -// You can construct a concrete instance of `PolicyControllerMonitoringConfigPtrInput` via: +// PolicyControllerResourceListPtrInput is an input type that accepts PolicyControllerResourceListArgs, PolicyControllerResourceListPtr and PolicyControllerResourceListPtrOutput values. +// You can construct a concrete instance of `PolicyControllerResourceListPtrInput` via: // -// PolicyControllerMonitoringConfigArgs{...} +// PolicyControllerResourceListArgs{...} // // or: // // nil -type PolicyControllerMonitoringConfigPtrInput interface { +type PolicyControllerResourceListPtrInput interface { pulumi.Input - ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput - ToPolicyControllerMonitoringConfigPtrOutputWithContext(context.Context) PolicyControllerMonitoringConfigPtrOutput + ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput + ToPolicyControllerResourceListPtrOutputWithContext(context.Context) PolicyControllerResourceListPtrOutput } -type policyControllerMonitoringConfigPtrType PolicyControllerMonitoringConfigArgs +type policyControllerResourceListPtrType PolicyControllerResourceListArgs -func PolicyControllerMonitoringConfigPtr(v *PolicyControllerMonitoringConfigArgs) PolicyControllerMonitoringConfigPtrInput { - return (*policyControllerMonitoringConfigPtrType)(v) +func PolicyControllerResourceListPtr(v *PolicyControllerResourceListArgs) PolicyControllerResourceListPtrInput { + return (*policyControllerResourceListPtrType)(v) } -func (*policyControllerMonitoringConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerMonitoringConfig)(nil)).Elem() +func (*policyControllerResourceListPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceList)(nil)).Elem() } -func (i *policyControllerMonitoringConfigPtrType) ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput { - return i.ToPolicyControllerMonitoringConfigPtrOutputWithContext(context.Background()) +func (i *policyControllerResourceListPtrType) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return i.ToPolicyControllerResourceListPtrOutputWithContext(context.Background()) } -func (i *policyControllerMonitoringConfigPtrType) ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerMonitoringConfigPtrOutput) +func (i *policyControllerResourceListPtrType) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceListPtrOutput) } -// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] -type PolicyControllerMonitoringConfigOutput struct{ *pulumi.OutputState } +// ResourceList contains container resource requirements. +type PolicyControllerResourceListOutput struct{ *pulumi.OutputState } -func (PolicyControllerMonitoringConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerMonitoringConfig)(nil)).Elem() +func (PolicyControllerResourceListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceList)(nil)).Elem() } -func (o PolicyControllerMonitoringConfigOutput) ToPolicyControllerMonitoringConfigOutput() PolicyControllerMonitoringConfigOutput { +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListOutput() PolicyControllerResourceListOutput { return o } -func (o PolicyControllerMonitoringConfigOutput) ToPolicyControllerMonitoringConfigOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigOutput { +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListOutputWithContext(ctx context.Context) PolicyControllerResourceListOutput { return o } -func (o PolicyControllerMonitoringConfigOutput) ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput { - return o.ToPolicyControllerMonitoringConfigPtrOutputWithContext(context.Background()) +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { + return o.ToPolicyControllerResourceListPtrOutputWithContext(context.Background()) } -func (o PolicyControllerMonitoringConfigOutput) ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerMonitoringConfig) *PolicyControllerMonitoringConfig { +func (o PolicyControllerResourceListOutput) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerResourceList) *PolicyControllerResourceList { return &v - }).(PolicyControllerMonitoringConfigPtrOutput) + }).(PolicyControllerResourceListPtrOutput) } -// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. -func (o PolicyControllerMonitoringConfigOutput) Backends() PolicyControllerMonitoringConfigBackendsItemArrayOutput { - return o.ApplyT(func(v PolicyControllerMonitoringConfig) []PolicyControllerMonitoringConfigBackendsItem { - return v.Backends - }).(PolicyControllerMonitoringConfigBackendsItemArrayOutput) +// CPU requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListOutput) Cpu() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceList) *string { return v.Cpu }).(pulumi.StringPtrOutput) } -type PolicyControllerMonitoringConfigPtrOutput struct{ *pulumi.OutputState } +// Memory requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceList) *string { return v.Memory }).(pulumi.StringPtrOutput) +} -func (PolicyControllerMonitoringConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerMonitoringConfig)(nil)).Elem() +type PolicyControllerResourceListPtrOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceListPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceList)(nil)).Elem() } -func (o PolicyControllerMonitoringConfigPtrOutput) ToPolicyControllerMonitoringConfigPtrOutput() PolicyControllerMonitoringConfigPtrOutput { +func (o PolicyControllerResourceListPtrOutput) ToPolicyControllerResourceListPtrOutput() PolicyControllerResourceListPtrOutput { return o } -func (o PolicyControllerMonitoringConfigPtrOutput) ToPolicyControllerMonitoringConfigPtrOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigPtrOutput { +func (o PolicyControllerResourceListPtrOutput) ToPolicyControllerResourceListPtrOutputWithContext(ctx context.Context) PolicyControllerResourceListPtrOutput { return o } -func (o PolicyControllerMonitoringConfigPtrOutput) Elem() PolicyControllerMonitoringConfigOutput { - return o.ApplyT(func(v *PolicyControllerMonitoringConfig) PolicyControllerMonitoringConfig { +func (o PolicyControllerResourceListPtrOutput) Elem() PolicyControllerResourceListOutput { + return o.ApplyT(func(v *PolicyControllerResourceList) PolicyControllerResourceList { if v != nil { return *v } - var ret PolicyControllerMonitoringConfig + var ret PolicyControllerResourceList return ret - }).(PolicyControllerMonitoringConfigOutput) + }).(PolicyControllerResourceListOutput) } -// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. -func (o PolicyControllerMonitoringConfigPtrOutput) Backends() PolicyControllerMonitoringConfigBackendsItemArrayOutput { - return o.ApplyT(func(v *PolicyControllerMonitoringConfig) []PolicyControllerMonitoringConfigBackendsItem { +// CPU requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListPtrOutput) Cpu() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceList) *string { if v == nil { return nil } - return v.Backends - }).(PolicyControllerMonitoringConfigBackendsItemArrayOutput) + return v.Cpu + }).(pulumi.StringPtrOutput) } -// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] -type PolicyControllerMonitoringConfigResponse struct { - // Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. - Backends []string `pulumi:"backends"` +// Memory requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListPtrOutput) Memory() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceList) *string { + if v == nil { + return nil + } + return v.Memory + }).(pulumi.StringPtrOutput) } -// MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] -type PolicyControllerMonitoringConfigResponseOutput struct{ *pulumi.OutputState } +// ResourceList contains container resource requirements. +type PolicyControllerResourceListResponse struct { + // CPU requirement expressed in Kubernetes resource units. + Cpu string `pulumi:"cpu"` + // Memory requirement expressed in Kubernetes resource units. + Memory string `pulumi:"memory"` +} -func (PolicyControllerMonitoringConfigResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerMonitoringConfigResponse)(nil)).Elem() +// ResourceList contains container resource requirements. +type PolicyControllerResourceListResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerResourceListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceListResponse)(nil)).Elem() } -func (o PolicyControllerMonitoringConfigResponseOutput) ToPolicyControllerMonitoringConfigResponseOutput() PolicyControllerMonitoringConfigResponseOutput { +func (o PolicyControllerResourceListResponseOutput) ToPolicyControllerResourceListResponseOutput() PolicyControllerResourceListResponseOutput { return o } -func (o PolicyControllerMonitoringConfigResponseOutput) ToPolicyControllerMonitoringConfigResponseOutputWithContext(ctx context.Context) PolicyControllerMonitoringConfigResponseOutput { +func (o PolicyControllerResourceListResponseOutput) ToPolicyControllerResourceListResponseOutputWithContext(ctx context.Context) PolicyControllerResourceListResponseOutput { return o } -// Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. -func (o PolicyControllerMonitoringConfigResponseOutput) Backends() pulumi.StringArrayOutput { - return o.ApplyT(func(v PolicyControllerMonitoringConfigResponse) []string { return v.Backends }).(pulumi.StringArrayOutput) +// CPU requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListResponseOutput) Cpu() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerResourceListResponse) string { return v.Cpu }).(pulumi.StringOutput) } -// PolicyContentSpec defines the user's desired content configuration on the cluster. -type PolicyControllerPolicyContentSpec struct { - // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - Bundles map[string]string `pulumi:"bundles"` - // Configures the installation of the Template Library. - TemplateLibrary *PolicyControllerTemplateLibraryConfig `pulumi:"templateLibrary"` +// Memory requirement expressed in Kubernetes resource units. +func (o PolicyControllerResourceListResponseOutput) Memory() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerResourceListResponse) string { return v.Memory }).(pulumi.StringOutput) } -// PolicyControllerPolicyContentSpecInput is an input type that accepts PolicyControllerPolicyContentSpecArgs and PolicyControllerPolicyContentSpecOutput values. -// You can construct a concrete instance of `PolicyControllerPolicyContentSpecInput` via: +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirements struct { + // Limits describes the maximum amount of compute resources allowed for use by the running container. + Limits *PolicyControllerResourceList `pulumi:"limits"` + // Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + Requests *PolicyControllerResourceList `pulumi:"requests"` +} + +// PolicyControllerResourceRequirementsInput is an input type that accepts PolicyControllerResourceRequirementsArgs and PolicyControllerResourceRequirementsOutput values. +// You can construct a concrete instance of `PolicyControllerResourceRequirementsInput` via: // -// PolicyControllerPolicyContentSpecArgs{...} -type PolicyControllerPolicyContentSpecInput interface { +// PolicyControllerResourceRequirementsArgs{...} +type PolicyControllerResourceRequirementsInput interface { pulumi.Input - ToPolicyControllerPolicyContentSpecOutput() PolicyControllerPolicyContentSpecOutput - ToPolicyControllerPolicyContentSpecOutputWithContext(context.Context) PolicyControllerPolicyContentSpecOutput + ToPolicyControllerResourceRequirementsOutput() PolicyControllerResourceRequirementsOutput + ToPolicyControllerResourceRequirementsOutputWithContext(context.Context) PolicyControllerResourceRequirementsOutput } -// PolicyContentSpec defines the user's desired content configuration on the cluster. -type PolicyControllerPolicyContentSpecArgs struct { - // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - Bundles pulumi.StringMapInput `pulumi:"bundles"` - // Configures the installation of the Template Library. - TemplateLibrary PolicyControllerTemplateLibraryConfigPtrInput `pulumi:"templateLibrary"` +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsArgs struct { + // Limits describes the maximum amount of compute resources allowed for use by the running container. + Limits PolicyControllerResourceListPtrInput `pulumi:"limits"` + // Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + Requests PolicyControllerResourceListPtrInput `pulumi:"requests"` } -func (PolicyControllerPolicyContentSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerPolicyContentSpec)(nil)).Elem() +func (PolicyControllerResourceRequirementsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceRequirements)(nil)).Elem() } -func (i PolicyControllerPolicyContentSpecArgs) ToPolicyControllerPolicyContentSpecOutput() PolicyControllerPolicyContentSpecOutput { - return i.ToPolicyControllerPolicyContentSpecOutputWithContext(context.Background()) +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsOutput() PolicyControllerResourceRequirementsOutput { + return i.ToPolicyControllerResourceRequirementsOutputWithContext(context.Background()) } -func (i PolicyControllerPolicyContentSpecArgs) ToPolicyControllerPolicyContentSpecOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyContentSpecOutput) +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceRequirementsOutput) } -func (i PolicyControllerPolicyContentSpecArgs) ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput { - return i.ToPolicyControllerPolicyContentSpecPtrOutputWithContext(context.Background()) +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return i.ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Background()) } -func (i PolicyControllerPolicyContentSpecArgs) ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyContentSpecOutput).ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx) +func (i PolicyControllerResourceRequirementsArgs) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceRequirementsOutput).ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx) } -// PolicyControllerPolicyContentSpecPtrInput is an input type that accepts PolicyControllerPolicyContentSpecArgs, PolicyControllerPolicyContentSpecPtr and PolicyControllerPolicyContentSpecPtrOutput values. -// You can construct a concrete instance of `PolicyControllerPolicyContentSpecPtrInput` via: +// PolicyControllerResourceRequirementsPtrInput is an input type that accepts PolicyControllerResourceRequirementsArgs, PolicyControllerResourceRequirementsPtr and PolicyControllerResourceRequirementsPtrOutput values. +// You can construct a concrete instance of `PolicyControllerResourceRequirementsPtrInput` via: // -// PolicyControllerPolicyContentSpecArgs{...} +// PolicyControllerResourceRequirementsArgs{...} // // or: // // nil -type PolicyControllerPolicyContentSpecPtrInput interface { +type PolicyControllerResourceRequirementsPtrInput interface { pulumi.Input - ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput - ToPolicyControllerPolicyContentSpecPtrOutputWithContext(context.Context) PolicyControllerPolicyContentSpecPtrOutput + ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput + ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Context) PolicyControllerResourceRequirementsPtrOutput } -type policyControllerPolicyContentSpecPtrType PolicyControllerPolicyContentSpecArgs +type policyControllerResourceRequirementsPtrType PolicyControllerResourceRequirementsArgs -func PolicyControllerPolicyContentSpecPtr(v *PolicyControllerPolicyContentSpecArgs) PolicyControllerPolicyContentSpecPtrInput { - return (*policyControllerPolicyContentSpecPtrType)(v) +func PolicyControllerResourceRequirementsPtr(v *PolicyControllerResourceRequirementsArgs) PolicyControllerResourceRequirementsPtrInput { + return (*policyControllerResourceRequirementsPtrType)(v) } -func (*policyControllerPolicyContentSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerPolicyContentSpec)(nil)).Elem() +func (*policyControllerResourceRequirementsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceRequirements)(nil)).Elem() } -func (i *policyControllerPolicyContentSpecPtrType) ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput { - return i.ToPolicyControllerPolicyContentSpecPtrOutputWithContext(context.Background()) +func (i *policyControllerResourceRequirementsPtrType) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return i.ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Background()) } -func (i *policyControllerPolicyContentSpecPtrType) ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerPolicyContentSpecPtrOutput) +func (i *policyControllerResourceRequirementsPtrType) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerResourceRequirementsPtrOutput) } -// PolicyContentSpec defines the user's desired content configuration on the cluster. -type PolicyControllerPolicyContentSpecOutput struct{ *pulumi.OutputState } +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsOutput struct{ *pulumi.OutputState } -func (PolicyControllerPolicyContentSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerPolicyContentSpec)(nil)).Elem() +func (PolicyControllerResourceRequirementsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceRequirements)(nil)).Elem() } -func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContentSpecOutput() PolicyControllerPolicyContentSpecOutput { +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsOutput() PolicyControllerResourceRequirementsOutput { return o } -func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContentSpecOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecOutput { +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsOutput { return o } -func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput { - return o.ToPolicyControllerPolicyContentSpecPtrOutputWithContext(context.Background()) +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { + return o.ToPolicyControllerResourceRequirementsPtrOutputWithContext(context.Background()) } -func (o PolicyControllerPolicyContentSpecOutput) ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerPolicyContentSpec) *PolicyControllerPolicyContentSpec { +func (o PolicyControllerResourceRequirementsOutput) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyControllerResourceRequirements) *PolicyControllerResourceRequirements { return &v - }).(PolicyControllerPolicyContentSpecPtrOutput) + }).(PolicyControllerResourceRequirementsPtrOutput) } -// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. -func (o PolicyControllerPolicyContentSpecOutput) Bundles() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerPolicyContentSpec) map[string]string { return v.Bundles }).(pulumi.StringMapOutput) +// Limits describes the maximum amount of compute resources allowed for use by the running container. +func (o PolicyControllerResourceRequirementsOutput) Limits() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirements) *PolicyControllerResourceList { return v.Limits }).(PolicyControllerResourceListPtrOutput) } -// Configures the installation of the Template Library. -func (o PolicyControllerPolicyContentSpecOutput) TemplateLibrary() PolicyControllerTemplateLibraryConfigPtrOutput { - return o.ApplyT(func(v PolicyControllerPolicyContentSpec) *PolicyControllerTemplateLibraryConfig { - return v.TemplateLibrary - }).(PolicyControllerTemplateLibraryConfigPtrOutput) +// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. +func (o PolicyControllerResourceRequirementsOutput) Requests() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirements) *PolicyControllerResourceList { return v.Requests }).(PolicyControllerResourceListPtrOutput) } -type PolicyControllerPolicyContentSpecPtrOutput struct{ *pulumi.OutputState } +type PolicyControllerResourceRequirementsPtrOutput struct{ *pulumi.OutputState } -func (PolicyControllerPolicyContentSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PolicyControllerPolicyContentSpec)(nil)).Elem() +func (PolicyControllerResourceRequirementsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyControllerResourceRequirements)(nil)).Elem() } -func (o PolicyControllerPolicyContentSpecPtrOutput) ToPolicyControllerPolicyContentSpecPtrOutput() PolicyControllerPolicyContentSpecPtrOutput { +func (o PolicyControllerResourceRequirementsPtrOutput) ToPolicyControllerResourceRequirementsPtrOutput() PolicyControllerResourceRequirementsPtrOutput { return o } -func (o PolicyControllerPolicyContentSpecPtrOutput) ToPolicyControllerPolicyContentSpecPtrOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecPtrOutput { +func (o PolicyControllerResourceRequirementsPtrOutput) ToPolicyControllerResourceRequirementsPtrOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsPtrOutput { return o } -func (o PolicyControllerPolicyContentSpecPtrOutput) Elem() PolicyControllerPolicyContentSpecOutput { - return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) PolicyControllerPolicyContentSpec { +func (o PolicyControllerResourceRequirementsPtrOutput) Elem() PolicyControllerResourceRequirementsOutput { + return o.ApplyT(func(v *PolicyControllerResourceRequirements) PolicyControllerResourceRequirements { if v != nil { return *v } - var ret PolicyControllerPolicyContentSpec + var ret PolicyControllerResourceRequirements return ret - }).(PolicyControllerPolicyContentSpecOutput) + }).(PolicyControllerResourceRequirementsOutput) } -// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. -func (o PolicyControllerPolicyContentSpecPtrOutput) Bundles() pulumi.StringMapOutput { - return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) map[string]string { +// Limits describes the maximum amount of compute resources allowed for use by the running container. +func (o PolicyControllerResourceRequirementsPtrOutput) Limits() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceRequirements) *PolicyControllerResourceList { if v == nil { return nil } - return v.Bundles - }).(pulumi.StringMapOutput) + return v.Limits + }).(PolicyControllerResourceListPtrOutput) } -// Configures the installation of the Template Library. -func (o PolicyControllerPolicyContentSpecPtrOutput) TemplateLibrary() PolicyControllerTemplateLibraryConfigPtrOutput { - return o.ApplyT(func(v *PolicyControllerPolicyContentSpec) *PolicyControllerTemplateLibraryConfig { +// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. +func (o PolicyControllerResourceRequirementsPtrOutput) Requests() PolicyControllerResourceListPtrOutput { + return o.ApplyT(func(v *PolicyControllerResourceRequirements) *PolicyControllerResourceList { if v == nil { return nil } - return v.TemplateLibrary - }).(PolicyControllerTemplateLibraryConfigPtrOutput) + return v.Requests + }).(PolicyControllerResourceListPtrOutput) } -// PolicyContentSpec defines the user's desired content configuration on the cluster. -type PolicyControllerPolicyContentSpecResponse struct { - // map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - Bundles map[string]string `pulumi:"bundles"` - // Configures the installation of the Template Library. - TemplateLibrary PolicyControllerTemplateLibraryConfigResponse `pulumi:"templateLibrary"` +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsResponse struct { + // Limits describes the maximum amount of compute resources allowed for use by the running container. + Limits PolicyControllerResourceListResponse `pulumi:"limits"` + // Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + Requests PolicyControllerResourceListResponse `pulumi:"requests"` } -// PolicyContentSpec defines the user's desired content configuration on the cluster. -type PolicyControllerPolicyContentSpecResponseOutput struct{ *pulumi.OutputState } +// ResourceRequirements describes the compute resource requirements. +type PolicyControllerResourceRequirementsResponseOutput struct{ *pulumi.OutputState } -func (PolicyControllerPolicyContentSpecResponseOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PolicyControllerPolicyContentSpecResponse)(nil)).Elem() +func (PolicyControllerResourceRequirementsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerResourceRequirementsResponse)(nil)).Elem() } -func (o PolicyControllerPolicyContentSpecResponseOutput) ToPolicyControllerPolicyContentSpecResponseOutput() PolicyControllerPolicyContentSpecResponseOutput { +func (o PolicyControllerResourceRequirementsResponseOutput) ToPolicyControllerResourceRequirementsResponseOutput() PolicyControllerResourceRequirementsResponseOutput { return o } -func (o PolicyControllerPolicyContentSpecResponseOutput) ToPolicyControllerPolicyContentSpecResponseOutputWithContext(ctx context.Context) PolicyControllerPolicyContentSpecResponseOutput { +func (o PolicyControllerResourceRequirementsResponseOutput) ToPolicyControllerResourceRequirementsResponseOutputWithContext(ctx context.Context) PolicyControllerResourceRequirementsResponseOutput { return o } - -// map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. -func (o PolicyControllerPolicyContentSpecResponseOutput) Bundles() pulumi.StringMapOutput { - return o.ApplyT(func(v PolicyControllerPolicyContentSpecResponse) map[string]string { return v.Bundles }).(pulumi.StringMapOutput) -} - -// Configures the installation of the Template Library. -func (o PolicyControllerPolicyContentSpecResponseOutput) TemplateLibrary() PolicyControllerTemplateLibraryConfigResponseOutput { - return o.ApplyT(func(v PolicyControllerPolicyContentSpecResponse) PolicyControllerTemplateLibraryConfigResponse { - return v.TemplateLibrary - }).(PolicyControllerTemplateLibraryConfigResponseOutput) + +// Limits describes the maximum amount of compute resources allowed for use by the running container. +func (o PolicyControllerResourceRequirementsResponseOutput) Limits() PolicyControllerResourceListResponseOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirementsResponse) PolicyControllerResourceListResponse { + return v.Limits + }).(PolicyControllerResourceListResponseOutput) +} + +// Requests describes the amount of compute resources reserved for the container by the kube-scheduler. +func (o PolicyControllerResourceRequirementsResponseOutput) Requests() PolicyControllerResourceListResponseOutput { + return o.ApplyT(func(v PolicyControllerResourceRequirementsResponse) PolicyControllerResourceListResponse { + return v.Requests + }).(PolicyControllerResourceListResponseOutput) } // The config specifying which default library templates to install. @@ -10948,6 +13946,200 @@ func (o PolicyControllerTemplateLibraryConfigResponseOutput) Installation() pulu return o.ApplyT(func(v PolicyControllerTemplateLibraryConfigResponse) string { return v.Installation }).(pulumi.StringOutput) } +// Toleration of a node taint. +type PolicyControllerToleration struct { + // Matches a taint effect. + Effect *string `pulumi:"effect"` + // Matches a taint key (not necessarily unique). + Key *string `pulumi:"key"` + // Matches a taint operator. + Operator *string `pulumi:"operator"` + // Matches a taint value. + Value *string `pulumi:"value"` +} + +// PolicyControllerTolerationInput is an input type that accepts PolicyControllerTolerationArgs and PolicyControllerTolerationOutput values. +// You can construct a concrete instance of `PolicyControllerTolerationInput` via: +// +// PolicyControllerTolerationArgs{...} +type PolicyControllerTolerationInput interface { + pulumi.Input + + ToPolicyControllerTolerationOutput() PolicyControllerTolerationOutput + ToPolicyControllerTolerationOutputWithContext(context.Context) PolicyControllerTolerationOutput +} + +// Toleration of a node taint. +type PolicyControllerTolerationArgs struct { + // Matches a taint effect. + Effect pulumi.StringPtrInput `pulumi:"effect"` + // Matches a taint key (not necessarily unique). + Key pulumi.StringPtrInput `pulumi:"key"` + // Matches a taint operator. + Operator pulumi.StringPtrInput `pulumi:"operator"` + // Matches a taint value. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (PolicyControllerTolerationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerToleration)(nil)).Elem() +} + +func (i PolicyControllerTolerationArgs) ToPolicyControllerTolerationOutput() PolicyControllerTolerationOutput { + return i.ToPolicyControllerTolerationOutputWithContext(context.Background()) +} + +func (i PolicyControllerTolerationArgs) ToPolicyControllerTolerationOutputWithContext(ctx context.Context) PolicyControllerTolerationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTolerationOutput) +} + +// PolicyControllerTolerationArrayInput is an input type that accepts PolicyControllerTolerationArray and PolicyControllerTolerationArrayOutput values. +// You can construct a concrete instance of `PolicyControllerTolerationArrayInput` via: +// +// PolicyControllerTolerationArray{ PolicyControllerTolerationArgs{...} } +type PolicyControllerTolerationArrayInput interface { + pulumi.Input + + ToPolicyControllerTolerationArrayOutput() PolicyControllerTolerationArrayOutput + ToPolicyControllerTolerationArrayOutputWithContext(context.Context) PolicyControllerTolerationArrayOutput +} + +type PolicyControllerTolerationArray []PolicyControllerTolerationInput + +func (PolicyControllerTolerationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyControllerToleration)(nil)).Elem() +} + +func (i PolicyControllerTolerationArray) ToPolicyControllerTolerationArrayOutput() PolicyControllerTolerationArrayOutput { + return i.ToPolicyControllerTolerationArrayOutputWithContext(context.Background()) +} + +func (i PolicyControllerTolerationArray) ToPolicyControllerTolerationArrayOutputWithContext(ctx context.Context) PolicyControllerTolerationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyControllerTolerationArrayOutput) +} + +// Toleration of a node taint. +type PolicyControllerTolerationOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerToleration)(nil)).Elem() +} + +func (o PolicyControllerTolerationOutput) ToPolicyControllerTolerationOutput() PolicyControllerTolerationOutput { + return o +} + +func (o PolicyControllerTolerationOutput) ToPolicyControllerTolerationOutputWithContext(ctx context.Context) PolicyControllerTolerationOutput { + return o +} + +// Matches a taint effect. +func (o PolicyControllerTolerationOutput) Effect() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Effect }).(pulumi.StringPtrOutput) +} + +// Matches a taint key (not necessarily unique). +func (o PolicyControllerTolerationOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Matches a taint operator. +func (o PolicyControllerTolerationOutput) Operator() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Operator }).(pulumi.StringPtrOutput) +} + +// Matches a taint value. +func (o PolicyControllerTolerationOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyControllerToleration) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type PolicyControllerTolerationArrayOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyControllerToleration)(nil)).Elem() +} + +func (o PolicyControllerTolerationArrayOutput) ToPolicyControllerTolerationArrayOutput() PolicyControllerTolerationArrayOutput { + return o +} + +func (o PolicyControllerTolerationArrayOutput) ToPolicyControllerTolerationArrayOutputWithContext(ctx context.Context) PolicyControllerTolerationArrayOutput { + return o +} + +func (o PolicyControllerTolerationArrayOutput) Index(i pulumi.IntInput) PolicyControllerTolerationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyControllerToleration { + return vs[0].([]PolicyControllerToleration)[vs[1].(int)] + }).(PolicyControllerTolerationOutput) +} + +// Toleration of a node taint. +type PolicyControllerTolerationResponse struct { + // Matches a taint effect. + Effect string `pulumi:"effect"` + // Matches a taint key (not necessarily unique). + Key string `pulumi:"key"` + // Matches a taint operator. + Operator string `pulumi:"operator"` + // Matches a taint value. + Value string `pulumi:"value"` +} + +// Toleration of a node taint. +type PolicyControllerTolerationResponseOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyControllerTolerationResponse)(nil)).Elem() +} + +func (o PolicyControllerTolerationResponseOutput) ToPolicyControllerTolerationResponseOutput() PolicyControllerTolerationResponseOutput { + return o +} + +func (o PolicyControllerTolerationResponseOutput) ToPolicyControllerTolerationResponseOutputWithContext(ctx context.Context) PolicyControllerTolerationResponseOutput { + return o +} + +// Matches a taint effect. +func (o PolicyControllerTolerationResponseOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Effect }).(pulumi.StringOutput) +} + +// Matches a taint key (not necessarily unique). +func (o PolicyControllerTolerationResponseOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Key }).(pulumi.StringOutput) +} + +// Matches a taint operator. +func (o PolicyControllerTolerationResponseOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Operator }).(pulumi.StringOutput) +} + +// Matches a taint value. +func (o PolicyControllerTolerationResponseOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v PolicyControllerTolerationResponse) string { return v.Value }).(pulumi.StringOutput) +} + +type PolicyControllerTolerationResponseArrayOutput struct{ *pulumi.OutputState } + +func (PolicyControllerTolerationResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PolicyControllerTolerationResponse)(nil)).Elem() +} + +func (o PolicyControllerTolerationResponseArrayOutput) ToPolicyControllerTolerationResponseArrayOutput() PolicyControllerTolerationResponseArrayOutput { + return o +} + +func (o PolicyControllerTolerationResponseArrayOutput) ToPolicyControllerTolerationResponseArrayOutputWithContext(ctx context.Context) PolicyControllerTolerationResponseArrayOutput { + return o +} + +func (o PolicyControllerTolerationResponseArrayOutput) Index(i pulumi.IntInput) PolicyControllerTolerationResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PolicyControllerTolerationResponse { + return vs[0].([]PolicyControllerTolerationResponse)[vs[1].(int)] + }).(PolicyControllerTolerationResponseOutput) +} + // RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. type RBACRoleBindingLifecycleStateResponse struct { // The current state of the rbacrolebinding resource. @@ -11326,6 +14518,182 @@ func (o RoleResponseOutput) PredefinedRole() pulumi.StringOutput { return o.ApplyT(func(v RoleResponse) string { return v.PredefinedRole }).(pulumi.StringOutput) } +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpec struct { +} + +// ScopeFeatureSpecInput is an input type that accepts ScopeFeatureSpecArgs and ScopeFeatureSpecOutput values. +// You can construct a concrete instance of `ScopeFeatureSpecInput` via: +// +// ScopeFeatureSpecArgs{...} +type ScopeFeatureSpecInput interface { + pulumi.Input + + ToScopeFeatureSpecOutput() ScopeFeatureSpecOutput + ToScopeFeatureSpecOutputWithContext(context.Context) ScopeFeatureSpecOutput +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecArgs struct { +} + +func (ScopeFeatureSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureSpec)(nil)).Elem() +} + +func (i ScopeFeatureSpecArgs) ToScopeFeatureSpecOutput() ScopeFeatureSpecOutput { + return i.ToScopeFeatureSpecOutputWithContext(context.Background()) +} + +func (i ScopeFeatureSpecArgs) ToScopeFeatureSpecOutputWithContext(ctx context.Context) ScopeFeatureSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScopeFeatureSpecOutput) +} + +// ScopeFeatureSpecMapInput is an input type that accepts ScopeFeatureSpecMap and ScopeFeatureSpecMapOutput values. +// You can construct a concrete instance of `ScopeFeatureSpecMapInput` via: +// +// ScopeFeatureSpecMap{ "key": ScopeFeatureSpecArgs{...} } +type ScopeFeatureSpecMapInput interface { + pulumi.Input + + ToScopeFeatureSpecMapOutput() ScopeFeatureSpecMapOutput + ToScopeFeatureSpecMapOutputWithContext(context.Context) ScopeFeatureSpecMapOutput +} + +type ScopeFeatureSpecMap map[string]ScopeFeatureSpecInput + +func (ScopeFeatureSpecMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureSpec)(nil)).Elem() +} + +func (i ScopeFeatureSpecMap) ToScopeFeatureSpecMapOutput() ScopeFeatureSpecMapOutput { + return i.ToScopeFeatureSpecMapOutputWithContext(context.Background()) +} + +func (i ScopeFeatureSpecMap) ToScopeFeatureSpecMapOutputWithContext(ctx context.Context) ScopeFeatureSpecMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScopeFeatureSpecMapOutput) +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureSpec)(nil)).Elem() +} + +func (o ScopeFeatureSpecOutput) ToScopeFeatureSpecOutput() ScopeFeatureSpecOutput { + return o +} + +func (o ScopeFeatureSpecOutput) ToScopeFeatureSpecOutputWithContext(ctx context.Context) ScopeFeatureSpecOutput { + return o +} + +type ScopeFeatureSpecMapOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureSpec)(nil)).Elem() +} + +func (o ScopeFeatureSpecMapOutput) ToScopeFeatureSpecMapOutput() ScopeFeatureSpecMapOutput { + return o +} + +func (o ScopeFeatureSpecMapOutput) ToScopeFeatureSpecMapOutputWithContext(ctx context.Context) ScopeFeatureSpecMapOutput { + return o +} + +func (o ScopeFeatureSpecMapOutput) MapIndex(k pulumi.StringInput) ScopeFeatureSpecOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScopeFeatureSpec { + return vs[0].(map[string]ScopeFeatureSpec)[vs[1].(string)] + }).(ScopeFeatureSpecOutput) +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecResponse struct { +} + +// ScopeFeatureSpec contains feature specs for a fleet scope. +type ScopeFeatureSpecResponseOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureSpecResponse)(nil)).Elem() +} + +func (o ScopeFeatureSpecResponseOutput) ToScopeFeatureSpecResponseOutput() ScopeFeatureSpecResponseOutput { + return o +} + +func (o ScopeFeatureSpecResponseOutput) ToScopeFeatureSpecResponseOutputWithContext(ctx context.Context) ScopeFeatureSpecResponseOutput { + return o +} + +type ScopeFeatureSpecResponseMapOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureSpecResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureSpecResponse)(nil)).Elem() +} + +func (o ScopeFeatureSpecResponseMapOutput) ToScopeFeatureSpecResponseMapOutput() ScopeFeatureSpecResponseMapOutput { + return o +} + +func (o ScopeFeatureSpecResponseMapOutput) ToScopeFeatureSpecResponseMapOutputWithContext(ctx context.Context) ScopeFeatureSpecResponseMapOutput { + return o +} + +func (o ScopeFeatureSpecResponseMapOutput) MapIndex(k pulumi.StringInput) ScopeFeatureSpecResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScopeFeatureSpecResponse { + return vs[0].(map[string]ScopeFeatureSpecResponse)[vs[1].(string)] + }).(ScopeFeatureSpecResponseOutput) +} + +// ScopeFeatureState contains Scope-wide Feature status information. +type ScopeFeatureStateResponse struct { + // The "running state" of the Feature in this Scope. + State FeatureStateResponse `pulumi:"state"` +} + +// ScopeFeatureState contains Scope-wide Feature status information. +type ScopeFeatureStateResponseOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScopeFeatureStateResponse)(nil)).Elem() +} + +func (o ScopeFeatureStateResponseOutput) ToScopeFeatureStateResponseOutput() ScopeFeatureStateResponseOutput { + return o +} + +func (o ScopeFeatureStateResponseOutput) ToScopeFeatureStateResponseOutputWithContext(ctx context.Context) ScopeFeatureStateResponseOutput { + return o +} + +// The "running state" of the Feature in this Scope. +func (o ScopeFeatureStateResponseOutput) State() FeatureStateResponseOutput { + return o.ApplyT(func(v ScopeFeatureStateResponse) FeatureStateResponse { return v.State }).(FeatureStateResponseOutput) +} + +type ScopeFeatureStateResponseMapOutput struct{ *pulumi.OutputState } + +func (ScopeFeatureStateResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]ScopeFeatureStateResponse)(nil)).Elem() +} + +func (o ScopeFeatureStateResponseMapOutput) ToScopeFeatureStateResponseMapOutput() ScopeFeatureStateResponseMapOutput { + return o +} + +func (o ScopeFeatureStateResponseMapOutput) ToScopeFeatureStateResponseMapOutputWithContext(ctx context.Context) ScopeFeatureStateResponseMapOutput { + return o +} + +func (o ScopeFeatureStateResponseMapOutput) MapIndex(k pulumi.StringInput) ScopeFeatureStateResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) ScopeFeatureStateResponse { + return vs[0].(map[string]ScopeFeatureStateResponse)[vs[1].(string)] + }).(ScopeFeatureStateResponseOutput) +} + // ScopeLifecycleState describes the state of a Scope resource. type ScopeLifecycleStateResponse struct { // The current state of the scope resource. @@ -11544,6 +14912,72 @@ func (o SecurityPostureConfigResponseOutput) VulnerabilityMode() pulumi.StringOu return o.ApplyT(func(v SecurityPostureConfigResponse) string { return v.VulnerabilityMode }).(pulumi.StringOutput) } +// Status of control plane management. +type ServiceMeshControlPlaneManagementResponse struct { + // Explanation of state. + Details []ServiceMeshStatusDetailsResponse `pulumi:"details"` + // LifecycleState of control plane management. + State string `pulumi:"state"` +} + +// Status of control plane management. +type ServiceMeshControlPlaneManagementResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshControlPlaneManagementResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshControlPlaneManagementResponse)(nil)).Elem() +} + +func (o ServiceMeshControlPlaneManagementResponseOutput) ToServiceMeshControlPlaneManagementResponseOutput() ServiceMeshControlPlaneManagementResponseOutput { + return o +} + +func (o ServiceMeshControlPlaneManagementResponseOutput) ToServiceMeshControlPlaneManagementResponseOutputWithContext(ctx context.Context) ServiceMeshControlPlaneManagementResponseOutput { + return o +} + +// Explanation of state. +func (o ServiceMeshControlPlaneManagementResponseOutput) Details() ServiceMeshStatusDetailsResponseArrayOutput { + return o.ApplyT(func(v ServiceMeshControlPlaneManagementResponse) []ServiceMeshStatusDetailsResponse { return v.Details }).(ServiceMeshStatusDetailsResponseArrayOutput) +} + +// LifecycleState of control plane management. +func (o ServiceMeshControlPlaneManagementResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshControlPlaneManagementResponse) string { return v.State }).(pulumi.StringOutput) +} + +// Status of data plane management. Only reported per-member. +type ServiceMeshDataPlaneManagementResponse struct { + // Explanation of the status. + Details []ServiceMeshStatusDetailsResponse `pulumi:"details"` + // Lifecycle status of data plane management. + State string `pulumi:"state"` +} + +// Status of data plane management. Only reported per-member. +type ServiceMeshDataPlaneManagementResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshDataPlaneManagementResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshDataPlaneManagementResponse)(nil)).Elem() +} + +func (o ServiceMeshDataPlaneManagementResponseOutput) ToServiceMeshDataPlaneManagementResponseOutput() ServiceMeshDataPlaneManagementResponseOutput { + return o +} + +func (o ServiceMeshDataPlaneManagementResponseOutput) ToServiceMeshDataPlaneManagementResponseOutputWithContext(ctx context.Context) ServiceMeshDataPlaneManagementResponseOutput { + return o +} + +// Explanation of the status. +func (o ServiceMeshDataPlaneManagementResponseOutput) Details() ServiceMeshStatusDetailsResponseArrayOutput { + return o.ApplyT(func(v ServiceMeshDataPlaneManagementResponse) []ServiceMeshStatusDetailsResponse { return v.Details }).(ServiceMeshStatusDetailsResponseArrayOutput) +} + +// Lifecycle status of data plane management. +func (o ServiceMeshDataPlaneManagementResponseOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshDataPlaneManagementResponse) string { return v.State }).(pulumi.StringOutput) +} + // **Service Mesh**: Spec for a single Membership for the servicemesh feature type ServiceMeshMembershipSpec struct { // Deprecated: use `management` instead Enables automatic control plane management. @@ -11748,6 +15182,96 @@ func (o ServiceMeshMembershipSpecResponseOutput) Management() pulumi.StringOutpu return o.ApplyT(func(v ServiceMeshMembershipSpecResponse) string { return v.Management }).(pulumi.StringOutput) } +// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. +type ServiceMeshMembershipStateResponse struct { + // Status of control plane management + ControlPlaneManagement ServiceMeshControlPlaneManagementResponse `pulumi:"controlPlaneManagement"` + // Status of data plane management. + DataPlaneManagement ServiceMeshDataPlaneManagementResponse `pulumi:"dataPlaneManagement"` +} + +// **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. +type ServiceMeshMembershipStateResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshMembershipStateResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshMembershipStateResponse)(nil)).Elem() +} + +func (o ServiceMeshMembershipStateResponseOutput) ToServiceMeshMembershipStateResponseOutput() ServiceMeshMembershipStateResponseOutput { + return o +} + +func (o ServiceMeshMembershipStateResponseOutput) ToServiceMeshMembershipStateResponseOutputWithContext(ctx context.Context) ServiceMeshMembershipStateResponseOutput { + return o +} + +// Status of control plane management +func (o ServiceMeshMembershipStateResponseOutput) ControlPlaneManagement() ServiceMeshControlPlaneManagementResponseOutput { + return o.ApplyT(func(v ServiceMeshMembershipStateResponse) ServiceMeshControlPlaneManagementResponse { + return v.ControlPlaneManagement + }).(ServiceMeshControlPlaneManagementResponseOutput) +} + +// Status of data plane management. +func (o ServiceMeshMembershipStateResponseOutput) DataPlaneManagement() ServiceMeshDataPlaneManagementResponseOutput { + return o.ApplyT(func(v ServiceMeshMembershipStateResponse) ServiceMeshDataPlaneManagementResponse { + return v.DataPlaneManagement + }).(ServiceMeshDataPlaneManagementResponseOutput) +} + +// Structured and human-readable details for a status. +type ServiceMeshStatusDetailsResponse struct { + // A machine-readable code that further describes a broad status. + Code string `pulumi:"code"` + // Human-readable explanation of code. + Details string `pulumi:"details"` +} + +// Structured and human-readable details for a status. +type ServiceMeshStatusDetailsResponseOutput struct{ *pulumi.OutputState } + +func (ServiceMeshStatusDetailsResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceMeshStatusDetailsResponse)(nil)).Elem() +} + +func (o ServiceMeshStatusDetailsResponseOutput) ToServiceMeshStatusDetailsResponseOutput() ServiceMeshStatusDetailsResponseOutput { + return o +} + +func (o ServiceMeshStatusDetailsResponseOutput) ToServiceMeshStatusDetailsResponseOutputWithContext(ctx context.Context) ServiceMeshStatusDetailsResponseOutput { + return o +} + +// A machine-readable code that further describes a broad status. +func (o ServiceMeshStatusDetailsResponseOutput) Code() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshStatusDetailsResponse) string { return v.Code }).(pulumi.StringOutput) +} + +// Human-readable explanation of code. +func (o ServiceMeshStatusDetailsResponseOutput) Details() pulumi.StringOutput { + return o.ApplyT(func(v ServiceMeshStatusDetailsResponse) string { return v.Details }).(pulumi.StringOutput) +} + +type ServiceMeshStatusDetailsResponseArrayOutput struct{ *pulumi.OutputState } + +func (ServiceMeshStatusDetailsResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceMeshStatusDetailsResponse)(nil)).Elem() +} + +func (o ServiceMeshStatusDetailsResponseArrayOutput) ToServiceMeshStatusDetailsResponseArrayOutput() ServiceMeshStatusDetailsResponseArrayOutput { + return o +} + +func (o ServiceMeshStatusDetailsResponseArrayOutput) ToServiceMeshStatusDetailsResponseArrayOutputWithContext(ctx context.Context) ServiceMeshStatusDetailsResponseArrayOutput { + return o +} + +func (o ServiceMeshStatusDetailsResponseArrayOutput) Index(i pulumi.IntInput) ServiceMeshStatusDetailsResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceMeshStatusDetailsResponse { + return vs[0].([]ServiceMeshStatusDetailsResponse)[vs[1].(int)] + }).(ServiceMeshStatusDetailsResponseOutput) +} + // Status specifies state for the subcomponent. type StatusResponse struct { // Code specifies AppDevExperienceFeature's subcomponent ready state. @@ -11837,6 +15361,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityFeatureSpecPtrInput)(nil)).Elem(), FleetObservabilityFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityLoggingConfigInput)(nil)).Elem(), FleetObservabilityLoggingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityLoggingConfigPtrInput)(nil)).Elem(), FleetObservabilityLoggingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityMembershipSpecInput)(nil)).Elem(), FleetObservabilityMembershipSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityMembershipSpecPtrInput)(nil)).Elem(), FleetObservabilityMembershipSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityRoutingConfigInput)(nil)).Elem(), FleetObservabilityRoutingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FleetObservabilityRoutingConfigPtrInput)(nil)).Elem(), FleetObservabilityRoutingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GkeClusterInput)(nil)).Elem(), GkeClusterArgs{}) @@ -11855,6 +15381,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*KubernetesResourcePtrInput)(nil)).Elem(), KubernetesResourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipEndpointInput)(nil)).Elem(), MembershipEndpointArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipEndpointPtrInput)(nil)).Elem(), MembershipEndpointArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipFeatureSpecInput)(nil)).Elem(), MembershipFeatureSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipFeatureSpecMapInput)(nil)).Elem(), MembershipFeatureSpecMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipSpecInput)(nil)).Elem(), MembershipSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipSpecPtrInput)(nil)).Elem(), MembershipSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitoringConfigInput)(nil)).Elem(), MonitoringConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitoringConfigPtrInput)(nil)).Elem(), MonitoringConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MultiCloudClusterInput)(nil)).Elem(), MultiCloudClusterArgs{}) @@ -11863,8 +15393,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MultiClusterIngressFeatureSpecPtrInput)(nil)).Elem(), MultiClusterIngressFeatureSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterInput)(nil)).Elem(), OnPremClusterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*OnPremClusterPtrInput)(nil)).Elem(), OnPremClusterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OriginInput)(nil)).Elem(), OriginArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*OriginPtrInput)(nil)).Elem(), OriginArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyBindingInput)(nil)).Elem(), PolicyBindingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyBindingArrayInput)(nil)).Elem(), PolicyBindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerBundleInstallSpecInput)(nil)).Elem(), PolicyControllerBundleInstallSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerBundleInstallSpecMapInput)(nil)).Elem(), PolicyControllerBundleInstallSpecMap{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigInput)(nil)).Elem(), PolicyControllerHubConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerHubConfigPtrInput)(nil)).Elem(), PolicyControllerHubConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMembershipSpecInput)(nil)).Elem(), PolicyControllerMembershipSpecArgs{}) @@ -11873,11 +15407,21 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerMonitoringConfigPtrInput)(nil)).Elem(), PolicyControllerMonitoringConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyContentSpecInput)(nil)).Elem(), PolicyControllerPolicyContentSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyContentSpecPtrInput)(nil)).Elem(), PolicyControllerPolicyContentSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerPolicyControllerDeploymentConfigMapInput)(nil)).Elem(), PolicyControllerPolicyControllerDeploymentConfigMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceListInput)(nil)).Elem(), PolicyControllerResourceListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceListPtrInput)(nil)).Elem(), PolicyControllerResourceListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceRequirementsInput)(nil)).Elem(), PolicyControllerResourceRequirementsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerResourceRequirementsPtrInput)(nil)).Elem(), PolicyControllerResourceRequirementsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTemplateLibraryConfigPtrInput)(nil)).Elem(), PolicyControllerTemplateLibraryConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTolerationInput)(nil)).Elem(), PolicyControllerTolerationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyControllerTolerationArrayInput)(nil)).Elem(), PolicyControllerTolerationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ResourceOptionsInput)(nil)).Elem(), ResourceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ResourceOptionsPtrInput)(nil)).Elem(), ResourceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RoleInput)(nil)).Elem(), RoleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScopeFeatureSpecInput)(nil)).Elem(), ScopeFeatureSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScopeFeatureSpecMapInput)(nil)).Elem(), ScopeFeatureSpecMap{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPostureConfigInput)(nil)).Elem(), SecurityPostureConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityPostureConfigPtrInput)(nil)).Elem(), SecurityPostureConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServiceMeshMembershipSpecInput)(nil)).Elem(), ServiceMeshMembershipSpecArgs{}) @@ -11928,6 +15472,11 @@ func init() { pulumi.RegisterOutputType(ClusterUpgradeGKEUpgradeResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradeGKEUpgradeStateResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradeGKEUpgradeStateResponseArrayOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeIgnoredMembershipResponseOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeIgnoredMembershipResponseMapOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeMembershipGKEUpgradeStateResponseOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeMembershipGKEUpgradeStateResponseArrayOutput{}) + pulumi.RegisterOutputType(ClusterUpgradeMembershipStateResponseOutput{}) pulumi.RegisterOutputType(ClusterUpgradePostConditionsOutput{}) pulumi.RegisterOutputType(ClusterUpgradePostConditionsPtrOutput{}) pulumi.RegisterOutputType(ClusterUpgradePostConditionsResponseOutput{}) @@ -11942,27 +15491,51 @@ func init() { pulumi.RegisterOutputType(ConfigManagementBinauthzConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementBinauthzConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementBinauthzConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementBinauthzStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementBinauthzVersionResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementConfigSyncOutput{}) pulumi.RegisterOutputType(ConfigManagementConfigSyncPtrOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncDeploymentStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncErrorResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncErrorResponseArrayOutput{}) pulumi.RegisterOutputType(ConfigManagementConfigSyncResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementConfigSyncVersionResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementErrorResourceResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementErrorResourceResponseArrayOutput{}) + pulumi.RegisterOutputType(ConfigManagementGatekeeperDeploymentStateResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementGitConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementGitConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementGitConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementGroupVersionKindResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementHierarchyControllerConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementHierarchyControllerConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementHierarchyControllerConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementHierarchyControllerDeploymentStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementHierarchyControllerStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementHierarchyControllerVersionResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementInstallErrorResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementInstallErrorResponseArrayOutput{}) pulumi.RegisterOutputType(ConfigManagementMembershipSpecOutput{}) pulumi.RegisterOutputType(ConfigManagementMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementMembershipStateResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementOciConfigOutput{}) pulumi.RegisterOutputType(ConfigManagementOciConfigPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementOciConfigResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementOperatorStateResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerPtrOutput{}) + pulumi.RegisterOutputType(ConfigManagementPolicyControllerMigrationResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringPtrOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerMonitoringResponseOutput{}) pulumi.RegisterOutputType(ConfigManagementPolicyControllerResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementPolicyControllerStateResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementPolicyControllerVersionResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementSyncErrorResponseOutput{}) + pulumi.RegisterOutputType(ConfigManagementSyncErrorResponseArrayOutput{}) + pulumi.RegisterOutputType(ConfigManagementSyncStateResponseOutput{}) pulumi.RegisterOutputType(DefaultClusterConfigOutput{}) pulumi.RegisterOutputType(DefaultClusterConfigPtrOutput{}) pulumi.RegisterOutputType(DefaultClusterConfigResponseOutput{}) @@ -11987,6 +15560,10 @@ func init() { pulumi.RegisterOutputType(FleetObservabilityLoggingConfigOutput{}) pulumi.RegisterOutputType(FleetObservabilityLoggingConfigPtrOutput{}) pulumi.RegisterOutputType(FleetObservabilityLoggingConfigResponseOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipSpecOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipSpecPtrOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(FleetObservabilityMembershipStateResponseOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigPtrOutput{}) pulumi.RegisterOutputType(FleetObservabilityRoutingConfigResponseOutput{}) @@ -12006,6 +15583,7 @@ func init() { pulumi.RegisterOutputType(IdentityServiceMembershipSpecOutput{}) pulumi.RegisterOutputType(IdentityServiceMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(IdentityServiceMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(IdentityServiceMembershipStateResponseOutput{}) pulumi.RegisterOutputType(IdentityServiceOidcConfigOutput{}) pulumi.RegisterOutputType(IdentityServiceOidcConfigPtrOutput{}) pulumi.RegisterOutputType(IdentityServiceOidcConfigResponseOutput{}) @@ -12017,7 +15595,17 @@ func init() { pulumi.RegisterOutputType(MembershipEndpointOutput{}) pulumi.RegisterOutputType(MembershipEndpointPtrOutput{}) pulumi.RegisterOutputType(MembershipEndpointResponseOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecMapOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecResponseOutput{}) + pulumi.RegisterOutputType(MembershipFeatureSpecResponseMapOutput{}) + pulumi.RegisterOutputType(MembershipFeatureStateResponseOutput{}) + pulumi.RegisterOutputType(MembershipFeatureStateResponseMapOutput{}) + pulumi.RegisterOutputType(MembershipSpecOutput{}) + pulumi.RegisterOutputType(MembershipSpecPtrOutput{}) + pulumi.RegisterOutputType(MembershipSpecResponseOutput{}) pulumi.RegisterOutputType(MembershipStateResponseOutput{}) + pulumi.RegisterOutputType(MeteringMembershipStateResponseOutput{}) pulumi.RegisterOutputType(MonitoringConfigOutput{}) pulumi.RegisterOutputType(MonitoringConfigPtrOutput{}) pulumi.RegisterOutputType(MonitoringConfigResponseOutput{}) @@ -12031,25 +15619,50 @@ func init() { pulumi.RegisterOutputType(OnPremClusterOutput{}) pulumi.RegisterOutputType(OnPremClusterPtrOutput{}) pulumi.RegisterOutputType(OnPremClusterResponseOutput{}) + pulumi.RegisterOutputType(OriginOutput{}) + pulumi.RegisterOutputType(OriginPtrOutput{}) + pulumi.RegisterOutputType(OriginResponseOutput{}) pulumi.RegisterOutputType(PolicyBindingOutput{}) pulumi.RegisterOutputType(PolicyBindingArrayOutput{}) pulumi.RegisterOutputType(PolicyBindingResponseOutput{}) pulumi.RegisterOutputType(PolicyBindingResponseArrayOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecMapOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerBundleInstallSpecResponseMapOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerHubConfigResponseOutput{}) pulumi.RegisterOutputType(PolicyControllerMembershipSpecOutput{}) pulumi.RegisterOutputType(PolicyControllerMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerMembershipStateResponseOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerMonitoringConfigResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerOnClusterStateResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerOnClusterStateResponseMapOutput{}) pulumi.RegisterOutputType(PolicyControllerPolicyContentSpecOutput{}) pulumi.RegisterOutputType(PolicyControllerPolicyContentSpecPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerPolicyContentSpecResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyContentStateResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigMapOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerPolicyControllerDeploymentConfigResponseMapOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceListOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceListPtrOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceListResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceRequirementsOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceRequirementsPtrOutput{}) + pulumi.RegisterOutputType(PolicyControllerResourceRequirementsResponseOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigPtrOutput{}) pulumi.RegisterOutputType(PolicyControllerTemplateLibraryConfigResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationArrayOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationResponseOutput{}) + pulumi.RegisterOutputType(PolicyControllerTolerationResponseArrayOutput{}) pulumi.RegisterOutputType(RBACRoleBindingLifecycleStateResponseOutput{}) pulumi.RegisterOutputType(ResourceManifestResponseOutput{}) pulumi.RegisterOutputType(ResourceManifestResponseArrayOutput{}) @@ -12058,12 +15671,23 @@ func init() { pulumi.RegisterOutputType(ResourceOptionsResponseOutput{}) pulumi.RegisterOutputType(RoleOutput{}) pulumi.RegisterOutputType(RoleResponseOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecMapOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecResponseOutput{}) + pulumi.RegisterOutputType(ScopeFeatureSpecResponseMapOutput{}) + pulumi.RegisterOutputType(ScopeFeatureStateResponseOutput{}) + pulumi.RegisterOutputType(ScopeFeatureStateResponseMapOutput{}) pulumi.RegisterOutputType(ScopeLifecycleStateResponseOutput{}) pulumi.RegisterOutputType(SecurityPostureConfigOutput{}) pulumi.RegisterOutputType(SecurityPostureConfigPtrOutput{}) pulumi.RegisterOutputType(SecurityPostureConfigResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshControlPlaneManagementResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshDataPlaneManagementResponseOutput{}) pulumi.RegisterOutputType(ServiceMeshMembershipSpecOutput{}) pulumi.RegisterOutputType(ServiceMeshMembershipSpecPtrOutput{}) pulumi.RegisterOutputType(ServiceMeshMembershipSpecResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshMembershipStateResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshStatusDetailsResponseOutput{}) + pulumi.RegisterOutputType(ServiceMeshStatusDetailsResponseArrayOutput{}) pulumi.RegisterOutputType(StatusResponseOutput{}) } diff --git a/sdk/go/google/healthcare/v1/getFhir.go b/sdk/go/google/healthcare/v1/getFhir.go index 8225d4ceef..01d61dd54c 100644 --- a/sdk/go/google/healthcare/v1/getFhir.go +++ b/sdk/go/google/healthcare/v1/getFhir.go @@ -37,7 +37,7 @@ type GetFhirResult struct { // The HTTP request/response body as raw binary. Data string `pulumi:"data"` // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions []map[string]string `pulumi:"extensions"` + Extensions []map[string]interface{} `pulumi:"extensions"` } func GetFhirOutput(ctx *pulumi.Context, args GetFhirOutputArgs, opts ...pulumi.InvokeOption) GetFhirResultOutput { @@ -91,8 +91,8 @@ func (o GetFhirResultOutput) Data() pulumi.StringOutput { } // Application specific response metadata. Must be set in the first response for streaming APIs. -func (o GetFhirResultOutput) Extensions() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GetFhirResult) []map[string]string { return v.Extensions }).(pulumi.StringMapArrayOutput) +func (o GetFhirResultOutput) Extensions() pulumi.MapArrayOutput { + return o.ApplyT(func(v GetFhirResult) []map[string]interface{} { return v.Extensions }).(pulumi.MapArrayOutput) } func init() { diff --git a/sdk/go/google/healthcare/v1/pulumiTypes.go b/sdk/go/google/healthcare/v1/pulumiTypes.go index a75a8c5bd4..1f485d1aad 100644 --- a/sdk/go/google/healthcare/v1/pulumiTypes.go +++ b/sdk/go/google/healthcare/v1/pulumiTypes.go @@ -3699,10 +3699,162 @@ func (o GoogleCloudHealthcareV1FhirBigQueryDestinationResponseOutput) WriteDispo return o.ApplyT(func(v GoogleCloudHealthcareV1FhirBigQueryDestinationResponse) string { return v.WriteDisposition }).(pulumi.StringOutput) } +// Construct representing a logical group or a segment. +type GroupOrSegment struct { + Group *SchemaGroup `pulumi:"group"` + Segment *SchemaSegment `pulumi:"segment"` +} + +// GroupOrSegmentInput is an input type that accepts GroupOrSegmentArgs and GroupOrSegmentOutput values. +// You can construct a concrete instance of `GroupOrSegmentInput` via: +// +// GroupOrSegmentArgs{...} +type GroupOrSegmentInput interface { + pulumi.Input + + ToGroupOrSegmentOutput() GroupOrSegmentOutput + ToGroupOrSegmentOutputWithContext(context.Context) GroupOrSegmentOutput +} + +// Construct representing a logical group or a segment. +type GroupOrSegmentArgs struct { + Group SchemaGroupPtrInput `pulumi:"group"` + Segment SchemaSegmentPtrInput `pulumi:"segment"` +} + +func (GroupOrSegmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GroupOrSegment)(nil)).Elem() +} + +func (i GroupOrSegmentArgs) ToGroupOrSegmentOutput() GroupOrSegmentOutput { + return i.ToGroupOrSegmentOutputWithContext(context.Background()) +} + +func (i GroupOrSegmentArgs) ToGroupOrSegmentOutputWithContext(ctx context.Context) GroupOrSegmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupOrSegmentOutput) +} + +// GroupOrSegmentArrayInput is an input type that accepts GroupOrSegmentArray and GroupOrSegmentArrayOutput values. +// You can construct a concrete instance of `GroupOrSegmentArrayInput` via: +// +// GroupOrSegmentArray{ GroupOrSegmentArgs{...} } +type GroupOrSegmentArrayInput interface { + pulumi.Input + + ToGroupOrSegmentArrayOutput() GroupOrSegmentArrayOutput + ToGroupOrSegmentArrayOutputWithContext(context.Context) GroupOrSegmentArrayOutput +} + +type GroupOrSegmentArray []GroupOrSegmentInput + +func (GroupOrSegmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GroupOrSegment)(nil)).Elem() +} + +func (i GroupOrSegmentArray) ToGroupOrSegmentArrayOutput() GroupOrSegmentArrayOutput { + return i.ToGroupOrSegmentArrayOutputWithContext(context.Background()) +} + +func (i GroupOrSegmentArray) ToGroupOrSegmentArrayOutputWithContext(ctx context.Context) GroupOrSegmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupOrSegmentArrayOutput) +} + +// Construct representing a logical group or a segment. +type GroupOrSegmentOutput struct{ *pulumi.OutputState } + +func (GroupOrSegmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GroupOrSegment)(nil)).Elem() +} + +func (o GroupOrSegmentOutput) ToGroupOrSegmentOutput() GroupOrSegmentOutput { + return o +} + +func (o GroupOrSegmentOutput) ToGroupOrSegmentOutputWithContext(ctx context.Context) GroupOrSegmentOutput { + return o +} + +func (o GroupOrSegmentOutput) Group() SchemaGroupPtrOutput { + return o.ApplyT(func(v GroupOrSegment) *SchemaGroup { return v.Group }).(SchemaGroupPtrOutput) +} + +func (o GroupOrSegmentOutput) Segment() SchemaSegmentPtrOutput { + return o.ApplyT(func(v GroupOrSegment) *SchemaSegment { return v.Segment }).(SchemaSegmentPtrOutput) +} + +type GroupOrSegmentArrayOutput struct{ *pulumi.OutputState } + +func (GroupOrSegmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GroupOrSegment)(nil)).Elem() +} + +func (o GroupOrSegmentArrayOutput) ToGroupOrSegmentArrayOutput() GroupOrSegmentArrayOutput { + return o +} + +func (o GroupOrSegmentArrayOutput) ToGroupOrSegmentArrayOutputWithContext(ctx context.Context) GroupOrSegmentArrayOutput { + return o +} + +func (o GroupOrSegmentArrayOutput) Index(i pulumi.IntInput) GroupOrSegmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GroupOrSegment { + return vs[0].([]GroupOrSegment)[vs[1].(int)] + }).(GroupOrSegmentOutput) +} + +// Construct representing a logical group or a segment. +type GroupOrSegmentResponse struct { + Group SchemaGroupResponse `pulumi:"group"` + Segment SchemaSegmentResponse `pulumi:"segment"` +} + +// Construct representing a logical group or a segment. +type GroupOrSegmentResponseOutput struct{ *pulumi.OutputState } + +func (GroupOrSegmentResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GroupOrSegmentResponse)(nil)).Elem() +} + +func (o GroupOrSegmentResponseOutput) ToGroupOrSegmentResponseOutput() GroupOrSegmentResponseOutput { + return o +} + +func (o GroupOrSegmentResponseOutput) ToGroupOrSegmentResponseOutputWithContext(ctx context.Context) GroupOrSegmentResponseOutput { + return o +} + +func (o GroupOrSegmentResponseOutput) Group() SchemaGroupResponseOutput { + return o.ApplyT(func(v GroupOrSegmentResponse) SchemaGroupResponse { return v.Group }).(SchemaGroupResponseOutput) +} + +func (o GroupOrSegmentResponseOutput) Segment() SchemaSegmentResponseOutput { + return o.ApplyT(func(v GroupOrSegmentResponse) SchemaSegmentResponse { return v.Segment }).(SchemaSegmentResponseOutput) +} + +type GroupOrSegmentResponseArrayOutput struct{ *pulumi.OutputState } + +func (GroupOrSegmentResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GroupOrSegmentResponse)(nil)).Elem() +} + +func (o GroupOrSegmentResponseArrayOutput) ToGroupOrSegmentResponseArrayOutput() GroupOrSegmentResponseArrayOutput { + return o +} + +func (o GroupOrSegmentResponseArrayOutput) ToGroupOrSegmentResponseArrayOutputWithContext(ctx context.Context) GroupOrSegmentResponseArrayOutput { + return o +} + +func (o GroupOrSegmentResponseArrayOutput) Index(i pulumi.IntInput) GroupOrSegmentResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GroupOrSegmentResponse { + return vs[0].([]GroupOrSegmentResponse)[vs[1].(int)] + }).(GroupOrSegmentResponseOutput) +} + // Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. type Hl7SchemaConfig struct { // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. - MessageSchemaConfigs map[string]string `pulumi:"messageSchemaConfigs"` + MessageSchemaConfigs map[string]SchemaGroup `pulumi:"messageSchemaConfigs"` // Each VersionSource is tested and only if they all match is the schema used for the message. Version []VersionSource `pulumi:"version"` } @@ -3721,7 +3873,7 @@ type Hl7SchemaConfigInput interface { // Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. type Hl7SchemaConfigArgs struct { // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. - MessageSchemaConfigs pulumi.StringMapInput `pulumi:"messageSchemaConfigs"` + MessageSchemaConfigs SchemaGroupMapInput `pulumi:"messageSchemaConfigs"` // Each VersionSource is tested and only if they all match is the schema used for the message. Version VersionSourceArrayInput `pulumi:"version"` } @@ -3779,8 +3931,8 @@ func (o Hl7SchemaConfigOutput) ToHl7SchemaConfigOutputWithContext(ctx context.Co } // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. -func (o Hl7SchemaConfigOutput) MessageSchemaConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v Hl7SchemaConfig) map[string]string { return v.MessageSchemaConfigs }).(pulumi.StringMapOutput) +func (o Hl7SchemaConfigOutput) MessageSchemaConfigs() SchemaGroupMapOutput { + return o.ApplyT(func(v Hl7SchemaConfig) map[string]SchemaGroup { return v.MessageSchemaConfigs }).(SchemaGroupMapOutput) } // Each VersionSource is tested and only if they all match is the schema used for the message. @@ -3811,7 +3963,7 @@ func (o Hl7SchemaConfigArrayOutput) Index(i pulumi.IntInput) Hl7SchemaConfigOutp // Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. type Hl7SchemaConfigResponse struct { // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. - MessageSchemaConfigs map[string]string `pulumi:"messageSchemaConfigs"` + MessageSchemaConfigs map[string]SchemaGroupResponse `pulumi:"messageSchemaConfigs"` // Each VersionSource is tested and only if they all match is the schema used for the message. Version []VersionSourceResponse `pulumi:"version"` } @@ -3832,8 +3984,8 @@ func (o Hl7SchemaConfigResponseOutput) ToHl7SchemaConfigResponseOutputWithContex } // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. -func (o Hl7SchemaConfigResponseOutput) MessageSchemaConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v Hl7SchemaConfigResponse) map[string]string { return v.MessageSchemaConfigs }).(pulumi.StringMapOutput) +func (o Hl7SchemaConfigResponseOutput) MessageSchemaConfigs() SchemaGroupResponseMapOutput { + return o.ApplyT(func(v Hl7SchemaConfigResponse) map[string]SchemaGroupResponse { return v.MessageSchemaConfigs }).(SchemaGroupResponseMapOutput) } // Each VersionSource is tested and only if they all match is the schema used for the message. @@ -6148,6 +6300,341 @@ func (o SchemaConfigResponseOutput) SchemaType() pulumi.StringOutput { return o.ApplyT(func(v SchemaConfigResponse) string { return v.SchemaType }).(pulumi.StringOutput) } +// An HL7v2 logical group construct. +type SchemaGroup struct { + // True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + Choice *bool `pulumi:"choice"` + // The maximum number of times this group can be repeated. 0 or -1 means unbounded. + MaxOccurs *int `pulumi:"maxOccurs"` + // Nested groups and/or segments. + Members []GroupOrSegment `pulumi:"members"` + // The minimum number of times this group must be present/repeated. + MinOccurs *int `pulumi:"minOccurs"` + // The name of this group. For example, "ORDER_DETAIL". + Name *string `pulumi:"name"` +} + +// SchemaGroupInput is an input type that accepts SchemaGroupArgs and SchemaGroupOutput values. +// You can construct a concrete instance of `SchemaGroupInput` via: +// +// SchemaGroupArgs{...} +type SchemaGroupInput interface { + pulumi.Input + + ToSchemaGroupOutput() SchemaGroupOutput + ToSchemaGroupOutputWithContext(context.Context) SchemaGroupOutput +} + +// An HL7v2 logical group construct. +type SchemaGroupArgs struct { + // True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + Choice pulumi.BoolPtrInput `pulumi:"choice"` + // The maximum number of times this group can be repeated. 0 or -1 means unbounded. + MaxOccurs pulumi.IntPtrInput `pulumi:"maxOccurs"` + // Nested groups and/or segments. + Members GroupOrSegmentArrayInput `pulumi:"members"` + // The minimum number of times this group must be present/repeated. + MinOccurs pulumi.IntPtrInput `pulumi:"minOccurs"` + // The name of this group. For example, "ORDER_DETAIL". + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (SchemaGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaGroup)(nil)).Elem() +} + +func (i SchemaGroupArgs) ToSchemaGroupOutput() SchemaGroupOutput { + return i.ToSchemaGroupOutputWithContext(context.Background()) +} + +func (i SchemaGroupArgs) ToSchemaGroupOutputWithContext(ctx context.Context) SchemaGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaGroupOutput) +} + +func (i SchemaGroupArgs) ToSchemaGroupPtrOutput() SchemaGroupPtrOutput { + return i.ToSchemaGroupPtrOutputWithContext(context.Background()) +} + +func (i SchemaGroupArgs) ToSchemaGroupPtrOutputWithContext(ctx context.Context) SchemaGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaGroupOutput).ToSchemaGroupPtrOutputWithContext(ctx) +} + +// SchemaGroupPtrInput is an input type that accepts SchemaGroupArgs, SchemaGroupPtr and SchemaGroupPtrOutput values. +// You can construct a concrete instance of `SchemaGroupPtrInput` via: +// +// SchemaGroupArgs{...} +// +// or: +// +// nil +type SchemaGroupPtrInput interface { + pulumi.Input + + ToSchemaGroupPtrOutput() SchemaGroupPtrOutput + ToSchemaGroupPtrOutputWithContext(context.Context) SchemaGroupPtrOutput +} + +type schemaGroupPtrType SchemaGroupArgs + +func SchemaGroupPtr(v *SchemaGroupArgs) SchemaGroupPtrInput { + return (*schemaGroupPtrType)(v) +} + +func (*schemaGroupPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaGroup)(nil)).Elem() +} + +func (i *schemaGroupPtrType) ToSchemaGroupPtrOutput() SchemaGroupPtrOutput { + return i.ToSchemaGroupPtrOutputWithContext(context.Background()) +} + +func (i *schemaGroupPtrType) ToSchemaGroupPtrOutputWithContext(ctx context.Context) SchemaGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaGroupPtrOutput) +} + +// SchemaGroupMapInput is an input type that accepts SchemaGroupMap and SchemaGroupMapOutput values. +// You can construct a concrete instance of `SchemaGroupMapInput` via: +// +// SchemaGroupMap{ "key": SchemaGroupArgs{...} } +type SchemaGroupMapInput interface { + pulumi.Input + + ToSchemaGroupMapOutput() SchemaGroupMapOutput + ToSchemaGroupMapOutputWithContext(context.Context) SchemaGroupMapOutput +} + +type SchemaGroupMap map[string]SchemaGroupInput + +func (SchemaGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SchemaGroup)(nil)).Elem() +} + +func (i SchemaGroupMap) ToSchemaGroupMapOutput() SchemaGroupMapOutput { + return i.ToSchemaGroupMapOutputWithContext(context.Background()) +} + +func (i SchemaGroupMap) ToSchemaGroupMapOutputWithContext(ctx context.Context) SchemaGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaGroupMapOutput) +} + +// An HL7v2 logical group construct. +type SchemaGroupOutput struct{ *pulumi.OutputState } + +func (SchemaGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaGroup)(nil)).Elem() +} + +func (o SchemaGroupOutput) ToSchemaGroupOutput() SchemaGroupOutput { + return o +} + +func (o SchemaGroupOutput) ToSchemaGroupOutputWithContext(ctx context.Context) SchemaGroupOutput { + return o +} + +func (o SchemaGroupOutput) ToSchemaGroupPtrOutput() SchemaGroupPtrOutput { + return o.ToSchemaGroupPtrOutputWithContext(context.Background()) +} + +func (o SchemaGroupOutput) ToSchemaGroupPtrOutputWithContext(ctx context.Context) SchemaGroupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SchemaGroup) *SchemaGroup { + return &v + }).(SchemaGroupPtrOutput) +} + +// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. +func (o SchemaGroupOutput) Choice() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SchemaGroup) *bool { return v.Choice }).(pulumi.BoolPtrOutput) +} + +// The maximum number of times this group can be repeated. 0 or -1 means unbounded. +func (o SchemaGroupOutput) MaxOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v SchemaGroup) *int { return v.MaxOccurs }).(pulumi.IntPtrOutput) +} + +// Nested groups and/or segments. +func (o SchemaGroupOutput) Members() GroupOrSegmentArrayOutput { + return o.ApplyT(func(v SchemaGroup) []GroupOrSegment { return v.Members }).(GroupOrSegmentArrayOutput) +} + +// The minimum number of times this group must be present/repeated. +func (o SchemaGroupOutput) MinOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v SchemaGroup) *int { return v.MinOccurs }).(pulumi.IntPtrOutput) +} + +// The name of this group. For example, "ORDER_DETAIL". +func (o SchemaGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SchemaGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type SchemaGroupPtrOutput struct{ *pulumi.OutputState } + +func (SchemaGroupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaGroup)(nil)).Elem() +} + +func (o SchemaGroupPtrOutput) ToSchemaGroupPtrOutput() SchemaGroupPtrOutput { + return o +} + +func (o SchemaGroupPtrOutput) ToSchemaGroupPtrOutputWithContext(ctx context.Context) SchemaGroupPtrOutput { + return o +} + +func (o SchemaGroupPtrOutput) Elem() SchemaGroupOutput { + return o.ApplyT(func(v *SchemaGroup) SchemaGroup { + if v != nil { + return *v + } + var ret SchemaGroup + return ret + }).(SchemaGroupOutput) +} + +// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. +func (o SchemaGroupPtrOutput) Choice() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SchemaGroup) *bool { + if v == nil { + return nil + } + return v.Choice + }).(pulumi.BoolPtrOutput) +} + +// The maximum number of times this group can be repeated. 0 or -1 means unbounded. +func (o SchemaGroupPtrOutput) MaxOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SchemaGroup) *int { + if v == nil { + return nil + } + return v.MaxOccurs + }).(pulumi.IntPtrOutput) +} + +// Nested groups and/or segments. +func (o SchemaGroupPtrOutput) Members() GroupOrSegmentArrayOutput { + return o.ApplyT(func(v *SchemaGroup) []GroupOrSegment { + if v == nil { + return nil + } + return v.Members + }).(GroupOrSegmentArrayOutput) +} + +// The minimum number of times this group must be present/repeated. +func (o SchemaGroupPtrOutput) MinOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SchemaGroup) *int { + if v == nil { + return nil + } + return v.MinOccurs + }).(pulumi.IntPtrOutput) +} + +// The name of this group. For example, "ORDER_DETAIL". +func (o SchemaGroupPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaGroup) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +type SchemaGroupMapOutput struct{ *pulumi.OutputState } + +func (SchemaGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SchemaGroup)(nil)).Elem() +} + +func (o SchemaGroupMapOutput) ToSchemaGroupMapOutput() SchemaGroupMapOutput { + return o +} + +func (o SchemaGroupMapOutput) ToSchemaGroupMapOutputWithContext(ctx context.Context) SchemaGroupMapOutput { + return o +} + +func (o SchemaGroupMapOutput) MapIndex(k pulumi.StringInput) SchemaGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SchemaGroup { + return vs[0].(map[string]SchemaGroup)[vs[1].(string)] + }).(SchemaGroupOutput) +} + +// An HL7v2 logical group construct. +type SchemaGroupResponse struct { + // True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + Choice bool `pulumi:"choice"` + // The maximum number of times this group can be repeated. 0 or -1 means unbounded. + MaxOccurs int `pulumi:"maxOccurs"` + // Nested groups and/or segments. + Members []GroupOrSegmentResponse `pulumi:"members"` + // The minimum number of times this group must be present/repeated. + MinOccurs int `pulumi:"minOccurs"` + // The name of this group. For example, "ORDER_DETAIL". + Name string `pulumi:"name"` +} + +// An HL7v2 logical group construct. +type SchemaGroupResponseOutput struct{ *pulumi.OutputState } + +func (SchemaGroupResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaGroupResponse)(nil)).Elem() +} + +func (o SchemaGroupResponseOutput) ToSchemaGroupResponseOutput() SchemaGroupResponseOutput { + return o +} + +func (o SchemaGroupResponseOutput) ToSchemaGroupResponseOutputWithContext(ctx context.Context) SchemaGroupResponseOutput { + return o +} + +// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. +func (o SchemaGroupResponseOutput) Choice() pulumi.BoolOutput { + return o.ApplyT(func(v SchemaGroupResponse) bool { return v.Choice }).(pulumi.BoolOutput) +} + +// The maximum number of times this group can be repeated. 0 or -1 means unbounded. +func (o SchemaGroupResponseOutput) MaxOccurs() pulumi.IntOutput { + return o.ApplyT(func(v SchemaGroupResponse) int { return v.MaxOccurs }).(pulumi.IntOutput) +} + +// Nested groups and/or segments. +func (o SchemaGroupResponseOutput) Members() GroupOrSegmentResponseArrayOutput { + return o.ApplyT(func(v SchemaGroupResponse) []GroupOrSegmentResponse { return v.Members }).(GroupOrSegmentResponseArrayOutput) +} + +// The minimum number of times this group must be present/repeated. +func (o SchemaGroupResponseOutput) MinOccurs() pulumi.IntOutput { + return o.ApplyT(func(v SchemaGroupResponse) int { return v.MinOccurs }).(pulumi.IntOutput) +} + +// The name of this group. For example, "ORDER_DETAIL". +func (o SchemaGroupResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SchemaGroupResponse) string { return v.Name }).(pulumi.StringOutput) +} + +type SchemaGroupResponseMapOutput struct{ *pulumi.OutputState } + +func (SchemaGroupResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SchemaGroupResponse)(nil)).Elem() +} + +func (o SchemaGroupResponseMapOutput) ToSchemaGroupResponseMapOutput() SchemaGroupResponseMapOutput { + return o +} + +func (o SchemaGroupResponseMapOutput) ToSchemaGroupResponseMapOutputWithContext(ctx context.Context) SchemaGroupResponseMapOutput { + return o +} + +func (o SchemaGroupResponseMapOutput) MapIndex(k pulumi.StringInput) SchemaGroupResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SchemaGroupResponse { + return vs[0].(map[string]SchemaGroupResponse)[vs[1].(string)] + }).(SchemaGroupResponseOutput) +} + // A schema package contains a set of schemas and type definitions. type SchemaPackage struct { // Flag to ignore all min_occurs restrictions in the schema. This means that incoming messages can omit any group, segment, field, component, or subcomponent. @@ -6418,6 +6905,224 @@ func (o SchemaPackageResponseOutput) UnexpectedSegmentHandling() pulumi.StringOu return o.ApplyT(func(v SchemaPackageResponse) string { return v.UnexpectedSegmentHandling }).(pulumi.StringOutput) } +// An HL7v2 Segment. +type SchemaSegment struct { + // The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + MaxOccurs *int `pulumi:"maxOccurs"` + // The minimum number of times this segment can be present in this group. + MinOccurs *int `pulumi:"minOccurs"` + // The Segment type. For example, "PID". + Type *string `pulumi:"type"` +} + +// SchemaSegmentInput is an input type that accepts SchemaSegmentArgs and SchemaSegmentOutput values. +// You can construct a concrete instance of `SchemaSegmentInput` via: +// +// SchemaSegmentArgs{...} +type SchemaSegmentInput interface { + pulumi.Input + + ToSchemaSegmentOutput() SchemaSegmentOutput + ToSchemaSegmentOutputWithContext(context.Context) SchemaSegmentOutput +} + +// An HL7v2 Segment. +type SchemaSegmentArgs struct { + // The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + MaxOccurs pulumi.IntPtrInput `pulumi:"maxOccurs"` + // The minimum number of times this segment can be present in this group. + MinOccurs pulumi.IntPtrInput `pulumi:"minOccurs"` + // The Segment type. For example, "PID". + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (SchemaSegmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaSegment)(nil)).Elem() +} + +func (i SchemaSegmentArgs) ToSchemaSegmentOutput() SchemaSegmentOutput { + return i.ToSchemaSegmentOutputWithContext(context.Background()) +} + +func (i SchemaSegmentArgs) ToSchemaSegmentOutputWithContext(ctx context.Context) SchemaSegmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaSegmentOutput) +} + +func (i SchemaSegmentArgs) ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput { + return i.ToSchemaSegmentPtrOutputWithContext(context.Background()) +} + +func (i SchemaSegmentArgs) ToSchemaSegmentPtrOutputWithContext(ctx context.Context) SchemaSegmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaSegmentOutput).ToSchemaSegmentPtrOutputWithContext(ctx) +} + +// SchemaSegmentPtrInput is an input type that accepts SchemaSegmentArgs, SchemaSegmentPtr and SchemaSegmentPtrOutput values. +// You can construct a concrete instance of `SchemaSegmentPtrInput` via: +// +// SchemaSegmentArgs{...} +// +// or: +// +// nil +type SchemaSegmentPtrInput interface { + pulumi.Input + + ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput + ToSchemaSegmentPtrOutputWithContext(context.Context) SchemaSegmentPtrOutput +} + +type schemaSegmentPtrType SchemaSegmentArgs + +func SchemaSegmentPtr(v *SchemaSegmentArgs) SchemaSegmentPtrInput { + return (*schemaSegmentPtrType)(v) +} + +func (*schemaSegmentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaSegment)(nil)).Elem() +} + +func (i *schemaSegmentPtrType) ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput { + return i.ToSchemaSegmentPtrOutputWithContext(context.Background()) +} + +func (i *schemaSegmentPtrType) ToSchemaSegmentPtrOutputWithContext(ctx context.Context) SchemaSegmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaSegmentPtrOutput) +} + +// An HL7v2 Segment. +type SchemaSegmentOutput struct{ *pulumi.OutputState } + +func (SchemaSegmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaSegment)(nil)).Elem() +} + +func (o SchemaSegmentOutput) ToSchemaSegmentOutput() SchemaSegmentOutput { + return o +} + +func (o SchemaSegmentOutput) ToSchemaSegmentOutputWithContext(ctx context.Context) SchemaSegmentOutput { + return o +} + +func (o SchemaSegmentOutput) ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput { + return o.ToSchemaSegmentPtrOutputWithContext(context.Background()) +} + +func (o SchemaSegmentOutput) ToSchemaSegmentPtrOutputWithContext(ctx context.Context) SchemaSegmentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SchemaSegment) *SchemaSegment { + return &v + }).(SchemaSegmentPtrOutput) +} + +// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. +func (o SchemaSegmentOutput) MaxOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v SchemaSegment) *int { return v.MaxOccurs }).(pulumi.IntPtrOutput) +} + +// The minimum number of times this segment can be present in this group. +func (o SchemaSegmentOutput) MinOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v SchemaSegment) *int { return v.MinOccurs }).(pulumi.IntPtrOutput) +} + +// The Segment type. For example, "PID". +func (o SchemaSegmentOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SchemaSegment) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type SchemaSegmentPtrOutput struct{ *pulumi.OutputState } + +func (SchemaSegmentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaSegment)(nil)).Elem() +} + +func (o SchemaSegmentPtrOutput) ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput { + return o +} + +func (o SchemaSegmentPtrOutput) ToSchemaSegmentPtrOutputWithContext(ctx context.Context) SchemaSegmentPtrOutput { + return o +} + +func (o SchemaSegmentPtrOutput) Elem() SchemaSegmentOutput { + return o.ApplyT(func(v *SchemaSegment) SchemaSegment { + if v != nil { + return *v + } + var ret SchemaSegment + return ret + }).(SchemaSegmentOutput) +} + +// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. +func (o SchemaSegmentPtrOutput) MaxOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SchemaSegment) *int { + if v == nil { + return nil + } + return v.MaxOccurs + }).(pulumi.IntPtrOutput) +} + +// The minimum number of times this segment can be present in this group. +func (o SchemaSegmentPtrOutput) MinOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SchemaSegment) *int { + if v == nil { + return nil + } + return v.MinOccurs + }).(pulumi.IntPtrOutput) +} + +// The Segment type. For example, "PID". +func (o SchemaSegmentPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaSegment) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +// An HL7v2 Segment. +type SchemaSegmentResponse struct { + // The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + MaxOccurs int `pulumi:"maxOccurs"` + // The minimum number of times this segment can be present in this group. + MinOccurs int `pulumi:"minOccurs"` + // The Segment type. For example, "PID". + Type string `pulumi:"type"` +} + +// An HL7v2 Segment. +type SchemaSegmentResponseOutput struct{ *pulumi.OutputState } + +func (SchemaSegmentResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaSegmentResponse)(nil)).Elem() +} + +func (o SchemaSegmentResponseOutput) ToSchemaSegmentResponseOutput() SchemaSegmentResponseOutput { + return o +} + +func (o SchemaSegmentResponseOutput) ToSchemaSegmentResponseOutputWithContext(ctx context.Context) SchemaSegmentResponseOutput { + return o +} + +// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. +func (o SchemaSegmentResponseOutput) MaxOccurs() pulumi.IntOutput { + return o.ApplyT(func(v SchemaSegmentResponse) int { return v.MaxOccurs }).(pulumi.IntOutput) +} + +// The minimum number of times this segment can be present in this group. +func (o SchemaSegmentResponseOutput) MinOccurs() pulumi.IntOutput { + return o.ApplyT(func(v SchemaSegmentResponse) int { return v.MinOccurs }).(pulumi.IntOutput) +} + +// The Segment type. For example, "PID". +func (o SchemaSegmentResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v SchemaSegmentResponse) string { return v.Type }).(pulumi.StringOutput) +} + // The content of an HL7v2 message in a structured format as specified by a schema. type SchematizedData struct { // JSON output of the parser. @@ -8328,6 +9033,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudHealthcareV1DicomStreamConfigArrayInput)(nil)).Elem(), GoogleCloudHealthcareV1DicomStreamConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudHealthcareV1FhirBigQueryDestinationInput)(nil)).Elem(), GoogleCloudHealthcareV1FhirBigQueryDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudHealthcareV1FhirBigQueryDestinationPtrInput)(nil)).Elem(), GoogleCloudHealthcareV1FhirBigQueryDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupOrSegmentInput)(nil)).Elem(), GroupOrSegmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupOrSegmentArrayInput)(nil)).Elem(), GroupOrSegmentArray{}) pulumi.RegisterInputType(reflect.TypeOf((*Hl7SchemaConfigInput)(nil)).Elem(), Hl7SchemaConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Hl7SchemaConfigArrayInput)(nil)).Elem(), Hl7SchemaConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*Hl7TypesConfigInput)(nil)).Elem(), Hl7TypesConfigArgs{}) @@ -8355,8 +9062,13 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ReplaceWithInfoTypeConfigPtrInput)(nil)).Elem(), ReplaceWithInfoTypeConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaConfigInput)(nil)).Elem(), SchemaConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaConfigPtrInput)(nil)).Elem(), SchemaConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaGroupInput)(nil)).Elem(), SchemaGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaGroupPtrInput)(nil)).Elem(), SchemaGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaGroupMapInput)(nil)).Elem(), SchemaGroupMap{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaPackageInput)(nil)).Elem(), SchemaPackageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaPackagePtrInput)(nil)).Elem(), SchemaPackageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaSegmentInput)(nil)).Elem(), SchemaSegmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaSegmentPtrInput)(nil)).Elem(), SchemaSegmentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchematizedDataInput)(nil)).Elem(), SchematizedDataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchematizedDataPtrInput)(nil)).Elem(), SchematizedDataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SignatureInput)(nil)).Elem(), SignatureArgs{}) @@ -8441,6 +9153,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudHealthcareV1FhirBigQueryDestinationOutput{}) pulumi.RegisterOutputType(GoogleCloudHealthcareV1FhirBigQueryDestinationPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudHealthcareV1FhirBigQueryDestinationResponseOutput{}) + pulumi.RegisterOutputType(GroupOrSegmentOutput{}) + pulumi.RegisterOutputType(GroupOrSegmentArrayOutput{}) + pulumi.RegisterOutputType(GroupOrSegmentResponseOutput{}) + pulumi.RegisterOutputType(GroupOrSegmentResponseArrayOutput{}) pulumi.RegisterOutputType(Hl7SchemaConfigOutput{}) pulumi.RegisterOutputType(Hl7SchemaConfigArrayOutput{}) pulumi.RegisterOutputType(Hl7SchemaConfigResponseOutput{}) @@ -8488,9 +9204,17 @@ func init() { pulumi.RegisterOutputType(SchemaConfigOutput{}) pulumi.RegisterOutputType(SchemaConfigPtrOutput{}) pulumi.RegisterOutputType(SchemaConfigResponseOutput{}) + pulumi.RegisterOutputType(SchemaGroupOutput{}) + pulumi.RegisterOutputType(SchemaGroupPtrOutput{}) + pulumi.RegisterOutputType(SchemaGroupMapOutput{}) + pulumi.RegisterOutputType(SchemaGroupResponseOutput{}) + pulumi.RegisterOutputType(SchemaGroupResponseMapOutput{}) pulumi.RegisterOutputType(SchemaPackageOutput{}) pulumi.RegisterOutputType(SchemaPackagePtrOutput{}) pulumi.RegisterOutputType(SchemaPackageResponseOutput{}) + pulumi.RegisterOutputType(SchemaSegmentOutput{}) + pulumi.RegisterOutputType(SchemaSegmentPtrOutput{}) + pulumi.RegisterOutputType(SchemaSegmentResponseOutput{}) pulumi.RegisterOutputType(SchematizedDataOutput{}) pulumi.RegisterOutputType(SchematizedDataPtrOutput{}) pulumi.RegisterOutputType(SchematizedDataResponseOutput{}) diff --git a/sdk/go/google/healthcare/v1beta1/getFhir.go b/sdk/go/google/healthcare/v1beta1/getFhir.go index 5fec226f01..2053a95434 100644 --- a/sdk/go/google/healthcare/v1beta1/getFhir.go +++ b/sdk/go/google/healthcare/v1beta1/getFhir.go @@ -37,7 +37,7 @@ type GetFhirResult struct { // The HTTP request/response body as raw binary. Data string `pulumi:"data"` // Application specific response metadata. Must be set in the first response for streaming APIs. - Extensions []map[string]string `pulumi:"extensions"` + Extensions []map[string]interface{} `pulumi:"extensions"` } func GetFhirOutput(ctx *pulumi.Context, args GetFhirOutputArgs, opts ...pulumi.InvokeOption) GetFhirResultOutput { @@ -91,8 +91,8 @@ func (o GetFhirResultOutput) Data() pulumi.StringOutput { } // Application specific response metadata. Must be set in the first response for streaming APIs. -func (o GetFhirResultOutput) Extensions() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GetFhirResult) []map[string]string { return v.Extensions }).(pulumi.StringMapArrayOutput) +func (o GetFhirResultOutput) Extensions() pulumi.MapArrayOutput { + return o.ApplyT(func(v GetFhirResult) []map[string]interface{} { return v.Extensions }).(pulumi.MapArrayOutput) } func init() { diff --git a/sdk/go/google/healthcare/v1beta1/pulumiTypes.go b/sdk/go/google/healthcare/v1beta1/pulumiTypes.go index 0a2ae35d35..3e7d23f4cb 100644 --- a/sdk/go/google/healthcare/v1beta1/pulumiTypes.go +++ b/sdk/go/google/healthcare/v1beta1/pulumiTypes.go @@ -4679,6 +4679,147 @@ func (o DeleteTagResponseOutput) ToDeleteTagResponseOutputWithContext(ctx contex return o } +// Contains multiple sensitive information findings for each resource slice. +type Detail struct { + Findings []Finding `pulumi:"findings"` +} + +// DetailInput is an input type that accepts DetailArgs and DetailOutput values. +// You can construct a concrete instance of `DetailInput` via: +// +// DetailArgs{...} +type DetailInput interface { + pulumi.Input + + ToDetailOutput() DetailOutput + ToDetailOutputWithContext(context.Context) DetailOutput +} + +// Contains multiple sensitive information findings for each resource slice. +type DetailArgs struct { + Findings FindingArrayInput `pulumi:"findings"` +} + +func (DetailArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Detail)(nil)).Elem() +} + +func (i DetailArgs) ToDetailOutput() DetailOutput { + return i.ToDetailOutputWithContext(context.Background()) +} + +func (i DetailArgs) ToDetailOutputWithContext(ctx context.Context) DetailOutput { + return pulumi.ToOutputWithContext(ctx, i).(DetailOutput) +} + +// DetailMapInput is an input type that accepts DetailMap and DetailMapOutput values. +// You can construct a concrete instance of `DetailMapInput` via: +// +// DetailMap{ "key": DetailArgs{...} } +type DetailMapInput interface { + pulumi.Input + + ToDetailMapOutput() DetailMapOutput + ToDetailMapOutputWithContext(context.Context) DetailMapOutput +} + +type DetailMap map[string]DetailInput + +func (DetailMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]Detail)(nil)).Elem() +} + +func (i DetailMap) ToDetailMapOutput() DetailMapOutput { + return i.ToDetailMapOutputWithContext(context.Background()) +} + +func (i DetailMap) ToDetailMapOutputWithContext(ctx context.Context) DetailMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DetailMapOutput) +} + +// Contains multiple sensitive information findings for each resource slice. +type DetailOutput struct{ *pulumi.OutputState } + +func (DetailOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Detail)(nil)).Elem() +} + +func (o DetailOutput) ToDetailOutput() DetailOutput { + return o +} + +func (o DetailOutput) ToDetailOutputWithContext(ctx context.Context) DetailOutput { + return o +} + +func (o DetailOutput) Findings() FindingArrayOutput { + return o.ApplyT(func(v Detail) []Finding { return v.Findings }).(FindingArrayOutput) +} + +type DetailMapOutput struct{ *pulumi.OutputState } + +func (DetailMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]Detail)(nil)).Elem() +} + +func (o DetailMapOutput) ToDetailMapOutput() DetailMapOutput { + return o +} + +func (o DetailMapOutput) ToDetailMapOutputWithContext(ctx context.Context) DetailMapOutput { + return o +} + +func (o DetailMapOutput) MapIndex(k pulumi.StringInput) DetailOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) Detail { + return vs[0].(map[string]Detail)[vs[1].(string)] + }).(DetailOutput) +} + +// Contains multiple sensitive information findings for each resource slice. +type DetailResponse struct { + Findings []FindingResponse `pulumi:"findings"` +} + +// Contains multiple sensitive information findings for each resource slice. +type DetailResponseOutput struct{ *pulumi.OutputState } + +func (DetailResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DetailResponse)(nil)).Elem() +} + +func (o DetailResponseOutput) ToDetailResponseOutput() DetailResponseOutput { + return o +} + +func (o DetailResponseOutput) ToDetailResponseOutputWithContext(ctx context.Context) DetailResponseOutput { + return o +} + +func (o DetailResponseOutput) Findings() FindingResponseArrayOutput { + return o.ApplyT(func(v DetailResponse) []FindingResponse { return v.Findings }).(FindingResponseArrayOutput) +} + +type DetailResponseMapOutput struct{ *pulumi.OutputState } + +func (DetailResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]DetailResponse)(nil)).Elem() +} + +func (o DetailResponseMapOutput) ToDetailResponseMapOutput() DetailResponseMapOutput { + return o +} + +func (o DetailResponseMapOutput) ToDetailResponseMapOutputWithContext(ctx context.Context) DetailResponseMapOutput { + return o +} + +func (o DetailResponseMapOutput) MapIndex(k pulumi.StringInput) DetailResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) DetailResponse { + return vs[0].(map[string]DetailResponse)[vs[1].(string)] + }).(DetailResponseOutput) +} + // Specifies the parameters needed for de-identification of DICOM stores. type DicomConfig struct { // Tag filtering profile that determines which tags to keep/remove. @@ -6517,6 +6658,195 @@ func (o FieldResponseArrayOutput) Index(i pulumi.IntInput) FieldResponseOutput { }).(FieldResponseOutput) } +type Finding struct { + // Zero-based ending index of the found text, exclusively. + End *string `pulumi:"end"` + // The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + InfoType *string `pulumi:"infoType"` + // The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + Quote *string `pulumi:"quote"` + // Zero-based starting index of the found text, inclusively. + Start *string `pulumi:"start"` +} + +// FindingInput is an input type that accepts FindingArgs and FindingOutput values. +// You can construct a concrete instance of `FindingInput` via: +// +// FindingArgs{...} +type FindingInput interface { + pulumi.Input + + ToFindingOutput() FindingOutput + ToFindingOutputWithContext(context.Context) FindingOutput +} + +type FindingArgs struct { + // Zero-based ending index of the found text, exclusively. + End pulumi.StringPtrInput `pulumi:"end"` + // The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + InfoType pulumi.StringPtrInput `pulumi:"infoType"` + // The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + Quote pulumi.StringPtrInput `pulumi:"quote"` + // Zero-based starting index of the found text, inclusively. + Start pulumi.StringPtrInput `pulumi:"start"` +} + +func (FindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Finding)(nil)).Elem() +} + +func (i FindingArgs) ToFindingOutput() FindingOutput { + return i.ToFindingOutputWithContext(context.Background()) +} + +func (i FindingArgs) ToFindingOutputWithContext(ctx context.Context) FindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(FindingOutput) +} + +// FindingArrayInput is an input type that accepts FindingArray and FindingArrayOutput values. +// You can construct a concrete instance of `FindingArrayInput` via: +// +// FindingArray{ FindingArgs{...} } +type FindingArrayInput interface { + pulumi.Input + + ToFindingArrayOutput() FindingArrayOutput + ToFindingArrayOutputWithContext(context.Context) FindingArrayOutput +} + +type FindingArray []FindingInput + +func (FindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]Finding)(nil)).Elem() +} + +func (i FindingArray) ToFindingArrayOutput() FindingArrayOutput { + return i.ToFindingArrayOutputWithContext(context.Background()) +} + +func (i FindingArray) ToFindingArrayOutputWithContext(ctx context.Context) FindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FindingArrayOutput) +} + +type FindingOutput struct{ *pulumi.OutputState } + +func (FindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Finding)(nil)).Elem() +} + +func (o FindingOutput) ToFindingOutput() FindingOutput { + return o +} + +func (o FindingOutput) ToFindingOutputWithContext(ctx context.Context) FindingOutput { + return o +} + +// Zero-based ending index of the found text, exclusively. +func (o FindingOutput) End() pulumi.StringPtrOutput { + return o.ApplyT(func(v Finding) *string { return v.End }).(pulumi.StringPtrOutput) +} + +// The type of information stored in this text range. For example, HumanName, BirthDate, or Address. +func (o FindingOutput) InfoType() pulumi.StringPtrOutput { + return o.ApplyT(func(v Finding) *string { return v.InfoType }).(pulumi.StringPtrOutput) +} + +// The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. +func (o FindingOutput) Quote() pulumi.StringPtrOutput { + return o.ApplyT(func(v Finding) *string { return v.Quote }).(pulumi.StringPtrOutput) +} + +// Zero-based starting index of the found text, inclusively. +func (o FindingOutput) Start() pulumi.StringPtrOutput { + return o.ApplyT(func(v Finding) *string { return v.Start }).(pulumi.StringPtrOutput) +} + +type FindingArrayOutput struct{ *pulumi.OutputState } + +func (FindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]Finding)(nil)).Elem() +} + +func (o FindingArrayOutput) ToFindingArrayOutput() FindingArrayOutput { + return o +} + +func (o FindingArrayOutput) ToFindingArrayOutputWithContext(ctx context.Context) FindingArrayOutput { + return o +} + +func (o FindingArrayOutput) Index(i pulumi.IntInput) FindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) Finding { + return vs[0].([]Finding)[vs[1].(int)] + }).(FindingOutput) +} + +type FindingResponse struct { + // Zero-based ending index of the found text, exclusively. + End string `pulumi:"end"` + // The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + InfoType string `pulumi:"infoType"` + // The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + Quote string `pulumi:"quote"` + // Zero-based starting index of the found text, inclusively. + Start string `pulumi:"start"` +} + +type FindingResponseOutput struct{ *pulumi.OutputState } + +func (FindingResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FindingResponse)(nil)).Elem() +} + +func (o FindingResponseOutput) ToFindingResponseOutput() FindingResponseOutput { + return o +} + +func (o FindingResponseOutput) ToFindingResponseOutputWithContext(ctx context.Context) FindingResponseOutput { + return o +} + +// Zero-based ending index of the found text, exclusively. +func (o FindingResponseOutput) End() pulumi.StringOutput { + return o.ApplyT(func(v FindingResponse) string { return v.End }).(pulumi.StringOutput) +} + +// The type of information stored in this text range. For example, HumanName, BirthDate, or Address. +func (o FindingResponseOutput) InfoType() pulumi.StringOutput { + return o.ApplyT(func(v FindingResponse) string { return v.InfoType }).(pulumi.StringOutput) +} + +// The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. +func (o FindingResponseOutput) Quote() pulumi.StringOutput { + return o.ApplyT(func(v FindingResponse) string { return v.Quote }).(pulumi.StringOutput) +} + +// Zero-based starting index of the found text, inclusively. +func (o FindingResponseOutput) Start() pulumi.StringOutput { + return o.ApplyT(func(v FindingResponse) string { return v.Start }).(pulumi.StringOutput) +} + +type FindingResponseArrayOutput struct{ *pulumi.OutputState } + +func (FindingResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FindingResponse)(nil)).Elem() +} + +func (o FindingResponseArrayOutput) ToFindingResponseArrayOutput() FindingResponseArrayOutput { + return o +} + +func (o FindingResponseArrayOutput) ToFindingResponseArrayOutputWithContext(ctx context.Context) FindingResponseArrayOutput { + return o +} + +func (o FindingResponseArrayOutput) Index(i pulumi.IntInput) FindingResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FindingResponse { + return vs[0].([]FindingResponse)[vs[1].(int)] + }).(FindingResponseOutput) +} + // Represents a user's consent in terms of the resources that can be accessed and under what conditions. type GoogleCloudHealthcareV1beta1ConsentPolicy struct { // The request conditions to meet to grant access. In addition to any supported comparison operators, authorization rules may have `IN` operator as well as at most 10 logical operators that are limited to `AND` (`&&`), `OR` (`||`). @@ -7837,10 +8167,162 @@ func (o GoogleCloudHealthcareV1beta1FhirBigQueryDestinationResponseOutput) Write return o.ApplyT(func(v GoogleCloudHealthcareV1beta1FhirBigQueryDestinationResponse) string { return v.WriteDisposition }).(pulumi.StringOutput) } +// Construct representing a logical group or a segment. +type GroupOrSegment struct { + Group *SchemaGroup `pulumi:"group"` + Segment *SchemaSegment `pulumi:"segment"` +} + +// GroupOrSegmentInput is an input type that accepts GroupOrSegmentArgs and GroupOrSegmentOutput values. +// You can construct a concrete instance of `GroupOrSegmentInput` via: +// +// GroupOrSegmentArgs{...} +type GroupOrSegmentInput interface { + pulumi.Input + + ToGroupOrSegmentOutput() GroupOrSegmentOutput + ToGroupOrSegmentOutputWithContext(context.Context) GroupOrSegmentOutput +} + +// Construct representing a logical group or a segment. +type GroupOrSegmentArgs struct { + Group SchemaGroupPtrInput `pulumi:"group"` + Segment SchemaSegmentPtrInput `pulumi:"segment"` +} + +func (GroupOrSegmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GroupOrSegment)(nil)).Elem() +} + +func (i GroupOrSegmentArgs) ToGroupOrSegmentOutput() GroupOrSegmentOutput { + return i.ToGroupOrSegmentOutputWithContext(context.Background()) +} + +func (i GroupOrSegmentArgs) ToGroupOrSegmentOutputWithContext(ctx context.Context) GroupOrSegmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupOrSegmentOutput) +} + +// GroupOrSegmentArrayInput is an input type that accepts GroupOrSegmentArray and GroupOrSegmentArrayOutput values. +// You can construct a concrete instance of `GroupOrSegmentArrayInput` via: +// +// GroupOrSegmentArray{ GroupOrSegmentArgs{...} } +type GroupOrSegmentArrayInput interface { + pulumi.Input + + ToGroupOrSegmentArrayOutput() GroupOrSegmentArrayOutput + ToGroupOrSegmentArrayOutputWithContext(context.Context) GroupOrSegmentArrayOutput +} + +type GroupOrSegmentArray []GroupOrSegmentInput + +func (GroupOrSegmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GroupOrSegment)(nil)).Elem() +} + +func (i GroupOrSegmentArray) ToGroupOrSegmentArrayOutput() GroupOrSegmentArrayOutput { + return i.ToGroupOrSegmentArrayOutputWithContext(context.Background()) +} + +func (i GroupOrSegmentArray) ToGroupOrSegmentArrayOutputWithContext(ctx context.Context) GroupOrSegmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GroupOrSegmentArrayOutput) +} + +// Construct representing a logical group or a segment. +type GroupOrSegmentOutput struct{ *pulumi.OutputState } + +func (GroupOrSegmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GroupOrSegment)(nil)).Elem() +} + +func (o GroupOrSegmentOutput) ToGroupOrSegmentOutput() GroupOrSegmentOutput { + return o +} + +func (o GroupOrSegmentOutput) ToGroupOrSegmentOutputWithContext(ctx context.Context) GroupOrSegmentOutput { + return o +} + +func (o GroupOrSegmentOutput) Group() SchemaGroupPtrOutput { + return o.ApplyT(func(v GroupOrSegment) *SchemaGroup { return v.Group }).(SchemaGroupPtrOutput) +} + +func (o GroupOrSegmentOutput) Segment() SchemaSegmentPtrOutput { + return o.ApplyT(func(v GroupOrSegment) *SchemaSegment { return v.Segment }).(SchemaSegmentPtrOutput) +} + +type GroupOrSegmentArrayOutput struct{ *pulumi.OutputState } + +func (GroupOrSegmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GroupOrSegment)(nil)).Elem() +} + +func (o GroupOrSegmentArrayOutput) ToGroupOrSegmentArrayOutput() GroupOrSegmentArrayOutput { + return o +} + +func (o GroupOrSegmentArrayOutput) ToGroupOrSegmentArrayOutputWithContext(ctx context.Context) GroupOrSegmentArrayOutput { + return o +} + +func (o GroupOrSegmentArrayOutput) Index(i pulumi.IntInput) GroupOrSegmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GroupOrSegment { + return vs[0].([]GroupOrSegment)[vs[1].(int)] + }).(GroupOrSegmentOutput) +} + +// Construct representing a logical group or a segment. +type GroupOrSegmentResponse struct { + Group SchemaGroupResponse `pulumi:"group"` + Segment SchemaSegmentResponse `pulumi:"segment"` +} + +// Construct representing a logical group or a segment. +type GroupOrSegmentResponseOutput struct{ *pulumi.OutputState } + +func (GroupOrSegmentResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GroupOrSegmentResponse)(nil)).Elem() +} + +func (o GroupOrSegmentResponseOutput) ToGroupOrSegmentResponseOutput() GroupOrSegmentResponseOutput { + return o +} + +func (o GroupOrSegmentResponseOutput) ToGroupOrSegmentResponseOutputWithContext(ctx context.Context) GroupOrSegmentResponseOutput { + return o +} + +func (o GroupOrSegmentResponseOutput) Group() SchemaGroupResponseOutput { + return o.ApplyT(func(v GroupOrSegmentResponse) SchemaGroupResponse { return v.Group }).(SchemaGroupResponseOutput) +} + +func (o GroupOrSegmentResponseOutput) Segment() SchemaSegmentResponseOutput { + return o.ApplyT(func(v GroupOrSegmentResponse) SchemaSegmentResponse { return v.Segment }).(SchemaSegmentResponseOutput) +} + +type GroupOrSegmentResponseArrayOutput struct{ *pulumi.OutputState } + +func (GroupOrSegmentResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GroupOrSegmentResponse)(nil)).Elem() +} + +func (o GroupOrSegmentResponseArrayOutput) ToGroupOrSegmentResponseArrayOutput() GroupOrSegmentResponseArrayOutput { + return o +} + +func (o GroupOrSegmentResponseArrayOutput) ToGroupOrSegmentResponseArrayOutputWithContext(ctx context.Context) GroupOrSegmentResponseArrayOutput { + return o +} + +func (o GroupOrSegmentResponseArrayOutput) Index(i pulumi.IntInput) GroupOrSegmentResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GroupOrSegmentResponse { + return vs[0].([]GroupOrSegmentResponse)[vs[1].(int)] + }).(GroupOrSegmentResponseOutput) +} + // Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. type Hl7SchemaConfig struct { // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. - MessageSchemaConfigs map[string]string `pulumi:"messageSchemaConfigs"` + MessageSchemaConfigs map[string]SchemaGroup `pulumi:"messageSchemaConfigs"` // Each VersionSource is tested and only if they all match is the schema used for the message. Version []VersionSource `pulumi:"version"` } @@ -7859,7 +8341,7 @@ type Hl7SchemaConfigInput interface { // Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. type Hl7SchemaConfigArgs struct { // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. - MessageSchemaConfigs pulumi.StringMapInput `pulumi:"messageSchemaConfigs"` + MessageSchemaConfigs SchemaGroupMapInput `pulumi:"messageSchemaConfigs"` // Each VersionSource is tested and only if they all match is the schema used for the message. Version VersionSourceArrayInput `pulumi:"version"` } @@ -7917,8 +8399,8 @@ func (o Hl7SchemaConfigOutput) ToHl7SchemaConfigOutputWithContext(ctx context.Co } // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. -func (o Hl7SchemaConfigOutput) MessageSchemaConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v Hl7SchemaConfig) map[string]string { return v.MessageSchemaConfigs }).(pulumi.StringMapOutput) +func (o Hl7SchemaConfigOutput) MessageSchemaConfigs() SchemaGroupMapOutput { + return o.ApplyT(func(v Hl7SchemaConfig) map[string]SchemaGroup { return v.MessageSchemaConfigs }).(SchemaGroupMapOutput) } // Each VersionSource is tested and only if they all match is the schema used for the message. @@ -7949,7 +8431,7 @@ func (o Hl7SchemaConfigArrayOutput) Index(i pulumi.IntInput) Hl7SchemaConfigOutp // Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. type Hl7SchemaConfigResponse struct { // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. - MessageSchemaConfigs map[string]string `pulumi:"messageSchemaConfigs"` + MessageSchemaConfigs map[string]SchemaGroupResponse `pulumi:"messageSchemaConfigs"` // Each VersionSource is tested and only if they all match is the schema used for the message. Version []VersionSourceResponse `pulumi:"version"` } @@ -7970,8 +8452,8 @@ func (o Hl7SchemaConfigResponseOutput) ToHl7SchemaConfigResponseOutputWithContex } // Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. -func (o Hl7SchemaConfigResponseOutput) MessageSchemaConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v Hl7SchemaConfigResponse) map[string]string { return v.MessageSchemaConfigs }).(pulumi.StringMapOutput) +func (o Hl7SchemaConfigResponseOutput) MessageSchemaConfigs() SchemaGroupResponseMapOutput { + return o.ApplyT(func(v Hl7SchemaConfigResponse) map[string]SchemaGroupResponse { return v.MessageSchemaConfigs }).(SchemaGroupResponseMapOutput) } // Each VersionSource is tested and only if they all match is the schema used for the message. @@ -12034,29 +12516,364 @@ func (o SchemaConfigResponseOutput) SchemaType() pulumi.StringOutput { return o.ApplyT(func(v SchemaConfigResponse) string { return v.SchemaType }).(pulumi.StringOutput) } -// A schema package contains a set of schemas and type definitions. -type SchemaPackage struct { - // Flag to ignore all min_occurs restrictions in the schema. This means that incoming messages can omit any group, segment, field, component, or subcomponent. - IgnoreMinOccurs *bool `pulumi:"ignoreMinOccurs"` - // Schema configs that are layered based on their VersionSources that match the incoming message. Schema configs present in higher indices override those in lower indices with the same message type and trigger event if their VersionSources all match an incoming message. - Schemas []Hl7SchemaConfig `pulumi:"schemas"` - // Determines how messages that fail to parse are handled. - SchematizedParsingType *SchemaPackageSchematizedParsingType `pulumi:"schematizedParsingType"` - // Schema type definitions that are layered based on their VersionSources that match the incoming message. Type definitions present in higher indices override those in lower indices with the same type name if their VersionSources all match an incoming message. - Types []Hl7TypesConfig `pulumi:"types"` - // Determines how unexpected segments (segments not matched to the schema) are handled. - UnexpectedSegmentHandling *SchemaPackageUnexpectedSegmentHandling `pulumi:"unexpectedSegmentHandling"` +// An HL7v2 logical group construct. +type SchemaGroup struct { + // True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + Choice *bool `pulumi:"choice"` + // The maximum number of times this group can be repeated. 0 or -1 means unbounded. + MaxOccurs *int `pulumi:"maxOccurs"` + // Nested groups and/or segments. + Members []GroupOrSegment `pulumi:"members"` + // The minimum number of times this group must be present/repeated. + MinOccurs *int `pulumi:"minOccurs"` + // The name of this group. For example, "ORDER_DETAIL". + Name *string `pulumi:"name"` } -// SchemaPackageInput is an input type that accepts SchemaPackageArgs and SchemaPackageOutput values. -// You can construct a concrete instance of `SchemaPackageInput` via: +// SchemaGroupInput is an input type that accepts SchemaGroupArgs and SchemaGroupOutput values. +// You can construct a concrete instance of `SchemaGroupInput` via: // -// SchemaPackageArgs{...} -type SchemaPackageInput interface { +// SchemaGroupArgs{...} +type SchemaGroupInput interface { pulumi.Input - ToSchemaPackageOutput() SchemaPackageOutput - ToSchemaPackageOutputWithContext(context.Context) SchemaPackageOutput + ToSchemaGroupOutput() SchemaGroupOutput + ToSchemaGroupOutputWithContext(context.Context) SchemaGroupOutput +} + +// An HL7v2 logical group construct. +type SchemaGroupArgs struct { + // True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + Choice pulumi.BoolPtrInput `pulumi:"choice"` + // The maximum number of times this group can be repeated. 0 or -1 means unbounded. + MaxOccurs pulumi.IntPtrInput `pulumi:"maxOccurs"` + // Nested groups and/or segments. + Members GroupOrSegmentArrayInput `pulumi:"members"` + // The minimum number of times this group must be present/repeated. + MinOccurs pulumi.IntPtrInput `pulumi:"minOccurs"` + // The name of this group. For example, "ORDER_DETAIL". + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (SchemaGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaGroup)(nil)).Elem() +} + +func (i SchemaGroupArgs) ToSchemaGroupOutput() SchemaGroupOutput { + return i.ToSchemaGroupOutputWithContext(context.Background()) +} + +func (i SchemaGroupArgs) ToSchemaGroupOutputWithContext(ctx context.Context) SchemaGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaGroupOutput) +} + +func (i SchemaGroupArgs) ToSchemaGroupPtrOutput() SchemaGroupPtrOutput { + return i.ToSchemaGroupPtrOutputWithContext(context.Background()) +} + +func (i SchemaGroupArgs) ToSchemaGroupPtrOutputWithContext(ctx context.Context) SchemaGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaGroupOutput).ToSchemaGroupPtrOutputWithContext(ctx) +} + +// SchemaGroupPtrInput is an input type that accepts SchemaGroupArgs, SchemaGroupPtr and SchemaGroupPtrOutput values. +// You can construct a concrete instance of `SchemaGroupPtrInput` via: +// +// SchemaGroupArgs{...} +// +// or: +// +// nil +type SchemaGroupPtrInput interface { + pulumi.Input + + ToSchemaGroupPtrOutput() SchemaGroupPtrOutput + ToSchemaGroupPtrOutputWithContext(context.Context) SchemaGroupPtrOutput +} + +type schemaGroupPtrType SchemaGroupArgs + +func SchemaGroupPtr(v *SchemaGroupArgs) SchemaGroupPtrInput { + return (*schemaGroupPtrType)(v) +} + +func (*schemaGroupPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaGroup)(nil)).Elem() +} + +func (i *schemaGroupPtrType) ToSchemaGroupPtrOutput() SchemaGroupPtrOutput { + return i.ToSchemaGroupPtrOutputWithContext(context.Background()) +} + +func (i *schemaGroupPtrType) ToSchemaGroupPtrOutputWithContext(ctx context.Context) SchemaGroupPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaGroupPtrOutput) +} + +// SchemaGroupMapInput is an input type that accepts SchemaGroupMap and SchemaGroupMapOutput values. +// You can construct a concrete instance of `SchemaGroupMapInput` via: +// +// SchemaGroupMap{ "key": SchemaGroupArgs{...} } +type SchemaGroupMapInput interface { + pulumi.Input + + ToSchemaGroupMapOutput() SchemaGroupMapOutput + ToSchemaGroupMapOutputWithContext(context.Context) SchemaGroupMapOutput +} + +type SchemaGroupMap map[string]SchemaGroupInput + +func (SchemaGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SchemaGroup)(nil)).Elem() +} + +func (i SchemaGroupMap) ToSchemaGroupMapOutput() SchemaGroupMapOutput { + return i.ToSchemaGroupMapOutputWithContext(context.Background()) +} + +func (i SchemaGroupMap) ToSchemaGroupMapOutputWithContext(ctx context.Context) SchemaGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaGroupMapOutput) +} + +// An HL7v2 logical group construct. +type SchemaGroupOutput struct{ *pulumi.OutputState } + +func (SchemaGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaGroup)(nil)).Elem() +} + +func (o SchemaGroupOutput) ToSchemaGroupOutput() SchemaGroupOutput { + return o +} + +func (o SchemaGroupOutput) ToSchemaGroupOutputWithContext(ctx context.Context) SchemaGroupOutput { + return o +} + +func (o SchemaGroupOutput) ToSchemaGroupPtrOutput() SchemaGroupPtrOutput { + return o.ToSchemaGroupPtrOutputWithContext(context.Background()) +} + +func (o SchemaGroupOutput) ToSchemaGroupPtrOutputWithContext(ctx context.Context) SchemaGroupPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SchemaGroup) *SchemaGroup { + return &v + }).(SchemaGroupPtrOutput) +} + +// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. +func (o SchemaGroupOutput) Choice() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SchemaGroup) *bool { return v.Choice }).(pulumi.BoolPtrOutput) +} + +// The maximum number of times this group can be repeated. 0 or -1 means unbounded. +func (o SchemaGroupOutput) MaxOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v SchemaGroup) *int { return v.MaxOccurs }).(pulumi.IntPtrOutput) +} + +// Nested groups and/or segments. +func (o SchemaGroupOutput) Members() GroupOrSegmentArrayOutput { + return o.ApplyT(func(v SchemaGroup) []GroupOrSegment { return v.Members }).(GroupOrSegmentArrayOutput) +} + +// The minimum number of times this group must be present/repeated. +func (o SchemaGroupOutput) MinOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v SchemaGroup) *int { return v.MinOccurs }).(pulumi.IntPtrOutput) +} + +// The name of this group. For example, "ORDER_DETAIL". +func (o SchemaGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SchemaGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type SchemaGroupPtrOutput struct{ *pulumi.OutputState } + +func (SchemaGroupPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaGroup)(nil)).Elem() +} + +func (o SchemaGroupPtrOutput) ToSchemaGroupPtrOutput() SchemaGroupPtrOutput { + return o +} + +func (o SchemaGroupPtrOutput) ToSchemaGroupPtrOutputWithContext(ctx context.Context) SchemaGroupPtrOutput { + return o +} + +func (o SchemaGroupPtrOutput) Elem() SchemaGroupOutput { + return o.ApplyT(func(v *SchemaGroup) SchemaGroup { + if v != nil { + return *v + } + var ret SchemaGroup + return ret + }).(SchemaGroupOutput) +} + +// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. +func (o SchemaGroupPtrOutput) Choice() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SchemaGroup) *bool { + if v == nil { + return nil + } + return v.Choice + }).(pulumi.BoolPtrOutput) +} + +// The maximum number of times this group can be repeated. 0 or -1 means unbounded. +func (o SchemaGroupPtrOutput) MaxOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SchemaGroup) *int { + if v == nil { + return nil + } + return v.MaxOccurs + }).(pulumi.IntPtrOutput) +} + +// Nested groups and/or segments. +func (o SchemaGroupPtrOutput) Members() GroupOrSegmentArrayOutput { + return o.ApplyT(func(v *SchemaGroup) []GroupOrSegment { + if v == nil { + return nil + } + return v.Members + }).(GroupOrSegmentArrayOutput) +} + +// The minimum number of times this group must be present/repeated. +func (o SchemaGroupPtrOutput) MinOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SchemaGroup) *int { + if v == nil { + return nil + } + return v.MinOccurs + }).(pulumi.IntPtrOutput) +} + +// The name of this group. For example, "ORDER_DETAIL". +func (o SchemaGroupPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaGroup) *string { + if v == nil { + return nil + } + return v.Name + }).(pulumi.StringPtrOutput) +} + +type SchemaGroupMapOutput struct{ *pulumi.OutputState } + +func (SchemaGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SchemaGroup)(nil)).Elem() +} + +func (o SchemaGroupMapOutput) ToSchemaGroupMapOutput() SchemaGroupMapOutput { + return o +} + +func (o SchemaGroupMapOutput) ToSchemaGroupMapOutputWithContext(ctx context.Context) SchemaGroupMapOutput { + return o +} + +func (o SchemaGroupMapOutput) MapIndex(k pulumi.StringInput) SchemaGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SchemaGroup { + return vs[0].(map[string]SchemaGroup)[vs[1].(string)] + }).(SchemaGroupOutput) +} + +// An HL7v2 logical group construct. +type SchemaGroupResponse struct { + // True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + Choice bool `pulumi:"choice"` + // The maximum number of times this group can be repeated. 0 or -1 means unbounded. + MaxOccurs int `pulumi:"maxOccurs"` + // Nested groups and/or segments. + Members []GroupOrSegmentResponse `pulumi:"members"` + // The minimum number of times this group must be present/repeated. + MinOccurs int `pulumi:"minOccurs"` + // The name of this group. For example, "ORDER_DETAIL". + Name string `pulumi:"name"` +} + +// An HL7v2 logical group construct. +type SchemaGroupResponseOutput struct{ *pulumi.OutputState } + +func (SchemaGroupResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaGroupResponse)(nil)).Elem() +} + +func (o SchemaGroupResponseOutput) ToSchemaGroupResponseOutput() SchemaGroupResponseOutput { + return o +} + +func (o SchemaGroupResponseOutput) ToSchemaGroupResponseOutputWithContext(ctx context.Context) SchemaGroupResponseOutput { + return o +} + +// True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. +func (o SchemaGroupResponseOutput) Choice() pulumi.BoolOutput { + return o.ApplyT(func(v SchemaGroupResponse) bool { return v.Choice }).(pulumi.BoolOutput) +} + +// The maximum number of times this group can be repeated. 0 or -1 means unbounded. +func (o SchemaGroupResponseOutput) MaxOccurs() pulumi.IntOutput { + return o.ApplyT(func(v SchemaGroupResponse) int { return v.MaxOccurs }).(pulumi.IntOutput) +} + +// Nested groups and/or segments. +func (o SchemaGroupResponseOutput) Members() GroupOrSegmentResponseArrayOutput { + return o.ApplyT(func(v SchemaGroupResponse) []GroupOrSegmentResponse { return v.Members }).(GroupOrSegmentResponseArrayOutput) +} + +// The minimum number of times this group must be present/repeated. +func (o SchemaGroupResponseOutput) MinOccurs() pulumi.IntOutput { + return o.ApplyT(func(v SchemaGroupResponse) int { return v.MinOccurs }).(pulumi.IntOutput) +} + +// The name of this group. For example, "ORDER_DETAIL". +func (o SchemaGroupResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SchemaGroupResponse) string { return v.Name }).(pulumi.StringOutput) +} + +type SchemaGroupResponseMapOutput struct{ *pulumi.OutputState } + +func (SchemaGroupResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]SchemaGroupResponse)(nil)).Elem() +} + +func (o SchemaGroupResponseMapOutput) ToSchemaGroupResponseMapOutput() SchemaGroupResponseMapOutput { + return o +} + +func (o SchemaGroupResponseMapOutput) ToSchemaGroupResponseMapOutputWithContext(ctx context.Context) SchemaGroupResponseMapOutput { + return o +} + +func (o SchemaGroupResponseMapOutput) MapIndex(k pulumi.StringInput) SchemaGroupResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) SchemaGroupResponse { + return vs[0].(map[string]SchemaGroupResponse)[vs[1].(string)] + }).(SchemaGroupResponseOutput) +} + +// A schema package contains a set of schemas and type definitions. +type SchemaPackage struct { + // Flag to ignore all min_occurs restrictions in the schema. This means that incoming messages can omit any group, segment, field, component, or subcomponent. + IgnoreMinOccurs *bool `pulumi:"ignoreMinOccurs"` + // Schema configs that are layered based on their VersionSources that match the incoming message. Schema configs present in higher indices override those in lower indices with the same message type and trigger event if their VersionSources all match an incoming message. + Schemas []Hl7SchemaConfig `pulumi:"schemas"` + // Determines how messages that fail to parse are handled. + SchematizedParsingType *SchemaPackageSchematizedParsingType `pulumi:"schematizedParsingType"` + // Schema type definitions that are layered based on their VersionSources that match the incoming message. Type definitions present in higher indices override those in lower indices with the same type name if their VersionSources all match an incoming message. + Types []Hl7TypesConfig `pulumi:"types"` + // Determines how unexpected segments (segments not matched to the schema) are handled. + UnexpectedSegmentHandling *SchemaPackageUnexpectedSegmentHandling `pulumi:"unexpectedSegmentHandling"` +} + +// SchemaPackageInput is an input type that accepts SchemaPackageArgs and SchemaPackageOutput values. +// You can construct a concrete instance of `SchemaPackageInput` via: +// +// SchemaPackageArgs{...} +type SchemaPackageInput interface { + pulumi.Input + + ToSchemaPackageOutput() SchemaPackageOutput + ToSchemaPackageOutputWithContext(context.Context) SchemaPackageOutput } // A schema package contains a set of schemas and type definitions. @@ -12304,6 +13121,224 @@ func (o SchemaPackageResponseOutput) UnexpectedSegmentHandling() pulumi.StringOu return o.ApplyT(func(v SchemaPackageResponse) string { return v.UnexpectedSegmentHandling }).(pulumi.StringOutput) } +// An HL7v2 Segment. +type SchemaSegment struct { + // The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + MaxOccurs *int `pulumi:"maxOccurs"` + // The minimum number of times this segment can be present in this group. + MinOccurs *int `pulumi:"minOccurs"` + // The Segment type. For example, "PID". + Type *string `pulumi:"type"` +} + +// SchemaSegmentInput is an input type that accepts SchemaSegmentArgs and SchemaSegmentOutput values. +// You can construct a concrete instance of `SchemaSegmentInput` via: +// +// SchemaSegmentArgs{...} +type SchemaSegmentInput interface { + pulumi.Input + + ToSchemaSegmentOutput() SchemaSegmentOutput + ToSchemaSegmentOutputWithContext(context.Context) SchemaSegmentOutput +} + +// An HL7v2 Segment. +type SchemaSegmentArgs struct { + // The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + MaxOccurs pulumi.IntPtrInput `pulumi:"maxOccurs"` + // The minimum number of times this segment can be present in this group. + MinOccurs pulumi.IntPtrInput `pulumi:"minOccurs"` + // The Segment type. For example, "PID". + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (SchemaSegmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaSegment)(nil)).Elem() +} + +func (i SchemaSegmentArgs) ToSchemaSegmentOutput() SchemaSegmentOutput { + return i.ToSchemaSegmentOutputWithContext(context.Background()) +} + +func (i SchemaSegmentArgs) ToSchemaSegmentOutputWithContext(ctx context.Context) SchemaSegmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaSegmentOutput) +} + +func (i SchemaSegmentArgs) ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput { + return i.ToSchemaSegmentPtrOutputWithContext(context.Background()) +} + +func (i SchemaSegmentArgs) ToSchemaSegmentPtrOutputWithContext(ctx context.Context) SchemaSegmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaSegmentOutput).ToSchemaSegmentPtrOutputWithContext(ctx) +} + +// SchemaSegmentPtrInput is an input type that accepts SchemaSegmentArgs, SchemaSegmentPtr and SchemaSegmentPtrOutput values. +// You can construct a concrete instance of `SchemaSegmentPtrInput` via: +// +// SchemaSegmentArgs{...} +// +// or: +// +// nil +type SchemaSegmentPtrInput interface { + pulumi.Input + + ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput + ToSchemaSegmentPtrOutputWithContext(context.Context) SchemaSegmentPtrOutput +} + +type schemaSegmentPtrType SchemaSegmentArgs + +func SchemaSegmentPtr(v *SchemaSegmentArgs) SchemaSegmentPtrInput { + return (*schemaSegmentPtrType)(v) +} + +func (*schemaSegmentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaSegment)(nil)).Elem() +} + +func (i *schemaSegmentPtrType) ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput { + return i.ToSchemaSegmentPtrOutputWithContext(context.Background()) +} + +func (i *schemaSegmentPtrType) ToSchemaSegmentPtrOutputWithContext(ctx context.Context) SchemaSegmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaSegmentPtrOutput) +} + +// An HL7v2 Segment. +type SchemaSegmentOutput struct{ *pulumi.OutputState } + +func (SchemaSegmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaSegment)(nil)).Elem() +} + +func (o SchemaSegmentOutput) ToSchemaSegmentOutput() SchemaSegmentOutput { + return o +} + +func (o SchemaSegmentOutput) ToSchemaSegmentOutputWithContext(ctx context.Context) SchemaSegmentOutput { + return o +} + +func (o SchemaSegmentOutput) ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput { + return o.ToSchemaSegmentPtrOutputWithContext(context.Background()) +} + +func (o SchemaSegmentOutput) ToSchemaSegmentPtrOutputWithContext(ctx context.Context) SchemaSegmentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SchemaSegment) *SchemaSegment { + return &v + }).(SchemaSegmentPtrOutput) +} + +// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. +func (o SchemaSegmentOutput) MaxOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v SchemaSegment) *int { return v.MaxOccurs }).(pulumi.IntPtrOutput) +} + +// The minimum number of times this segment can be present in this group. +func (o SchemaSegmentOutput) MinOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v SchemaSegment) *int { return v.MinOccurs }).(pulumi.IntPtrOutput) +} + +// The Segment type. For example, "PID". +func (o SchemaSegmentOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SchemaSegment) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type SchemaSegmentPtrOutput struct{ *pulumi.OutputState } + +func (SchemaSegmentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaSegment)(nil)).Elem() +} + +func (o SchemaSegmentPtrOutput) ToSchemaSegmentPtrOutput() SchemaSegmentPtrOutput { + return o +} + +func (o SchemaSegmentPtrOutput) ToSchemaSegmentPtrOutputWithContext(ctx context.Context) SchemaSegmentPtrOutput { + return o +} + +func (o SchemaSegmentPtrOutput) Elem() SchemaSegmentOutput { + return o.ApplyT(func(v *SchemaSegment) SchemaSegment { + if v != nil { + return *v + } + var ret SchemaSegment + return ret + }).(SchemaSegmentOutput) +} + +// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. +func (o SchemaSegmentPtrOutput) MaxOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SchemaSegment) *int { + if v == nil { + return nil + } + return v.MaxOccurs + }).(pulumi.IntPtrOutput) +} + +// The minimum number of times this segment can be present in this group. +func (o SchemaSegmentPtrOutput) MinOccurs() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SchemaSegment) *int { + if v == nil { + return nil + } + return v.MinOccurs + }).(pulumi.IntPtrOutput) +} + +// The Segment type. For example, "PID". +func (o SchemaSegmentPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaSegment) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + +// An HL7v2 Segment. +type SchemaSegmentResponse struct { + // The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + MaxOccurs int `pulumi:"maxOccurs"` + // The minimum number of times this segment can be present in this group. + MinOccurs int `pulumi:"minOccurs"` + // The Segment type. For example, "PID". + Type string `pulumi:"type"` +} + +// An HL7v2 Segment. +type SchemaSegmentResponseOutput struct{ *pulumi.OutputState } + +func (SchemaSegmentResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaSegmentResponse)(nil)).Elem() +} + +func (o SchemaSegmentResponseOutput) ToSchemaSegmentResponseOutput() SchemaSegmentResponseOutput { + return o +} + +func (o SchemaSegmentResponseOutput) ToSchemaSegmentResponseOutputWithContext(ctx context.Context) SchemaSegmentResponseOutput { + return o +} + +// The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. +func (o SchemaSegmentResponseOutput) MaxOccurs() pulumi.IntOutput { + return o.ApplyT(func(v SchemaSegmentResponse) int { return v.MaxOccurs }).(pulumi.IntOutput) +} + +// The minimum number of times this segment can be present in this group. +func (o SchemaSegmentResponseOutput) MinOccurs() pulumi.IntOutput { + return o.ApplyT(func(v SchemaSegmentResponse) int { return v.MinOccurs }).(pulumi.IntOutput) +} + +// The Segment type. For example, "PID". +func (o SchemaSegmentResponseOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v SchemaSegmentResponse) string { return v.Type }).(pulumi.StringOutput) +} + // The content of an HL7v2 message in a structured format as specified by a schema. type SchematizedData struct { // JSON output of the parser. @@ -12887,7 +13922,7 @@ func (o SegmentResponseArrayOutput) Index(i pulumi.IntInput) SegmentResponseOutp // A TextAnnotation specifies a text range that includes sensitive information. type SensitiveTextAnnotation struct { // Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} - Details map[string]string `pulumi:"details"` + Details map[string]Detail `pulumi:"details"` } // SensitiveTextAnnotationInput is an input type that accepts SensitiveTextAnnotationArgs and SensitiveTextAnnotationOutput values. @@ -12904,7 +13939,7 @@ type SensitiveTextAnnotationInput interface { // A TextAnnotation specifies a text range that includes sensitive information. type SensitiveTextAnnotationArgs struct { // Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} - Details pulumi.StringMapInput `pulumi:"details"` + Details DetailMapInput `pulumi:"details"` } func (SensitiveTextAnnotationArgs) ElementType() reflect.Type { @@ -12986,8 +14021,8 @@ func (o SensitiveTextAnnotationOutput) ToSensitiveTextAnnotationPtrOutputWithCon } // Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} -func (o SensitiveTextAnnotationOutput) Details() pulumi.StringMapOutput { - return o.ApplyT(func(v SensitiveTextAnnotation) map[string]string { return v.Details }).(pulumi.StringMapOutput) +func (o SensitiveTextAnnotationOutput) Details() DetailMapOutput { + return o.ApplyT(func(v SensitiveTextAnnotation) map[string]Detail { return v.Details }).(DetailMapOutput) } type SensitiveTextAnnotationPtrOutput struct{ *pulumi.OutputState } @@ -13015,19 +14050,19 @@ func (o SensitiveTextAnnotationPtrOutput) Elem() SensitiveTextAnnotationOutput { } // Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} -func (o SensitiveTextAnnotationPtrOutput) Details() pulumi.StringMapOutput { - return o.ApplyT(func(v *SensitiveTextAnnotation) map[string]string { +func (o SensitiveTextAnnotationPtrOutput) Details() DetailMapOutput { + return o.ApplyT(func(v *SensitiveTextAnnotation) map[string]Detail { if v == nil { return nil } return v.Details - }).(pulumi.StringMapOutput) + }).(DetailMapOutput) } // A TextAnnotation specifies a text range that includes sensitive information. type SensitiveTextAnnotationResponse struct { // Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} - Details map[string]string `pulumi:"details"` + Details map[string]DetailResponse `pulumi:"details"` } // A TextAnnotation specifies a text range that includes sensitive information. @@ -13046,8 +14081,8 @@ func (o SensitiveTextAnnotationResponseOutput) ToSensitiveTextAnnotationResponse } // Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} -func (o SensitiveTextAnnotationResponseOutput) Details() pulumi.StringMapOutput { - return o.ApplyT(func(v SensitiveTextAnnotationResponse) map[string]string { return v.Details }).(pulumi.StringMapOutput) +func (o SensitiveTextAnnotationResponseOutput) Details() DetailResponseMapOutput { + return o.ApplyT(func(v SensitiveTextAnnotationResponse) map[string]DetailResponse { return v.Details }).(DetailResponseMapOutput) } // User signature. @@ -14917,6 +15952,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DeidentifyOperationMetadataPtrInput)(nil)).Elem(), DeidentifyOperationMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeleteTagInput)(nil)).Elem(), DeleteTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeleteTagPtrInput)(nil)).Elem(), DeleteTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DetailInput)(nil)).Elem(), DetailArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DetailMapInput)(nil)).Elem(), DetailMap{}) pulumi.RegisterInputType(reflect.TypeOf((*DicomConfigInput)(nil)).Elem(), DicomConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DicomConfigPtrInput)(nil)).Elem(), DicomConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DicomTagConfigInput)(nil)).Elem(), DicomTagConfigArgs{}) @@ -14935,6 +15972,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FieldArrayInput)(nil)).Elem(), FieldArray{}) pulumi.RegisterInputType(reflect.TypeOf((*FieldMetadataInput)(nil)).Elem(), FieldMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FieldMetadataArrayInput)(nil)).Elem(), FieldMetadataArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FindingInput)(nil)).Elem(), FindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FindingArrayInput)(nil)).Elem(), FindingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudHealthcareV1beta1ConsentPolicyInput)(nil)).Elem(), GoogleCloudHealthcareV1beta1ConsentPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudHealthcareV1beta1ConsentPolicyArrayInput)(nil)).Elem(), GoogleCloudHealthcareV1beta1ConsentPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudHealthcareV1beta1DeidentifyFieldMetadataInput)(nil)).Elem(), GoogleCloudHealthcareV1beta1DeidentifyFieldMetadataArgs{}) @@ -14947,6 +15986,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudHealthcareV1beta1DicomStreamConfigArrayInput)(nil)).Elem(), GoogleCloudHealthcareV1beta1DicomStreamConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudHealthcareV1beta1FhirBigQueryDestinationInput)(nil)).Elem(), GoogleCloudHealthcareV1beta1FhirBigQueryDestinationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudHealthcareV1beta1FhirBigQueryDestinationPtrInput)(nil)).Elem(), GoogleCloudHealthcareV1beta1FhirBigQueryDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupOrSegmentInput)(nil)).Elem(), GroupOrSegmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GroupOrSegmentArrayInput)(nil)).Elem(), GroupOrSegmentArray{}) pulumi.RegisterInputType(reflect.TypeOf((*Hl7SchemaConfigInput)(nil)).Elem(), Hl7SchemaConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Hl7SchemaConfigArrayInput)(nil)).Elem(), Hl7SchemaConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*Hl7TypesConfigInput)(nil)).Elem(), Hl7TypesConfigArgs{}) @@ -14996,8 +16037,13 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ResourceAnnotationPtrInput)(nil)).Elem(), ResourceAnnotationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaConfigInput)(nil)).Elem(), SchemaConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaConfigPtrInput)(nil)).Elem(), SchemaConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaGroupInput)(nil)).Elem(), SchemaGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaGroupPtrInput)(nil)).Elem(), SchemaGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaGroupMapInput)(nil)).Elem(), SchemaGroupMap{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaPackageInput)(nil)).Elem(), SchemaPackageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaPackagePtrInput)(nil)).Elem(), SchemaPackageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaSegmentInput)(nil)).Elem(), SchemaSegmentArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaSegmentPtrInput)(nil)).Elem(), SchemaSegmentArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchematizedDataInput)(nil)).Elem(), SchematizedDataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchematizedDataPtrInput)(nil)).Elem(), SchematizedDataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SearchConfigInput)(nil)).Elem(), SearchConfigArgs{}) @@ -15108,6 +16154,10 @@ func init() { pulumi.RegisterOutputType(DeleteTagOutput{}) pulumi.RegisterOutputType(DeleteTagPtrOutput{}) pulumi.RegisterOutputType(DeleteTagResponseOutput{}) + pulumi.RegisterOutputType(DetailOutput{}) + pulumi.RegisterOutputType(DetailMapOutput{}) + pulumi.RegisterOutputType(DetailResponseOutput{}) + pulumi.RegisterOutputType(DetailResponseMapOutput{}) pulumi.RegisterOutputType(DicomConfigOutput{}) pulumi.RegisterOutputType(DicomConfigPtrOutput{}) pulumi.RegisterOutputType(DicomConfigResponseOutput{}) @@ -15138,6 +16188,10 @@ func init() { pulumi.RegisterOutputType(FieldMetadataResponseArrayOutput{}) pulumi.RegisterOutputType(FieldResponseOutput{}) pulumi.RegisterOutputType(FieldResponseArrayOutput{}) + pulumi.RegisterOutputType(FindingOutput{}) + pulumi.RegisterOutputType(FindingArrayOutput{}) + pulumi.RegisterOutputType(FindingResponseOutput{}) + pulumi.RegisterOutputType(FindingResponseArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudHealthcareV1beta1ConsentPolicyOutput{}) pulumi.RegisterOutputType(GoogleCloudHealthcareV1beta1ConsentPolicyArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudHealthcareV1beta1ConsentPolicyResponseOutput{}) @@ -15159,6 +16213,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudHealthcareV1beta1FhirBigQueryDestinationOutput{}) pulumi.RegisterOutputType(GoogleCloudHealthcareV1beta1FhirBigQueryDestinationPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudHealthcareV1beta1FhirBigQueryDestinationResponseOutput{}) + pulumi.RegisterOutputType(GroupOrSegmentOutput{}) + pulumi.RegisterOutputType(GroupOrSegmentArrayOutput{}) + pulumi.RegisterOutputType(GroupOrSegmentResponseOutput{}) + pulumi.RegisterOutputType(GroupOrSegmentResponseArrayOutput{}) pulumi.RegisterOutputType(Hl7SchemaConfigOutput{}) pulumi.RegisterOutputType(Hl7SchemaConfigArrayOutput{}) pulumi.RegisterOutputType(Hl7SchemaConfigResponseOutput{}) @@ -15239,9 +16297,17 @@ func init() { pulumi.RegisterOutputType(SchemaConfigOutput{}) pulumi.RegisterOutputType(SchemaConfigPtrOutput{}) pulumi.RegisterOutputType(SchemaConfigResponseOutput{}) + pulumi.RegisterOutputType(SchemaGroupOutput{}) + pulumi.RegisterOutputType(SchemaGroupPtrOutput{}) + pulumi.RegisterOutputType(SchemaGroupMapOutput{}) + pulumi.RegisterOutputType(SchemaGroupResponseOutput{}) + pulumi.RegisterOutputType(SchemaGroupResponseMapOutput{}) pulumi.RegisterOutputType(SchemaPackageOutput{}) pulumi.RegisterOutputType(SchemaPackagePtrOutput{}) pulumi.RegisterOutputType(SchemaPackageResponseOutput{}) + pulumi.RegisterOutputType(SchemaSegmentOutput{}) + pulumi.RegisterOutputType(SchemaSegmentPtrOutput{}) + pulumi.RegisterOutputType(SchemaSegmentResponseOutput{}) pulumi.RegisterOutputType(SchematizedDataOutput{}) pulumi.RegisterOutputType(SchematizedDataPtrOutput{}) pulumi.RegisterOutputType(SchematizedDataResponseOutput{}) diff --git a/sdk/go/google/integrations/v1alpha/pulumiTypes.go b/sdk/go/google/integrations/v1alpha/pulumiTypes.go index fde682bbd6..37728c854e 100644 --- a/sdk/go/google/integrations/v1alpha/pulumiTypes.go +++ b/sdk/go/google/integrations/v1alpha/pulumiTypes.go @@ -5216,7 +5216,7 @@ type EnterpriseCrmEventbusProtoParameterValueType struct { IntArray *EnterpriseCrmEventbusProtoIntParameterArray `pulumi:"intArray"` IntValue *string `pulumi:"intValue"` ProtoArray *EnterpriseCrmEventbusProtoProtoParameterArray `pulumi:"protoArray"` - ProtoValue map[string]string `pulumi:"protoValue"` + ProtoValue map[string]interface{} `pulumi:"protoValue"` SerializedObjectValue *EnterpriseCrmEventbusProtoSerializedObjectParameter `pulumi:"serializedObjectValue"` StringArray *EnterpriseCrmEventbusProtoStringParameterArray `pulumi:"stringArray"` StringValue *string `pulumi:"stringValue"` @@ -5242,7 +5242,7 @@ type EnterpriseCrmEventbusProtoParameterValueTypeArgs struct { IntArray EnterpriseCrmEventbusProtoIntParameterArrayPtrInput `pulumi:"intArray"` IntValue pulumi.StringPtrInput `pulumi:"intValue"` ProtoArray EnterpriseCrmEventbusProtoProtoParameterArrayPtrInput `pulumi:"protoArray"` - ProtoValue pulumi.StringMapInput `pulumi:"protoValue"` + ProtoValue pulumi.MapInput `pulumi:"protoValue"` SerializedObjectValue EnterpriseCrmEventbusProtoSerializedObjectParameterPtrInput `pulumi:"serializedObjectValue"` StringArray EnterpriseCrmEventbusProtoStringParameterArrayPtrInput `pulumi:"stringArray"` StringValue pulumi.StringPtrInput `pulumi:"stringValue"` @@ -5362,8 +5362,8 @@ func (o EnterpriseCrmEventbusProtoParameterValueTypeOutput) ProtoArray() Enterpr }).(EnterpriseCrmEventbusProtoProtoParameterArrayPtrOutput) } -func (o EnterpriseCrmEventbusProtoParameterValueTypeOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v EnterpriseCrmEventbusProtoParameterValueType) map[string]string { return v.ProtoValue }).(pulumi.StringMapOutput) +func (o EnterpriseCrmEventbusProtoParameterValueTypeOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v EnterpriseCrmEventbusProtoParameterValueType) map[string]interface{} { return v.ProtoValue }).(pulumi.MapOutput) } func (o EnterpriseCrmEventbusProtoParameterValueTypeOutput) SerializedObjectValue() EnterpriseCrmEventbusProtoSerializedObjectParameterPtrOutput { @@ -5469,13 +5469,13 @@ func (o EnterpriseCrmEventbusProtoParameterValueTypePtrOutput) ProtoArray() Ente }).(EnterpriseCrmEventbusProtoProtoParameterArrayPtrOutput) } -func (o EnterpriseCrmEventbusProtoParameterValueTypePtrOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v *EnterpriseCrmEventbusProtoParameterValueType) map[string]string { +func (o EnterpriseCrmEventbusProtoParameterValueTypePtrOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v *EnterpriseCrmEventbusProtoParameterValueType) map[string]interface{} { if v == nil { return nil } return v.ProtoValue - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } func (o EnterpriseCrmEventbusProtoParameterValueTypePtrOutput) SerializedObjectValue() EnterpriseCrmEventbusProtoSerializedObjectParameterPtrOutput { @@ -5514,7 +5514,7 @@ type EnterpriseCrmEventbusProtoParameterValueTypeResponse struct { IntArray EnterpriseCrmEventbusProtoIntParameterArrayResponse `pulumi:"intArray"` IntValue string `pulumi:"intValue"` ProtoArray EnterpriseCrmEventbusProtoProtoParameterArrayResponse `pulumi:"protoArray"` - ProtoValue map[string]string `pulumi:"protoValue"` + ProtoValue map[string]interface{} `pulumi:"protoValue"` SerializedObjectValue EnterpriseCrmEventbusProtoSerializedObjectParameterResponse `pulumi:"serializedObjectValue"` StringArray EnterpriseCrmEventbusProtoStringParameterArrayResponse `pulumi:"stringArray"` StringValue string `pulumi:"stringValue"` @@ -5571,8 +5571,10 @@ func (o EnterpriseCrmEventbusProtoParameterValueTypeResponseOutput) ProtoArray() }).(EnterpriseCrmEventbusProtoProtoParameterArrayResponseOutput) } -func (o EnterpriseCrmEventbusProtoParameterValueTypeResponseOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v EnterpriseCrmEventbusProtoParameterValueTypeResponse) map[string]string { return v.ProtoValue }).(pulumi.StringMapOutput) +func (o EnterpriseCrmEventbusProtoParameterValueTypeResponseOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v EnterpriseCrmEventbusProtoParameterValueTypeResponse) map[string]interface{} { + return v.ProtoValue + }).(pulumi.MapOutput) } func (o EnterpriseCrmEventbusProtoParameterValueTypeResponseOutput) SerializedObjectValue() EnterpriseCrmEventbusProtoSerializedObjectParameterResponseOutput { @@ -5756,7 +5758,7 @@ func (o EnterpriseCrmEventbusProtoPropertyEntryResponseArrayOutput) Index(i pulu } type EnterpriseCrmEventbusProtoProtoParameterArray struct { - ProtoValues []map[string]string `pulumi:"protoValues"` + ProtoValues []map[string]interface{} `pulumi:"protoValues"` } // EnterpriseCrmEventbusProtoProtoParameterArrayInput is an input type that accepts EnterpriseCrmEventbusProtoProtoParameterArray and EnterpriseCrmEventbusProtoProtoParameterArrayOutput values. @@ -5771,7 +5773,7 @@ type EnterpriseCrmEventbusProtoProtoParameterArrayInput interface { } type EnterpriseCrmEventbusProtoProtoParameterArrayArgs struct { - ProtoValues pulumi.StringMapArrayInput `pulumi:"protoValues"` + ProtoValues pulumi.MapArrayInput `pulumi:"protoValues"` } func (EnterpriseCrmEventbusProtoProtoParameterArrayArgs) ElementType() reflect.Type { @@ -5851,8 +5853,8 @@ func (o EnterpriseCrmEventbusProtoProtoParameterArrayOutput) ToEnterpriseCrmEven }).(EnterpriseCrmEventbusProtoProtoParameterArrayPtrOutput) } -func (o EnterpriseCrmEventbusProtoProtoParameterArrayOutput) ProtoValues() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v EnterpriseCrmEventbusProtoProtoParameterArray) []map[string]string { return v.ProtoValues }).(pulumi.StringMapArrayOutput) +func (o EnterpriseCrmEventbusProtoProtoParameterArrayOutput) ProtoValues() pulumi.MapArrayOutput { + return o.ApplyT(func(v EnterpriseCrmEventbusProtoProtoParameterArray) []map[string]interface{} { return v.ProtoValues }).(pulumi.MapArrayOutput) } type EnterpriseCrmEventbusProtoProtoParameterArrayPtrOutput struct{ *pulumi.OutputState } @@ -5879,17 +5881,17 @@ func (o EnterpriseCrmEventbusProtoProtoParameterArrayPtrOutput) Elem() Enterpris }).(EnterpriseCrmEventbusProtoProtoParameterArrayOutput) } -func (o EnterpriseCrmEventbusProtoProtoParameterArrayPtrOutput) ProtoValues() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *EnterpriseCrmEventbusProtoProtoParameterArray) []map[string]string { +func (o EnterpriseCrmEventbusProtoProtoParameterArrayPtrOutput) ProtoValues() pulumi.MapArrayOutput { + return o.ApplyT(func(v *EnterpriseCrmEventbusProtoProtoParameterArray) []map[string]interface{} { if v == nil { return nil } return v.ProtoValues - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } type EnterpriseCrmEventbusProtoProtoParameterArrayResponse struct { - ProtoValues []map[string]string `pulumi:"protoValues"` + ProtoValues []map[string]interface{} `pulumi:"protoValues"` } type EnterpriseCrmEventbusProtoProtoParameterArrayResponseOutput struct{ *pulumi.OutputState } @@ -5906,10 +5908,10 @@ func (o EnterpriseCrmEventbusProtoProtoParameterArrayResponseOutput) ToEnterpris return o } -func (o EnterpriseCrmEventbusProtoProtoParameterArrayResponseOutput) ProtoValues() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v EnterpriseCrmEventbusProtoProtoParameterArrayResponse) []map[string]string { +func (o EnterpriseCrmEventbusProtoProtoParameterArrayResponseOutput) ProtoValues() pulumi.MapArrayOutput { + return o.ApplyT(func(v EnterpriseCrmEventbusProtoProtoParameterArrayResponse) []map[string]interface{} { return v.ProtoValues - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } type EnterpriseCrmEventbusProtoSerializedObjectParameter struct { @@ -8688,7 +8690,7 @@ type EnterpriseCrmEventbusProtoValueType struct { DoubleValue *float64 `pulumi:"doubleValue"` IntArray *EnterpriseCrmEventbusProtoIntArray `pulumi:"intArray"` IntValue *string `pulumi:"intValue"` - ProtoValue map[string]string `pulumi:"protoValue"` + ProtoValue map[string]interface{} `pulumi:"protoValue"` StringArray *EnterpriseCrmEventbusProtoStringArray `pulumi:"stringArray"` StringValue *string `pulumi:"stringValue"` } @@ -8711,7 +8713,7 @@ type EnterpriseCrmEventbusProtoValueTypeArgs struct { DoubleValue pulumi.Float64PtrInput `pulumi:"doubleValue"` IntArray EnterpriseCrmEventbusProtoIntArrayPtrInput `pulumi:"intArray"` IntValue pulumi.StringPtrInput `pulumi:"intValue"` - ProtoValue pulumi.StringMapInput `pulumi:"protoValue"` + ProtoValue pulumi.MapInput `pulumi:"protoValue"` StringArray EnterpriseCrmEventbusProtoStringArrayPtrInput `pulumi:"stringArray"` StringValue pulumi.StringPtrInput `pulumi:"stringValue"` } @@ -8816,8 +8818,8 @@ func (o EnterpriseCrmEventbusProtoValueTypeOutput) IntValue() pulumi.StringPtrOu return o.ApplyT(func(v EnterpriseCrmEventbusProtoValueType) *string { return v.IntValue }).(pulumi.StringPtrOutput) } -func (o EnterpriseCrmEventbusProtoValueTypeOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v EnterpriseCrmEventbusProtoValueType) map[string]string { return v.ProtoValue }).(pulumi.StringMapOutput) +func (o EnterpriseCrmEventbusProtoValueTypeOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v EnterpriseCrmEventbusProtoValueType) map[string]interface{} { return v.ProtoValue }).(pulumi.MapOutput) } func (o EnterpriseCrmEventbusProtoValueTypeOutput) StringArray() EnterpriseCrmEventbusProtoStringArrayPtrOutput { @@ -8899,13 +8901,13 @@ func (o EnterpriseCrmEventbusProtoValueTypePtrOutput) IntValue() pulumi.StringPt }).(pulumi.StringPtrOutput) } -func (o EnterpriseCrmEventbusProtoValueTypePtrOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v *EnterpriseCrmEventbusProtoValueType) map[string]string { +func (o EnterpriseCrmEventbusProtoValueTypePtrOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v *EnterpriseCrmEventbusProtoValueType) map[string]interface{} { if v == nil { return nil } return v.ProtoValue - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } func (o EnterpriseCrmEventbusProtoValueTypePtrOutput) StringArray() EnterpriseCrmEventbusProtoStringArrayPtrOutput { @@ -8933,7 +8935,7 @@ type EnterpriseCrmEventbusProtoValueTypeResponse struct { DoubleValue float64 `pulumi:"doubleValue"` IntArray EnterpriseCrmEventbusProtoIntArrayResponse `pulumi:"intArray"` IntValue string `pulumi:"intValue"` - ProtoValue map[string]string `pulumi:"protoValue"` + ProtoValue map[string]interface{} `pulumi:"protoValue"` StringArray EnterpriseCrmEventbusProtoStringArrayResponse `pulumi:"stringArray"` StringValue string `pulumi:"stringValue"` } @@ -8977,8 +8979,8 @@ func (o EnterpriseCrmEventbusProtoValueTypeResponseOutput) IntValue() pulumi.Str return o.ApplyT(func(v EnterpriseCrmEventbusProtoValueTypeResponse) string { return v.IntValue }).(pulumi.StringOutput) } -func (o EnterpriseCrmEventbusProtoValueTypeResponseOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v EnterpriseCrmEventbusProtoValueTypeResponse) map[string]string { return v.ProtoValue }).(pulumi.StringMapOutput) +func (o EnterpriseCrmEventbusProtoValueTypeResponseOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v EnterpriseCrmEventbusProtoValueTypeResponse) map[string]interface{} { return v.ProtoValue }).(pulumi.MapOutput) } func (o EnterpriseCrmEventbusProtoValueTypeResponseOutput) StringArray() EnterpriseCrmEventbusProtoStringArrayResponseOutput { @@ -11156,6 +11158,31 @@ func (i EnterpriseCrmFrontendsEventbusProtoParameterEntryArray) ToEnterpriseCrmF return pulumi.ToOutputWithContext(ctx, i).(EnterpriseCrmFrontendsEventbusProtoParameterEntryArrayOutput) } +// EnterpriseCrmFrontendsEventbusProtoParameterEntryMapInput is an input type that accepts EnterpriseCrmFrontendsEventbusProtoParameterEntryMap and EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput values. +// You can construct a concrete instance of `EnterpriseCrmFrontendsEventbusProtoParameterEntryMapInput` via: +// +// EnterpriseCrmFrontendsEventbusProtoParameterEntryMap{ "key": EnterpriseCrmFrontendsEventbusProtoParameterEntryArgs{...} } +type EnterpriseCrmFrontendsEventbusProtoParameterEntryMapInput interface { + pulumi.Input + + ToEnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput() EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput + ToEnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutputWithContext(context.Context) EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput +} + +type EnterpriseCrmFrontendsEventbusProtoParameterEntryMap map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntryInput + +func (EnterpriseCrmFrontendsEventbusProtoParameterEntryMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntry)(nil)).Elem() +} + +func (i EnterpriseCrmFrontendsEventbusProtoParameterEntryMap) ToEnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput() EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput { + return i.ToEnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutputWithContext(context.Background()) +} + +func (i EnterpriseCrmFrontendsEventbusProtoParameterEntryMap) ToEnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutputWithContext(ctx context.Context) EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput) +} + // Key-value pair of EventBus parameters. type EnterpriseCrmFrontendsEventbusProtoParameterEntryOutput struct{ *pulumi.OutputState } @@ -11210,6 +11237,26 @@ func (o EnterpriseCrmFrontendsEventbusProtoParameterEntryArrayOutput) Index(i pu }).(EnterpriseCrmFrontendsEventbusProtoParameterEntryOutput) } +type EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput struct{ *pulumi.OutputState } + +func (EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntry)(nil)).Elem() +} + +func (o EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput) ToEnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput() EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput { + return o +} + +func (o EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput) ToEnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutputWithContext(ctx context.Context) EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput { + return o +} + +func (o EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput) MapIndex(k pulumi.StringInput) EnterpriseCrmFrontendsEventbusProtoParameterEntryOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) EnterpriseCrmFrontendsEventbusProtoParameterEntry { + return vs[0].(map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntry)[vs[1].(string)] + }).(EnterpriseCrmFrontendsEventbusProtoParameterEntryOutput) +} + // Key-value pair of EventBus parameters. type EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse struct { // Explicitly getting the type of the parameter. @@ -11272,6 +11319,26 @@ func (o EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseArrayOutput) In }).(EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseOutput) } +type EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput struct{ *pulumi.OutputState } + +func (EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse)(nil)).Elem() +} + +func (o EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput) ToEnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput() EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput { + return o +} + +func (o EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput) ToEnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutputWithContext(ctx context.Context) EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput { + return o +} + +func (o EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput) MapIndex(k pulumi.StringInput) EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse { + return vs[0].(map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse)[vs[1].(string)] + }).(EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseOutput) +} + // To support various types of parameter values. Next available id: 14 type EnterpriseCrmFrontendsEventbusProtoParameterValueType struct { BooleanArray *EnterpriseCrmFrontendsEventbusProtoBooleanParameterArray `pulumi:"booleanArray"` @@ -11282,7 +11349,7 @@ type EnterpriseCrmFrontendsEventbusProtoParameterValueType struct { IntValue *string `pulumi:"intValue"` JsonValue *string `pulumi:"jsonValue"` ProtoArray *EnterpriseCrmFrontendsEventbusProtoProtoParameterArray `pulumi:"protoArray"` - ProtoValue map[string]string `pulumi:"protoValue"` + ProtoValue map[string]interface{} `pulumi:"protoValue"` SerializedObjectValue *EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameter `pulumi:"serializedObjectValue"` StringArray *EnterpriseCrmFrontendsEventbusProtoStringParameterArray `pulumi:"stringArray"` StringValue *string `pulumi:"stringValue"` @@ -11309,7 +11376,7 @@ type EnterpriseCrmFrontendsEventbusProtoParameterValueTypeArgs struct { IntValue pulumi.StringPtrInput `pulumi:"intValue"` JsonValue pulumi.StringPtrInput `pulumi:"jsonValue"` ProtoArray EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayPtrInput `pulumi:"protoArray"` - ProtoValue pulumi.StringMapInput `pulumi:"protoValue"` + ProtoValue pulumi.MapInput `pulumi:"protoValue"` SerializedObjectValue EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterPtrInput `pulumi:"serializedObjectValue"` StringArray EnterpriseCrmFrontendsEventbusProtoStringParameterArrayPtrInput `pulumi:"stringArray"` StringValue pulumi.StringPtrInput `pulumi:"stringValue"` @@ -11433,8 +11500,10 @@ func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypeOutput) ProtoArray( }).(EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayPtrOutput) } -func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypeOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoParameterValueType) map[string]string { return v.ProtoValue }).(pulumi.StringMapOutput) +func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypeOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoParameterValueType) map[string]interface{} { + return v.ProtoValue + }).(pulumi.MapOutput) } func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypeOutput) SerializedObjectValue() EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterPtrOutput { @@ -11549,13 +11618,13 @@ func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypePtrOutput) ProtoArr }).(EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayPtrOutput) } -func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypePtrOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v *EnterpriseCrmFrontendsEventbusProtoParameterValueType) map[string]string { +func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypePtrOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v *EnterpriseCrmFrontendsEventbusProtoParameterValueType) map[string]interface{} { if v == nil { return nil } return v.ProtoValue - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypePtrOutput) SerializedObjectValue() EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterPtrOutput { @@ -11595,7 +11664,7 @@ type EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponse struct { IntValue string `pulumi:"intValue"` JsonValue string `pulumi:"jsonValue"` ProtoArray EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse `pulumi:"protoArray"` - ProtoValue map[string]string `pulumi:"protoValue"` + ProtoValue map[string]interface{} `pulumi:"protoValue"` SerializedObjectValue EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterResponse `pulumi:"serializedObjectValue"` StringArray EnterpriseCrmFrontendsEventbusProtoStringParameterArrayResponse `pulumi:"stringArray"` StringValue string `pulumi:"stringValue"` @@ -11656,10 +11725,10 @@ func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponseOutput) Pro }).(EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponseOutput) } -func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponseOutput) ProtoValue() pulumi.StringMapOutput { - return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponse) map[string]string { +func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponseOutput) ProtoValue() pulumi.MapOutput { + return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponse) map[string]interface{} { return v.ProtoValue - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponseOutput) SerializedObjectValue() EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterResponseOutput { @@ -11679,7 +11748,7 @@ func (o EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponseOutput) Str } type EnterpriseCrmFrontendsEventbusProtoProtoParameterArray struct { - ProtoValues []map[string]string `pulumi:"protoValues"` + ProtoValues []map[string]interface{} `pulumi:"protoValues"` } // EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayInput is an input type that accepts EnterpriseCrmFrontendsEventbusProtoProtoParameterArray and EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayOutput values. @@ -11694,7 +11763,7 @@ type EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayInput interface { } type EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs struct { - ProtoValues pulumi.StringMapArrayInput `pulumi:"protoValues"` + ProtoValues pulumi.MapArrayInput `pulumi:"protoValues"` } func (EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs) ElementType() reflect.Type { @@ -11774,10 +11843,10 @@ func (o EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayOutput) ToEnterpri }).(EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayPtrOutput) } -func (o EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayOutput) ProtoValues() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoProtoParameterArray) []map[string]string { +func (o EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayOutput) ProtoValues() pulumi.MapArrayOutput { + return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoProtoParameterArray) []map[string]interface{} { return v.ProtoValues - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } type EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayPtrOutput struct{ *pulumi.OutputState } @@ -11804,17 +11873,17 @@ func (o EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayPtrOutput) Elem() }).(EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayOutput) } -func (o EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayPtrOutput) ProtoValues() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *EnterpriseCrmFrontendsEventbusProtoProtoParameterArray) []map[string]string { +func (o EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayPtrOutput) ProtoValues() pulumi.MapArrayOutput { + return o.ApplyT(func(v *EnterpriseCrmFrontendsEventbusProtoProtoParameterArray) []map[string]interface{} { if v == nil { return nil } return v.ProtoValues - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } type EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse struct { - ProtoValues []map[string]string `pulumi:"protoValues"` + ProtoValues []map[string]interface{} `pulumi:"protoValues"` } type EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponseOutput struct{ *pulumi.OutputState } @@ -11831,10 +11900,10 @@ func (o EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponseOutput) To return o } -func (o EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponseOutput) ProtoValues() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse) []map[string]string { +func (o EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponseOutput) ProtoValues() pulumi.MapArrayOutput { + return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse) []map[string]interface{} { return v.ProtoValues - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // Next available id: 4 @@ -12409,7 +12478,7 @@ type EnterpriseCrmFrontendsEventbusProtoTaskConfig struct { // The policy dictating the execution of the next set of tasks for the current task. NextTasksExecutionPolicy *EnterpriseCrmFrontendsEventbusProtoTaskConfigNextTasksExecutionPolicy `pulumi:"nextTasksExecutionPolicy"` // The customized parameters the user can pass to this task. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntry `pulumi:"parameters"` // Optional. Informs the front-end application where to draw this task config on the UI. Position *EnterpriseCrmEventbusProtoCoordinate `pulumi:"position"` // Optional. Standard filter expression evaluated before execution. Independent of other conditions and tasks. Can be used to enable rollout. e.g. "rollout(5)" will only allow 5% of incoming traffic to task. @@ -12479,7 +12548,7 @@ type EnterpriseCrmFrontendsEventbusProtoTaskConfigArgs struct { // The policy dictating the execution of the next set of tasks for the current task. NextTasksExecutionPolicy EnterpriseCrmFrontendsEventbusProtoTaskConfigNextTasksExecutionPolicyPtrInput `pulumi:"nextTasksExecutionPolicy"` // The customized parameters the user can pass to this task. - Parameters pulumi.StringMapInput `pulumi:"parameters"` + Parameters EnterpriseCrmFrontendsEventbusProtoParameterEntryMapInput `pulumi:"parameters"` // Optional. Informs the front-end application where to draw this task config on the UI. Position EnterpriseCrmEventbusProtoCoordinatePtrInput `pulumi:"position"` // Optional. Standard filter expression evaluated before execution. Independent of other conditions and tasks. Can be used to enable rollout. e.g. "rollout(5)" will only allow 5% of incoming traffic to task. @@ -12642,8 +12711,10 @@ func (o EnterpriseCrmFrontendsEventbusProtoTaskConfigOutput) NextTasksExecutionP } // The customized parameters the user can pass to this task. -func (o EnterpriseCrmFrontendsEventbusProtoTaskConfigOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoTaskConfig) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o EnterpriseCrmFrontendsEventbusProtoTaskConfigOutput) Parameters() EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput { + return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoTaskConfig) map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntry { + return v.Parameters + }).(EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput) } // Optional. Informs the front-end application where to draw this task config on the UI. @@ -12775,7 +12846,7 @@ type EnterpriseCrmFrontendsEventbusProtoTaskConfigResponse struct { // The policy dictating the execution of the next set of tasks for the current task. NextTasksExecutionPolicy string `pulumi:"nextTasksExecutionPolicy"` // The customized parameters the user can pass to this task. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse `pulumi:"parameters"` // Optional. Informs the front-end application where to draw this task config on the UI. Position EnterpriseCrmEventbusProtoCoordinateResponse `pulumi:"position"` // Optional. Standard filter expression evaluated before execution. Independent of other conditions and tasks. Can be used to enable rollout. e.g. "rollout(5)" will only allow 5% of incoming traffic to task. @@ -12899,8 +12970,10 @@ func (o EnterpriseCrmFrontendsEventbusProtoTaskConfigResponseOutput) NextTasksEx } // The customized parameters the user can pass to this task. -func (o EnterpriseCrmFrontendsEventbusProtoTaskConfigResponseOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoTaskConfigResponse) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o EnterpriseCrmFrontendsEventbusProtoTaskConfigResponseOutput) Parameters() EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput { + return o.ApplyT(func(v EnterpriseCrmFrontendsEventbusProtoTaskConfigResponse) map[string]EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse { + return v.Parameters + }).(EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput) } // Optional. Informs the front-end application where to draw this task config on the UI. @@ -17359,6 +17432,31 @@ func (i GoogleCloudIntegrationsV1alphaEventParameterArray) ToGoogleCloudIntegrat return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudIntegrationsV1alphaEventParameterArrayOutput) } +// GoogleCloudIntegrationsV1alphaEventParameterMapInput is an input type that accepts GoogleCloudIntegrationsV1alphaEventParameterMap and GoogleCloudIntegrationsV1alphaEventParameterMapOutput values. +// You can construct a concrete instance of `GoogleCloudIntegrationsV1alphaEventParameterMapInput` via: +// +// GoogleCloudIntegrationsV1alphaEventParameterMap{ "key": GoogleCloudIntegrationsV1alphaEventParameterArgs{...} } +type GoogleCloudIntegrationsV1alphaEventParameterMapInput interface { + pulumi.Input + + ToGoogleCloudIntegrationsV1alphaEventParameterMapOutput() GoogleCloudIntegrationsV1alphaEventParameterMapOutput + ToGoogleCloudIntegrationsV1alphaEventParameterMapOutputWithContext(context.Context) GoogleCloudIntegrationsV1alphaEventParameterMapOutput +} + +type GoogleCloudIntegrationsV1alphaEventParameterMap map[string]GoogleCloudIntegrationsV1alphaEventParameterInput + +func (GoogleCloudIntegrationsV1alphaEventParameterMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudIntegrationsV1alphaEventParameter)(nil)).Elem() +} + +func (i GoogleCloudIntegrationsV1alphaEventParameterMap) ToGoogleCloudIntegrationsV1alphaEventParameterMapOutput() GoogleCloudIntegrationsV1alphaEventParameterMapOutput { + return i.ToGoogleCloudIntegrationsV1alphaEventParameterMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudIntegrationsV1alphaEventParameterMap) ToGoogleCloudIntegrationsV1alphaEventParameterMapOutputWithContext(ctx context.Context) GoogleCloudIntegrationsV1alphaEventParameterMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudIntegrationsV1alphaEventParameterMapOutput) +} + // This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. type GoogleCloudIntegrationsV1alphaEventParameterOutput struct{ *pulumi.OutputState } @@ -17460,6 +17558,26 @@ func (o GoogleCloudIntegrationsV1alphaEventParameterArrayOutput) Index(i pulumi. }).(GoogleCloudIntegrationsV1alphaEventParameterOutput) } +type GoogleCloudIntegrationsV1alphaEventParameterMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudIntegrationsV1alphaEventParameterMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudIntegrationsV1alphaEventParameter)(nil)).Elem() +} + +func (o GoogleCloudIntegrationsV1alphaEventParameterMapOutput) ToGoogleCloudIntegrationsV1alphaEventParameterMapOutput() GoogleCloudIntegrationsV1alphaEventParameterMapOutput { + return o +} + +func (o GoogleCloudIntegrationsV1alphaEventParameterMapOutput) ToGoogleCloudIntegrationsV1alphaEventParameterMapOutputWithContext(ctx context.Context) GoogleCloudIntegrationsV1alphaEventParameterMapOutput { + return o +} + +func (o GoogleCloudIntegrationsV1alphaEventParameterMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudIntegrationsV1alphaEventParameterOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudIntegrationsV1alphaEventParameter { + return vs[0].(map[string]GoogleCloudIntegrationsV1alphaEventParameter)[vs[1].(string)] + }).(GoogleCloudIntegrationsV1alphaEventParameterOutput) +} + // This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. type GoogleCloudIntegrationsV1alphaEventParameterResponse struct { // Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition. @@ -17515,6 +17633,26 @@ func (o GoogleCloudIntegrationsV1alphaEventParameterResponseArrayOutput) Index(i }).(GoogleCloudIntegrationsV1alphaEventParameterResponseOutput) } +type GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudIntegrationsV1alphaEventParameterResponse)(nil)).Elem() +} + +func (o GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput) ToGoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput() GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput { + return o +} + +func (o GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput) ToGoogleCloudIntegrationsV1alphaEventParameterResponseMapOutputWithContext(ctx context.Context) GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput { + return o +} + +func (o GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudIntegrationsV1alphaEventParameterResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudIntegrationsV1alphaEventParameterResponse { + return vs[0].(map[string]GoogleCloudIntegrationsV1alphaEventParameterResponse)[vs[1].(string)] + }).(GoogleCloudIntegrationsV1alphaEventParameterResponseOutput) +} + // Policy that defines the task retry logic and failure type. If no FailurePolicy is defined for a task, all its dependent tasks will not be executed (i.e, a `retry_strategy` of NONE will be applied). type GoogleCloudIntegrationsV1alphaFailurePolicy struct { // Required if retry_strategy is FIXED_INTERVAL or LINEAR/EXPONENTIAL_BACKOFF/RESTART_INTEGRATION_WITH_BACKOFF. Defines the initial interval in seconds for backoff. @@ -21888,7 +22026,7 @@ type GoogleCloudIntegrationsV1alphaTaskConfig struct { // Optional. The policy dictating the execution of the next set of tasks for the current task. NextTasksExecutionPolicy *GoogleCloudIntegrationsV1alphaTaskConfigNextTasksExecutionPolicy `pulumi:"nextTasksExecutionPolicy"` // Optional. The customized parameters the user can pass to this task. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]GoogleCloudIntegrationsV1alphaEventParameter `pulumi:"parameters"` // Optional. Informs the front-end application where to draw this error catcher config on the UI. Position *GoogleCloudIntegrationsV1alphaCoordinate `pulumi:"position"` // Optional. Determines what action to take upon successful task completion. @@ -21935,7 +22073,7 @@ type GoogleCloudIntegrationsV1alphaTaskConfigArgs struct { // Optional. The policy dictating the execution of the next set of tasks for the current task. NextTasksExecutionPolicy GoogleCloudIntegrationsV1alphaTaskConfigNextTasksExecutionPolicyPtrInput `pulumi:"nextTasksExecutionPolicy"` // Optional. The customized parameters the user can pass to this task. - Parameters pulumi.StringMapInput `pulumi:"parameters"` + Parameters GoogleCloudIntegrationsV1alphaEventParameterMapInput `pulumi:"parameters"` // Optional. Informs the front-end application where to draw this error catcher config on the UI. Position GoogleCloudIntegrationsV1alphaCoordinatePtrInput `pulumi:"position"` // Optional. Determines what action to take upon successful task completion. @@ -22055,8 +22193,10 @@ func (o GoogleCloudIntegrationsV1alphaTaskConfigOutput) NextTasksExecutionPolicy } // Optional. The customized parameters the user can pass to this task. -func (o GoogleCloudIntegrationsV1alphaTaskConfigOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudIntegrationsV1alphaTaskConfig) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GoogleCloudIntegrationsV1alphaTaskConfigOutput) Parameters() GoogleCloudIntegrationsV1alphaEventParameterMapOutput { + return o.ApplyT(func(v GoogleCloudIntegrationsV1alphaTaskConfig) map[string]GoogleCloudIntegrationsV1alphaEventParameter { + return v.Parameters + }).(GoogleCloudIntegrationsV1alphaEventParameterMapOutput) } // Optional. Informs the front-end application where to draw this error catcher config on the UI. @@ -22141,7 +22281,7 @@ type GoogleCloudIntegrationsV1alphaTaskConfigResponse struct { // Optional. The policy dictating the execution of the next set of tasks for the current task. NextTasksExecutionPolicy string `pulumi:"nextTasksExecutionPolicy"` // Optional. The customized parameters the user can pass to this task. - Parameters map[string]string `pulumi:"parameters"` + Parameters map[string]GoogleCloudIntegrationsV1alphaEventParameterResponse `pulumi:"parameters"` // Optional. Informs the front-end application where to draw this error catcher config on the UI. Position GoogleCloudIntegrationsV1alphaCoordinateResponse `pulumi:"position"` // Optional. Determines what action to take upon successful task completion. @@ -22218,8 +22358,10 @@ func (o GoogleCloudIntegrationsV1alphaTaskConfigResponseOutput) NextTasksExecuti } // Optional. The customized parameters the user can pass to this task. -func (o GoogleCloudIntegrationsV1alphaTaskConfigResponseOutput) Parameters() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudIntegrationsV1alphaTaskConfigResponse) map[string]string { return v.Parameters }).(pulumi.StringMapOutput) +func (o GoogleCloudIntegrationsV1alphaTaskConfigResponseOutput) Parameters() GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput { + return o.ApplyT(func(v GoogleCloudIntegrationsV1alphaTaskConfigResponse) map[string]GoogleCloudIntegrationsV1alphaEventParameterResponse { + return v.Parameters + }).(GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput) } // Optional. Informs the front-end application where to draw this error catcher config on the UI. @@ -23530,6 +23672,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EnterpriseCrmFrontendsEventbusProtoParamSpecsMessagePtrInput)(nil)).Elem(), EnterpriseCrmFrontendsEventbusProtoParamSpecsMessageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EnterpriseCrmFrontendsEventbusProtoParameterEntryInput)(nil)).Elem(), EnterpriseCrmFrontendsEventbusProtoParameterEntryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EnterpriseCrmFrontendsEventbusProtoParameterEntryArrayInput)(nil)).Elem(), EnterpriseCrmFrontendsEventbusProtoParameterEntryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EnterpriseCrmFrontendsEventbusProtoParameterEntryMapInput)(nil)).Elem(), EnterpriseCrmFrontendsEventbusProtoParameterEntryMap{}) pulumi.RegisterInputType(reflect.TypeOf((*EnterpriseCrmFrontendsEventbusProtoParameterValueTypeInput)(nil)).Elem(), EnterpriseCrmFrontendsEventbusProtoParameterValueTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EnterpriseCrmFrontendsEventbusProtoParameterValueTypePtrInput)(nil)).Elem(), EnterpriseCrmFrontendsEventbusProtoParameterValueTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayInput)(nil)).Elem(), EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs{}) @@ -23579,6 +23722,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudIntegrationsV1alphaEventParameterInput)(nil)).Elem(), GoogleCloudIntegrationsV1alphaEventParameterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudIntegrationsV1alphaEventParameterPtrInput)(nil)).Elem(), GoogleCloudIntegrationsV1alphaEventParameterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudIntegrationsV1alphaEventParameterArrayInput)(nil)).Elem(), GoogleCloudIntegrationsV1alphaEventParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudIntegrationsV1alphaEventParameterMapInput)(nil)).Elem(), GoogleCloudIntegrationsV1alphaEventParameterMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudIntegrationsV1alphaFailurePolicyInput)(nil)).Elem(), GoogleCloudIntegrationsV1alphaFailurePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudIntegrationsV1alphaFailurePolicyPtrInput)(nil)).Elem(), GoogleCloudIntegrationsV1alphaFailurePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudIntegrationsV1alphaIntParameterArrayInput)(nil)).Elem(), GoogleCloudIntegrationsV1alphaIntParameterArrayArgs{}) @@ -23791,8 +23935,10 @@ func init() { pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParamSpecsMessageResponseOutput{}) pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParameterEntryOutput{}) pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParameterEntryArrayOutput{}) + pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParameterEntryMapOutput{}) pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseOutput{}) pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseArrayOutput{}) + pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParameterEntryResponseMapOutput{}) pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParameterValueTypeOutput{}) pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParameterValueTypePtrOutput{}) pulumi.RegisterOutputType(EnterpriseCrmFrontendsEventbusProtoParameterValueTypeResponseOutput{}) @@ -23870,8 +24016,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaEventParameterOutput{}) pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaEventParameterPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaEventParameterArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaEventParameterMapOutput{}) pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaEventParameterResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaEventParameterResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaEventParameterResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaFailurePolicyOutput{}) pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaFailurePolicyPtrOutput{}) pulumi.RegisterOutputType(GoogleCloudIntegrationsV1alphaFailurePolicyResponseOutput{}) diff --git a/sdk/go/google/jobs/v3/getJob.go b/sdk/go/google/jobs/v3/getJob.go index f98cfbce06..0c6af53563 100644 --- a/sdk/go/google/jobs/v3/getJob.go +++ b/sdk/go/google/jobs/v3/getJob.go @@ -39,7 +39,7 @@ type LookupJobResult struct { // Optional. Job compensation information. CompensationInfo CompensationInfoResponse `pulumi:"compensationInfo"` // Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. - CustomAttributes map[string]string `pulumi:"customAttributes"` + CustomAttributes map[string]CustomAttributeResponse `pulumi:"customAttributes"` // Optional. The desired education degrees for the job, such as Bachelors, Masters. DegreeTypes []string `pulumi:"degreeTypes"` // Optional. The department or functional area within the company with the open position. The maximum number of allowed characters is 255. @@ -154,8 +154,8 @@ func (o LookupJobResultOutput) CompensationInfo() CompensationInfoResponseOutput } // Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. -func (o LookupJobResultOutput) CustomAttributes() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupJobResult) map[string]string { return v.CustomAttributes }).(pulumi.StringMapOutput) +func (o LookupJobResultOutput) CustomAttributes() CustomAttributeResponseMapOutput { + return o.ApplyT(func(v LookupJobResult) map[string]CustomAttributeResponse { return v.CustomAttributes }).(CustomAttributeResponseMapOutput) } // Optional. The desired education degrees for the job, such as Bachelors, Masters. diff --git a/sdk/go/google/jobs/v3/job.go b/sdk/go/google/jobs/v3/job.go index 7e75b989cb..237d397c58 100644 --- a/sdk/go/google/jobs/v3/job.go +++ b/sdk/go/google/jobs/v3/job.go @@ -27,7 +27,7 @@ type Job struct { // Optional. Job compensation information. CompensationInfo CompensationInfoResponseOutput `pulumi:"compensationInfo"` // Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. - CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"` + CustomAttributes CustomAttributeResponseMapOutput `pulumi:"customAttributes"` // Optional. The desired education degrees for the job, such as Bachelors, Masters. DegreeTypes pulumi.StringArrayOutput `pulumi:"degreeTypes"` // Optional. The department or functional area within the company with the open position. The maximum number of allowed characters is 255. @@ -149,7 +149,7 @@ type jobArgs struct { // Optional. Job compensation information. CompensationInfo *CompensationInfo `pulumi:"compensationInfo"` // Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. - CustomAttributes map[string]string `pulumi:"customAttributes"` + CustomAttributes map[string]CustomAttribute `pulumi:"customAttributes"` // Optional. The desired education degrees for the job, such as Bachelors, Masters. DegreeTypes []JobDegreeTypesItem `pulumi:"degreeTypes"` // Optional. The department or functional area within the company with the open position. The maximum number of allowed characters is 255. @@ -208,7 +208,7 @@ type JobArgs struct { // Optional. Job compensation information. CompensationInfo CompensationInfoPtrInput // Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. - CustomAttributes pulumi.StringMapInput + CustomAttributes CustomAttributeMapInput // Optional. The desired education degrees for the job, such as Bachelors, Masters. DegreeTypes JobDegreeTypesItemArrayInput // Optional. The department or functional area within the company with the open position. The maximum number of allowed characters is 255. @@ -319,8 +319,8 @@ func (o JobOutput) CompensationInfo() CompensationInfoResponseOutput { } // Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. -func (o JobOutput) CustomAttributes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Job) pulumi.StringMapOutput { return v.CustomAttributes }).(pulumi.StringMapOutput) +func (o JobOutput) CustomAttributes() CustomAttributeResponseMapOutput { + return o.ApplyT(func(v *Job) CustomAttributeResponseMapOutput { return v.CustomAttributes }).(CustomAttributeResponseMapOutput) } // Optional. The desired education degrees for the job, such as Bachelors, Masters. diff --git a/sdk/go/google/jobs/v3/pulumiTypes.go b/sdk/go/google/jobs/v3/pulumiTypes.go index 5546a026a9..ee83e38760 100644 --- a/sdk/go/google/jobs/v3/pulumiTypes.go +++ b/sdk/go/google/jobs/v3/pulumiTypes.go @@ -750,6 +750,184 @@ func (o CompensationRangeResponseOutput) MinCompensation() MoneyResponseOutput { return o.ApplyT(func(v CompensationRangeResponse) MoneyResponse { return v.MinCompensation }).(MoneyResponseOutput) } +// Custom attribute values that are either filterable or non-filterable. +type CustomAttribute struct { + // Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + Filterable *bool `pulumi:"filterable"` + // Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + LongValues []string `pulumi:"longValues"` + // Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + StringValues []string `pulumi:"stringValues"` +} + +// CustomAttributeInput is an input type that accepts CustomAttributeArgs and CustomAttributeOutput values. +// You can construct a concrete instance of `CustomAttributeInput` via: +// +// CustomAttributeArgs{...} +type CustomAttributeInput interface { + pulumi.Input + + ToCustomAttributeOutput() CustomAttributeOutput + ToCustomAttributeOutputWithContext(context.Context) CustomAttributeOutput +} + +// Custom attribute values that are either filterable or non-filterable. +type CustomAttributeArgs struct { + // Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + Filterable pulumi.BoolPtrInput `pulumi:"filterable"` + // Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + LongValues pulumi.StringArrayInput `pulumi:"longValues"` + // Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + StringValues pulumi.StringArrayInput `pulumi:"stringValues"` +} + +func (CustomAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomAttribute)(nil)).Elem() +} + +func (i CustomAttributeArgs) ToCustomAttributeOutput() CustomAttributeOutput { + return i.ToCustomAttributeOutputWithContext(context.Background()) +} + +func (i CustomAttributeArgs) ToCustomAttributeOutputWithContext(ctx context.Context) CustomAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomAttributeOutput) +} + +// CustomAttributeMapInput is an input type that accepts CustomAttributeMap and CustomAttributeMapOutput values. +// You can construct a concrete instance of `CustomAttributeMapInput` via: +// +// CustomAttributeMap{ "key": CustomAttributeArgs{...} } +type CustomAttributeMapInput interface { + pulumi.Input + + ToCustomAttributeMapOutput() CustomAttributeMapOutput + ToCustomAttributeMapOutputWithContext(context.Context) CustomAttributeMapOutput +} + +type CustomAttributeMap map[string]CustomAttributeInput + +func (CustomAttributeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]CustomAttribute)(nil)).Elem() +} + +func (i CustomAttributeMap) ToCustomAttributeMapOutput() CustomAttributeMapOutput { + return i.ToCustomAttributeMapOutputWithContext(context.Background()) +} + +func (i CustomAttributeMap) ToCustomAttributeMapOutputWithContext(ctx context.Context) CustomAttributeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomAttributeMapOutput) +} + +// Custom attribute values that are either filterable or non-filterable. +type CustomAttributeOutput struct{ *pulumi.OutputState } + +func (CustomAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomAttribute)(nil)).Elem() +} + +func (o CustomAttributeOutput) ToCustomAttributeOutput() CustomAttributeOutput { + return o +} + +func (o CustomAttributeOutput) ToCustomAttributeOutputWithContext(ctx context.Context) CustomAttributeOutput { + return o +} + +// Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. +func (o CustomAttributeOutput) Filterable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CustomAttribute) *bool { return v.Filterable }).(pulumi.BoolPtrOutput) +} + +// Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. +func (o CustomAttributeOutput) LongValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomAttribute) []string { return v.LongValues }).(pulumi.StringArrayOutput) +} + +// Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. +func (o CustomAttributeOutput) StringValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomAttribute) []string { return v.StringValues }).(pulumi.StringArrayOutput) +} + +type CustomAttributeMapOutput struct{ *pulumi.OutputState } + +func (CustomAttributeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]CustomAttribute)(nil)).Elem() +} + +func (o CustomAttributeMapOutput) ToCustomAttributeMapOutput() CustomAttributeMapOutput { + return o +} + +func (o CustomAttributeMapOutput) ToCustomAttributeMapOutputWithContext(ctx context.Context) CustomAttributeMapOutput { + return o +} + +func (o CustomAttributeMapOutput) MapIndex(k pulumi.StringInput) CustomAttributeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) CustomAttribute { + return vs[0].(map[string]CustomAttribute)[vs[1].(string)] + }).(CustomAttributeOutput) +} + +// Custom attribute values that are either filterable or non-filterable. +type CustomAttributeResponse struct { + // Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + Filterable bool `pulumi:"filterable"` + // Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + LongValues []string `pulumi:"longValues"` + // Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + StringValues []string `pulumi:"stringValues"` +} + +// Custom attribute values that are either filterable or non-filterable. +type CustomAttributeResponseOutput struct{ *pulumi.OutputState } + +func (CustomAttributeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomAttributeResponse)(nil)).Elem() +} + +func (o CustomAttributeResponseOutput) ToCustomAttributeResponseOutput() CustomAttributeResponseOutput { + return o +} + +func (o CustomAttributeResponseOutput) ToCustomAttributeResponseOutputWithContext(ctx context.Context) CustomAttributeResponseOutput { + return o +} + +// Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. +func (o CustomAttributeResponseOutput) Filterable() pulumi.BoolOutput { + return o.ApplyT(func(v CustomAttributeResponse) bool { return v.Filterable }).(pulumi.BoolOutput) +} + +// Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. +func (o CustomAttributeResponseOutput) LongValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomAttributeResponse) []string { return v.LongValues }).(pulumi.StringArrayOutput) +} + +// Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. +func (o CustomAttributeResponseOutput) StringValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomAttributeResponse) []string { return v.StringValues }).(pulumi.StringArrayOutput) +} + +type CustomAttributeResponseMapOutput struct{ *pulumi.OutputState } + +func (CustomAttributeResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]CustomAttributeResponse)(nil)).Elem() +} + +func (o CustomAttributeResponseMapOutput) ToCustomAttributeResponseMapOutput() CustomAttributeResponseMapOutput { + return o +} + +func (o CustomAttributeResponseMapOutput) ToCustomAttributeResponseMapOutputWithContext(ctx context.Context) CustomAttributeResponseMapOutput { + return o +} + +func (o CustomAttributeResponseMapOutput) MapIndex(k pulumi.StringInput) CustomAttributeResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) CustomAttributeResponse { + return vs[0].(map[string]CustomAttributeResponse)[vs[1].(string)] + }).(CustomAttributeResponseOutput) +} + // Output only. Derived details about the job posting. type JobDerivedInfoResponse struct { // Job categories derived from Job.title and Job.description. @@ -1397,6 +1575,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CompensationInfoPtrInput)(nil)).Elem(), CompensationInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CompensationRangeInput)(nil)).Elem(), CompensationRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CompensationRangePtrInput)(nil)).Elem(), CompensationRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomAttributeInput)(nil)).Elem(), CustomAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomAttributeMapInput)(nil)).Elem(), CustomAttributeMap{}) pulumi.RegisterInputType(reflect.TypeOf((*MoneyInput)(nil)).Elem(), MoneyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MoneyPtrInput)(nil)).Elem(), MoneyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProcessingOptionsInput)(nil)).Elem(), ProcessingOptionsArgs{}) @@ -1414,6 +1594,10 @@ func init() { pulumi.RegisterOutputType(CompensationRangeOutput{}) pulumi.RegisterOutputType(CompensationRangePtrOutput{}) pulumi.RegisterOutputType(CompensationRangeResponseOutput{}) + pulumi.RegisterOutputType(CustomAttributeOutput{}) + pulumi.RegisterOutputType(CustomAttributeMapOutput{}) + pulumi.RegisterOutputType(CustomAttributeResponseOutput{}) + pulumi.RegisterOutputType(CustomAttributeResponseMapOutput{}) pulumi.RegisterOutputType(JobDerivedInfoResponseOutput{}) pulumi.RegisterOutputType(LatLngResponseOutput{}) pulumi.RegisterOutputType(LocationResponseOutput{}) diff --git a/sdk/go/google/jobs/v4/getJob.go b/sdk/go/google/jobs/v4/getJob.go index f6599c1439..9abb760cb7 100644 --- a/sdk/go/google/jobs/v4/getJob.go +++ b/sdk/go/google/jobs/v4/getJob.go @@ -40,7 +40,7 @@ type LookupJobResult struct { // Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the employee. CompensationInfo CompensationInfoResponse `pulumi:"compensationInfo"` // A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. - CustomAttributes map[string]string `pulumi:"customAttributes"` + CustomAttributes map[string]CustomAttributeResponse `pulumi:"customAttributes"` // The desired education degrees for the job, such as Bachelors, Masters. DegreeTypes []string `pulumi:"degreeTypes"` // The department or functional area within the company with the open position. The maximum number of allowed characters is 255. @@ -156,8 +156,8 @@ func (o LookupJobResultOutput) CompensationInfo() CompensationInfoResponseOutput } // A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. -func (o LookupJobResultOutput) CustomAttributes() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupJobResult) map[string]string { return v.CustomAttributes }).(pulumi.StringMapOutput) +func (o LookupJobResultOutput) CustomAttributes() CustomAttributeResponseMapOutput { + return o.ApplyT(func(v LookupJobResult) map[string]CustomAttributeResponse { return v.CustomAttributes }).(CustomAttributeResponseMapOutput) } // The desired education degrees for the job, such as Bachelors, Masters. diff --git a/sdk/go/google/jobs/v4/job.go b/sdk/go/google/jobs/v4/job.go index 791c267f21..bdbb24c8e7 100644 --- a/sdk/go/google/jobs/v4/job.go +++ b/sdk/go/google/jobs/v4/job.go @@ -27,7 +27,7 @@ type Job struct { // Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the employee. CompensationInfo CompensationInfoResponseOutput `pulumi:"compensationInfo"` // A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. - CustomAttributes pulumi.StringMapOutput `pulumi:"customAttributes"` + CustomAttributes CustomAttributeResponseMapOutput `pulumi:"customAttributes"` // The desired education degrees for the job, such as Bachelors, Masters. DegreeTypes pulumi.StringArrayOutput `pulumi:"degreeTypes"` // The department or functional area within the company with the open position. The maximum number of allowed characters is 255. @@ -151,7 +151,7 @@ type jobArgs struct { // Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the employee. CompensationInfo *CompensationInfo `pulumi:"compensationInfo"` // A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. - CustomAttributes map[string]string `pulumi:"customAttributes"` + CustomAttributes map[string]CustomAttribute `pulumi:"customAttributes"` // The desired education degrees for the job, such as Bachelors, Masters. DegreeTypes []JobDegreeTypesItem `pulumi:"degreeTypes"` // The department or functional area within the company with the open position. The maximum number of allowed characters is 255. @@ -211,7 +211,7 @@ type JobArgs struct { // Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the employee. CompensationInfo CompensationInfoPtrInput // A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. - CustomAttributes pulumi.StringMapInput + CustomAttributes CustomAttributeMapInput // The desired education degrees for the job, such as Bachelors, Masters. DegreeTypes JobDegreeTypesItemArrayInput // The department or functional area within the company with the open position. The maximum number of allowed characters is 255. @@ -323,8 +323,8 @@ func (o JobOutput) CompensationInfo() CompensationInfoResponseOutput { } // A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. -func (o JobOutput) CustomAttributes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Job) pulumi.StringMapOutput { return v.CustomAttributes }).(pulumi.StringMapOutput) +func (o JobOutput) CustomAttributes() CustomAttributeResponseMapOutput { + return o.ApplyT(func(v *Job) CustomAttributeResponseMapOutput { return v.CustomAttributes }).(CustomAttributeResponseMapOutput) } // The desired education degrees for the job, such as Bachelors, Masters. diff --git a/sdk/go/google/jobs/v4/pulumiTypes.go b/sdk/go/google/jobs/v4/pulumiTypes.go index 1fa39e5650..0588ce846a 100644 --- a/sdk/go/google/jobs/v4/pulumiTypes.go +++ b/sdk/go/google/jobs/v4/pulumiTypes.go @@ -855,6 +855,200 @@ func (o CompensationRangeResponseOutput) MinCompensation() MoneyResponseOutput { return o.ApplyT(func(v CompensationRangeResponse) MoneyResponse { return v.MinCompensation }).(MoneyResponseOutput) } +// Custom attribute values that are either filterable or non-filterable. +type CustomAttribute struct { + // If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + Filterable *bool `pulumi:"filterable"` + // If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + KeywordSearchable *bool `pulumi:"keywordSearchable"` + // Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + LongValues []string `pulumi:"longValues"` + // Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + StringValues []string `pulumi:"stringValues"` +} + +// CustomAttributeInput is an input type that accepts CustomAttributeArgs and CustomAttributeOutput values. +// You can construct a concrete instance of `CustomAttributeInput` via: +// +// CustomAttributeArgs{...} +type CustomAttributeInput interface { + pulumi.Input + + ToCustomAttributeOutput() CustomAttributeOutput + ToCustomAttributeOutputWithContext(context.Context) CustomAttributeOutput +} + +// Custom attribute values that are either filterable or non-filterable. +type CustomAttributeArgs struct { + // If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + Filterable pulumi.BoolPtrInput `pulumi:"filterable"` + // If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + KeywordSearchable pulumi.BoolPtrInput `pulumi:"keywordSearchable"` + // Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + LongValues pulumi.StringArrayInput `pulumi:"longValues"` + // Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + StringValues pulumi.StringArrayInput `pulumi:"stringValues"` +} + +func (CustomAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomAttribute)(nil)).Elem() +} + +func (i CustomAttributeArgs) ToCustomAttributeOutput() CustomAttributeOutput { + return i.ToCustomAttributeOutputWithContext(context.Background()) +} + +func (i CustomAttributeArgs) ToCustomAttributeOutputWithContext(ctx context.Context) CustomAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomAttributeOutput) +} + +// CustomAttributeMapInput is an input type that accepts CustomAttributeMap and CustomAttributeMapOutput values. +// You can construct a concrete instance of `CustomAttributeMapInput` via: +// +// CustomAttributeMap{ "key": CustomAttributeArgs{...} } +type CustomAttributeMapInput interface { + pulumi.Input + + ToCustomAttributeMapOutput() CustomAttributeMapOutput + ToCustomAttributeMapOutputWithContext(context.Context) CustomAttributeMapOutput +} + +type CustomAttributeMap map[string]CustomAttributeInput + +func (CustomAttributeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]CustomAttribute)(nil)).Elem() +} + +func (i CustomAttributeMap) ToCustomAttributeMapOutput() CustomAttributeMapOutput { + return i.ToCustomAttributeMapOutputWithContext(context.Background()) +} + +func (i CustomAttributeMap) ToCustomAttributeMapOutputWithContext(ctx context.Context) CustomAttributeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomAttributeMapOutput) +} + +// Custom attribute values that are either filterable or non-filterable. +type CustomAttributeOutput struct{ *pulumi.OutputState } + +func (CustomAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomAttribute)(nil)).Elem() +} + +func (o CustomAttributeOutput) ToCustomAttributeOutput() CustomAttributeOutput { + return o +} + +func (o CustomAttributeOutput) ToCustomAttributeOutputWithContext(ctx context.Context) CustomAttributeOutput { + return o +} + +// If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. +func (o CustomAttributeOutput) Filterable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CustomAttribute) *bool { return v.Filterable }).(pulumi.BoolPtrOutput) +} + +// If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. +func (o CustomAttributeOutput) KeywordSearchable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v CustomAttribute) *bool { return v.KeywordSearchable }).(pulumi.BoolPtrOutput) +} + +// Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. +func (o CustomAttributeOutput) LongValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomAttribute) []string { return v.LongValues }).(pulumi.StringArrayOutput) +} + +// Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. +func (o CustomAttributeOutput) StringValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomAttribute) []string { return v.StringValues }).(pulumi.StringArrayOutput) +} + +type CustomAttributeMapOutput struct{ *pulumi.OutputState } + +func (CustomAttributeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]CustomAttribute)(nil)).Elem() +} + +func (o CustomAttributeMapOutput) ToCustomAttributeMapOutput() CustomAttributeMapOutput { + return o +} + +func (o CustomAttributeMapOutput) ToCustomAttributeMapOutputWithContext(ctx context.Context) CustomAttributeMapOutput { + return o +} + +func (o CustomAttributeMapOutput) MapIndex(k pulumi.StringInput) CustomAttributeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) CustomAttribute { + return vs[0].(map[string]CustomAttribute)[vs[1].(string)] + }).(CustomAttributeOutput) +} + +// Custom attribute values that are either filterable or non-filterable. +type CustomAttributeResponse struct { + // If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + Filterable bool `pulumi:"filterable"` + // If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + KeywordSearchable bool `pulumi:"keywordSearchable"` + // Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + LongValues []string `pulumi:"longValues"` + // Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + StringValues []string `pulumi:"stringValues"` +} + +// Custom attribute values that are either filterable or non-filterable. +type CustomAttributeResponseOutput struct{ *pulumi.OutputState } + +func (CustomAttributeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomAttributeResponse)(nil)).Elem() +} + +func (o CustomAttributeResponseOutput) ToCustomAttributeResponseOutput() CustomAttributeResponseOutput { + return o +} + +func (o CustomAttributeResponseOutput) ToCustomAttributeResponseOutputWithContext(ctx context.Context) CustomAttributeResponseOutput { + return o +} + +// If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. +func (o CustomAttributeResponseOutput) Filterable() pulumi.BoolOutput { + return o.ApplyT(func(v CustomAttributeResponse) bool { return v.Filterable }).(pulumi.BoolOutput) +} + +// If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. +func (o CustomAttributeResponseOutput) KeywordSearchable() pulumi.BoolOutput { + return o.ApplyT(func(v CustomAttributeResponse) bool { return v.KeywordSearchable }).(pulumi.BoolOutput) +} + +// Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. +func (o CustomAttributeResponseOutput) LongValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomAttributeResponse) []string { return v.LongValues }).(pulumi.StringArrayOutput) +} + +// Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. +func (o CustomAttributeResponseOutput) StringValues() pulumi.StringArrayOutput { + return o.ApplyT(func(v CustomAttributeResponse) []string { return v.StringValues }).(pulumi.StringArrayOutput) +} + +type CustomAttributeResponseMapOutput struct{ *pulumi.OutputState } + +func (CustomAttributeResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]CustomAttributeResponse)(nil)).Elem() +} + +func (o CustomAttributeResponseMapOutput) ToCustomAttributeResponseMapOutput() CustomAttributeResponseMapOutput { + return o +} + +func (o CustomAttributeResponseMapOutput) ToCustomAttributeResponseMapOutputWithContext(ctx context.Context) CustomAttributeResponseMapOutput { + return o +} + +func (o CustomAttributeResponseMapOutput) MapIndex(k pulumi.StringInput) CustomAttributeResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) CustomAttributeResponse { + return vs[0].(map[string]CustomAttributeResponse)[vs[1].(string)] + }).(CustomAttributeResponseOutput) +} + // Derived details about the job posting. type JobDerivedInfoResponse struct { // Job categories derived from Job.title and Job.description. @@ -1503,6 +1697,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CompensationInfoPtrInput)(nil)).Elem(), CompensationInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CompensationRangeInput)(nil)).Elem(), CompensationRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CompensationRangePtrInput)(nil)).Elem(), CompensationRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomAttributeInput)(nil)).Elem(), CustomAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomAttributeMapInput)(nil)).Elem(), CustomAttributeMap{}) pulumi.RegisterInputType(reflect.TypeOf((*MoneyInput)(nil)).Elem(), MoneyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MoneyPtrInput)(nil)).Elem(), MoneyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProcessingOptionsInput)(nil)).Elem(), ProcessingOptionsArgs{}) @@ -1521,6 +1717,10 @@ func init() { pulumi.RegisterOutputType(CompensationRangeOutput{}) pulumi.RegisterOutputType(CompensationRangePtrOutput{}) pulumi.RegisterOutputType(CompensationRangeResponseOutput{}) + pulumi.RegisterOutputType(CustomAttributeOutput{}) + pulumi.RegisterOutputType(CustomAttributeMapOutput{}) + pulumi.RegisterOutputType(CustomAttributeResponseOutput{}) + pulumi.RegisterOutputType(CustomAttributeResponseMapOutput{}) pulumi.RegisterOutputType(JobDerivedInfoResponseOutput{}) pulumi.RegisterOutputType(LatLngResponseOutput{}) pulumi.RegisterOutputType(LocationResponseOutput{}) diff --git a/sdk/go/google/metastore/v1/federation.go b/sdk/go/google/metastore/v1/federation.go index abf79af576..b7ac7f8351 100644 --- a/sdk/go/google/metastore/v1/federation.go +++ b/sdk/go/google/metastore/v1/federation.go @@ -17,7 +17,7 @@ type Federation struct { pulumi.CustomResourceState // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores pulumi.StringMapOutput `pulumi:"backendMetastores"` + BackendMetastores BackendMetastoreResponseMapOutput `pulumi:"backendMetastores"` // The time when the metastore federation was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` // The federation endpoint. @@ -94,7 +94,7 @@ func (FederationState) ElementType() reflect.Type { type federationArgs struct { // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores map[string]string `pulumi:"backendMetastores"` + BackendMetastores map[string]BackendMetastore `pulumi:"backendMetastores"` // Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. FederationId string `pulumi:"federationId"` // User-defined labels for the metastore federation. @@ -112,7 +112,7 @@ type federationArgs struct { // The set of arguments for constructing a Federation resource. type FederationArgs struct { // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores pulumi.StringMapInput + BackendMetastores BackendMetastoreMapInput // Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. FederationId pulumi.StringInput // User-defined labels for the metastore federation. @@ -165,8 +165,8 @@ func (o FederationOutput) ToFederationOutputWithContext(ctx context.Context) Fed } // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. -func (o FederationOutput) BackendMetastores() pulumi.StringMapOutput { - return o.ApplyT(func(v *Federation) pulumi.StringMapOutput { return v.BackendMetastores }).(pulumi.StringMapOutput) +func (o FederationOutput) BackendMetastores() BackendMetastoreResponseMapOutput { + return o.ApplyT(func(v *Federation) BackendMetastoreResponseMapOutput { return v.BackendMetastores }).(BackendMetastoreResponseMapOutput) } // The time when the metastore federation was created. diff --git a/sdk/go/google/metastore/v1/getFederation.go b/sdk/go/google/metastore/v1/getFederation.go index 329cb1ad2e..6970cd42f4 100644 --- a/sdk/go/google/metastore/v1/getFederation.go +++ b/sdk/go/google/metastore/v1/getFederation.go @@ -30,7 +30,7 @@ type LookupFederationArgs struct { type LookupFederationResult struct { // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores map[string]string `pulumi:"backendMetastores"` + BackendMetastores map[string]BackendMetastoreResponse `pulumi:"backendMetastores"` // The time when the metastore federation was created. CreateTime string `pulumi:"createTime"` // The federation endpoint. @@ -89,8 +89,8 @@ func (o LookupFederationResultOutput) ToLookupFederationResultOutputWithContext( } // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. -func (o LookupFederationResultOutput) BackendMetastores() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFederationResult) map[string]string { return v.BackendMetastores }).(pulumi.StringMapOutput) +func (o LookupFederationResultOutput) BackendMetastores() BackendMetastoreResponseMapOutput { + return o.ApplyT(func(v LookupFederationResult) map[string]BackendMetastoreResponse { return v.BackendMetastores }).(BackendMetastoreResponseMapOutput) } // The time when the metastore federation was created. diff --git a/sdk/go/google/metastore/v1/pulumiEnums.go b/sdk/go/google/metastore/v1/pulumiEnums.go index 1e9da745ea..494ab260f2 100644 --- a/sdk/go/google/metastore/v1/pulumiEnums.go +++ b/sdk/go/google/metastore/v1/pulumiEnums.go @@ -184,6 +184,177 @@ func (in *auditLogConfigLogTypePtr) ToAuditLogConfigLogTypePtrOutputWithContext( return pulumi.ToOutputWithContext(ctx, in).(AuditLogConfigLogTypePtrOutput) } +// The type of the backend metastore. +type BackendMetastoreMetastoreType string + +const ( + // The metastore type is not set. + BackendMetastoreMetastoreTypeMetastoreTypeUnspecified = BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED") + // The backend metastore is BigQuery. + BackendMetastoreMetastoreTypeBigquery = BackendMetastoreMetastoreType("BIGQUERY") + // The backend metastore is Dataproc Metastore. + BackendMetastoreMetastoreTypeDataprocMetastore = BackendMetastoreMetastoreType("DATAPROC_METASTORE") +) + +func (BackendMetastoreMetastoreType) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastoreMetastoreType)(nil)).Elem() +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypeOutput() BackendMetastoreMetastoreTypeOutput { + return pulumi.ToOutput(e).(BackendMetastoreMetastoreTypeOutput) +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypeOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(BackendMetastoreMetastoreTypeOutput) +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return e.ToBackendMetastoreMetastoreTypePtrOutputWithContext(context.Background()) +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return BackendMetastoreMetastoreType(e).ToBackendMetastoreMetastoreTypeOutputWithContext(ctx).ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx) +} + +func (e BackendMetastoreMetastoreType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e BackendMetastoreMetastoreType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e BackendMetastoreMetastoreType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e BackendMetastoreMetastoreType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type BackendMetastoreMetastoreTypeOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreMetastoreTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastoreMetastoreType)(nil)).Elem() +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypeOutput() BackendMetastoreMetastoreTypeOutput { + return o +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypeOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypeOutput { + return o +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return o.ToBackendMetastoreMetastoreTypePtrOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v BackendMetastoreMetastoreType) *BackendMetastoreMetastoreType { + return &v + }).(BackendMetastoreMetastoreTypePtrOutput) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e BackendMetastoreMetastoreType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e BackendMetastoreMetastoreType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type BackendMetastoreMetastoreTypePtrOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreMetastoreTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BackendMetastoreMetastoreType)(nil)).Elem() +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return o +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return o +} + +func (o BackendMetastoreMetastoreTypePtrOutput) Elem() BackendMetastoreMetastoreTypeOutput { + return o.ApplyT(func(v *BackendMetastoreMetastoreType) BackendMetastoreMetastoreType { + if v != nil { + return *v + } + var ret BackendMetastoreMetastoreType + return ret + }).(BackendMetastoreMetastoreTypeOutput) +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *BackendMetastoreMetastoreType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// BackendMetastoreMetastoreTypeInput is an input type that accepts values of the BackendMetastoreMetastoreType enum +// A concrete instance of `BackendMetastoreMetastoreTypeInput` can be one of the following: +// +// BackendMetastoreMetastoreTypeMetastoreTypeUnspecified +// BackendMetastoreMetastoreTypeBigquery +// BackendMetastoreMetastoreTypeDataprocMetastore +type BackendMetastoreMetastoreTypeInput interface { + pulumi.Input + + ToBackendMetastoreMetastoreTypeOutput() BackendMetastoreMetastoreTypeOutput + ToBackendMetastoreMetastoreTypeOutputWithContext(context.Context) BackendMetastoreMetastoreTypeOutput +} + +var backendMetastoreMetastoreTypePtrType = reflect.TypeOf((**BackendMetastoreMetastoreType)(nil)).Elem() + +type BackendMetastoreMetastoreTypePtrInput interface { + pulumi.Input + + ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput + ToBackendMetastoreMetastoreTypePtrOutputWithContext(context.Context) BackendMetastoreMetastoreTypePtrOutput +} + +type backendMetastoreMetastoreTypePtr string + +func BackendMetastoreMetastoreTypePtr(v string) BackendMetastoreMetastoreTypePtrInput { + return (*backendMetastoreMetastoreTypePtr)(&v) +} + +func (*backendMetastoreMetastoreTypePtr) ElementType() reflect.Type { + return backendMetastoreMetastoreTypePtrType +} + +func (in *backendMetastoreMetastoreTypePtr) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return pulumi.ToOutput(in).(BackendMetastoreMetastoreTypePtrOutput) +} + +func (in *backendMetastoreMetastoreTypePtr) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(BackendMetastoreMetastoreTypePtrOutput) +} + // The type of the database. type DatabaseDumpDatabaseType string @@ -1747,6 +1918,8 @@ func (in *telemetryConfigLogFormatPtr) ToTelemetryConfigLogFormatPtrOutputWithCo func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigLogTypeInput)(nil)).Elem(), AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigLogTypePtrInput)(nil)).Elem(), AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreMetastoreTypeInput)(nil)).Elem(), BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreMetastoreTypePtrInput)(nil)).Elem(), BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDumpDatabaseTypeInput)(nil)).Elem(), DatabaseDumpDatabaseType("DATABASE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDumpDatabaseTypePtrInput)(nil)).Elem(), DatabaseDumpDatabaseType("DATABASE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDumpTypeInput)(nil)).Elem(), DatabaseDumpType("TYPE_UNSPECIFIED")) @@ -1767,6 +1940,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TelemetryConfigLogFormatPtrInput)(nil)).Elem(), TelemetryConfigLogFormat("LOG_FORMAT_UNSPECIFIED")) pulumi.RegisterOutputType(AuditLogConfigLogTypeOutput{}) pulumi.RegisterOutputType(AuditLogConfigLogTypePtrOutput{}) + pulumi.RegisterOutputType(BackendMetastoreMetastoreTypeOutput{}) + pulumi.RegisterOutputType(BackendMetastoreMetastoreTypePtrOutput{}) pulumi.RegisterOutputType(DatabaseDumpDatabaseTypeOutput{}) pulumi.RegisterOutputType(DatabaseDumpDatabaseTypePtrOutput{}) pulumi.RegisterOutputType(DatabaseDumpTypeOutput{}) diff --git a/sdk/go/google/metastore/v1/pulumiTypes.go b/sdk/go/google/metastore/v1/pulumiTypes.go index 19a64fb18e..d28c71d7a7 100644 --- a/sdk/go/google/metastore/v1/pulumiTypes.go +++ b/sdk/go/google/metastore/v1/pulumiTypes.go @@ -337,6 +337,337 @@ func (o AuditLogConfigResponseArrayOutput) Index(i pulumi.IntInput) AuditLogConf }).(AuditLogConfigResponseOutput) } +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfig struct { + // A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + ConfigOverrides map[string]string `pulumi:"configOverrides"` + // The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + Version *string `pulumi:"version"` +} + +// AuxiliaryVersionConfigInput is an input type that accepts AuxiliaryVersionConfigArgs and AuxiliaryVersionConfigOutput values. +// You can construct a concrete instance of `AuxiliaryVersionConfigInput` via: +// +// AuxiliaryVersionConfigArgs{...} +type AuxiliaryVersionConfigInput interface { + pulumi.Input + + ToAuxiliaryVersionConfigOutput() AuxiliaryVersionConfigOutput + ToAuxiliaryVersionConfigOutputWithContext(context.Context) AuxiliaryVersionConfigOutput +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigArgs struct { + // A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + ConfigOverrides pulumi.StringMapInput `pulumi:"configOverrides"` + // The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (AuxiliaryVersionConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AuxiliaryVersionConfig)(nil)).Elem() +} + +func (i AuxiliaryVersionConfigArgs) ToAuxiliaryVersionConfigOutput() AuxiliaryVersionConfigOutput { + return i.ToAuxiliaryVersionConfigOutputWithContext(context.Background()) +} + +func (i AuxiliaryVersionConfigArgs) ToAuxiliaryVersionConfigOutputWithContext(ctx context.Context) AuxiliaryVersionConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuxiliaryVersionConfigOutput) +} + +// AuxiliaryVersionConfigMapInput is an input type that accepts AuxiliaryVersionConfigMap and AuxiliaryVersionConfigMapOutput values. +// You can construct a concrete instance of `AuxiliaryVersionConfigMapInput` via: +// +// AuxiliaryVersionConfigMap{ "key": AuxiliaryVersionConfigArgs{...} } +type AuxiliaryVersionConfigMapInput interface { + pulumi.Input + + ToAuxiliaryVersionConfigMapOutput() AuxiliaryVersionConfigMapOutput + ToAuxiliaryVersionConfigMapOutputWithContext(context.Context) AuxiliaryVersionConfigMapOutput +} + +type AuxiliaryVersionConfigMap map[string]AuxiliaryVersionConfigInput + +func (AuxiliaryVersionConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AuxiliaryVersionConfig)(nil)).Elem() +} + +func (i AuxiliaryVersionConfigMap) ToAuxiliaryVersionConfigMapOutput() AuxiliaryVersionConfigMapOutput { + return i.ToAuxiliaryVersionConfigMapOutputWithContext(context.Background()) +} + +func (i AuxiliaryVersionConfigMap) ToAuxiliaryVersionConfigMapOutputWithContext(ctx context.Context) AuxiliaryVersionConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuxiliaryVersionConfigMapOutput) +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AuxiliaryVersionConfig)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigOutput) ToAuxiliaryVersionConfigOutput() AuxiliaryVersionConfigOutput { + return o +} + +func (o AuxiliaryVersionConfigOutput) ToAuxiliaryVersionConfigOutputWithContext(ctx context.Context) AuxiliaryVersionConfigOutput { + return o +} + +// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. +func (o AuxiliaryVersionConfigOutput) ConfigOverrides() pulumi.StringMapOutput { + return o.ApplyT(func(v AuxiliaryVersionConfig) map[string]string { return v.ConfigOverrides }).(pulumi.StringMapOutput) +} + +// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. +func (o AuxiliaryVersionConfigOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v AuxiliaryVersionConfig) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type AuxiliaryVersionConfigMapOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AuxiliaryVersionConfig)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigMapOutput) ToAuxiliaryVersionConfigMapOutput() AuxiliaryVersionConfigMapOutput { + return o +} + +func (o AuxiliaryVersionConfigMapOutput) ToAuxiliaryVersionConfigMapOutputWithContext(ctx context.Context) AuxiliaryVersionConfigMapOutput { + return o +} + +func (o AuxiliaryVersionConfigMapOutput) MapIndex(k pulumi.StringInput) AuxiliaryVersionConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AuxiliaryVersionConfig { + return vs[0].(map[string]AuxiliaryVersionConfig)[vs[1].(string)] + }).(AuxiliaryVersionConfigOutput) +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigResponse struct { + // A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + ConfigOverrides map[string]string `pulumi:"configOverrides"` + // The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + NetworkConfig NetworkConfigResponse `pulumi:"networkConfig"` + // The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + Version string `pulumi:"version"` +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigResponseOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AuxiliaryVersionConfigResponse)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigResponseOutput) ToAuxiliaryVersionConfigResponseOutput() AuxiliaryVersionConfigResponseOutput { + return o +} + +func (o AuxiliaryVersionConfigResponseOutput) ToAuxiliaryVersionConfigResponseOutputWithContext(ctx context.Context) AuxiliaryVersionConfigResponseOutput { + return o +} + +// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. +func (o AuxiliaryVersionConfigResponseOutput) ConfigOverrides() pulumi.StringMapOutput { + return o.ApplyT(func(v AuxiliaryVersionConfigResponse) map[string]string { return v.ConfigOverrides }).(pulumi.StringMapOutput) +} + +// The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. +func (o AuxiliaryVersionConfigResponseOutput) NetworkConfig() NetworkConfigResponseOutput { + return o.ApplyT(func(v AuxiliaryVersionConfigResponse) NetworkConfigResponse { return v.NetworkConfig }).(NetworkConfigResponseOutput) +} + +// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. +func (o AuxiliaryVersionConfigResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v AuxiliaryVersionConfigResponse) string { return v.Version }).(pulumi.StringOutput) +} + +type AuxiliaryVersionConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AuxiliaryVersionConfigResponse)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigResponseMapOutput) ToAuxiliaryVersionConfigResponseMapOutput() AuxiliaryVersionConfigResponseMapOutput { + return o +} + +func (o AuxiliaryVersionConfigResponseMapOutput) ToAuxiliaryVersionConfigResponseMapOutputWithContext(ctx context.Context) AuxiliaryVersionConfigResponseMapOutput { + return o +} + +func (o AuxiliaryVersionConfigResponseMapOutput) MapIndex(k pulumi.StringInput) AuxiliaryVersionConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AuxiliaryVersionConfigResponse { + return vs[0].(map[string]AuxiliaryVersionConfigResponse)[vs[1].(string)] + }).(AuxiliaryVersionConfigResponseOutput) +} + +// Represents a backend metastore for the federation. +type BackendMetastore struct { + // The type of the backend metastore. + MetastoreType *BackendMetastoreMetastoreType `pulumi:"metastoreType"` + // The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + Name *string `pulumi:"name"` +} + +// BackendMetastoreInput is an input type that accepts BackendMetastoreArgs and BackendMetastoreOutput values. +// You can construct a concrete instance of `BackendMetastoreInput` via: +// +// BackendMetastoreArgs{...} +type BackendMetastoreInput interface { + pulumi.Input + + ToBackendMetastoreOutput() BackendMetastoreOutput + ToBackendMetastoreOutputWithContext(context.Context) BackendMetastoreOutput +} + +// Represents a backend metastore for the federation. +type BackendMetastoreArgs struct { + // The type of the backend metastore. + MetastoreType BackendMetastoreMetastoreTypePtrInput `pulumi:"metastoreType"` + // The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (BackendMetastoreArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastore)(nil)).Elem() +} + +func (i BackendMetastoreArgs) ToBackendMetastoreOutput() BackendMetastoreOutput { + return i.ToBackendMetastoreOutputWithContext(context.Background()) +} + +func (i BackendMetastoreArgs) ToBackendMetastoreOutputWithContext(ctx context.Context) BackendMetastoreOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackendMetastoreOutput) +} + +// BackendMetastoreMapInput is an input type that accepts BackendMetastoreMap and BackendMetastoreMapOutput values. +// You can construct a concrete instance of `BackendMetastoreMapInput` via: +// +// BackendMetastoreMap{ "key": BackendMetastoreArgs{...} } +type BackendMetastoreMapInput interface { + pulumi.Input + + ToBackendMetastoreMapOutput() BackendMetastoreMapOutput + ToBackendMetastoreMapOutputWithContext(context.Context) BackendMetastoreMapOutput +} + +type BackendMetastoreMap map[string]BackendMetastoreInput + +func (BackendMetastoreMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BackendMetastore)(nil)).Elem() +} + +func (i BackendMetastoreMap) ToBackendMetastoreMapOutput() BackendMetastoreMapOutput { + return i.ToBackendMetastoreMapOutputWithContext(context.Background()) +} + +func (i BackendMetastoreMap) ToBackendMetastoreMapOutputWithContext(ctx context.Context) BackendMetastoreMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackendMetastoreMapOutput) +} + +// Represents a backend metastore for the federation. +type BackendMetastoreOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastore)(nil)).Elem() +} + +func (o BackendMetastoreOutput) ToBackendMetastoreOutput() BackendMetastoreOutput { + return o +} + +func (o BackendMetastoreOutput) ToBackendMetastoreOutputWithContext(ctx context.Context) BackendMetastoreOutput { + return o +} + +// The type of the backend metastore. +func (o BackendMetastoreOutput) MetastoreType() BackendMetastoreMetastoreTypePtrOutput { + return o.ApplyT(func(v BackendMetastore) *BackendMetastoreMetastoreType { return v.MetastoreType }).(BackendMetastoreMetastoreTypePtrOutput) +} + +// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} +func (o BackendMetastoreOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v BackendMetastore) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type BackendMetastoreMapOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BackendMetastore)(nil)).Elem() +} + +func (o BackendMetastoreMapOutput) ToBackendMetastoreMapOutput() BackendMetastoreMapOutput { + return o +} + +func (o BackendMetastoreMapOutput) ToBackendMetastoreMapOutputWithContext(ctx context.Context) BackendMetastoreMapOutput { + return o +} + +func (o BackendMetastoreMapOutput) MapIndex(k pulumi.StringInput) BackendMetastoreOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BackendMetastore { + return vs[0].(map[string]BackendMetastore)[vs[1].(string)] + }).(BackendMetastoreOutput) +} + +// Represents a backend metastore for the federation. +type BackendMetastoreResponse struct { + // The type of the backend metastore. + MetastoreType string `pulumi:"metastoreType"` + // The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + Name string `pulumi:"name"` +} + +// Represents a backend metastore for the federation. +type BackendMetastoreResponseOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastoreResponse)(nil)).Elem() +} + +func (o BackendMetastoreResponseOutput) ToBackendMetastoreResponseOutput() BackendMetastoreResponseOutput { + return o +} + +func (o BackendMetastoreResponseOutput) ToBackendMetastoreResponseOutputWithContext(ctx context.Context) BackendMetastoreResponseOutput { + return o +} + +// The type of the backend metastore. +func (o BackendMetastoreResponseOutput) MetastoreType() pulumi.StringOutput { + return o.ApplyT(func(v BackendMetastoreResponse) string { return v.MetastoreType }).(pulumi.StringOutput) +} + +// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} +func (o BackendMetastoreResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v BackendMetastoreResponse) string { return v.Name }).(pulumi.StringOutput) +} + +type BackendMetastoreResponseMapOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BackendMetastoreResponse)(nil)).Elem() +} + +func (o BackendMetastoreResponseMapOutput) ToBackendMetastoreResponseMapOutput() BackendMetastoreResponseMapOutput { + return o +} + +func (o BackendMetastoreResponseMapOutput) ToBackendMetastoreResponseMapOutputWithContext(ctx context.Context) BackendMetastoreResponseMapOutput { + return o +} + +func (o BackendMetastoreResponseMapOutput) MapIndex(k pulumi.StringInput) BackendMetastoreResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BackendMetastoreResponse { + return vs[0].(map[string]BackendMetastoreResponse)[vs[1].(string)] + }).(BackendMetastoreResponseOutput) +} + // Associates members, or principals, with a role. type Binding struct { // The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies). @@ -1498,7 +1829,7 @@ func (o ExprResponseOutput) Title() pulumi.StringOutput { // Specifies configuration information specific to running Hive metastore software as the metastore service. type HiveMetastoreConfig struct { // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. - AuxiliaryVersions map[string]string `pulumi:"auxiliaryVersions"` + AuxiliaryVersions map[string]AuxiliaryVersionConfig `pulumi:"auxiliaryVersions"` // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. ConfigOverrides map[string]string `pulumi:"configOverrides"` // The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. @@ -1523,7 +1854,7 @@ type HiveMetastoreConfigInput interface { // Specifies configuration information specific to running Hive metastore software as the metastore service. type HiveMetastoreConfigArgs struct { // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. - AuxiliaryVersions pulumi.StringMapInput `pulumi:"auxiliaryVersions"` + AuxiliaryVersions AuxiliaryVersionConfigMapInput `pulumi:"auxiliaryVersions"` // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. ConfigOverrides pulumi.StringMapInput `pulumi:"configOverrides"` // The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. @@ -1613,8 +1944,8 @@ func (o HiveMetastoreConfigOutput) ToHiveMetastoreConfigPtrOutputWithContext(ctx } // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. -func (o HiveMetastoreConfigOutput) AuxiliaryVersions() pulumi.StringMapOutput { - return o.ApplyT(func(v HiveMetastoreConfig) map[string]string { return v.AuxiliaryVersions }).(pulumi.StringMapOutput) +func (o HiveMetastoreConfigOutput) AuxiliaryVersions() AuxiliaryVersionConfigMapOutput { + return o.ApplyT(func(v HiveMetastoreConfig) map[string]AuxiliaryVersionConfig { return v.AuxiliaryVersions }).(AuxiliaryVersionConfigMapOutput) } // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. @@ -1662,13 +1993,13 @@ func (o HiveMetastoreConfigPtrOutput) Elem() HiveMetastoreConfigOutput { } // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. -func (o HiveMetastoreConfigPtrOutput) AuxiliaryVersions() pulumi.StringMapOutput { - return o.ApplyT(func(v *HiveMetastoreConfig) map[string]string { +func (o HiveMetastoreConfigPtrOutput) AuxiliaryVersions() AuxiliaryVersionConfigMapOutput { + return o.ApplyT(func(v *HiveMetastoreConfig) map[string]AuxiliaryVersionConfig { if v == nil { return nil } return v.AuxiliaryVersions - }).(pulumi.StringMapOutput) + }).(AuxiliaryVersionConfigMapOutput) } // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. @@ -1714,7 +2045,7 @@ func (o HiveMetastoreConfigPtrOutput) Version() pulumi.StringPtrOutput { // Specifies configuration information specific to running Hive metastore software as the metastore service. type HiveMetastoreConfigResponse struct { // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. - AuxiliaryVersions map[string]string `pulumi:"auxiliaryVersions"` + AuxiliaryVersions map[string]AuxiliaryVersionConfigResponse `pulumi:"auxiliaryVersions"` // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. ConfigOverrides map[string]string `pulumi:"configOverrides"` // The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. @@ -1741,8 +2072,10 @@ func (o HiveMetastoreConfigResponseOutput) ToHiveMetastoreConfigResponseOutputWi } // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. -func (o HiveMetastoreConfigResponseOutput) AuxiliaryVersions() pulumi.StringMapOutput { - return o.ApplyT(func(v HiveMetastoreConfigResponse) map[string]string { return v.AuxiliaryVersions }).(pulumi.StringMapOutput) +func (o HiveMetastoreConfigResponseOutput) AuxiliaryVersions() AuxiliaryVersionConfigResponseMapOutput { + return o.ApplyT(func(v HiveMetastoreConfigResponse) map[string]AuxiliaryVersionConfigResponse { + return v.AuxiliaryVersions + }).(AuxiliaryVersionConfigResponseMapOutput) } // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. @@ -3404,6 +3737,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditConfigArrayInput)(nil)).Elem(), AuditConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigInput)(nil)).Elem(), AuditLogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigArrayInput)(nil)).Elem(), AuditLogConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuxiliaryVersionConfigInput)(nil)).Elem(), AuxiliaryVersionConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuxiliaryVersionConfigMapInput)(nil)).Elem(), AuxiliaryVersionConfigMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreInput)(nil)).Elem(), BackendMetastoreArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreMapInput)(nil)).Elem(), BackendMetastoreMap{}) pulumi.RegisterInputType(reflect.TypeOf((*BindingInput)(nil)).Elem(), BindingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BindingArrayInput)(nil)).Elem(), BindingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ConsumerInput)(nil)).Elem(), ConsumerArgs{}) @@ -3440,6 +3777,14 @@ func init() { pulumi.RegisterOutputType(AuditLogConfigArrayOutput{}) pulumi.RegisterOutputType(AuditLogConfigResponseOutput{}) pulumi.RegisterOutputType(AuditLogConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigMapOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigResponseOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigResponseMapOutput{}) + pulumi.RegisterOutputType(BackendMetastoreOutput{}) + pulumi.RegisterOutputType(BackendMetastoreMapOutput{}) + pulumi.RegisterOutputType(BackendMetastoreResponseOutput{}) + pulumi.RegisterOutputType(BackendMetastoreResponseMapOutput{}) pulumi.RegisterOutputType(BindingOutput{}) pulumi.RegisterOutputType(BindingArrayOutput{}) pulumi.RegisterOutputType(BindingResponseOutput{}) diff --git a/sdk/go/google/metastore/v1alpha/federation.go b/sdk/go/google/metastore/v1alpha/federation.go index 4e2e9346ae..112f7d5147 100644 --- a/sdk/go/google/metastore/v1alpha/federation.go +++ b/sdk/go/google/metastore/v1alpha/federation.go @@ -17,7 +17,7 @@ type Federation struct { pulumi.CustomResourceState // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores pulumi.StringMapOutput `pulumi:"backendMetastores"` + BackendMetastores BackendMetastoreResponseMapOutput `pulumi:"backendMetastores"` // The time when the metastore federation was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` // The federation endpoint. @@ -94,7 +94,7 @@ func (FederationState) ElementType() reflect.Type { type federationArgs struct { // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores map[string]string `pulumi:"backendMetastores"` + BackendMetastores map[string]BackendMetastore `pulumi:"backendMetastores"` // Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. FederationId string `pulumi:"federationId"` // User-defined labels for the metastore federation. @@ -112,7 +112,7 @@ type federationArgs struct { // The set of arguments for constructing a Federation resource. type FederationArgs struct { // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores pulumi.StringMapInput + BackendMetastores BackendMetastoreMapInput // Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. FederationId pulumi.StringInput // User-defined labels for the metastore federation. @@ -165,8 +165,8 @@ func (o FederationOutput) ToFederationOutputWithContext(ctx context.Context) Fed } // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. -func (o FederationOutput) BackendMetastores() pulumi.StringMapOutput { - return o.ApplyT(func(v *Federation) pulumi.StringMapOutput { return v.BackendMetastores }).(pulumi.StringMapOutput) +func (o FederationOutput) BackendMetastores() BackendMetastoreResponseMapOutput { + return o.ApplyT(func(v *Federation) BackendMetastoreResponseMapOutput { return v.BackendMetastores }).(BackendMetastoreResponseMapOutput) } // The time when the metastore federation was created. diff --git a/sdk/go/google/metastore/v1alpha/getFederation.go b/sdk/go/google/metastore/v1alpha/getFederation.go index 03caad23b4..71bb0ccf30 100644 --- a/sdk/go/google/metastore/v1alpha/getFederation.go +++ b/sdk/go/google/metastore/v1alpha/getFederation.go @@ -30,7 +30,7 @@ type LookupFederationArgs struct { type LookupFederationResult struct { // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores map[string]string `pulumi:"backendMetastores"` + BackendMetastores map[string]BackendMetastoreResponse `pulumi:"backendMetastores"` // The time when the metastore federation was created. CreateTime string `pulumi:"createTime"` // The federation endpoint. @@ -89,8 +89,8 @@ func (o LookupFederationResultOutput) ToLookupFederationResultOutputWithContext( } // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. -func (o LookupFederationResultOutput) BackendMetastores() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFederationResult) map[string]string { return v.BackendMetastores }).(pulumi.StringMapOutput) +func (o LookupFederationResultOutput) BackendMetastores() BackendMetastoreResponseMapOutput { + return o.ApplyT(func(v LookupFederationResult) map[string]BackendMetastoreResponse { return v.BackendMetastores }).(BackendMetastoreResponseMapOutput) } // The time when the metastore federation was created. diff --git a/sdk/go/google/metastore/v1alpha/pulumiEnums.go b/sdk/go/google/metastore/v1alpha/pulumiEnums.go index 88a628611c..c3ce6d1bb5 100644 --- a/sdk/go/google/metastore/v1alpha/pulumiEnums.go +++ b/sdk/go/google/metastore/v1alpha/pulumiEnums.go @@ -184,6 +184,180 @@ func (in *auditLogConfigLogTypePtr) ToAuditLogConfigLogTypePtrOutputWithContext( return pulumi.ToOutputWithContext(ctx, in).(AuditLogConfigLogTypePtrOutput) } +// The type of the backend metastore. +type BackendMetastoreMetastoreType string + +const ( + // The metastore type is not set. + BackendMetastoreMetastoreTypeMetastoreTypeUnspecified = BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED") + // The backend metastore is Dataplex. + BackendMetastoreMetastoreTypeDataplex = BackendMetastoreMetastoreType("DATAPLEX") + // The backend metastore is BigQuery. + BackendMetastoreMetastoreTypeBigquery = BackendMetastoreMetastoreType("BIGQUERY") + // The backend metastore is Dataproc Metastore. + BackendMetastoreMetastoreTypeDataprocMetastore = BackendMetastoreMetastoreType("DATAPROC_METASTORE") +) + +func (BackendMetastoreMetastoreType) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastoreMetastoreType)(nil)).Elem() +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypeOutput() BackendMetastoreMetastoreTypeOutput { + return pulumi.ToOutput(e).(BackendMetastoreMetastoreTypeOutput) +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypeOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(BackendMetastoreMetastoreTypeOutput) +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return e.ToBackendMetastoreMetastoreTypePtrOutputWithContext(context.Background()) +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return BackendMetastoreMetastoreType(e).ToBackendMetastoreMetastoreTypeOutputWithContext(ctx).ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx) +} + +func (e BackendMetastoreMetastoreType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e BackendMetastoreMetastoreType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e BackendMetastoreMetastoreType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e BackendMetastoreMetastoreType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type BackendMetastoreMetastoreTypeOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreMetastoreTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastoreMetastoreType)(nil)).Elem() +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypeOutput() BackendMetastoreMetastoreTypeOutput { + return o +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypeOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypeOutput { + return o +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return o.ToBackendMetastoreMetastoreTypePtrOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v BackendMetastoreMetastoreType) *BackendMetastoreMetastoreType { + return &v + }).(BackendMetastoreMetastoreTypePtrOutput) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e BackendMetastoreMetastoreType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e BackendMetastoreMetastoreType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type BackendMetastoreMetastoreTypePtrOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreMetastoreTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BackendMetastoreMetastoreType)(nil)).Elem() +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return o +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return o +} + +func (o BackendMetastoreMetastoreTypePtrOutput) Elem() BackendMetastoreMetastoreTypeOutput { + return o.ApplyT(func(v *BackendMetastoreMetastoreType) BackendMetastoreMetastoreType { + if v != nil { + return *v + } + var ret BackendMetastoreMetastoreType + return ret + }).(BackendMetastoreMetastoreTypeOutput) +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *BackendMetastoreMetastoreType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// BackendMetastoreMetastoreTypeInput is an input type that accepts values of the BackendMetastoreMetastoreType enum +// A concrete instance of `BackendMetastoreMetastoreTypeInput` can be one of the following: +// +// BackendMetastoreMetastoreTypeMetastoreTypeUnspecified +// BackendMetastoreMetastoreTypeDataplex +// BackendMetastoreMetastoreTypeBigquery +// BackendMetastoreMetastoreTypeDataprocMetastore +type BackendMetastoreMetastoreTypeInput interface { + pulumi.Input + + ToBackendMetastoreMetastoreTypeOutput() BackendMetastoreMetastoreTypeOutput + ToBackendMetastoreMetastoreTypeOutputWithContext(context.Context) BackendMetastoreMetastoreTypeOutput +} + +var backendMetastoreMetastoreTypePtrType = reflect.TypeOf((**BackendMetastoreMetastoreType)(nil)).Elem() + +type BackendMetastoreMetastoreTypePtrInput interface { + pulumi.Input + + ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput + ToBackendMetastoreMetastoreTypePtrOutputWithContext(context.Context) BackendMetastoreMetastoreTypePtrOutput +} + +type backendMetastoreMetastoreTypePtr string + +func BackendMetastoreMetastoreTypePtr(v string) BackendMetastoreMetastoreTypePtrInput { + return (*backendMetastoreMetastoreTypePtr)(&v) +} + +func (*backendMetastoreMetastoreTypePtr) ElementType() reflect.Type { + return backendMetastoreMetastoreTypePtrType +} + +func (in *backendMetastoreMetastoreTypePtr) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return pulumi.ToOutput(in).(BackendMetastoreMetastoreTypePtrOutput) +} + +func (in *backendMetastoreMetastoreTypePtr) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(BackendMetastoreMetastoreTypePtrOutput) +} + // The type of the database. type DatabaseDumpDatabaseType string @@ -1747,6 +1921,8 @@ func (in *telemetryConfigLogFormatPtr) ToTelemetryConfigLogFormatPtrOutputWithCo func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigLogTypeInput)(nil)).Elem(), AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigLogTypePtrInput)(nil)).Elem(), AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreMetastoreTypeInput)(nil)).Elem(), BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreMetastoreTypePtrInput)(nil)).Elem(), BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDumpDatabaseTypeInput)(nil)).Elem(), DatabaseDumpDatabaseType("DATABASE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDumpDatabaseTypePtrInput)(nil)).Elem(), DatabaseDumpDatabaseType("DATABASE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDumpTypeInput)(nil)).Elem(), DatabaseDumpType("TYPE_UNSPECIFIED")) @@ -1767,6 +1943,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TelemetryConfigLogFormatPtrInput)(nil)).Elem(), TelemetryConfigLogFormat("LOG_FORMAT_UNSPECIFIED")) pulumi.RegisterOutputType(AuditLogConfigLogTypeOutput{}) pulumi.RegisterOutputType(AuditLogConfigLogTypePtrOutput{}) + pulumi.RegisterOutputType(BackendMetastoreMetastoreTypeOutput{}) + pulumi.RegisterOutputType(BackendMetastoreMetastoreTypePtrOutput{}) pulumi.RegisterOutputType(DatabaseDumpDatabaseTypeOutput{}) pulumi.RegisterOutputType(DatabaseDumpDatabaseTypePtrOutput{}) pulumi.RegisterOutputType(DatabaseDumpTypeOutput{}) diff --git a/sdk/go/google/metastore/v1alpha/pulumiTypes.go b/sdk/go/google/metastore/v1alpha/pulumiTypes.go index 4e134e2277..f5ec86be01 100644 --- a/sdk/go/google/metastore/v1alpha/pulumiTypes.go +++ b/sdk/go/google/metastore/v1alpha/pulumiTypes.go @@ -337,6 +337,337 @@ func (o AuditLogConfigResponseArrayOutput) Index(i pulumi.IntInput) AuditLogConf }).(AuditLogConfigResponseOutput) } +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfig struct { + // A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + ConfigOverrides map[string]string `pulumi:"configOverrides"` + // The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + Version *string `pulumi:"version"` +} + +// AuxiliaryVersionConfigInput is an input type that accepts AuxiliaryVersionConfigArgs and AuxiliaryVersionConfigOutput values. +// You can construct a concrete instance of `AuxiliaryVersionConfigInput` via: +// +// AuxiliaryVersionConfigArgs{...} +type AuxiliaryVersionConfigInput interface { + pulumi.Input + + ToAuxiliaryVersionConfigOutput() AuxiliaryVersionConfigOutput + ToAuxiliaryVersionConfigOutputWithContext(context.Context) AuxiliaryVersionConfigOutput +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigArgs struct { + // A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + ConfigOverrides pulumi.StringMapInput `pulumi:"configOverrides"` + // The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (AuxiliaryVersionConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AuxiliaryVersionConfig)(nil)).Elem() +} + +func (i AuxiliaryVersionConfigArgs) ToAuxiliaryVersionConfigOutput() AuxiliaryVersionConfigOutput { + return i.ToAuxiliaryVersionConfigOutputWithContext(context.Background()) +} + +func (i AuxiliaryVersionConfigArgs) ToAuxiliaryVersionConfigOutputWithContext(ctx context.Context) AuxiliaryVersionConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuxiliaryVersionConfigOutput) +} + +// AuxiliaryVersionConfigMapInput is an input type that accepts AuxiliaryVersionConfigMap and AuxiliaryVersionConfigMapOutput values. +// You can construct a concrete instance of `AuxiliaryVersionConfigMapInput` via: +// +// AuxiliaryVersionConfigMap{ "key": AuxiliaryVersionConfigArgs{...} } +type AuxiliaryVersionConfigMapInput interface { + pulumi.Input + + ToAuxiliaryVersionConfigMapOutput() AuxiliaryVersionConfigMapOutput + ToAuxiliaryVersionConfigMapOutputWithContext(context.Context) AuxiliaryVersionConfigMapOutput +} + +type AuxiliaryVersionConfigMap map[string]AuxiliaryVersionConfigInput + +func (AuxiliaryVersionConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AuxiliaryVersionConfig)(nil)).Elem() +} + +func (i AuxiliaryVersionConfigMap) ToAuxiliaryVersionConfigMapOutput() AuxiliaryVersionConfigMapOutput { + return i.ToAuxiliaryVersionConfigMapOutputWithContext(context.Background()) +} + +func (i AuxiliaryVersionConfigMap) ToAuxiliaryVersionConfigMapOutputWithContext(ctx context.Context) AuxiliaryVersionConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuxiliaryVersionConfigMapOutput) +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AuxiliaryVersionConfig)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigOutput) ToAuxiliaryVersionConfigOutput() AuxiliaryVersionConfigOutput { + return o +} + +func (o AuxiliaryVersionConfigOutput) ToAuxiliaryVersionConfigOutputWithContext(ctx context.Context) AuxiliaryVersionConfigOutput { + return o +} + +// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. +func (o AuxiliaryVersionConfigOutput) ConfigOverrides() pulumi.StringMapOutput { + return o.ApplyT(func(v AuxiliaryVersionConfig) map[string]string { return v.ConfigOverrides }).(pulumi.StringMapOutput) +} + +// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. +func (o AuxiliaryVersionConfigOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v AuxiliaryVersionConfig) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type AuxiliaryVersionConfigMapOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AuxiliaryVersionConfig)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigMapOutput) ToAuxiliaryVersionConfigMapOutput() AuxiliaryVersionConfigMapOutput { + return o +} + +func (o AuxiliaryVersionConfigMapOutput) ToAuxiliaryVersionConfigMapOutputWithContext(ctx context.Context) AuxiliaryVersionConfigMapOutput { + return o +} + +func (o AuxiliaryVersionConfigMapOutput) MapIndex(k pulumi.StringInput) AuxiliaryVersionConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AuxiliaryVersionConfig { + return vs[0].(map[string]AuxiliaryVersionConfig)[vs[1].(string)] + }).(AuxiliaryVersionConfigOutput) +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigResponse struct { + // A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + ConfigOverrides map[string]string `pulumi:"configOverrides"` + // The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + NetworkConfig NetworkConfigResponse `pulumi:"networkConfig"` + // The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + Version string `pulumi:"version"` +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigResponseOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AuxiliaryVersionConfigResponse)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigResponseOutput) ToAuxiliaryVersionConfigResponseOutput() AuxiliaryVersionConfigResponseOutput { + return o +} + +func (o AuxiliaryVersionConfigResponseOutput) ToAuxiliaryVersionConfigResponseOutputWithContext(ctx context.Context) AuxiliaryVersionConfigResponseOutput { + return o +} + +// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. +func (o AuxiliaryVersionConfigResponseOutput) ConfigOverrides() pulumi.StringMapOutput { + return o.ApplyT(func(v AuxiliaryVersionConfigResponse) map[string]string { return v.ConfigOverrides }).(pulumi.StringMapOutput) +} + +// The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. +func (o AuxiliaryVersionConfigResponseOutput) NetworkConfig() NetworkConfigResponseOutput { + return o.ApplyT(func(v AuxiliaryVersionConfigResponse) NetworkConfigResponse { return v.NetworkConfig }).(NetworkConfigResponseOutput) +} + +// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. +func (o AuxiliaryVersionConfigResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v AuxiliaryVersionConfigResponse) string { return v.Version }).(pulumi.StringOutput) +} + +type AuxiliaryVersionConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AuxiliaryVersionConfigResponse)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigResponseMapOutput) ToAuxiliaryVersionConfigResponseMapOutput() AuxiliaryVersionConfigResponseMapOutput { + return o +} + +func (o AuxiliaryVersionConfigResponseMapOutput) ToAuxiliaryVersionConfigResponseMapOutputWithContext(ctx context.Context) AuxiliaryVersionConfigResponseMapOutput { + return o +} + +func (o AuxiliaryVersionConfigResponseMapOutput) MapIndex(k pulumi.StringInput) AuxiliaryVersionConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AuxiliaryVersionConfigResponse { + return vs[0].(map[string]AuxiliaryVersionConfigResponse)[vs[1].(string)] + }).(AuxiliaryVersionConfigResponseOutput) +} + +// Represents a backend metastore for the federation. +type BackendMetastore struct { + // The type of the backend metastore. + MetastoreType *BackendMetastoreMetastoreType `pulumi:"metastoreType"` + // The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + Name *string `pulumi:"name"` +} + +// BackendMetastoreInput is an input type that accepts BackendMetastoreArgs and BackendMetastoreOutput values. +// You can construct a concrete instance of `BackendMetastoreInput` via: +// +// BackendMetastoreArgs{...} +type BackendMetastoreInput interface { + pulumi.Input + + ToBackendMetastoreOutput() BackendMetastoreOutput + ToBackendMetastoreOutputWithContext(context.Context) BackendMetastoreOutput +} + +// Represents a backend metastore for the federation. +type BackendMetastoreArgs struct { + // The type of the backend metastore. + MetastoreType BackendMetastoreMetastoreTypePtrInput `pulumi:"metastoreType"` + // The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (BackendMetastoreArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastore)(nil)).Elem() +} + +func (i BackendMetastoreArgs) ToBackendMetastoreOutput() BackendMetastoreOutput { + return i.ToBackendMetastoreOutputWithContext(context.Background()) +} + +func (i BackendMetastoreArgs) ToBackendMetastoreOutputWithContext(ctx context.Context) BackendMetastoreOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackendMetastoreOutput) +} + +// BackendMetastoreMapInput is an input type that accepts BackendMetastoreMap and BackendMetastoreMapOutput values. +// You can construct a concrete instance of `BackendMetastoreMapInput` via: +// +// BackendMetastoreMap{ "key": BackendMetastoreArgs{...} } +type BackendMetastoreMapInput interface { + pulumi.Input + + ToBackendMetastoreMapOutput() BackendMetastoreMapOutput + ToBackendMetastoreMapOutputWithContext(context.Context) BackendMetastoreMapOutput +} + +type BackendMetastoreMap map[string]BackendMetastoreInput + +func (BackendMetastoreMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BackendMetastore)(nil)).Elem() +} + +func (i BackendMetastoreMap) ToBackendMetastoreMapOutput() BackendMetastoreMapOutput { + return i.ToBackendMetastoreMapOutputWithContext(context.Background()) +} + +func (i BackendMetastoreMap) ToBackendMetastoreMapOutputWithContext(ctx context.Context) BackendMetastoreMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackendMetastoreMapOutput) +} + +// Represents a backend metastore for the federation. +type BackendMetastoreOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastore)(nil)).Elem() +} + +func (o BackendMetastoreOutput) ToBackendMetastoreOutput() BackendMetastoreOutput { + return o +} + +func (o BackendMetastoreOutput) ToBackendMetastoreOutputWithContext(ctx context.Context) BackendMetastoreOutput { + return o +} + +// The type of the backend metastore. +func (o BackendMetastoreOutput) MetastoreType() BackendMetastoreMetastoreTypePtrOutput { + return o.ApplyT(func(v BackendMetastore) *BackendMetastoreMetastoreType { return v.MetastoreType }).(BackendMetastoreMetastoreTypePtrOutput) +} + +// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} +func (o BackendMetastoreOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v BackendMetastore) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type BackendMetastoreMapOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BackendMetastore)(nil)).Elem() +} + +func (o BackendMetastoreMapOutput) ToBackendMetastoreMapOutput() BackendMetastoreMapOutput { + return o +} + +func (o BackendMetastoreMapOutput) ToBackendMetastoreMapOutputWithContext(ctx context.Context) BackendMetastoreMapOutput { + return o +} + +func (o BackendMetastoreMapOutput) MapIndex(k pulumi.StringInput) BackendMetastoreOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BackendMetastore { + return vs[0].(map[string]BackendMetastore)[vs[1].(string)] + }).(BackendMetastoreOutput) +} + +// Represents a backend metastore for the federation. +type BackendMetastoreResponse struct { + // The type of the backend metastore. + MetastoreType string `pulumi:"metastoreType"` + // The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + Name string `pulumi:"name"` +} + +// Represents a backend metastore for the federation. +type BackendMetastoreResponseOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastoreResponse)(nil)).Elem() +} + +func (o BackendMetastoreResponseOutput) ToBackendMetastoreResponseOutput() BackendMetastoreResponseOutput { + return o +} + +func (o BackendMetastoreResponseOutput) ToBackendMetastoreResponseOutputWithContext(ctx context.Context) BackendMetastoreResponseOutput { + return o +} + +// The type of the backend metastore. +func (o BackendMetastoreResponseOutput) MetastoreType() pulumi.StringOutput { + return o.ApplyT(func(v BackendMetastoreResponse) string { return v.MetastoreType }).(pulumi.StringOutput) +} + +// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} +func (o BackendMetastoreResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v BackendMetastoreResponse) string { return v.Name }).(pulumi.StringOutput) +} + +type BackendMetastoreResponseMapOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BackendMetastoreResponse)(nil)).Elem() +} + +func (o BackendMetastoreResponseMapOutput) ToBackendMetastoreResponseMapOutput() BackendMetastoreResponseMapOutput { + return o +} + +func (o BackendMetastoreResponseMapOutput) ToBackendMetastoreResponseMapOutputWithContext(ctx context.Context) BackendMetastoreResponseMapOutput { + return o +} + +func (o BackendMetastoreResponseMapOutput) MapIndex(k pulumi.StringInput) BackendMetastoreResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BackendMetastoreResponse { + return vs[0].(map[string]BackendMetastoreResponse)[vs[1].(string)] + }).(BackendMetastoreResponseOutput) +} + // Associates members, or principals, with a role. type Binding struct { // The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies). @@ -1088,7 +1419,7 @@ func (o DatabaseDumpResponseOutput) Type() pulumi.StringOutput { // Specifies how metastore metadata should be integrated with the Dataplex service. type DataplexConfig struct { // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. - LakeResources map[string]string `pulumi:"lakeResources"` + LakeResources map[string]Lake `pulumi:"lakeResources"` } // DataplexConfigInput is an input type that accepts DataplexConfigArgs and DataplexConfigOutput values. @@ -1105,7 +1436,7 @@ type DataplexConfigInput interface { // Specifies how metastore metadata should be integrated with the Dataplex service. type DataplexConfigArgs struct { // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. - LakeResources pulumi.StringMapInput `pulumi:"lakeResources"` + LakeResources LakeMapInput `pulumi:"lakeResources"` } func (DataplexConfigArgs) ElementType() reflect.Type { @@ -1187,8 +1518,8 @@ func (o DataplexConfigOutput) ToDataplexConfigPtrOutputWithContext(ctx context.C } // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. -func (o DataplexConfigOutput) LakeResources() pulumi.StringMapOutput { - return o.ApplyT(func(v DataplexConfig) map[string]string { return v.LakeResources }).(pulumi.StringMapOutput) +func (o DataplexConfigOutput) LakeResources() LakeMapOutput { + return o.ApplyT(func(v DataplexConfig) map[string]Lake { return v.LakeResources }).(LakeMapOutput) } type DataplexConfigPtrOutput struct{ *pulumi.OutputState } @@ -1216,19 +1547,19 @@ func (o DataplexConfigPtrOutput) Elem() DataplexConfigOutput { } // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. -func (o DataplexConfigPtrOutput) LakeResources() pulumi.StringMapOutput { - return o.ApplyT(func(v *DataplexConfig) map[string]string { +func (o DataplexConfigPtrOutput) LakeResources() LakeMapOutput { + return o.ApplyT(func(v *DataplexConfig) map[string]Lake { if v == nil { return nil } return v.LakeResources - }).(pulumi.StringMapOutput) + }).(LakeMapOutput) } // Specifies how metastore metadata should be integrated with the Dataplex service. type DataplexConfigResponse struct { // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. - LakeResources map[string]string `pulumi:"lakeResources"` + LakeResources map[string]LakeResponse `pulumi:"lakeResources"` } // Specifies how metastore metadata should be integrated with the Dataplex service. @@ -1247,8 +1578,8 @@ func (o DataplexConfigResponseOutput) ToDataplexConfigResponseOutputWithContext( } // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. -func (o DataplexConfigResponseOutput) LakeResources() pulumi.StringMapOutput { - return o.ApplyT(func(v DataplexConfigResponse) map[string]string { return v.LakeResources }).(pulumi.StringMapOutput) +func (o DataplexConfigResponseOutput) LakeResources() LakeResponseMapOutput { + return o.ApplyT(func(v DataplexConfigResponse) map[string]LakeResponse { return v.LakeResources }).(LakeResponseMapOutput) } // Encryption settings for the service. @@ -1664,7 +1995,7 @@ func (o ExprResponseOutput) Title() pulumi.StringOutput { // Specifies configuration information specific to running Hive metastore software as the metastore service. type HiveMetastoreConfig struct { // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. - AuxiliaryVersions map[string]string `pulumi:"auxiliaryVersions"` + AuxiliaryVersions map[string]AuxiliaryVersionConfig `pulumi:"auxiliaryVersions"` // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. ConfigOverrides map[string]string `pulumi:"configOverrides"` // The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. @@ -1689,7 +2020,7 @@ type HiveMetastoreConfigInput interface { // Specifies configuration information specific to running Hive metastore software as the metastore service. type HiveMetastoreConfigArgs struct { // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. - AuxiliaryVersions pulumi.StringMapInput `pulumi:"auxiliaryVersions"` + AuxiliaryVersions AuxiliaryVersionConfigMapInput `pulumi:"auxiliaryVersions"` // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. ConfigOverrides pulumi.StringMapInput `pulumi:"configOverrides"` // The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. @@ -1779,8 +2110,8 @@ func (o HiveMetastoreConfigOutput) ToHiveMetastoreConfigPtrOutputWithContext(ctx } // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. -func (o HiveMetastoreConfigOutput) AuxiliaryVersions() pulumi.StringMapOutput { - return o.ApplyT(func(v HiveMetastoreConfig) map[string]string { return v.AuxiliaryVersions }).(pulumi.StringMapOutput) +func (o HiveMetastoreConfigOutput) AuxiliaryVersions() AuxiliaryVersionConfigMapOutput { + return o.ApplyT(func(v HiveMetastoreConfig) map[string]AuxiliaryVersionConfig { return v.AuxiliaryVersions }).(AuxiliaryVersionConfigMapOutput) } // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. @@ -1828,13 +2159,13 @@ func (o HiveMetastoreConfigPtrOutput) Elem() HiveMetastoreConfigOutput { } // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. -func (o HiveMetastoreConfigPtrOutput) AuxiliaryVersions() pulumi.StringMapOutput { - return o.ApplyT(func(v *HiveMetastoreConfig) map[string]string { +func (o HiveMetastoreConfigPtrOutput) AuxiliaryVersions() AuxiliaryVersionConfigMapOutput { + return o.ApplyT(func(v *HiveMetastoreConfig) map[string]AuxiliaryVersionConfig { if v == nil { return nil } return v.AuxiliaryVersions - }).(pulumi.StringMapOutput) + }).(AuxiliaryVersionConfigMapOutput) } // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. @@ -1880,7 +2211,7 @@ func (o HiveMetastoreConfigPtrOutput) Version() pulumi.StringPtrOutput { // Specifies configuration information specific to running Hive metastore software as the metastore service. type HiveMetastoreConfigResponse struct { // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. - AuxiliaryVersions map[string]string `pulumi:"auxiliaryVersions"` + AuxiliaryVersions map[string]AuxiliaryVersionConfigResponse `pulumi:"auxiliaryVersions"` // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. ConfigOverrides map[string]string `pulumi:"configOverrides"` // The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. @@ -1907,8 +2238,10 @@ func (o HiveMetastoreConfigResponseOutput) ToHiveMetastoreConfigResponseOutputWi } // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. -func (o HiveMetastoreConfigResponseOutput) AuxiliaryVersions() pulumi.StringMapOutput { - return o.ApplyT(func(v HiveMetastoreConfigResponse) map[string]string { return v.AuxiliaryVersions }).(pulumi.StringMapOutput) +func (o HiveMetastoreConfigResponseOutput) AuxiliaryVersions() AuxiliaryVersionConfigResponseMapOutput { + return o.ApplyT(func(v HiveMetastoreConfigResponse) map[string]AuxiliaryVersionConfigResponse { + return v.AuxiliaryVersions + }).(AuxiliaryVersionConfigResponseMapOutput) } // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. @@ -2149,6 +2482,152 @@ func (o KerberosConfigResponseOutput) Principal() pulumi.StringOutput { return o.ApplyT(func(v KerberosConfigResponse) string { return v.Principal }).(pulumi.StringOutput) } +// Represents a Lake resource +type Lake struct { + // The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + Name *string `pulumi:"name"` +} + +// LakeInput is an input type that accepts LakeArgs and LakeOutput values. +// You can construct a concrete instance of `LakeInput` via: +// +// LakeArgs{...} +type LakeInput interface { + pulumi.Input + + ToLakeOutput() LakeOutput + ToLakeOutputWithContext(context.Context) LakeOutput +} + +// Represents a Lake resource +type LakeArgs struct { + // The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LakeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Lake)(nil)).Elem() +} + +func (i LakeArgs) ToLakeOutput() LakeOutput { + return i.ToLakeOutputWithContext(context.Background()) +} + +func (i LakeArgs) ToLakeOutputWithContext(ctx context.Context) LakeOutput { + return pulumi.ToOutputWithContext(ctx, i).(LakeOutput) +} + +// LakeMapInput is an input type that accepts LakeMap and LakeMapOutput values. +// You can construct a concrete instance of `LakeMapInput` via: +// +// LakeMap{ "key": LakeArgs{...} } +type LakeMapInput interface { + pulumi.Input + + ToLakeMapOutput() LakeMapOutput + ToLakeMapOutputWithContext(context.Context) LakeMapOutput +} + +type LakeMap map[string]LakeInput + +func (LakeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]Lake)(nil)).Elem() +} + +func (i LakeMap) ToLakeMapOutput() LakeMapOutput { + return i.ToLakeMapOutputWithContext(context.Background()) +} + +func (i LakeMap) ToLakeMapOutputWithContext(ctx context.Context) LakeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LakeMapOutput) +} + +// Represents a Lake resource +type LakeOutput struct{ *pulumi.OutputState } + +func (LakeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Lake)(nil)).Elem() +} + +func (o LakeOutput) ToLakeOutput() LakeOutput { + return o +} + +func (o LakeOutput) ToLakeOutputWithContext(ctx context.Context) LakeOutput { + return o +} + +// The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} +func (o LakeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v Lake) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type LakeMapOutput struct{ *pulumi.OutputState } + +func (LakeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]Lake)(nil)).Elem() +} + +func (o LakeMapOutput) ToLakeMapOutput() LakeMapOutput { + return o +} + +func (o LakeMapOutput) ToLakeMapOutputWithContext(ctx context.Context) LakeMapOutput { + return o +} + +func (o LakeMapOutput) MapIndex(k pulumi.StringInput) LakeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) Lake { + return vs[0].(map[string]Lake)[vs[1].(string)] + }).(LakeOutput) +} + +// Represents a Lake resource +type LakeResponse struct { + // The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + Name string `pulumi:"name"` +} + +// Represents a Lake resource +type LakeResponseOutput struct{ *pulumi.OutputState } + +func (LakeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LakeResponse)(nil)).Elem() +} + +func (o LakeResponseOutput) ToLakeResponseOutput() LakeResponseOutput { + return o +} + +func (o LakeResponseOutput) ToLakeResponseOutputWithContext(ctx context.Context) LakeResponseOutput { + return o +} + +// The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} +func (o LakeResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LakeResponse) string { return v.Name }).(pulumi.StringOutput) +} + +type LakeResponseMapOutput struct{ *pulumi.OutputState } + +func (LakeResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]LakeResponse)(nil)).Elem() +} + +func (o LakeResponseMapOutput) ToLakeResponseMapOutput() LakeResponseMapOutput { + return o +} + +func (o LakeResponseMapOutput) ToLakeResponseMapOutputWithContext(ctx context.Context) LakeResponseMapOutput { + return o +} + +func (o LakeResponseMapOutput) MapIndex(k pulumi.StringInput) LakeResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) LakeResponse { + return vs[0].(map[string]LakeResponse)[vs[1].(string)] + }).(LakeResponseOutput) +} + // Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service. type MaintenanceWindow struct { // The day of week, when the window starts. @@ -3622,6 +4101,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditConfigArrayInput)(nil)).Elem(), AuditConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigInput)(nil)).Elem(), AuditLogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigArrayInput)(nil)).Elem(), AuditLogConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuxiliaryVersionConfigInput)(nil)).Elem(), AuxiliaryVersionConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuxiliaryVersionConfigMapInput)(nil)).Elem(), AuxiliaryVersionConfigMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreInput)(nil)).Elem(), BackendMetastoreArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreMapInput)(nil)).Elem(), BackendMetastoreMap{}) pulumi.RegisterInputType(reflect.TypeOf((*BindingInput)(nil)).Elem(), BindingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BindingArrayInput)(nil)).Elem(), BindingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ConsumerInput)(nil)).Elem(), ConsumerArgs{}) @@ -3640,6 +4123,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*HiveMetastoreConfigPtrInput)(nil)).Elem(), HiveMetastoreConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KerberosConfigInput)(nil)).Elem(), KerberosConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KerberosConfigPtrInput)(nil)).Elem(), KerberosConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LakeInput)(nil)).Elem(), LakeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LakeMapInput)(nil)).Elem(), LakeMap{}) pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowInput)(nil)).Elem(), MaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowPtrInput)(nil)).Elem(), MaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MetadataIntegrationInput)(nil)).Elem(), MetadataIntegrationArgs{}) @@ -3660,6 +4145,14 @@ func init() { pulumi.RegisterOutputType(AuditLogConfigArrayOutput{}) pulumi.RegisterOutputType(AuditLogConfigResponseOutput{}) pulumi.RegisterOutputType(AuditLogConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigMapOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigResponseOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigResponseMapOutput{}) + pulumi.RegisterOutputType(BackendMetastoreOutput{}) + pulumi.RegisterOutputType(BackendMetastoreMapOutput{}) + pulumi.RegisterOutputType(BackendMetastoreResponseOutput{}) + pulumi.RegisterOutputType(BackendMetastoreResponseMapOutput{}) pulumi.RegisterOutputType(BindingOutput{}) pulumi.RegisterOutputType(BindingArrayOutput{}) pulumi.RegisterOutputType(BindingResponseOutput{}) @@ -3689,6 +4182,10 @@ func init() { pulumi.RegisterOutputType(KerberosConfigOutput{}) pulumi.RegisterOutputType(KerberosConfigPtrOutput{}) pulumi.RegisterOutputType(KerberosConfigResponseOutput{}) + pulumi.RegisterOutputType(LakeOutput{}) + pulumi.RegisterOutputType(LakeMapOutput{}) + pulumi.RegisterOutputType(LakeResponseOutput{}) + pulumi.RegisterOutputType(LakeResponseMapOutput{}) pulumi.RegisterOutputType(MaintenanceWindowOutput{}) pulumi.RegisterOutputType(MaintenanceWindowPtrOutput{}) pulumi.RegisterOutputType(MaintenanceWindowResponseOutput{}) diff --git a/sdk/go/google/metastore/v1beta/federation.go b/sdk/go/google/metastore/v1beta/federation.go index f990d3e165..2604850c3c 100644 --- a/sdk/go/google/metastore/v1beta/federation.go +++ b/sdk/go/google/metastore/v1beta/federation.go @@ -17,7 +17,7 @@ type Federation struct { pulumi.CustomResourceState // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores pulumi.StringMapOutput `pulumi:"backendMetastores"` + BackendMetastores BackendMetastoreResponseMapOutput `pulumi:"backendMetastores"` // The time when the metastore federation was created. CreateTime pulumi.StringOutput `pulumi:"createTime"` // The federation endpoint. @@ -94,7 +94,7 @@ func (FederationState) ElementType() reflect.Type { type federationArgs struct { // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores map[string]string `pulumi:"backendMetastores"` + BackendMetastores map[string]BackendMetastore `pulumi:"backendMetastores"` // Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. FederationId string `pulumi:"federationId"` // User-defined labels for the metastore federation. @@ -112,7 +112,7 @@ type federationArgs struct { // The set of arguments for constructing a Federation resource. type FederationArgs struct { // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores pulumi.StringMapInput + BackendMetastores BackendMetastoreMapInput // Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. FederationId pulumi.StringInput // User-defined labels for the metastore federation. @@ -165,8 +165,8 @@ func (o FederationOutput) ToFederationOutputWithContext(ctx context.Context) Fed } // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. -func (o FederationOutput) BackendMetastores() pulumi.StringMapOutput { - return o.ApplyT(func(v *Federation) pulumi.StringMapOutput { return v.BackendMetastores }).(pulumi.StringMapOutput) +func (o FederationOutput) BackendMetastores() BackendMetastoreResponseMapOutput { + return o.ApplyT(func(v *Federation) BackendMetastoreResponseMapOutput { return v.BackendMetastores }).(BackendMetastoreResponseMapOutput) } // The time when the metastore federation was created. diff --git a/sdk/go/google/metastore/v1beta/getFederation.go b/sdk/go/google/metastore/v1beta/getFederation.go index 65519f5f97..57e439421c 100644 --- a/sdk/go/google/metastore/v1beta/getFederation.go +++ b/sdk/go/google/metastore/v1beta/getFederation.go @@ -30,7 +30,7 @@ type LookupFederationArgs struct { type LookupFederationResult struct { // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. - BackendMetastores map[string]string `pulumi:"backendMetastores"` + BackendMetastores map[string]BackendMetastoreResponse `pulumi:"backendMetastores"` // The time when the metastore federation was created. CreateTime string `pulumi:"createTime"` // The federation endpoint. @@ -89,8 +89,8 @@ func (o LookupFederationResultOutput) ToLookupFederationResultOutputWithContext( } // A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. -func (o LookupFederationResultOutput) BackendMetastores() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupFederationResult) map[string]string { return v.BackendMetastores }).(pulumi.StringMapOutput) +func (o LookupFederationResultOutput) BackendMetastores() BackendMetastoreResponseMapOutput { + return o.ApplyT(func(v LookupFederationResult) map[string]BackendMetastoreResponse { return v.BackendMetastores }).(BackendMetastoreResponseMapOutput) } // The time when the metastore federation was created. diff --git a/sdk/go/google/metastore/v1beta/pulumiEnums.go b/sdk/go/google/metastore/v1beta/pulumiEnums.go index e955eed504..9224d74a6d 100644 --- a/sdk/go/google/metastore/v1beta/pulumiEnums.go +++ b/sdk/go/google/metastore/v1beta/pulumiEnums.go @@ -184,6 +184,180 @@ func (in *auditLogConfigLogTypePtr) ToAuditLogConfigLogTypePtrOutputWithContext( return pulumi.ToOutputWithContext(ctx, in).(AuditLogConfigLogTypePtrOutput) } +// The type of the backend metastore. +type BackendMetastoreMetastoreType string + +const ( + // The metastore type is not set. + BackendMetastoreMetastoreTypeMetastoreTypeUnspecified = BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED") + // The backend metastore is Dataplex. + BackendMetastoreMetastoreTypeDataplex = BackendMetastoreMetastoreType("DATAPLEX") + // The backend metastore is BigQuery. + BackendMetastoreMetastoreTypeBigquery = BackendMetastoreMetastoreType("BIGQUERY") + // The backend metastore is Dataproc Metastore. + BackendMetastoreMetastoreTypeDataprocMetastore = BackendMetastoreMetastoreType("DATAPROC_METASTORE") +) + +func (BackendMetastoreMetastoreType) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastoreMetastoreType)(nil)).Elem() +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypeOutput() BackendMetastoreMetastoreTypeOutput { + return pulumi.ToOutput(e).(BackendMetastoreMetastoreTypeOutput) +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypeOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(BackendMetastoreMetastoreTypeOutput) +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return e.ToBackendMetastoreMetastoreTypePtrOutputWithContext(context.Background()) +} + +func (e BackendMetastoreMetastoreType) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return BackendMetastoreMetastoreType(e).ToBackendMetastoreMetastoreTypeOutputWithContext(ctx).ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx) +} + +func (e BackendMetastoreMetastoreType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e BackendMetastoreMetastoreType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e BackendMetastoreMetastoreType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e BackendMetastoreMetastoreType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type BackendMetastoreMetastoreTypeOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreMetastoreTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastoreMetastoreType)(nil)).Elem() +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypeOutput() BackendMetastoreMetastoreTypeOutput { + return o +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypeOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypeOutput { + return o +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return o.ToBackendMetastoreMetastoreTypePtrOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v BackendMetastoreMetastoreType) *BackendMetastoreMetastoreType { + return &v + }).(BackendMetastoreMetastoreTypePtrOutput) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e BackendMetastoreMetastoreType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e BackendMetastoreMetastoreType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type BackendMetastoreMetastoreTypePtrOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreMetastoreTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BackendMetastoreMetastoreType)(nil)).Elem() +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return o +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return o +} + +func (o BackendMetastoreMetastoreTypePtrOutput) Elem() BackendMetastoreMetastoreTypeOutput { + return o.ApplyT(func(v *BackendMetastoreMetastoreType) BackendMetastoreMetastoreType { + if v != nil { + return *v + } + var ret BackendMetastoreMetastoreType + return ret + }).(BackendMetastoreMetastoreTypeOutput) +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o BackendMetastoreMetastoreTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *BackendMetastoreMetastoreType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// BackendMetastoreMetastoreTypeInput is an input type that accepts values of the BackendMetastoreMetastoreType enum +// A concrete instance of `BackendMetastoreMetastoreTypeInput` can be one of the following: +// +// BackendMetastoreMetastoreTypeMetastoreTypeUnspecified +// BackendMetastoreMetastoreTypeDataplex +// BackendMetastoreMetastoreTypeBigquery +// BackendMetastoreMetastoreTypeDataprocMetastore +type BackendMetastoreMetastoreTypeInput interface { + pulumi.Input + + ToBackendMetastoreMetastoreTypeOutput() BackendMetastoreMetastoreTypeOutput + ToBackendMetastoreMetastoreTypeOutputWithContext(context.Context) BackendMetastoreMetastoreTypeOutput +} + +var backendMetastoreMetastoreTypePtrType = reflect.TypeOf((**BackendMetastoreMetastoreType)(nil)).Elem() + +type BackendMetastoreMetastoreTypePtrInput interface { + pulumi.Input + + ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput + ToBackendMetastoreMetastoreTypePtrOutputWithContext(context.Context) BackendMetastoreMetastoreTypePtrOutput +} + +type backendMetastoreMetastoreTypePtr string + +func BackendMetastoreMetastoreTypePtr(v string) BackendMetastoreMetastoreTypePtrInput { + return (*backendMetastoreMetastoreTypePtr)(&v) +} + +func (*backendMetastoreMetastoreTypePtr) ElementType() reflect.Type { + return backendMetastoreMetastoreTypePtrType +} + +func (in *backendMetastoreMetastoreTypePtr) ToBackendMetastoreMetastoreTypePtrOutput() BackendMetastoreMetastoreTypePtrOutput { + return pulumi.ToOutput(in).(BackendMetastoreMetastoreTypePtrOutput) +} + +func (in *backendMetastoreMetastoreTypePtr) ToBackendMetastoreMetastoreTypePtrOutputWithContext(ctx context.Context) BackendMetastoreMetastoreTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(BackendMetastoreMetastoreTypePtrOutput) +} + // The type of the database. type DatabaseDumpDatabaseType string @@ -1747,6 +1921,8 @@ func (in *telemetryConfigLogFormatPtr) ToTelemetryConfigLogFormatPtrOutputWithCo func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigLogTypeInput)(nil)).Elem(), AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigLogTypePtrInput)(nil)).Elem(), AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreMetastoreTypeInput)(nil)).Elem(), BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreMetastoreTypePtrInput)(nil)).Elem(), BackendMetastoreMetastoreType("METASTORE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDumpDatabaseTypeInput)(nil)).Elem(), DatabaseDumpDatabaseType("DATABASE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDumpDatabaseTypePtrInput)(nil)).Elem(), DatabaseDumpDatabaseType("DATABASE_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*DatabaseDumpTypeInput)(nil)).Elem(), DatabaseDumpType("TYPE_UNSPECIFIED")) @@ -1767,6 +1943,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TelemetryConfigLogFormatPtrInput)(nil)).Elem(), TelemetryConfigLogFormat("LOG_FORMAT_UNSPECIFIED")) pulumi.RegisterOutputType(AuditLogConfigLogTypeOutput{}) pulumi.RegisterOutputType(AuditLogConfigLogTypePtrOutput{}) + pulumi.RegisterOutputType(BackendMetastoreMetastoreTypeOutput{}) + pulumi.RegisterOutputType(BackendMetastoreMetastoreTypePtrOutput{}) pulumi.RegisterOutputType(DatabaseDumpDatabaseTypeOutput{}) pulumi.RegisterOutputType(DatabaseDumpDatabaseTypePtrOutput{}) pulumi.RegisterOutputType(DatabaseDumpTypeOutput{}) diff --git a/sdk/go/google/metastore/v1beta/pulumiTypes.go b/sdk/go/google/metastore/v1beta/pulumiTypes.go index ec75df3e46..107179d1d6 100644 --- a/sdk/go/google/metastore/v1beta/pulumiTypes.go +++ b/sdk/go/google/metastore/v1beta/pulumiTypes.go @@ -337,6 +337,337 @@ func (o AuditLogConfigResponseArrayOutput) Index(i pulumi.IntInput) AuditLogConf }).(AuditLogConfigResponseOutput) } +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfig struct { + // A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + ConfigOverrides map[string]string `pulumi:"configOverrides"` + // The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + Version *string `pulumi:"version"` +} + +// AuxiliaryVersionConfigInput is an input type that accepts AuxiliaryVersionConfigArgs and AuxiliaryVersionConfigOutput values. +// You can construct a concrete instance of `AuxiliaryVersionConfigInput` via: +// +// AuxiliaryVersionConfigArgs{...} +type AuxiliaryVersionConfigInput interface { + pulumi.Input + + ToAuxiliaryVersionConfigOutput() AuxiliaryVersionConfigOutput + ToAuxiliaryVersionConfigOutputWithContext(context.Context) AuxiliaryVersionConfigOutput +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigArgs struct { + // A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + ConfigOverrides pulumi.StringMapInput `pulumi:"configOverrides"` + // The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + Version pulumi.StringPtrInput `pulumi:"version"` +} + +func (AuxiliaryVersionConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AuxiliaryVersionConfig)(nil)).Elem() +} + +func (i AuxiliaryVersionConfigArgs) ToAuxiliaryVersionConfigOutput() AuxiliaryVersionConfigOutput { + return i.ToAuxiliaryVersionConfigOutputWithContext(context.Background()) +} + +func (i AuxiliaryVersionConfigArgs) ToAuxiliaryVersionConfigOutputWithContext(ctx context.Context) AuxiliaryVersionConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuxiliaryVersionConfigOutput) +} + +// AuxiliaryVersionConfigMapInput is an input type that accepts AuxiliaryVersionConfigMap and AuxiliaryVersionConfigMapOutput values. +// You can construct a concrete instance of `AuxiliaryVersionConfigMapInput` via: +// +// AuxiliaryVersionConfigMap{ "key": AuxiliaryVersionConfigArgs{...} } +type AuxiliaryVersionConfigMapInput interface { + pulumi.Input + + ToAuxiliaryVersionConfigMapOutput() AuxiliaryVersionConfigMapOutput + ToAuxiliaryVersionConfigMapOutputWithContext(context.Context) AuxiliaryVersionConfigMapOutput +} + +type AuxiliaryVersionConfigMap map[string]AuxiliaryVersionConfigInput + +func (AuxiliaryVersionConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AuxiliaryVersionConfig)(nil)).Elem() +} + +func (i AuxiliaryVersionConfigMap) ToAuxiliaryVersionConfigMapOutput() AuxiliaryVersionConfigMapOutput { + return i.ToAuxiliaryVersionConfigMapOutputWithContext(context.Background()) +} + +func (i AuxiliaryVersionConfigMap) ToAuxiliaryVersionConfigMapOutputWithContext(ctx context.Context) AuxiliaryVersionConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuxiliaryVersionConfigMapOutput) +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AuxiliaryVersionConfig)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigOutput) ToAuxiliaryVersionConfigOutput() AuxiliaryVersionConfigOutput { + return o +} + +func (o AuxiliaryVersionConfigOutput) ToAuxiliaryVersionConfigOutputWithContext(ctx context.Context) AuxiliaryVersionConfigOutput { + return o +} + +// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. +func (o AuxiliaryVersionConfigOutput) ConfigOverrides() pulumi.StringMapOutput { + return o.ApplyT(func(v AuxiliaryVersionConfig) map[string]string { return v.ConfigOverrides }).(pulumi.StringMapOutput) +} + +// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. +func (o AuxiliaryVersionConfigOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v AuxiliaryVersionConfig) *string { return v.Version }).(pulumi.StringPtrOutput) +} + +type AuxiliaryVersionConfigMapOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AuxiliaryVersionConfig)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigMapOutput) ToAuxiliaryVersionConfigMapOutput() AuxiliaryVersionConfigMapOutput { + return o +} + +func (o AuxiliaryVersionConfigMapOutput) ToAuxiliaryVersionConfigMapOutputWithContext(ctx context.Context) AuxiliaryVersionConfigMapOutput { + return o +} + +func (o AuxiliaryVersionConfigMapOutput) MapIndex(k pulumi.StringInput) AuxiliaryVersionConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AuxiliaryVersionConfig { + return vs[0].(map[string]AuxiliaryVersionConfig)[vs[1].(string)] + }).(AuxiliaryVersionConfigOutput) +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigResponse struct { + // A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + ConfigOverrides map[string]string `pulumi:"configOverrides"` + // The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + NetworkConfig NetworkConfigResponse `pulumi:"networkConfig"` + // The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + Version string `pulumi:"version"` +} + +// Configuration information for the auxiliary service versions. +type AuxiliaryVersionConfigResponseOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AuxiliaryVersionConfigResponse)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigResponseOutput) ToAuxiliaryVersionConfigResponseOutput() AuxiliaryVersionConfigResponseOutput { + return o +} + +func (o AuxiliaryVersionConfigResponseOutput) ToAuxiliaryVersionConfigResponseOutputWithContext(ctx context.Context) AuxiliaryVersionConfigResponseOutput { + return o +} + +// A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. +func (o AuxiliaryVersionConfigResponseOutput) ConfigOverrides() pulumi.StringMapOutput { + return o.ApplyT(func(v AuxiliaryVersionConfigResponse) map[string]string { return v.ConfigOverrides }).(pulumi.StringMapOutput) +} + +// The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. +func (o AuxiliaryVersionConfigResponseOutput) NetworkConfig() NetworkConfigResponseOutput { + return o.ApplyT(func(v AuxiliaryVersionConfigResponse) NetworkConfigResponse { return v.NetworkConfig }).(NetworkConfigResponseOutput) +} + +// The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. +func (o AuxiliaryVersionConfigResponseOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v AuxiliaryVersionConfigResponse) string { return v.Version }).(pulumi.StringOutput) +} + +type AuxiliaryVersionConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (AuxiliaryVersionConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]AuxiliaryVersionConfigResponse)(nil)).Elem() +} + +func (o AuxiliaryVersionConfigResponseMapOutput) ToAuxiliaryVersionConfigResponseMapOutput() AuxiliaryVersionConfigResponseMapOutput { + return o +} + +func (o AuxiliaryVersionConfigResponseMapOutput) ToAuxiliaryVersionConfigResponseMapOutputWithContext(ctx context.Context) AuxiliaryVersionConfigResponseMapOutput { + return o +} + +func (o AuxiliaryVersionConfigResponseMapOutput) MapIndex(k pulumi.StringInput) AuxiliaryVersionConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) AuxiliaryVersionConfigResponse { + return vs[0].(map[string]AuxiliaryVersionConfigResponse)[vs[1].(string)] + }).(AuxiliaryVersionConfigResponseOutput) +} + +// Represents a backend metastore for the federation. +type BackendMetastore struct { + // The type of the backend metastore. + MetastoreType *BackendMetastoreMetastoreType `pulumi:"metastoreType"` + // The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + Name *string `pulumi:"name"` +} + +// BackendMetastoreInput is an input type that accepts BackendMetastoreArgs and BackendMetastoreOutput values. +// You can construct a concrete instance of `BackendMetastoreInput` via: +// +// BackendMetastoreArgs{...} +type BackendMetastoreInput interface { + pulumi.Input + + ToBackendMetastoreOutput() BackendMetastoreOutput + ToBackendMetastoreOutputWithContext(context.Context) BackendMetastoreOutput +} + +// Represents a backend metastore for the federation. +type BackendMetastoreArgs struct { + // The type of the backend metastore. + MetastoreType BackendMetastoreMetastoreTypePtrInput `pulumi:"metastoreType"` + // The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (BackendMetastoreArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastore)(nil)).Elem() +} + +func (i BackendMetastoreArgs) ToBackendMetastoreOutput() BackendMetastoreOutput { + return i.ToBackendMetastoreOutputWithContext(context.Background()) +} + +func (i BackendMetastoreArgs) ToBackendMetastoreOutputWithContext(ctx context.Context) BackendMetastoreOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackendMetastoreOutput) +} + +// BackendMetastoreMapInput is an input type that accepts BackendMetastoreMap and BackendMetastoreMapOutput values. +// You can construct a concrete instance of `BackendMetastoreMapInput` via: +// +// BackendMetastoreMap{ "key": BackendMetastoreArgs{...} } +type BackendMetastoreMapInput interface { + pulumi.Input + + ToBackendMetastoreMapOutput() BackendMetastoreMapOutput + ToBackendMetastoreMapOutputWithContext(context.Context) BackendMetastoreMapOutput +} + +type BackendMetastoreMap map[string]BackendMetastoreInput + +func (BackendMetastoreMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BackendMetastore)(nil)).Elem() +} + +func (i BackendMetastoreMap) ToBackendMetastoreMapOutput() BackendMetastoreMapOutput { + return i.ToBackendMetastoreMapOutputWithContext(context.Background()) +} + +func (i BackendMetastoreMap) ToBackendMetastoreMapOutputWithContext(ctx context.Context) BackendMetastoreMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(BackendMetastoreMapOutput) +} + +// Represents a backend metastore for the federation. +type BackendMetastoreOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastore)(nil)).Elem() +} + +func (o BackendMetastoreOutput) ToBackendMetastoreOutput() BackendMetastoreOutput { + return o +} + +func (o BackendMetastoreOutput) ToBackendMetastoreOutputWithContext(ctx context.Context) BackendMetastoreOutput { + return o +} + +// The type of the backend metastore. +func (o BackendMetastoreOutput) MetastoreType() BackendMetastoreMetastoreTypePtrOutput { + return o.ApplyT(func(v BackendMetastore) *BackendMetastoreMetastoreType { return v.MetastoreType }).(BackendMetastoreMetastoreTypePtrOutput) +} + +// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} +func (o BackendMetastoreOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v BackendMetastore) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type BackendMetastoreMapOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BackendMetastore)(nil)).Elem() +} + +func (o BackendMetastoreMapOutput) ToBackendMetastoreMapOutput() BackendMetastoreMapOutput { + return o +} + +func (o BackendMetastoreMapOutput) ToBackendMetastoreMapOutputWithContext(ctx context.Context) BackendMetastoreMapOutput { + return o +} + +func (o BackendMetastoreMapOutput) MapIndex(k pulumi.StringInput) BackendMetastoreOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BackendMetastore { + return vs[0].(map[string]BackendMetastore)[vs[1].(string)] + }).(BackendMetastoreOutput) +} + +// Represents a backend metastore for the federation. +type BackendMetastoreResponse struct { + // The type of the backend metastore. + MetastoreType string `pulumi:"metastoreType"` + // The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + Name string `pulumi:"name"` +} + +// Represents a backend metastore for the federation. +type BackendMetastoreResponseOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BackendMetastoreResponse)(nil)).Elem() +} + +func (o BackendMetastoreResponseOutput) ToBackendMetastoreResponseOutput() BackendMetastoreResponseOutput { + return o +} + +func (o BackendMetastoreResponseOutput) ToBackendMetastoreResponseOutputWithContext(ctx context.Context) BackendMetastoreResponseOutput { + return o +} + +// The type of the backend metastore. +func (o BackendMetastoreResponseOutput) MetastoreType() pulumi.StringOutput { + return o.ApplyT(func(v BackendMetastoreResponse) string { return v.MetastoreType }).(pulumi.StringOutput) +} + +// The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} +func (o BackendMetastoreResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v BackendMetastoreResponse) string { return v.Name }).(pulumi.StringOutput) +} + +type BackendMetastoreResponseMapOutput struct{ *pulumi.OutputState } + +func (BackendMetastoreResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]BackendMetastoreResponse)(nil)).Elem() +} + +func (o BackendMetastoreResponseMapOutput) ToBackendMetastoreResponseMapOutput() BackendMetastoreResponseMapOutput { + return o +} + +func (o BackendMetastoreResponseMapOutput) ToBackendMetastoreResponseMapOutputWithContext(ctx context.Context) BackendMetastoreResponseMapOutput { + return o +} + +func (o BackendMetastoreResponseMapOutput) MapIndex(k pulumi.StringInput) BackendMetastoreResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) BackendMetastoreResponse { + return vs[0].(map[string]BackendMetastoreResponse)[vs[1].(string)] + }).(BackendMetastoreResponseOutput) +} + // Associates members, or principals, with a role. type Binding struct { // The condition that is associated with this binding.If the condition evaluates to true, then this binding applies to the current request.If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding.To learn which resources support conditions in their IAM policies, see the IAM documentation (https://cloud.google.com/iam/help/conditions/resource-policies). @@ -1088,7 +1419,7 @@ func (o DatabaseDumpResponseOutput) Type() pulumi.StringOutput { // Specifies how metastore metadata should be integrated with the Dataplex service. type DataplexConfig struct { // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. - LakeResources map[string]string `pulumi:"lakeResources"` + LakeResources map[string]Lake `pulumi:"lakeResources"` } // DataplexConfigInput is an input type that accepts DataplexConfigArgs and DataplexConfigOutput values. @@ -1105,7 +1436,7 @@ type DataplexConfigInput interface { // Specifies how metastore metadata should be integrated with the Dataplex service. type DataplexConfigArgs struct { // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. - LakeResources pulumi.StringMapInput `pulumi:"lakeResources"` + LakeResources LakeMapInput `pulumi:"lakeResources"` } func (DataplexConfigArgs) ElementType() reflect.Type { @@ -1187,8 +1518,8 @@ func (o DataplexConfigOutput) ToDataplexConfigPtrOutputWithContext(ctx context.C } // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. -func (o DataplexConfigOutput) LakeResources() pulumi.StringMapOutput { - return o.ApplyT(func(v DataplexConfig) map[string]string { return v.LakeResources }).(pulumi.StringMapOutput) +func (o DataplexConfigOutput) LakeResources() LakeMapOutput { + return o.ApplyT(func(v DataplexConfig) map[string]Lake { return v.LakeResources }).(LakeMapOutput) } type DataplexConfigPtrOutput struct{ *pulumi.OutputState } @@ -1216,19 +1547,19 @@ func (o DataplexConfigPtrOutput) Elem() DataplexConfigOutput { } // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. -func (o DataplexConfigPtrOutput) LakeResources() pulumi.StringMapOutput { - return o.ApplyT(func(v *DataplexConfig) map[string]string { +func (o DataplexConfigPtrOutput) LakeResources() LakeMapOutput { + return o.ApplyT(func(v *DataplexConfig) map[string]Lake { if v == nil { return nil } return v.LakeResources - }).(pulumi.StringMapOutput) + }).(LakeMapOutput) } // Specifies how metastore metadata should be integrated with the Dataplex service. type DataplexConfigResponse struct { // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. - LakeResources map[string]string `pulumi:"lakeResources"` + LakeResources map[string]LakeResponse `pulumi:"lakeResources"` } // Specifies how metastore metadata should be integrated with the Dataplex service. @@ -1247,8 +1578,8 @@ func (o DataplexConfigResponseOutput) ToDataplexConfigResponseOutputWithContext( } // A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. -func (o DataplexConfigResponseOutput) LakeResources() pulumi.StringMapOutput { - return o.ApplyT(func(v DataplexConfigResponse) map[string]string { return v.LakeResources }).(pulumi.StringMapOutput) +func (o DataplexConfigResponseOutput) LakeResources() LakeResponseMapOutput { + return o.ApplyT(func(v DataplexConfigResponse) map[string]LakeResponse { return v.LakeResources }).(LakeResponseMapOutput) } // Encryption settings for the service. @@ -1664,7 +1995,7 @@ func (o ExprResponseOutput) Title() pulumi.StringOutput { // Specifies configuration information specific to running Hive metastore software as the metastore service. type HiveMetastoreConfig struct { // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. - AuxiliaryVersions map[string]string `pulumi:"auxiliaryVersions"` + AuxiliaryVersions map[string]AuxiliaryVersionConfig `pulumi:"auxiliaryVersions"` // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. ConfigOverrides map[string]string `pulumi:"configOverrides"` // The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. @@ -1689,7 +2020,7 @@ type HiveMetastoreConfigInput interface { // Specifies configuration information specific to running Hive metastore software as the metastore service. type HiveMetastoreConfigArgs struct { // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. - AuxiliaryVersions pulumi.StringMapInput `pulumi:"auxiliaryVersions"` + AuxiliaryVersions AuxiliaryVersionConfigMapInput `pulumi:"auxiliaryVersions"` // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. ConfigOverrides pulumi.StringMapInput `pulumi:"configOverrides"` // The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. @@ -1779,8 +2110,8 @@ func (o HiveMetastoreConfigOutput) ToHiveMetastoreConfigPtrOutputWithContext(ctx } // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. -func (o HiveMetastoreConfigOutput) AuxiliaryVersions() pulumi.StringMapOutput { - return o.ApplyT(func(v HiveMetastoreConfig) map[string]string { return v.AuxiliaryVersions }).(pulumi.StringMapOutput) +func (o HiveMetastoreConfigOutput) AuxiliaryVersions() AuxiliaryVersionConfigMapOutput { + return o.ApplyT(func(v HiveMetastoreConfig) map[string]AuxiliaryVersionConfig { return v.AuxiliaryVersions }).(AuxiliaryVersionConfigMapOutput) } // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. @@ -1828,13 +2159,13 @@ func (o HiveMetastoreConfigPtrOutput) Elem() HiveMetastoreConfigOutput { } // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. -func (o HiveMetastoreConfigPtrOutput) AuxiliaryVersions() pulumi.StringMapOutput { - return o.ApplyT(func(v *HiveMetastoreConfig) map[string]string { +func (o HiveMetastoreConfigPtrOutput) AuxiliaryVersions() AuxiliaryVersionConfigMapOutput { + return o.ApplyT(func(v *HiveMetastoreConfig) map[string]AuxiliaryVersionConfig { if v == nil { return nil } return v.AuxiliaryVersions - }).(pulumi.StringMapOutput) + }).(AuxiliaryVersionConfigMapOutput) } // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. @@ -1880,7 +2211,7 @@ func (o HiveMetastoreConfigPtrOutput) Version() pulumi.StringPtrOutput { // Specifies configuration information specific to running Hive metastore software as the metastore service. type HiveMetastoreConfigResponse struct { // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. - AuxiliaryVersions map[string]string `pulumi:"auxiliaryVersions"` + AuxiliaryVersions map[string]AuxiliaryVersionConfigResponse `pulumi:"auxiliaryVersions"` // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. ConfigOverrides map[string]string `pulumi:"configOverrides"` // The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. @@ -1907,8 +2238,10 @@ func (o HiveMetastoreConfigResponseOutput) ToHiveMetastoreConfigResponseOutputWi } // A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. -func (o HiveMetastoreConfigResponseOutput) AuxiliaryVersions() pulumi.StringMapOutput { - return o.ApplyT(func(v HiveMetastoreConfigResponse) map[string]string { return v.AuxiliaryVersions }).(pulumi.StringMapOutput) +func (o HiveMetastoreConfigResponseOutput) AuxiliaryVersions() AuxiliaryVersionConfigResponseMapOutput { + return o.ApplyT(func(v HiveMetastoreConfigResponse) map[string]AuxiliaryVersionConfigResponse { + return v.AuxiliaryVersions + }).(AuxiliaryVersionConfigResponseMapOutput) } // A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. @@ -2149,6 +2482,152 @@ func (o KerberosConfigResponseOutput) Principal() pulumi.StringOutput { return o.ApplyT(func(v KerberosConfigResponse) string { return v.Principal }).(pulumi.StringOutput) } +// Represents a Lake resource +type Lake struct { + // The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + Name *string `pulumi:"name"` +} + +// LakeInput is an input type that accepts LakeArgs and LakeOutput values. +// You can construct a concrete instance of `LakeInput` via: +// +// LakeArgs{...} +type LakeInput interface { + pulumi.Input + + ToLakeOutput() LakeOutput + ToLakeOutputWithContext(context.Context) LakeOutput +} + +// Represents a Lake resource +type LakeArgs struct { + // The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + Name pulumi.StringPtrInput `pulumi:"name"` +} + +func (LakeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Lake)(nil)).Elem() +} + +func (i LakeArgs) ToLakeOutput() LakeOutput { + return i.ToLakeOutputWithContext(context.Background()) +} + +func (i LakeArgs) ToLakeOutputWithContext(ctx context.Context) LakeOutput { + return pulumi.ToOutputWithContext(ctx, i).(LakeOutput) +} + +// LakeMapInput is an input type that accepts LakeMap and LakeMapOutput values. +// You can construct a concrete instance of `LakeMapInput` via: +// +// LakeMap{ "key": LakeArgs{...} } +type LakeMapInput interface { + pulumi.Input + + ToLakeMapOutput() LakeMapOutput + ToLakeMapOutputWithContext(context.Context) LakeMapOutput +} + +type LakeMap map[string]LakeInput + +func (LakeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]Lake)(nil)).Elem() +} + +func (i LakeMap) ToLakeMapOutput() LakeMapOutput { + return i.ToLakeMapOutputWithContext(context.Background()) +} + +func (i LakeMap) ToLakeMapOutputWithContext(ctx context.Context) LakeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LakeMapOutput) +} + +// Represents a Lake resource +type LakeOutput struct{ *pulumi.OutputState } + +func (LakeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Lake)(nil)).Elem() +} + +func (o LakeOutput) ToLakeOutput() LakeOutput { + return o +} + +func (o LakeOutput) ToLakeOutputWithContext(ctx context.Context) LakeOutput { + return o +} + +// The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} +func (o LakeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v Lake) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +type LakeMapOutput struct{ *pulumi.OutputState } + +func (LakeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]Lake)(nil)).Elem() +} + +func (o LakeMapOutput) ToLakeMapOutput() LakeMapOutput { + return o +} + +func (o LakeMapOutput) ToLakeMapOutputWithContext(ctx context.Context) LakeMapOutput { + return o +} + +func (o LakeMapOutput) MapIndex(k pulumi.StringInput) LakeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) Lake { + return vs[0].(map[string]Lake)[vs[1].(string)] + }).(LakeOutput) +} + +// Represents a Lake resource +type LakeResponse struct { + // The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + Name string `pulumi:"name"` +} + +// Represents a Lake resource +type LakeResponseOutput struct{ *pulumi.OutputState } + +func (LakeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LakeResponse)(nil)).Elem() +} + +func (o LakeResponseOutput) ToLakeResponseOutput() LakeResponseOutput { + return o +} + +func (o LakeResponseOutput) ToLakeResponseOutputWithContext(ctx context.Context) LakeResponseOutput { + return o +} + +// The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} +func (o LakeResponseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LakeResponse) string { return v.Name }).(pulumi.StringOutput) +} + +type LakeResponseMapOutput struct{ *pulumi.OutputState } + +func (LakeResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]LakeResponse)(nil)).Elem() +} + +func (o LakeResponseMapOutput) ToLakeResponseMapOutput() LakeResponseMapOutput { + return o +} + +func (o LakeResponseMapOutput) ToLakeResponseMapOutputWithContext(ctx context.Context) LakeResponseMapOutput { + return o +} + +func (o LakeResponseMapOutput) MapIndex(k pulumi.StringInput) LakeResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) LakeResponse { + return vs[0].(map[string]LakeResponse)[vs[1].(string)] + }).(LakeResponseOutput) +} + // Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service. type MaintenanceWindow struct { // The day of week, when the window starts. @@ -3622,6 +4101,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditConfigArrayInput)(nil)).Elem(), AuditConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigInput)(nil)).Elem(), AuditLogConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigArrayInput)(nil)).Elem(), AuditLogConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuxiliaryVersionConfigInput)(nil)).Elem(), AuxiliaryVersionConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuxiliaryVersionConfigMapInput)(nil)).Elem(), AuxiliaryVersionConfigMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreInput)(nil)).Elem(), BackendMetastoreArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BackendMetastoreMapInput)(nil)).Elem(), BackendMetastoreMap{}) pulumi.RegisterInputType(reflect.TypeOf((*BindingInput)(nil)).Elem(), BindingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BindingArrayInput)(nil)).Elem(), BindingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ConsumerInput)(nil)).Elem(), ConsumerArgs{}) @@ -3640,6 +4123,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*HiveMetastoreConfigPtrInput)(nil)).Elem(), HiveMetastoreConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KerberosConfigInput)(nil)).Elem(), KerberosConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KerberosConfigPtrInput)(nil)).Elem(), KerberosConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LakeInput)(nil)).Elem(), LakeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*LakeMapInput)(nil)).Elem(), LakeMap{}) pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowInput)(nil)).Elem(), MaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MaintenanceWindowPtrInput)(nil)).Elem(), MaintenanceWindowArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MetadataIntegrationInput)(nil)).Elem(), MetadataIntegrationArgs{}) @@ -3660,6 +4145,14 @@ func init() { pulumi.RegisterOutputType(AuditLogConfigArrayOutput{}) pulumi.RegisterOutputType(AuditLogConfigResponseOutput{}) pulumi.RegisterOutputType(AuditLogConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigMapOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigResponseOutput{}) + pulumi.RegisterOutputType(AuxiliaryVersionConfigResponseMapOutput{}) + pulumi.RegisterOutputType(BackendMetastoreOutput{}) + pulumi.RegisterOutputType(BackendMetastoreMapOutput{}) + pulumi.RegisterOutputType(BackendMetastoreResponseOutput{}) + pulumi.RegisterOutputType(BackendMetastoreResponseMapOutput{}) pulumi.RegisterOutputType(BindingOutput{}) pulumi.RegisterOutputType(BindingArrayOutput{}) pulumi.RegisterOutputType(BindingResponseOutput{}) @@ -3689,6 +4182,10 @@ func init() { pulumi.RegisterOutputType(KerberosConfigOutput{}) pulumi.RegisterOutputType(KerberosConfigPtrOutput{}) pulumi.RegisterOutputType(KerberosConfigResponseOutput{}) + pulumi.RegisterOutputType(LakeOutput{}) + pulumi.RegisterOutputType(LakeMapOutput{}) + pulumi.RegisterOutputType(LakeResponseOutput{}) + pulumi.RegisterOutputType(LakeResponseMapOutput{}) pulumi.RegisterOutputType(MaintenanceWindowOutput{}) pulumi.RegisterOutputType(MaintenanceWindowPtrOutput{}) pulumi.RegisterOutputType(MaintenanceWindowResponseOutput{}) diff --git a/sdk/go/google/monitoring/v3/pulumiTypes.go b/sdk/go/google/monitoring/v3/pulumiTypes.go index 387d25acae..6a8b58626f 100644 --- a/sdk/go/google/monitoring/v3/pulumiTypes.go +++ b/sdk/go/google/monitoring/v3/pulumiTypes.go @@ -9734,7 +9734,7 @@ type Status struct { // The status code, which should be an enum value of google.rpc.Code. Code *int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message *string `pulumi:"message"` } @@ -9755,7 +9755,7 @@ type StatusArgs struct { // The status code, which should be an enum value of google.rpc.Code. Code pulumi.IntPtrInput `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details pulumi.StringMapArrayInput `pulumi:"details"` + Details pulumi.MapArrayInput `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message pulumi.StringPtrInput `pulumi:"message"` } @@ -9844,8 +9844,8 @@ func (o StatusOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v Status) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v Status) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -9888,13 +9888,13 @@ func (o StatusPtrOutput) Code() pulumi.IntPtrOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusPtrOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v *Status) []map[string]string { +func (o StatusPtrOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v *Status) []map[string]interface{} { if v == nil { return nil } return v.Details - }).(pulumi.StringMapArrayOutput) + }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. @@ -9912,7 +9912,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -9938,8 +9938,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/networkconnectivity/v1/pulumiTypes.go b/sdk/go/google/networkconnectivity/v1/pulumiTypes.go index 7e21ebb35a..26fe6f0293 100644 --- a/sdk/go/google/networkconnectivity/v1/pulumiTypes.go +++ b/sdk/go/google/networkconnectivity/v1/pulumiTypes.go @@ -1234,7 +1234,7 @@ type GoogleRpcStatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -1260,8 +1260,8 @@ func (o GoogleRpcStatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o GoogleRpcStatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o GoogleRpcStatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v GoogleRpcStatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/networkmanagement/v1/pulumiTypes.go b/sdk/go/google/networkmanagement/v1/pulumiTypes.go index 5b961e357f..7122bedfe9 100644 --- a/sdk/go/google/networkmanagement/v1/pulumiTypes.go +++ b/sdk/go/google/networkmanagement/v1/pulumiTypes.go @@ -2805,7 +2805,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -2831,8 +2831,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/networkmanagement/v1beta1/pulumiTypes.go b/sdk/go/google/networkmanagement/v1beta1/pulumiTypes.go index 694221953b..1928fc9c54 100644 --- a/sdk/go/google/networkmanagement/v1beta1/pulumiTypes.go +++ b/sdk/go/google/networkmanagement/v1beta1/pulumiTypes.go @@ -2812,7 +2812,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -2838,8 +2838,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/policysimulator/v1/pulumiEnums.go b/sdk/go/google/policysimulator/v1/pulumiEnums.go index 7734cb11a5..7231495a89 100644 --- a/sdk/go/google/policysimulator/v1/pulumiEnums.go +++ b/sdk/go/google/policysimulator/v1/pulumiEnums.go @@ -178,9 +178,187 @@ func (in *googleCloudPolicysimulatorV1ReplayConfigLogSourcePtr) ToGoogleCloudPol return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudPolicysimulatorV1ReplayConfigLogSourcePtrOutput) } +// The log type that this config enables. +type GoogleIamV1AuditLogConfigLogType string + +const ( + // Default case. Should never be this. + GoogleIamV1AuditLogConfigLogTypeLogTypeUnspecified = GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED") + // Admin reads. Example: CloudIAM getIamPolicy + GoogleIamV1AuditLogConfigLogTypeAdminRead = GoogleIamV1AuditLogConfigLogType("ADMIN_READ") + // Data writes. Example: CloudSQL Users create + GoogleIamV1AuditLogConfigLogTypeDataWrite = GoogleIamV1AuditLogConfigLogType("DATA_WRITE") + // Data reads. Example: CloudSQL Users list + GoogleIamV1AuditLogConfigLogTypeDataRead = GoogleIamV1AuditLogConfigLogType("DATA_READ") +) + +func (GoogleIamV1AuditLogConfigLogType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput { + return pulumi.ToOutput(e).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return e.ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return GoogleIamV1AuditLogConfigLogType(e).ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx).ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleIamV1AuditLogConfigLogTypeOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigLogTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypeOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleIamV1AuditLogConfigLogType) *GoogleIamV1AuditLogConfigLogType { + return &v + }).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleIamV1AuditLogConfigLogType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleIamV1AuditLogConfigLogType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1AuditLogConfigLogTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigLogTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) Elem() GoogleIamV1AuditLogConfigLogTypeOutput { + return o.ApplyT(func(v *GoogleIamV1AuditLogConfigLogType) GoogleIamV1AuditLogConfigLogType { + if v != nil { + return *v + } + var ret GoogleIamV1AuditLogConfigLogType + return ret + }).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleIamV1AuditLogConfigLogType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleIamV1AuditLogConfigLogTypeInput is an input type that accepts values of the GoogleIamV1AuditLogConfigLogType enum +// A concrete instance of `GoogleIamV1AuditLogConfigLogTypeInput` can be one of the following: +// +// GoogleIamV1AuditLogConfigLogTypeLogTypeUnspecified +// GoogleIamV1AuditLogConfigLogTypeAdminRead +// GoogleIamV1AuditLogConfigLogTypeDataWrite +// GoogleIamV1AuditLogConfigLogTypeDataRead +type GoogleIamV1AuditLogConfigLogTypeInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput + ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(context.Context) GoogleIamV1AuditLogConfigLogTypeOutput +} + +var googleIamV1AuditLogConfigLogTypePtrType = reflect.TypeOf((**GoogleIamV1AuditLogConfigLogType)(nil)).Elem() + +type GoogleIamV1AuditLogConfigLogTypePtrInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput + ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput +} + +type googleIamV1AuditLogConfigLogTypePtr string + +func GoogleIamV1AuditLogConfigLogTypePtr(v string) GoogleIamV1AuditLogConfigLogTypePtrInput { + return (*googleIamV1AuditLogConfigLogTypePtr)(&v) +} + +func (*googleIamV1AuditLogConfigLogTypePtr) ElementType() reflect.Type { + return googleIamV1AuditLogConfigLogTypePtrType +} + +func (in *googleIamV1AuditLogConfigLogTypePtr) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return pulumi.ToOutput(in).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +func (in *googleIamV1AuditLogConfigLogTypePtr) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1ReplayConfigLogSourceInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1ReplayConfigLogSource("LOG_SOURCE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1ReplayConfigLogSourcePtrInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1ReplayConfigLogSource("LOG_SOURCE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigLogTypeInput)(nil)).Elem(), GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigLogTypePtrInput)(nil)).Elem(), GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1ReplayConfigLogSourceOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1ReplayConfigLogSourcePtrOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigLogTypeOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigLogTypePtrOutput{}) } diff --git a/sdk/go/google/policysimulator/v1/pulumiTypes.go b/sdk/go/google/policysimulator/v1/pulumiTypes.go index f358166748..30692d54eb 100644 --- a/sdk/go/google/policysimulator/v1/pulumiTypes.go +++ b/sdk/go/google/policysimulator/v1/pulumiTypes.go @@ -18,7 +18,7 @@ type GoogleCloudPolicysimulatorV1ReplayConfig struct { // The logs to use as input for the Replay. LogSource *GoogleCloudPolicysimulatorV1ReplayConfigLogSource `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay map[string]string `pulumi:"policyOverlay"` + PolicyOverlay map[string]GoogleIamV1Policy `pulumi:"policyOverlay"` } // GoogleCloudPolicysimulatorV1ReplayConfigInput is an input type that accepts GoogleCloudPolicysimulatorV1ReplayConfigArgs and GoogleCloudPolicysimulatorV1ReplayConfigOutput values. @@ -37,7 +37,7 @@ type GoogleCloudPolicysimulatorV1ReplayConfigArgs struct { // The logs to use as input for the Replay. LogSource GoogleCloudPolicysimulatorV1ReplayConfigLogSourcePtrInput `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay pulumi.StringMapInput `pulumi:"policyOverlay"` + PolicyOverlay GoogleIamV1PolicyMapInput `pulumi:"policyOverlay"` } func (GoogleCloudPolicysimulatorV1ReplayConfigArgs) ElementType() reflect.Type { @@ -75,8 +75,8 @@ func (o GoogleCloudPolicysimulatorV1ReplayConfigOutput) LogSource() GoogleCloudP } // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. -func (o GoogleCloudPolicysimulatorV1ReplayConfigOutput) PolicyOverlay() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudPolicysimulatorV1ReplayConfig) map[string]string { return v.PolicyOverlay }).(pulumi.StringMapOutput) +func (o GoogleCloudPolicysimulatorV1ReplayConfigOutput) PolicyOverlay() GoogleIamV1PolicyMapOutput { + return o.ApplyT(func(v GoogleCloudPolicysimulatorV1ReplayConfig) map[string]GoogleIamV1Policy { return v.PolicyOverlay }).(GoogleIamV1PolicyMapOutput) } // The configuration used for a Replay. @@ -84,7 +84,7 @@ type GoogleCloudPolicysimulatorV1ReplayConfigResponse struct { // The logs to use as input for the Replay. LogSource string `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay map[string]string `pulumi:"policyOverlay"` + PolicyOverlay map[string]GoogleIamV1PolicyResponse `pulumi:"policyOverlay"` } // The configuration used for a Replay. @@ -108,8 +108,10 @@ func (o GoogleCloudPolicysimulatorV1ReplayConfigResponseOutput) LogSource() pulu } // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. -func (o GoogleCloudPolicysimulatorV1ReplayConfigResponseOutput) PolicyOverlay() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudPolicysimulatorV1ReplayConfigResponse) map[string]string { return v.PolicyOverlay }).(pulumi.StringMapOutput) +func (o GoogleCloudPolicysimulatorV1ReplayConfigResponseOutput) PolicyOverlay() GoogleIamV1PolicyResponseMapOutput { + return o.ApplyT(func(v GoogleCloudPolicysimulatorV1ReplayConfigResponse) map[string]GoogleIamV1PolicyResponse { + return v.PolicyOverlay + }).(GoogleIamV1PolicyResponseMapOutput) } // Summary statistics about the replayed log entries. @@ -177,6 +179,702 @@ func (o GoogleCloudPolicysimulatorV1ReplayResultsSummaryResponseOutput) Unchange return o.ApplyT(func(v GoogleCloudPolicysimulatorV1ReplayResultsSummaryResponse) int { return v.UnchangedCount }).(pulumi.IntOutput) } +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfig struct { + // The configuration for logging of each type of permission. + AuditLogConfigs []GoogleIamV1AuditLogConfig `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service *string `pulumi:"service"` +} + +// GoogleIamV1AuditConfigInput is an input type that accepts GoogleIamV1AuditConfigArgs and GoogleIamV1AuditConfigOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditConfigInput` via: +// +// GoogleIamV1AuditConfigArgs{...} +type GoogleIamV1AuditConfigInput interface { + pulumi.Input + + ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput + ToGoogleIamV1AuditConfigOutputWithContext(context.Context) GoogleIamV1AuditConfigOutput +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigArgs struct { + // The configuration for logging of each type of permission. + AuditLogConfigs GoogleIamV1AuditLogConfigArrayInput `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service pulumi.StringPtrInput `pulumi:"service"` +} + +func (GoogleIamV1AuditConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditConfigArgs) ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput { + return i.ToGoogleIamV1AuditConfigOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditConfigArgs) ToGoogleIamV1AuditConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditConfigOutput) +} + +// GoogleIamV1AuditConfigArrayInput is an input type that accepts GoogleIamV1AuditConfigArray and GoogleIamV1AuditConfigArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditConfigArrayInput` via: +// +// GoogleIamV1AuditConfigArray{ GoogleIamV1AuditConfigArgs{...} } +type GoogleIamV1AuditConfigArrayInput interface { + pulumi.Input + + ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput + ToGoogleIamV1AuditConfigArrayOutputWithContext(context.Context) GoogleIamV1AuditConfigArrayOutput +} + +type GoogleIamV1AuditConfigArray []GoogleIamV1AuditConfigInput + +func (GoogleIamV1AuditConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditConfigArray) ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput { + return i.ToGoogleIamV1AuditConfigArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditConfigArray) ToGoogleIamV1AuditConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditConfigArrayOutput) +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigOutput) ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput { + return o +} + +func (o GoogleIamV1AuditConfigOutput) ToGoogleIamV1AuditConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigOutput { + return o +} + +// The configuration for logging of each type of permission. +func (o GoogleIamV1AuditConfigOutput) AuditLogConfigs() GoogleIamV1AuditLogConfigArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfig) []GoogleIamV1AuditLogConfig { return v.AuditLogConfigs }).(GoogleIamV1AuditLogConfigArrayOutput) +} + +// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. +func (o GoogleIamV1AuditConfigOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfig) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1AuditConfigArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigArrayOutput) ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigArrayOutput) ToGoogleIamV1AuditConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditConfig { + return vs[0].([]GoogleIamV1AuditConfig)[vs[1].(int)] + }).(GoogleIamV1AuditConfigOutput) +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigResponse struct { + // The configuration for logging of each type of permission. + AuditLogConfigs []GoogleIamV1AuditLogConfigResponse `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service string `pulumi:"service"` +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigResponseOutput) ToGoogleIamV1AuditConfigResponseOutput() GoogleIamV1AuditConfigResponseOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseOutput) ToGoogleIamV1AuditConfigResponseOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigResponseOutput { + return o +} + +// The configuration for logging of each type of permission. +func (o GoogleIamV1AuditConfigResponseOutput) AuditLogConfigs() GoogleIamV1AuditLogConfigResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfigResponse) []GoogleIamV1AuditLogConfigResponse { return v.AuditLogConfigs }).(GoogleIamV1AuditLogConfigResponseArrayOutput) +} + +// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. +func (o GoogleIamV1AuditConfigResponseOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfigResponse) string { return v.Service }).(pulumi.StringOutput) +} + +type GoogleIamV1AuditConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) ToGoogleIamV1AuditConfigResponseArrayOutput() GoogleIamV1AuditConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) ToGoogleIamV1AuditConfigResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditConfigResponse { + return vs[0].([]GoogleIamV1AuditConfigResponse)[vs[1].(int)] + }).(GoogleIamV1AuditConfigResponseOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfig struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers []string `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType *GoogleIamV1AuditLogConfigLogType `pulumi:"logType"` +} + +// GoogleIamV1AuditLogConfigInput is an input type that accepts GoogleIamV1AuditLogConfigArgs and GoogleIamV1AuditLogConfigOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditLogConfigInput` via: +// +// GoogleIamV1AuditLogConfigArgs{...} +type GoogleIamV1AuditLogConfigInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput + ToGoogleIamV1AuditLogConfigOutputWithContext(context.Context) GoogleIamV1AuditLogConfigOutput +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigArgs struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers pulumi.StringArrayInput `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType GoogleIamV1AuditLogConfigLogTypePtrInput `pulumi:"logType"` +} + +func (GoogleIamV1AuditLogConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditLogConfigArgs) ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput { + return i.ToGoogleIamV1AuditLogConfigOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditLogConfigArgs) ToGoogleIamV1AuditLogConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditLogConfigOutput) +} + +// GoogleIamV1AuditLogConfigArrayInput is an input type that accepts GoogleIamV1AuditLogConfigArray and GoogleIamV1AuditLogConfigArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditLogConfigArrayInput` via: +// +// GoogleIamV1AuditLogConfigArray{ GoogleIamV1AuditLogConfigArgs{...} } +type GoogleIamV1AuditLogConfigArrayInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput + ToGoogleIamV1AuditLogConfigArrayOutputWithContext(context.Context) GoogleIamV1AuditLogConfigArrayOutput +} + +type GoogleIamV1AuditLogConfigArray []GoogleIamV1AuditLogConfigInput + +func (GoogleIamV1AuditLogConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditLogConfigArray) ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput { + return i.ToGoogleIamV1AuditLogConfigArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditLogConfigArray) ToGoogleIamV1AuditLogConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditLogConfigArrayOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigOutput) ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigOutput) ToGoogleIamV1AuditLogConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigOutput { + return o +} + +// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. +func (o GoogleIamV1AuditLogConfigOutput) ExemptedMembers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfig) []string { return v.ExemptedMembers }).(pulumi.StringArrayOutput) +} + +// The log type that this config enables. +func (o GoogleIamV1AuditLogConfigOutput) LogType() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfig) *GoogleIamV1AuditLogConfigLogType { return v.LogType }).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +type GoogleIamV1AuditLogConfigArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) ToGoogleIamV1AuditLogConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditLogConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditLogConfig { + return vs[0].([]GoogleIamV1AuditLogConfig)[vs[1].(int)] + }).(GoogleIamV1AuditLogConfigOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigResponse struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers []string `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType string `pulumi:"logType"` +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigResponseOutput) ToGoogleIamV1AuditLogConfigResponseOutput() GoogleIamV1AuditLogConfigResponseOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseOutput) ToGoogleIamV1AuditLogConfigResponseOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigResponseOutput { + return o +} + +// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. +func (o GoogleIamV1AuditLogConfigResponseOutput) ExemptedMembers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfigResponse) []string { return v.ExemptedMembers }).(pulumi.StringArrayOutput) +} + +// The log type that this config enables. +func (o GoogleIamV1AuditLogConfigResponseOutput) LogType() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfigResponse) string { return v.LogType }).(pulumi.StringOutput) +} + +type GoogleIamV1AuditLogConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) ToGoogleIamV1AuditLogConfigResponseArrayOutput() GoogleIamV1AuditLogConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) ToGoogleIamV1AuditLogConfigResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditLogConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditLogConfigResponse { + return vs[0].([]GoogleIamV1AuditLogConfigResponse)[vs[1].(int)] + }).(GoogleIamV1AuditLogConfigResponseOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1Binding struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition *GoogleTypeExpr `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + Members []string `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role *string `pulumi:"role"` +} + +// GoogleIamV1BindingInput is an input type that accepts GoogleIamV1BindingArgs and GoogleIamV1BindingOutput values. +// You can construct a concrete instance of `GoogleIamV1BindingInput` via: +// +// GoogleIamV1BindingArgs{...} +type GoogleIamV1BindingInput interface { + pulumi.Input + + ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput + ToGoogleIamV1BindingOutputWithContext(context.Context) GoogleIamV1BindingOutput +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingArgs struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition GoogleTypeExprPtrInput `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + Members pulumi.StringArrayInput `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role pulumi.StringPtrInput `pulumi:"role"` +} + +func (GoogleIamV1BindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Binding)(nil)).Elem() +} + +func (i GoogleIamV1BindingArgs) ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput { + return i.ToGoogleIamV1BindingOutputWithContext(context.Background()) +} + +func (i GoogleIamV1BindingArgs) ToGoogleIamV1BindingOutputWithContext(ctx context.Context) GoogleIamV1BindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1BindingOutput) +} + +// GoogleIamV1BindingArrayInput is an input type that accepts GoogleIamV1BindingArray and GoogleIamV1BindingArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1BindingArrayInput` via: +// +// GoogleIamV1BindingArray{ GoogleIamV1BindingArgs{...} } +type GoogleIamV1BindingArrayInput interface { + pulumi.Input + + ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput + ToGoogleIamV1BindingArrayOutputWithContext(context.Context) GoogleIamV1BindingArrayOutput +} + +type GoogleIamV1BindingArray []GoogleIamV1BindingInput + +func (GoogleIamV1BindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1Binding)(nil)).Elem() +} + +func (i GoogleIamV1BindingArray) ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput { + return i.ToGoogleIamV1BindingArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1BindingArray) ToGoogleIamV1BindingArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1BindingArrayOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Binding)(nil)).Elem() +} + +func (o GoogleIamV1BindingOutput) ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput { + return o +} + +func (o GoogleIamV1BindingOutput) ToGoogleIamV1BindingOutputWithContext(ctx context.Context) GoogleIamV1BindingOutput { + return o +} + +// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1BindingOutput) Condition() GoogleTypeExprPtrOutput { + return o.ApplyT(func(v GoogleIamV1Binding) *GoogleTypeExpr { return v.Condition }).(GoogleTypeExprPtrOutput) +} + +// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. +func (o GoogleIamV1BindingOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1Binding) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. +func (o GoogleIamV1BindingOutput) Role() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1Binding) *string { return v.Role }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1BindingArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1Binding)(nil)).Elem() +} + +func (o GoogleIamV1BindingArrayOutput) ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput { + return o +} + +func (o GoogleIamV1BindingArrayOutput) ToGoogleIamV1BindingArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingArrayOutput { + return o +} + +func (o GoogleIamV1BindingArrayOutput) Index(i pulumi.IntInput) GoogleIamV1BindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1Binding { + return vs[0].([]GoogleIamV1Binding)[vs[1].(int)] + }).(GoogleIamV1BindingOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingResponse struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition GoogleTypeExprResponse `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + Members []string `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role string `pulumi:"role"` +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1BindingResponse)(nil)).Elem() +} + +func (o GoogleIamV1BindingResponseOutput) ToGoogleIamV1BindingResponseOutput() GoogleIamV1BindingResponseOutput { + return o +} + +func (o GoogleIamV1BindingResponseOutput) ToGoogleIamV1BindingResponseOutputWithContext(ctx context.Context) GoogleIamV1BindingResponseOutput { + return o +} + +// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1BindingResponseOutput) Condition() GoogleTypeExprResponseOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) GoogleTypeExprResponse { return v.Condition }).(GoogleTypeExprResponseOutput) +} + +// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. +func (o GoogleIamV1BindingResponseOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. +func (o GoogleIamV1BindingResponseOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) string { return v.Role }).(pulumi.StringOutput) +} + +type GoogleIamV1BindingResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1BindingResponse)(nil)).Elem() +} + +func (o GoogleIamV1BindingResponseArrayOutput) ToGoogleIamV1BindingResponseArrayOutput() GoogleIamV1BindingResponseArrayOutput { + return o +} + +func (o GoogleIamV1BindingResponseArrayOutput) ToGoogleIamV1BindingResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingResponseArrayOutput { + return o +} + +func (o GoogleIamV1BindingResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1BindingResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1BindingResponse { + return vs[0].([]GoogleIamV1BindingResponse)[vs[1].(int)] + }).(GoogleIamV1BindingResponseOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1Policy struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs []GoogleIamV1AuditConfig `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings []GoogleIamV1Binding `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag *string `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version *int `pulumi:"version"` +} + +// GoogleIamV1PolicyInput is an input type that accepts GoogleIamV1PolicyArgs and GoogleIamV1PolicyOutput values. +// You can construct a concrete instance of `GoogleIamV1PolicyInput` via: +// +// GoogleIamV1PolicyArgs{...} +type GoogleIamV1PolicyInput interface { + pulumi.Input + + ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput + ToGoogleIamV1PolicyOutputWithContext(context.Context) GoogleIamV1PolicyOutput +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyArgs struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs GoogleIamV1AuditConfigArrayInput `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings GoogleIamV1BindingArrayInput `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version pulumi.IntPtrInput `pulumi:"version"` +} + +func (GoogleIamV1PolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Policy)(nil)).Elem() +} + +func (i GoogleIamV1PolicyArgs) ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput { + return i.ToGoogleIamV1PolicyOutputWithContext(context.Background()) +} + +func (i GoogleIamV1PolicyArgs) ToGoogleIamV1PolicyOutputWithContext(ctx context.Context) GoogleIamV1PolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1PolicyOutput) +} + +// GoogleIamV1PolicyMapInput is an input type that accepts GoogleIamV1PolicyMap and GoogleIamV1PolicyMapOutput values. +// You can construct a concrete instance of `GoogleIamV1PolicyMapInput` via: +// +// GoogleIamV1PolicyMap{ "key": GoogleIamV1PolicyArgs{...} } +type GoogleIamV1PolicyMapInput interface { + pulumi.Input + + ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput + ToGoogleIamV1PolicyMapOutputWithContext(context.Context) GoogleIamV1PolicyMapOutput +} + +type GoogleIamV1PolicyMap map[string]GoogleIamV1PolicyInput + +func (GoogleIamV1PolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1Policy)(nil)).Elem() +} + +func (i GoogleIamV1PolicyMap) ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput { + return i.ToGoogleIamV1PolicyMapOutputWithContext(context.Background()) +} + +func (i GoogleIamV1PolicyMap) ToGoogleIamV1PolicyMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1PolicyMapOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Policy)(nil)).Elem() +} + +func (o GoogleIamV1PolicyOutput) ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput { + return o +} + +func (o GoogleIamV1PolicyOutput) ToGoogleIamV1PolicyOutputWithContext(ctx context.Context) GoogleIamV1PolicyOutput { + return o +} + +// Specifies cloud audit logging configuration for this policy. +func (o GoogleIamV1PolicyOutput) AuditConfigs() GoogleIamV1AuditConfigArrayOutput { + return o.ApplyT(func(v GoogleIamV1Policy) []GoogleIamV1AuditConfig { return v.AuditConfigs }).(GoogleIamV1AuditConfigArrayOutput) +} + +// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. +func (o GoogleIamV1PolicyOutput) Bindings() GoogleIamV1BindingArrayOutput { + return o.ApplyT(func(v GoogleIamV1Policy) []GoogleIamV1Binding { return v.Bindings }).(GoogleIamV1BindingArrayOutput) +} + +// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. +func (o GoogleIamV1PolicyOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1Policy) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1PolicyOutput) Version() pulumi.IntPtrOutput { + return o.ApplyT(func(v GoogleIamV1Policy) *int { return v.Version }).(pulumi.IntPtrOutput) +} + +type GoogleIamV1PolicyMapOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1Policy)(nil)).Elem() +} + +func (o GoogleIamV1PolicyMapOutput) ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput { + return o +} + +func (o GoogleIamV1PolicyMapOutput) ToGoogleIamV1PolicyMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyMapOutput { + return o +} + +func (o GoogleIamV1PolicyMapOutput) MapIndex(k pulumi.StringInput) GoogleIamV1PolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleIamV1Policy { + return vs[0].(map[string]GoogleIamV1Policy)[vs[1].(string)] + }).(GoogleIamV1PolicyOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyResponse struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs []GoogleIamV1AuditConfigResponse `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings []GoogleIamV1BindingResponse `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag string `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version int `pulumi:"version"` +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1PolicyResponse)(nil)).Elem() +} + +func (o GoogleIamV1PolicyResponseOutput) ToGoogleIamV1PolicyResponseOutput() GoogleIamV1PolicyResponseOutput { + return o +} + +func (o GoogleIamV1PolicyResponseOutput) ToGoogleIamV1PolicyResponseOutputWithContext(ctx context.Context) GoogleIamV1PolicyResponseOutput { + return o +} + +// Specifies cloud audit logging configuration for this policy. +func (o GoogleIamV1PolicyResponseOutput) AuditConfigs() GoogleIamV1AuditConfigResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) []GoogleIamV1AuditConfigResponse { return v.AuditConfigs }).(GoogleIamV1AuditConfigResponseArrayOutput) +} + +// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. +func (o GoogleIamV1PolicyResponseOutput) Bindings() GoogleIamV1BindingResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) []GoogleIamV1BindingResponse { return v.Bindings }).(GoogleIamV1BindingResponseArrayOutput) +} + +// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. +func (o GoogleIamV1PolicyResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1PolicyResponseOutput) Version() pulumi.IntOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) int { return v.Version }).(pulumi.IntOutput) +} + +type GoogleIamV1PolicyResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1PolicyResponse)(nil)).Elem() +} + +func (o GoogleIamV1PolicyResponseMapOutput) ToGoogleIamV1PolicyResponseMapOutput() GoogleIamV1PolicyResponseMapOutput { + return o +} + +func (o GoogleIamV1PolicyResponseMapOutput) ToGoogleIamV1PolicyResponseMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyResponseMapOutput { + return o +} + +func (o GoogleIamV1PolicyResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleIamV1PolicyResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleIamV1PolicyResponse { + return vs[0].(map[string]GoogleIamV1PolicyResponse)[vs[1].(string)] + }).(GoogleIamV1PolicyResponseOutput) +} + // Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp type GoogleTypeDateResponse struct { // Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. @@ -217,10 +915,283 @@ func (o GoogleTypeDateResponseOutput) Year() pulumi.IntOutput { return o.ApplyT(func(v GoogleTypeDateResponse) int { return v.Year }).(pulumi.IntOutput) } +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExpr struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description *string `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression *string `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location *string `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title *string `pulumi:"title"` +} + +// GoogleTypeExprInput is an input type that accepts GoogleTypeExprArgs and GoogleTypeExprOutput values. +// You can construct a concrete instance of `GoogleTypeExprInput` via: +// +// GoogleTypeExprArgs{...} +type GoogleTypeExprInput interface { + pulumi.Input + + ToGoogleTypeExprOutput() GoogleTypeExprOutput + ToGoogleTypeExprOutputWithContext(context.Context) GoogleTypeExprOutput +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprArgs struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description pulumi.StringPtrInput `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression pulumi.StringPtrInput `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location pulumi.StringPtrInput `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title pulumi.StringPtrInput `pulumi:"title"` +} + +func (GoogleTypeExprArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExpr)(nil)).Elem() +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprOutput() GoogleTypeExprOutput { + return i.ToGoogleTypeExprOutputWithContext(context.Background()) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprOutputWithContext(ctx context.Context) GoogleTypeExprOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprOutput) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return i.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprOutput).ToGoogleTypeExprPtrOutputWithContext(ctx) +} + +// GoogleTypeExprPtrInput is an input type that accepts GoogleTypeExprArgs, GoogleTypeExprPtr and GoogleTypeExprPtrOutput values. +// You can construct a concrete instance of `GoogleTypeExprPtrInput` via: +// +// GoogleTypeExprArgs{...} +// +// or: +// +// nil +type GoogleTypeExprPtrInput interface { + pulumi.Input + + ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput + ToGoogleTypeExprPtrOutputWithContext(context.Context) GoogleTypeExprPtrOutput +} + +type googleTypeExprPtrType GoogleTypeExprArgs + +func GoogleTypeExprPtr(v *GoogleTypeExprArgs) GoogleTypeExprPtrInput { + return (*googleTypeExprPtrType)(v) +} + +func (*googleTypeExprPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleTypeExpr)(nil)).Elem() +} + +func (i *googleTypeExprPtrType) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return i.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (i *googleTypeExprPtrType) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprPtrOutput) +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExpr)(nil)).Elem() +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprOutput() GoogleTypeExprOutput { + return o +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprOutputWithContext(ctx context.Context) GoogleTypeExprOutput { + return o +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return o.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleTypeExpr) *GoogleTypeExpr { + return &v + }).(GoogleTypeExprPtrOutput) +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Expression }).(pulumi.StringPtrOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprOutput) Title() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Title }).(pulumi.StringPtrOutput) +} + +type GoogleTypeExprPtrOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleTypeExpr)(nil)).Elem() +} + +func (o GoogleTypeExprPtrOutput) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return o +} + +func (o GoogleTypeExprPtrOutput) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return o +} + +func (o GoogleTypeExprPtrOutput) Elem() GoogleTypeExprOutput { + return o.ApplyT(func(v *GoogleTypeExpr) GoogleTypeExpr { + if v != nil { + return *v + } + var ret GoogleTypeExpr + return ret + }).(GoogleTypeExprOutput) +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprPtrOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Expression + }).(pulumi.StringPtrOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprPtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprPtrOutput) Title() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Title + }).(pulumi.StringPtrOutput) +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprResponse struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description string `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression string `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location string `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title string `pulumi:"title"` +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprResponseOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExprResponse)(nil)).Elem() +} + +func (o GoogleTypeExprResponseOutput) ToGoogleTypeExprResponseOutput() GoogleTypeExprResponseOutput { + return o +} + +func (o GoogleTypeExprResponseOutput) ToGoogleTypeExprResponseOutputWithContext(ctx context.Context) GoogleTypeExprResponseOutput { + return o +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprResponseOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Expression }).(pulumi.StringOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprResponseOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Location }).(pulumi.StringOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprResponseOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Title }).(pulumi.StringOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1ReplayConfigInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1ReplayConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditConfigInput)(nil)).Elem(), GoogleIamV1AuditConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditConfigArrayInput)(nil)).Elem(), GoogleIamV1AuditConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigInput)(nil)).Elem(), GoogleIamV1AuditLogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigArrayInput)(nil)).Elem(), GoogleIamV1AuditLogConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1BindingInput)(nil)).Elem(), GoogleIamV1BindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1BindingArrayInput)(nil)).Elem(), GoogleIamV1BindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1PolicyInput)(nil)).Elem(), GoogleIamV1PolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1PolicyMapInput)(nil)).Elem(), GoogleIamV1PolicyMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleTypeExprInput)(nil)).Elem(), GoogleTypeExprArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleTypeExprPtrInput)(nil)).Elem(), GoogleTypeExprArgs{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1ReplayConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1ReplayConfigResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1ReplayResultsSummaryResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyMapOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyResponseMapOutput{}) pulumi.RegisterOutputType(GoogleTypeDateResponseOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprPtrOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprResponseOutput{}) } diff --git a/sdk/go/google/policysimulator/v1alpha/pulumiEnums.go b/sdk/go/google/policysimulator/v1alpha/pulumiEnums.go index 0fd6e9d0e4..7c8290e64b 100644 --- a/sdk/go/google/policysimulator/v1alpha/pulumiEnums.go +++ b/sdk/go/google/policysimulator/v1alpha/pulumiEnums.go @@ -178,9 +178,187 @@ func (in *googleCloudPolicysimulatorV1alphaReplayConfigLogSourcePtr) ToGoogleClo return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudPolicysimulatorV1alphaReplayConfigLogSourcePtrOutput) } +// The log type that this config enables. +type GoogleIamV1AuditLogConfigLogType string + +const ( + // Default case. Should never be this. + GoogleIamV1AuditLogConfigLogTypeLogTypeUnspecified = GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED") + // Admin reads. Example: CloudIAM getIamPolicy + GoogleIamV1AuditLogConfigLogTypeAdminRead = GoogleIamV1AuditLogConfigLogType("ADMIN_READ") + // Data writes. Example: CloudSQL Users create + GoogleIamV1AuditLogConfigLogTypeDataWrite = GoogleIamV1AuditLogConfigLogType("DATA_WRITE") + // Data reads. Example: CloudSQL Users list + GoogleIamV1AuditLogConfigLogTypeDataRead = GoogleIamV1AuditLogConfigLogType("DATA_READ") +) + +func (GoogleIamV1AuditLogConfigLogType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput { + return pulumi.ToOutput(e).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return e.ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return GoogleIamV1AuditLogConfigLogType(e).ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx).ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleIamV1AuditLogConfigLogTypeOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigLogTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypeOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleIamV1AuditLogConfigLogType) *GoogleIamV1AuditLogConfigLogType { + return &v + }).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleIamV1AuditLogConfigLogType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleIamV1AuditLogConfigLogType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1AuditLogConfigLogTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigLogTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) Elem() GoogleIamV1AuditLogConfigLogTypeOutput { + return o.ApplyT(func(v *GoogleIamV1AuditLogConfigLogType) GoogleIamV1AuditLogConfigLogType { + if v != nil { + return *v + } + var ret GoogleIamV1AuditLogConfigLogType + return ret + }).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleIamV1AuditLogConfigLogType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleIamV1AuditLogConfigLogTypeInput is an input type that accepts values of the GoogleIamV1AuditLogConfigLogType enum +// A concrete instance of `GoogleIamV1AuditLogConfigLogTypeInput` can be one of the following: +// +// GoogleIamV1AuditLogConfigLogTypeLogTypeUnspecified +// GoogleIamV1AuditLogConfigLogTypeAdminRead +// GoogleIamV1AuditLogConfigLogTypeDataWrite +// GoogleIamV1AuditLogConfigLogTypeDataRead +type GoogleIamV1AuditLogConfigLogTypeInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput + ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(context.Context) GoogleIamV1AuditLogConfigLogTypeOutput +} + +var googleIamV1AuditLogConfigLogTypePtrType = reflect.TypeOf((**GoogleIamV1AuditLogConfigLogType)(nil)).Elem() + +type GoogleIamV1AuditLogConfigLogTypePtrInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput + ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput +} + +type googleIamV1AuditLogConfigLogTypePtr string + +func GoogleIamV1AuditLogConfigLogTypePtr(v string) GoogleIamV1AuditLogConfigLogTypePtrInput { + return (*googleIamV1AuditLogConfigLogTypePtr)(&v) +} + +func (*googleIamV1AuditLogConfigLogTypePtr) ElementType() reflect.Type { + return googleIamV1AuditLogConfigLogTypePtrType +} + +func (in *googleIamV1AuditLogConfigLogTypePtr) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return pulumi.ToOutput(in).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +func (in *googleIamV1AuditLogConfigLogTypePtr) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1alphaReplayConfigLogSourceInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource("LOG_SOURCE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1alphaReplayConfigLogSourcePtrInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource("LOG_SOURCE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigLogTypeInput)(nil)).Elem(), GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigLogTypePtrInput)(nil)).Elem(), GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1alphaReplayConfigLogSourceOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1alphaReplayConfigLogSourcePtrOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigLogTypeOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigLogTypePtrOutput{}) } diff --git a/sdk/go/google/policysimulator/v1alpha/pulumiTypes.go b/sdk/go/google/policysimulator/v1alpha/pulumiTypes.go index e48573fee6..89d98c2113 100644 --- a/sdk/go/google/policysimulator/v1alpha/pulumiTypes.go +++ b/sdk/go/google/policysimulator/v1alpha/pulumiTypes.go @@ -18,7 +18,7 @@ type GoogleCloudPolicysimulatorV1alphaReplayConfig struct { // The logs to use as input for the Replay. LogSource *GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay map[string]string `pulumi:"policyOverlay"` + PolicyOverlay map[string]GoogleIamV1Policy `pulumi:"policyOverlay"` } // GoogleCloudPolicysimulatorV1alphaReplayConfigInput is an input type that accepts GoogleCloudPolicysimulatorV1alphaReplayConfigArgs and GoogleCloudPolicysimulatorV1alphaReplayConfigOutput values. @@ -37,7 +37,7 @@ type GoogleCloudPolicysimulatorV1alphaReplayConfigArgs struct { // The logs to use as input for the Replay. LogSource GoogleCloudPolicysimulatorV1alphaReplayConfigLogSourcePtrInput `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay pulumi.StringMapInput `pulumi:"policyOverlay"` + PolicyOverlay GoogleIamV1PolicyMapInput `pulumi:"policyOverlay"` } func (GoogleCloudPolicysimulatorV1alphaReplayConfigArgs) ElementType() reflect.Type { @@ -75,8 +75,10 @@ func (o GoogleCloudPolicysimulatorV1alphaReplayConfigOutput) LogSource() GoogleC } // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. -func (o GoogleCloudPolicysimulatorV1alphaReplayConfigOutput) PolicyOverlay() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudPolicysimulatorV1alphaReplayConfig) map[string]string { return v.PolicyOverlay }).(pulumi.StringMapOutput) +func (o GoogleCloudPolicysimulatorV1alphaReplayConfigOutput) PolicyOverlay() GoogleIamV1PolicyMapOutput { + return o.ApplyT(func(v GoogleCloudPolicysimulatorV1alphaReplayConfig) map[string]GoogleIamV1Policy { + return v.PolicyOverlay + }).(GoogleIamV1PolicyMapOutput) } // The configuration used for a Replay. @@ -84,7 +86,7 @@ type GoogleCloudPolicysimulatorV1alphaReplayConfigResponse struct { // The logs to use as input for the Replay. LogSource string `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay map[string]string `pulumi:"policyOverlay"` + PolicyOverlay map[string]GoogleIamV1PolicyResponse `pulumi:"policyOverlay"` } // The configuration used for a Replay. @@ -108,10 +110,10 @@ func (o GoogleCloudPolicysimulatorV1alphaReplayConfigResponseOutput) LogSource() } // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. -func (o GoogleCloudPolicysimulatorV1alphaReplayConfigResponseOutput) PolicyOverlay() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudPolicysimulatorV1alphaReplayConfigResponse) map[string]string { +func (o GoogleCloudPolicysimulatorV1alphaReplayConfigResponseOutput) PolicyOverlay() GoogleIamV1PolicyResponseMapOutput { + return o.ApplyT(func(v GoogleCloudPolicysimulatorV1alphaReplayConfigResponse) map[string]GoogleIamV1PolicyResponse { return v.PolicyOverlay - }).(pulumi.StringMapOutput) + }).(GoogleIamV1PolicyResponseMapOutput) } // Summary statistics about the replayed log entries. @@ -179,6 +181,702 @@ func (o GoogleCloudPolicysimulatorV1alphaReplayResultsSummaryResponseOutput) Unc return o.ApplyT(func(v GoogleCloudPolicysimulatorV1alphaReplayResultsSummaryResponse) int { return v.UnchangedCount }).(pulumi.IntOutput) } +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfig struct { + // The configuration for logging of each type of permission. + AuditLogConfigs []GoogleIamV1AuditLogConfig `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service *string `pulumi:"service"` +} + +// GoogleIamV1AuditConfigInput is an input type that accepts GoogleIamV1AuditConfigArgs and GoogleIamV1AuditConfigOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditConfigInput` via: +// +// GoogleIamV1AuditConfigArgs{...} +type GoogleIamV1AuditConfigInput interface { + pulumi.Input + + ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput + ToGoogleIamV1AuditConfigOutputWithContext(context.Context) GoogleIamV1AuditConfigOutput +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigArgs struct { + // The configuration for logging of each type of permission. + AuditLogConfigs GoogleIamV1AuditLogConfigArrayInput `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service pulumi.StringPtrInput `pulumi:"service"` +} + +func (GoogleIamV1AuditConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditConfigArgs) ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput { + return i.ToGoogleIamV1AuditConfigOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditConfigArgs) ToGoogleIamV1AuditConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditConfigOutput) +} + +// GoogleIamV1AuditConfigArrayInput is an input type that accepts GoogleIamV1AuditConfigArray and GoogleIamV1AuditConfigArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditConfigArrayInput` via: +// +// GoogleIamV1AuditConfigArray{ GoogleIamV1AuditConfigArgs{...} } +type GoogleIamV1AuditConfigArrayInput interface { + pulumi.Input + + ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput + ToGoogleIamV1AuditConfigArrayOutputWithContext(context.Context) GoogleIamV1AuditConfigArrayOutput +} + +type GoogleIamV1AuditConfigArray []GoogleIamV1AuditConfigInput + +func (GoogleIamV1AuditConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditConfigArray) ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput { + return i.ToGoogleIamV1AuditConfigArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditConfigArray) ToGoogleIamV1AuditConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditConfigArrayOutput) +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigOutput) ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput { + return o +} + +func (o GoogleIamV1AuditConfigOutput) ToGoogleIamV1AuditConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigOutput { + return o +} + +// The configuration for logging of each type of permission. +func (o GoogleIamV1AuditConfigOutput) AuditLogConfigs() GoogleIamV1AuditLogConfigArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfig) []GoogleIamV1AuditLogConfig { return v.AuditLogConfigs }).(GoogleIamV1AuditLogConfigArrayOutput) +} + +// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. +func (o GoogleIamV1AuditConfigOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfig) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1AuditConfigArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigArrayOutput) ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigArrayOutput) ToGoogleIamV1AuditConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditConfig { + return vs[0].([]GoogleIamV1AuditConfig)[vs[1].(int)] + }).(GoogleIamV1AuditConfigOutput) +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigResponse struct { + // The configuration for logging of each type of permission. + AuditLogConfigs []GoogleIamV1AuditLogConfigResponse `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service string `pulumi:"service"` +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigResponseOutput) ToGoogleIamV1AuditConfigResponseOutput() GoogleIamV1AuditConfigResponseOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseOutput) ToGoogleIamV1AuditConfigResponseOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigResponseOutput { + return o +} + +// The configuration for logging of each type of permission. +func (o GoogleIamV1AuditConfigResponseOutput) AuditLogConfigs() GoogleIamV1AuditLogConfigResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfigResponse) []GoogleIamV1AuditLogConfigResponse { return v.AuditLogConfigs }).(GoogleIamV1AuditLogConfigResponseArrayOutput) +} + +// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. +func (o GoogleIamV1AuditConfigResponseOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfigResponse) string { return v.Service }).(pulumi.StringOutput) +} + +type GoogleIamV1AuditConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) ToGoogleIamV1AuditConfigResponseArrayOutput() GoogleIamV1AuditConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) ToGoogleIamV1AuditConfigResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditConfigResponse { + return vs[0].([]GoogleIamV1AuditConfigResponse)[vs[1].(int)] + }).(GoogleIamV1AuditConfigResponseOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfig struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers []string `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType *GoogleIamV1AuditLogConfigLogType `pulumi:"logType"` +} + +// GoogleIamV1AuditLogConfigInput is an input type that accepts GoogleIamV1AuditLogConfigArgs and GoogleIamV1AuditLogConfigOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditLogConfigInput` via: +// +// GoogleIamV1AuditLogConfigArgs{...} +type GoogleIamV1AuditLogConfigInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput + ToGoogleIamV1AuditLogConfigOutputWithContext(context.Context) GoogleIamV1AuditLogConfigOutput +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigArgs struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers pulumi.StringArrayInput `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType GoogleIamV1AuditLogConfigLogTypePtrInput `pulumi:"logType"` +} + +func (GoogleIamV1AuditLogConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditLogConfigArgs) ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput { + return i.ToGoogleIamV1AuditLogConfigOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditLogConfigArgs) ToGoogleIamV1AuditLogConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditLogConfigOutput) +} + +// GoogleIamV1AuditLogConfigArrayInput is an input type that accepts GoogleIamV1AuditLogConfigArray and GoogleIamV1AuditLogConfigArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditLogConfigArrayInput` via: +// +// GoogleIamV1AuditLogConfigArray{ GoogleIamV1AuditLogConfigArgs{...} } +type GoogleIamV1AuditLogConfigArrayInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput + ToGoogleIamV1AuditLogConfigArrayOutputWithContext(context.Context) GoogleIamV1AuditLogConfigArrayOutput +} + +type GoogleIamV1AuditLogConfigArray []GoogleIamV1AuditLogConfigInput + +func (GoogleIamV1AuditLogConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditLogConfigArray) ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput { + return i.ToGoogleIamV1AuditLogConfigArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditLogConfigArray) ToGoogleIamV1AuditLogConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditLogConfigArrayOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigOutput) ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigOutput) ToGoogleIamV1AuditLogConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigOutput { + return o +} + +// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. +func (o GoogleIamV1AuditLogConfigOutput) ExemptedMembers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfig) []string { return v.ExemptedMembers }).(pulumi.StringArrayOutput) +} + +// The log type that this config enables. +func (o GoogleIamV1AuditLogConfigOutput) LogType() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfig) *GoogleIamV1AuditLogConfigLogType { return v.LogType }).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +type GoogleIamV1AuditLogConfigArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) ToGoogleIamV1AuditLogConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditLogConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditLogConfig { + return vs[0].([]GoogleIamV1AuditLogConfig)[vs[1].(int)] + }).(GoogleIamV1AuditLogConfigOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigResponse struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers []string `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType string `pulumi:"logType"` +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigResponseOutput) ToGoogleIamV1AuditLogConfigResponseOutput() GoogleIamV1AuditLogConfigResponseOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseOutput) ToGoogleIamV1AuditLogConfigResponseOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigResponseOutput { + return o +} + +// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. +func (o GoogleIamV1AuditLogConfigResponseOutput) ExemptedMembers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfigResponse) []string { return v.ExemptedMembers }).(pulumi.StringArrayOutput) +} + +// The log type that this config enables. +func (o GoogleIamV1AuditLogConfigResponseOutput) LogType() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfigResponse) string { return v.LogType }).(pulumi.StringOutput) +} + +type GoogleIamV1AuditLogConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) ToGoogleIamV1AuditLogConfigResponseArrayOutput() GoogleIamV1AuditLogConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) ToGoogleIamV1AuditLogConfigResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditLogConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditLogConfigResponse { + return vs[0].([]GoogleIamV1AuditLogConfigResponse)[vs[1].(int)] + }).(GoogleIamV1AuditLogConfigResponseOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1Binding struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition *GoogleTypeExpr `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + Members []string `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role *string `pulumi:"role"` +} + +// GoogleIamV1BindingInput is an input type that accepts GoogleIamV1BindingArgs and GoogleIamV1BindingOutput values. +// You can construct a concrete instance of `GoogleIamV1BindingInput` via: +// +// GoogleIamV1BindingArgs{...} +type GoogleIamV1BindingInput interface { + pulumi.Input + + ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput + ToGoogleIamV1BindingOutputWithContext(context.Context) GoogleIamV1BindingOutput +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingArgs struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition GoogleTypeExprPtrInput `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + Members pulumi.StringArrayInput `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role pulumi.StringPtrInput `pulumi:"role"` +} + +func (GoogleIamV1BindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Binding)(nil)).Elem() +} + +func (i GoogleIamV1BindingArgs) ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput { + return i.ToGoogleIamV1BindingOutputWithContext(context.Background()) +} + +func (i GoogleIamV1BindingArgs) ToGoogleIamV1BindingOutputWithContext(ctx context.Context) GoogleIamV1BindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1BindingOutput) +} + +// GoogleIamV1BindingArrayInput is an input type that accepts GoogleIamV1BindingArray and GoogleIamV1BindingArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1BindingArrayInput` via: +// +// GoogleIamV1BindingArray{ GoogleIamV1BindingArgs{...} } +type GoogleIamV1BindingArrayInput interface { + pulumi.Input + + ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput + ToGoogleIamV1BindingArrayOutputWithContext(context.Context) GoogleIamV1BindingArrayOutput +} + +type GoogleIamV1BindingArray []GoogleIamV1BindingInput + +func (GoogleIamV1BindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1Binding)(nil)).Elem() +} + +func (i GoogleIamV1BindingArray) ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput { + return i.ToGoogleIamV1BindingArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1BindingArray) ToGoogleIamV1BindingArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1BindingArrayOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Binding)(nil)).Elem() +} + +func (o GoogleIamV1BindingOutput) ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput { + return o +} + +func (o GoogleIamV1BindingOutput) ToGoogleIamV1BindingOutputWithContext(ctx context.Context) GoogleIamV1BindingOutput { + return o +} + +// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1BindingOutput) Condition() GoogleTypeExprPtrOutput { + return o.ApplyT(func(v GoogleIamV1Binding) *GoogleTypeExpr { return v.Condition }).(GoogleTypeExprPtrOutput) +} + +// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. +func (o GoogleIamV1BindingOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1Binding) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. +func (o GoogleIamV1BindingOutput) Role() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1Binding) *string { return v.Role }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1BindingArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1Binding)(nil)).Elem() +} + +func (o GoogleIamV1BindingArrayOutput) ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput { + return o +} + +func (o GoogleIamV1BindingArrayOutput) ToGoogleIamV1BindingArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingArrayOutput { + return o +} + +func (o GoogleIamV1BindingArrayOutput) Index(i pulumi.IntInput) GoogleIamV1BindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1Binding { + return vs[0].([]GoogleIamV1Binding)[vs[1].(int)] + }).(GoogleIamV1BindingOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingResponse struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition GoogleTypeExprResponse `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + Members []string `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role string `pulumi:"role"` +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1BindingResponse)(nil)).Elem() +} + +func (o GoogleIamV1BindingResponseOutput) ToGoogleIamV1BindingResponseOutput() GoogleIamV1BindingResponseOutput { + return o +} + +func (o GoogleIamV1BindingResponseOutput) ToGoogleIamV1BindingResponseOutputWithContext(ctx context.Context) GoogleIamV1BindingResponseOutput { + return o +} + +// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1BindingResponseOutput) Condition() GoogleTypeExprResponseOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) GoogleTypeExprResponse { return v.Condition }).(GoogleTypeExprResponseOutput) +} + +// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. +func (o GoogleIamV1BindingResponseOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. +func (o GoogleIamV1BindingResponseOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) string { return v.Role }).(pulumi.StringOutput) +} + +type GoogleIamV1BindingResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1BindingResponse)(nil)).Elem() +} + +func (o GoogleIamV1BindingResponseArrayOutput) ToGoogleIamV1BindingResponseArrayOutput() GoogleIamV1BindingResponseArrayOutput { + return o +} + +func (o GoogleIamV1BindingResponseArrayOutput) ToGoogleIamV1BindingResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingResponseArrayOutput { + return o +} + +func (o GoogleIamV1BindingResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1BindingResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1BindingResponse { + return vs[0].([]GoogleIamV1BindingResponse)[vs[1].(int)] + }).(GoogleIamV1BindingResponseOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1Policy struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs []GoogleIamV1AuditConfig `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings []GoogleIamV1Binding `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag *string `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version *int `pulumi:"version"` +} + +// GoogleIamV1PolicyInput is an input type that accepts GoogleIamV1PolicyArgs and GoogleIamV1PolicyOutput values. +// You can construct a concrete instance of `GoogleIamV1PolicyInput` via: +// +// GoogleIamV1PolicyArgs{...} +type GoogleIamV1PolicyInput interface { + pulumi.Input + + ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput + ToGoogleIamV1PolicyOutputWithContext(context.Context) GoogleIamV1PolicyOutput +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyArgs struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs GoogleIamV1AuditConfigArrayInput `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings GoogleIamV1BindingArrayInput `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version pulumi.IntPtrInput `pulumi:"version"` +} + +func (GoogleIamV1PolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Policy)(nil)).Elem() +} + +func (i GoogleIamV1PolicyArgs) ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput { + return i.ToGoogleIamV1PolicyOutputWithContext(context.Background()) +} + +func (i GoogleIamV1PolicyArgs) ToGoogleIamV1PolicyOutputWithContext(ctx context.Context) GoogleIamV1PolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1PolicyOutput) +} + +// GoogleIamV1PolicyMapInput is an input type that accepts GoogleIamV1PolicyMap and GoogleIamV1PolicyMapOutput values. +// You can construct a concrete instance of `GoogleIamV1PolicyMapInput` via: +// +// GoogleIamV1PolicyMap{ "key": GoogleIamV1PolicyArgs{...} } +type GoogleIamV1PolicyMapInput interface { + pulumi.Input + + ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput + ToGoogleIamV1PolicyMapOutputWithContext(context.Context) GoogleIamV1PolicyMapOutput +} + +type GoogleIamV1PolicyMap map[string]GoogleIamV1PolicyInput + +func (GoogleIamV1PolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1Policy)(nil)).Elem() +} + +func (i GoogleIamV1PolicyMap) ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput { + return i.ToGoogleIamV1PolicyMapOutputWithContext(context.Background()) +} + +func (i GoogleIamV1PolicyMap) ToGoogleIamV1PolicyMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1PolicyMapOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Policy)(nil)).Elem() +} + +func (o GoogleIamV1PolicyOutput) ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput { + return o +} + +func (o GoogleIamV1PolicyOutput) ToGoogleIamV1PolicyOutputWithContext(ctx context.Context) GoogleIamV1PolicyOutput { + return o +} + +// Specifies cloud audit logging configuration for this policy. +func (o GoogleIamV1PolicyOutput) AuditConfigs() GoogleIamV1AuditConfigArrayOutput { + return o.ApplyT(func(v GoogleIamV1Policy) []GoogleIamV1AuditConfig { return v.AuditConfigs }).(GoogleIamV1AuditConfigArrayOutput) +} + +// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. +func (o GoogleIamV1PolicyOutput) Bindings() GoogleIamV1BindingArrayOutput { + return o.ApplyT(func(v GoogleIamV1Policy) []GoogleIamV1Binding { return v.Bindings }).(GoogleIamV1BindingArrayOutput) +} + +// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. +func (o GoogleIamV1PolicyOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1Policy) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1PolicyOutput) Version() pulumi.IntPtrOutput { + return o.ApplyT(func(v GoogleIamV1Policy) *int { return v.Version }).(pulumi.IntPtrOutput) +} + +type GoogleIamV1PolicyMapOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1Policy)(nil)).Elem() +} + +func (o GoogleIamV1PolicyMapOutput) ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput { + return o +} + +func (o GoogleIamV1PolicyMapOutput) ToGoogleIamV1PolicyMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyMapOutput { + return o +} + +func (o GoogleIamV1PolicyMapOutput) MapIndex(k pulumi.StringInput) GoogleIamV1PolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleIamV1Policy { + return vs[0].(map[string]GoogleIamV1Policy)[vs[1].(string)] + }).(GoogleIamV1PolicyOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyResponse struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs []GoogleIamV1AuditConfigResponse `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings []GoogleIamV1BindingResponse `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag string `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version int `pulumi:"version"` +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1PolicyResponse)(nil)).Elem() +} + +func (o GoogleIamV1PolicyResponseOutput) ToGoogleIamV1PolicyResponseOutput() GoogleIamV1PolicyResponseOutput { + return o +} + +func (o GoogleIamV1PolicyResponseOutput) ToGoogleIamV1PolicyResponseOutputWithContext(ctx context.Context) GoogleIamV1PolicyResponseOutput { + return o +} + +// Specifies cloud audit logging configuration for this policy. +func (o GoogleIamV1PolicyResponseOutput) AuditConfigs() GoogleIamV1AuditConfigResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) []GoogleIamV1AuditConfigResponse { return v.AuditConfigs }).(GoogleIamV1AuditConfigResponseArrayOutput) +} + +// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. +func (o GoogleIamV1PolicyResponseOutput) Bindings() GoogleIamV1BindingResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) []GoogleIamV1BindingResponse { return v.Bindings }).(GoogleIamV1BindingResponseArrayOutput) +} + +// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. +func (o GoogleIamV1PolicyResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1PolicyResponseOutput) Version() pulumi.IntOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) int { return v.Version }).(pulumi.IntOutput) +} + +type GoogleIamV1PolicyResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1PolicyResponse)(nil)).Elem() +} + +func (o GoogleIamV1PolicyResponseMapOutput) ToGoogleIamV1PolicyResponseMapOutput() GoogleIamV1PolicyResponseMapOutput { + return o +} + +func (o GoogleIamV1PolicyResponseMapOutput) ToGoogleIamV1PolicyResponseMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyResponseMapOutput { + return o +} + +func (o GoogleIamV1PolicyResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleIamV1PolicyResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleIamV1PolicyResponse { + return vs[0].(map[string]GoogleIamV1PolicyResponse)[vs[1].(string)] + }).(GoogleIamV1PolicyResponseOutput) +} + // Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp type GoogleTypeDateResponse struct { // Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. @@ -219,10 +917,283 @@ func (o GoogleTypeDateResponseOutput) Year() pulumi.IntOutput { return o.ApplyT(func(v GoogleTypeDateResponse) int { return v.Year }).(pulumi.IntOutput) } +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExpr struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description *string `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression *string `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location *string `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title *string `pulumi:"title"` +} + +// GoogleTypeExprInput is an input type that accepts GoogleTypeExprArgs and GoogleTypeExprOutput values. +// You can construct a concrete instance of `GoogleTypeExprInput` via: +// +// GoogleTypeExprArgs{...} +type GoogleTypeExprInput interface { + pulumi.Input + + ToGoogleTypeExprOutput() GoogleTypeExprOutput + ToGoogleTypeExprOutputWithContext(context.Context) GoogleTypeExprOutput +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprArgs struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description pulumi.StringPtrInput `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression pulumi.StringPtrInput `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location pulumi.StringPtrInput `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title pulumi.StringPtrInput `pulumi:"title"` +} + +func (GoogleTypeExprArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExpr)(nil)).Elem() +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprOutput() GoogleTypeExprOutput { + return i.ToGoogleTypeExprOutputWithContext(context.Background()) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprOutputWithContext(ctx context.Context) GoogleTypeExprOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprOutput) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return i.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprOutput).ToGoogleTypeExprPtrOutputWithContext(ctx) +} + +// GoogleTypeExprPtrInput is an input type that accepts GoogleTypeExprArgs, GoogleTypeExprPtr and GoogleTypeExprPtrOutput values. +// You can construct a concrete instance of `GoogleTypeExprPtrInput` via: +// +// GoogleTypeExprArgs{...} +// +// or: +// +// nil +type GoogleTypeExprPtrInput interface { + pulumi.Input + + ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput + ToGoogleTypeExprPtrOutputWithContext(context.Context) GoogleTypeExprPtrOutput +} + +type googleTypeExprPtrType GoogleTypeExprArgs + +func GoogleTypeExprPtr(v *GoogleTypeExprArgs) GoogleTypeExprPtrInput { + return (*googleTypeExprPtrType)(v) +} + +func (*googleTypeExprPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleTypeExpr)(nil)).Elem() +} + +func (i *googleTypeExprPtrType) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return i.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (i *googleTypeExprPtrType) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprPtrOutput) +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExpr)(nil)).Elem() +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprOutput() GoogleTypeExprOutput { + return o +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprOutputWithContext(ctx context.Context) GoogleTypeExprOutput { + return o +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return o.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleTypeExpr) *GoogleTypeExpr { + return &v + }).(GoogleTypeExprPtrOutput) +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Expression }).(pulumi.StringPtrOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprOutput) Title() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Title }).(pulumi.StringPtrOutput) +} + +type GoogleTypeExprPtrOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleTypeExpr)(nil)).Elem() +} + +func (o GoogleTypeExprPtrOutput) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return o +} + +func (o GoogleTypeExprPtrOutput) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return o +} + +func (o GoogleTypeExprPtrOutput) Elem() GoogleTypeExprOutput { + return o.ApplyT(func(v *GoogleTypeExpr) GoogleTypeExpr { + if v != nil { + return *v + } + var ret GoogleTypeExpr + return ret + }).(GoogleTypeExprOutput) +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprPtrOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Expression + }).(pulumi.StringPtrOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprPtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprPtrOutput) Title() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Title + }).(pulumi.StringPtrOutput) +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprResponse struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description string `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression string `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location string `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title string `pulumi:"title"` +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprResponseOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExprResponse)(nil)).Elem() +} + +func (o GoogleTypeExprResponseOutput) ToGoogleTypeExprResponseOutput() GoogleTypeExprResponseOutput { + return o +} + +func (o GoogleTypeExprResponseOutput) ToGoogleTypeExprResponseOutputWithContext(ctx context.Context) GoogleTypeExprResponseOutput { + return o +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprResponseOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Expression }).(pulumi.StringOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprResponseOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Location }).(pulumi.StringOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprResponseOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Title }).(pulumi.StringOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1alphaReplayConfigInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1alphaReplayConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditConfigInput)(nil)).Elem(), GoogleIamV1AuditConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditConfigArrayInput)(nil)).Elem(), GoogleIamV1AuditConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigInput)(nil)).Elem(), GoogleIamV1AuditLogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigArrayInput)(nil)).Elem(), GoogleIamV1AuditLogConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1BindingInput)(nil)).Elem(), GoogleIamV1BindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1BindingArrayInput)(nil)).Elem(), GoogleIamV1BindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1PolicyInput)(nil)).Elem(), GoogleIamV1PolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1PolicyMapInput)(nil)).Elem(), GoogleIamV1PolicyMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleTypeExprInput)(nil)).Elem(), GoogleTypeExprArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleTypeExprPtrInput)(nil)).Elem(), GoogleTypeExprArgs{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1alphaReplayConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1alphaReplayConfigResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1alphaReplayResultsSummaryResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyMapOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyResponseMapOutput{}) pulumi.RegisterOutputType(GoogleTypeDateResponseOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprPtrOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprResponseOutput{}) } diff --git a/sdk/go/google/policysimulator/v1beta/pulumiEnums.go b/sdk/go/google/policysimulator/v1beta/pulumiEnums.go index 514e032cc9..5152a9004b 100644 --- a/sdk/go/google/policysimulator/v1beta/pulumiEnums.go +++ b/sdk/go/google/policysimulator/v1beta/pulumiEnums.go @@ -178,9 +178,187 @@ func (in *googleCloudPolicysimulatorV1betaReplayConfigLogSourcePtr) ToGoogleClou return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudPolicysimulatorV1betaReplayConfigLogSourcePtrOutput) } +// The log type that this config enables. +type GoogleIamV1AuditLogConfigLogType string + +const ( + // Default case. Should never be this. + GoogleIamV1AuditLogConfigLogTypeLogTypeUnspecified = GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED") + // Admin reads. Example: CloudIAM getIamPolicy + GoogleIamV1AuditLogConfigLogTypeAdminRead = GoogleIamV1AuditLogConfigLogType("ADMIN_READ") + // Data writes. Example: CloudSQL Users create + GoogleIamV1AuditLogConfigLogTypeDataWrite = GoogleIamV1AuditLogConfigLogType("DATA_WRITE") + // Data reads. Example: CloudSQL Users list + GoogleIamV1AuditLogConfigLogTypeDataRead = GoogleIamV1AuditLogConfigLogType("DATA_READ") +) + +func (GoogleIamV1AuditLogConfigLogType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput { + return pulumi.ToOutput(e).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return e.ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return GoogleIamV1AuditLogConfigLogType(e).ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx).ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleIamV1AuditLogConfigLogTypeOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigLogTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypeOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleIamV1AuditLogConfigLogType) *GoogleIamV1AuditLogConfigLogType { + return &v + }).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleIamV1AuditLogConfigLogType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleIamV1AuditLogConfigLogType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1AuditLogConfigLogTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigLogTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) Elem() GoogleIamV1AuditLogConfigLogTypeOutput { + return o.ApplyT(func(v *GoogleIamV1AuditLogConfigLogType) GoogleIamV1AuditLogConfigLogType { + if v != nil { + return *v + } + var ret GoogleIamV1AuditLogConfigLogType + return ret + }).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleIamV1AuditLogConfigLogType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleIamV1AuditLogConfigLogTypeInput is an input type that accepts values of the GoogleIamV1AuditLogConfigLogType enum +// A concrete instance of `GoogleIamV1AuditLogConfigLogTypeInput` can be one of the following: +// +// GoogleIamV1AuditLogConfigLogTypeLogTypeUnspecified +// GoogleIamV1AuditLogConfigLogTypeAdminRead +// GoogleIamV1AuditLogConfigLogTypeDataWrite +// GoogleIamV1AuditLogConfigLogTypeDataRead +type GoogleIamV1AuditLogConfigLogTypeInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput + ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(context.Context) GoogleIamV1AuditLogConfigLogTypeOutput +} + +var googleIamV1AuditLogConfigLogTypePtrType = reflect.TypeOf((**GoogleIamV1AuditLogConfigLogType)(nil)).Elem() + +type GoogleIamV1AuditLogConfigLogTypePtrInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput + ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput +} + +type googleIamV1AuditLogConfigLogTypePtr string + +func GoogleIamV1AuditLogConfigLogTypePtr(v string) GoogleIamV1AuditLogConfigLogTypePtrInput { + return (*googleIamV1AuditLogConfigLogTypePtr)(&v) +} + +func (*googleIamV1AuditLogConfigLogTypePtr) ElementType() reflect.Type { + return googleIamV1AuditLogConfigLogTypePtrType +} + +func (in *googleIamV1AuditLogConfigLogTypePtr) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return pulumi.ToOutput(in).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +func (in *googleIamV1AuditLogConfigLogTypePtr) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1betaReplayConfigLogSourceInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1betaReplayConfigLogSource("LOG_SOURCE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1betaReplayConfigLogSourcePtrInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1betaReplayConfigLogSource("LOG_SOURCE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigLogTypeInput)(nil)).Elem(), GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigLogTypePtrInput)(nil)).Elem(), GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1betaReplayConfigLogSourceOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1betaReplayConfigLogSourcePtrOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigLogTypeOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigLogTypePtrOutput{}) } diff --git a/sdk/go/google/policysimulator/v1beta/pulumiTypes.go b/sdk/go/google/policysimulator/v1beta/pulumiTypes.go index 056f6e57d6..11362d67fd 100644 --- a/sdk/go/google/policysimulator/v1beta/pulumiTypes.go +++ b/sdk/go/google/policysimulator/v1beta/pulumiTypes.go @@ -18,7 +18,7 @@ type GoogleCloudPolicysimulatorV1betaReplayConfig struct { // The logs to use as input for the Replay. LogSource *GoogleCloudPolicysimulatorV1betaReplayConfigLogSource `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay map[string]string `pulumi:"policyOverlay"` + PolicyOverlay map[string]GoogleIamV1Policy `pulumi:"policyOverlay"` } // GoogleCloudPolicysimulatorV1betaReplayConfigInput is an input type that accepts GoogleCloudPolicysimulatorV1betaReplayConfigArgs and GoogleCloudPolicysimulatorV1betaReplayConfigOutput values. @@ -37,7 +37,7 @@ type GoogleCloudPolicysimulatorV1betaReplayConfigArgs struct { // The logs to use as input for the Replay. LogSource GoogleCloudPolicysimulatorV1betaReplayConfigLogSourcePtrInput `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay pulumi.StringMapInput `pulumi:"policyOverlay"` + PolicyOverlay GoogleIamV1PolicyMapInput `pulumi:"policyOverlay"` } func (GoogleCloudPolicysimulatorV1betaReplayConfigArgs) ElementType() reflect.Type { @@ -75,8 +75,10 @@ func (o GoogleCloudPolicysimulatorV1betaReplayConfigOutput) LogSource() GoogleCl } // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. -func (o GoogleCloudPolicysimulatorV1betaReplayConfigOutput) PolicyOverlay() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudPolicysimulatorV1betaReplayConfig) map[string]string { return v.PolicyOverlay }).(pulumi.StringMapOutput) +func (o GoogleCloudPolicysimulatorV1betaReplayConfigOutput) PolicyOverlay() GoogleIamV1PolicyMapOutput { + return o.ApplyT(func(v GoogleCloudPolicysimulatorV1betaReplayConfig) map[string]GoogleIamV1Policy { + return v.PolicyOverlay + }).(GoogleIamV1PolicyMapOutput) } // The configuration used for a Replay. @@ -84,7 +86,7 @@ type GoogleCloudPolicysimulatorV1betaReplayConfigResponse struct { // The logs to use as input for the Replay. LogSource string `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay map[string]string `pulumi:"policyOverlay"` + PolicyOverlay map[string]GoogleIamV1PolicyResponse `pulumi:"policyOverlay"` } // The configuration used for a Replay. @@ -108,8 +110,10 @@ func (o GoogleCloudPolicysimulatorV1betaReplayConfigResponseOutput) LogSource() } // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. -func (o GoogleCloudPolicysimulatorV1betaReplayConfigResponseOutput) PolicyOverlay() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudPolicysimulatorV1betaReplayConfigResponse) map[string]string { return v.PolicyOverlay }).(pulumi.StringMapOutput) +func (o GoogleCloudPolicysimulatorV1betaReplayConfigResponseOutput) PolicyOverlay() GoogleIamV1PolicyResponseMapOutput { + return o.ApplyT(func(v GoogleCloudPolicysimulatorV1betaReplayConfigResponse) map[string]GoogleIamV1PolicyResponse { + return v.PolicyOverlay + }).(GoogleIamV1PolicyResponseMapOutput) } // Summary statistics about the replayed log entries. @@ -177,6 +181,702 @@ func (o GoogleCloudPolicysimulatorV1betaReplayResultsSummaryResponseOutput) Unch return o.ApplyT(func(v GoogleCloudPolicysimulatorV1betaReplayResultsSummaryResponse) int { return v.UnchangedCount }).(pulumi.IntOutput) } +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfig struct { + // The configuration for logging of each type of permission. + AuditLogConfigs []GoogleIamV1AuditLogConfig `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service *string `pulumi:"service"` +} + +// GoogleIamV1AuditConfigInput is an input type that accepts GoogleIamV1AuditConfigArgs and GoogleIamV1AuditConfigOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditConfigInput` via: +// +// GoogleIamV1AuditConfigArgs{...} +type GoogleIamV1AuditConfigInput interface { + pulumi.Input + + ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput + ToGoogleIamV1AuditConfigOutputWithContext(context.Context) GoogleIamV1AuditConfigOutput +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigArgs struct { + // The configuration for logging of each type of permission. + AuditLogConfigs GoogleIamV1AuditLogConfigArrayInput `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service pulumi.StringPtrInput `pulumi:"service"` +} + +func (GoogleIamV1AuditConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditConfigArgs) ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput { + return i.ToGoogleIamV1AuditConfigOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditConfigArgs) ToGoogleIamV1AuditConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditConfigOutput) +} + +// GoogleIamV1AuditConfigArrayInput is an input type that accepts GoogleIamV1AuditConfigArray and GoogleIamV1AuditConfigArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditConfigArrayInput` via: +// +// GoogleIamV1AuditConfigArray{ GoogleIamV1AuditConfigArgs{...} } +type GoogleIamV1AuditConfigArrayInput interface { + pulumi.Input + + ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput + ToGoogleIamV1AuditConfigArrayOutputWithContext(context.Context) GoogleIamV1AuditConfigArrayOutput +} + +type GoogleIamV1AuditConfigArray []GoogleIamV1AuditConfigInput + +func (GoogleIamV1AuditConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditConfigArray) ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput { + return i.ToGoogleIamV1AuditConfigArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditConfigArray) ToGoogleIamV1AuditConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditConfigArrayOutput) +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigOutput) ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput { + return o +} + +func (o GoogleIamV1AuditConfigOutput) ToGoogleIamV1AuditConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigOutput { + return o +} + +// The configuration for logging of each type of permission. +func (o GoogleIamV1AuditConfigOutput) AuditLogConfigs() GoogleIamV1AuditLogConfigArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfig) []GoogleIamV1AuditLogConfig { return v.AuditLogConfigs }).(GoogleIamV1AuditLogConfigArrayOutput) +} + +// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. +func (o GoogleIamV1AuditConfigOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfig) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1AuditConfigArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigArrayOutput) ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigArrayOutput) ToGoogleIamV1AuditConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditConfig { + return vs[0].([]GoogleIamV1AuditConfig)[vs[1].(int)] + }).(GoogleIamV1AuditConfigOutput) +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigResponse struct { + // The configuration for logging of each type of permission. + AuditLogConfigs []GoogleIamV1AuditLogConfigResponse `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service string `pulumi:"service"` +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigResponseOutput) ToGoogleIamV1AuditConfigResponseOutput() GoogleIamV1AuditConfigResponseOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseOutput) ToGoogleIamV1AuditConfigResponseOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigResponseOutput { + return o +} + +// The configuration for logging of each type of permission. +func (o GoogleIamV1AuditConfigResponseOutput) AuditLogConfigs() GoogleIamV1AuditLogConfigResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfigResponse) []GoogleIamV1AuditLogConfigResponse { return v.AuditLogConfigs }).(GoogleIamV1AuditLogConfigResponseArrayOutput) +} + +// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. +func (o GoogleIamV1AuditConfigResponseOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfigResponse) string { return v.Service }).(pulumi.StringOutput) +} + +type GoogleIamV1AuditConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) ToGoogleIamV1AuditConfigResponseArrayOutput() GoogleIamV1AuditConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) ToGoogleIamV1AuditConfigResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditConfigResponse { + return vs[0].([]GoogleIamV1AuditConfigResponse)[vs[1].(int)] + }).(GoogleIamV1AuditConfigResponseOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfig struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers []string `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType *GoogleIamV1AuditLogConfigLogType `pulumi:"logType"` +} + +// GoogleIamV1AuditLogConfigInput is an input type that accepts GoogleIamV1AuditLogConfigArgs and GoogleIamV1AuditLogConfigOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditLogConfigInput` via: +// +// GoogleIamV1AuditLogConfigArgs{...} +type GoogleIamV1AuditLogConfigInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput + ToGoogleIamV1AuditLogConfigOutputWithContext(context.Context) GoogleIamV1AuditLogConfigOutput +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigArgs struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers pulumi.StringArrayInput `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType GoogleIamV1AuditLogConfigLogTypePtrInput `pulumi:"logType"` +} + +func (GoogleIamV1AuditLogConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditLogConfigArgs) ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput { + return i.ToGoogleIamV1AuditLogConfigOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditLogConfigArgs) ToGoogleIamV1AuditLogConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditLogConfigOutput) +} + +// GoogleIamV1AuditLogConfigArrayInput is an input type that accepts GoogleIamV1AuditLogConfigArray and GoogleIamV1AuditLogConfigArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditLogConfigArrayInput` via: +// +// GoogleIamV1AuditLogConfigArray{ GoogleIamV1AuditLogConfigArgs{...} } +type GoogleIamV1AuditLogConfigArrayInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput + ToGoogleIamV1AuditLogConfigArrayOutputWithContext(context.Context) GoogleIamV1AuditLogConfigArrayOutput +} + +type GoogleIamV1AuditLogConfigArray []GoogleIamV1AuditLogConfigInput + +func (GoogleIamV1AuditLogConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditLogConfigArray) ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput { + return i.ToGoogleIamV1AuditLogConfigArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditLogConfigArray) ToGoogleIamV1AuditLogConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditLogConfigArrayOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigOutput) ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigOutput) ToGoogleIamV1AuditLogConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigOutput { + return o +} + +// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. +func (o GoogleIamV1AuditLogConfigOutput) ExemptedMembers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfig) []string { return v.ExemptedMembers }).(pulumi.StringArrayOutput) +} + +// The log type that this config enables. +func (o GoogleIamV1AuditLogConfigOutput) LogType() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfig) *GoogleIamV1AuditLogConfigLogType { return v.LogType }).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +type GoogleIamV1AuditLogConfigArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) ToGoogleIamV1AuditLogConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditLogConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditLogConfig { + return vs[0].([]GoogleIamV1AuditLogConfig)[vs[1].(int)] + }).(GoogleIamV1AuditLogConfigOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigResponse struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers []string `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType string `pulumi:"logType"` +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigResponseOutput) ToGoogleIamV1AuditLogConfigResponseOutput() GoogleIamV1AuditLogConfigResponseOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseOutput) ToGoogleIamV1AuditLogConfigResponseOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigResponseOutput { + return o +} + +// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. +func (o GoogleIamV1AuditLogConfigResponseOutput) ExemptedMembers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfigResponse) []string { return v.ExemptedMembers }).(pulumi.StringArrayOutput) +} + +// The log type that this config enables. +func (o GoogleIamV1AuditLogConfigResponseOutput) LogType() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfigResponse) string { return v.LogType }).(pulumi.StringOutput) +} + +type GoogleIamV1AuditLogConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) ToGoogleIamV1AuditLogConfigResponseArrayOutput() GoogleIamV1AuditLogConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) ToGoogleIamV1AuditLogConfigResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditLogConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditLogConfigResponse { + return vs[0].([]GoogleIamV1AuditLogConfigResponse)[vs[1].(int)] + }).(GoogleIamV1AuditLogConfigResponseOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1Binding struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition *GoogleTypeExpr `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + Members []string `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role *string `pulumi:"role"` +} + +// GoogleIamV1BindingInput is an input type that accepts GoogleIamV1BindingArgs and GoogleIamV1BindingOutput values. +// You can construct a concrete instance of `GoogleIamV1BindingInput` via: +// +// GoogleIamV1BindingArgs{...} +type GoogleIamV1BindingInput interface { + pulumi.Input + + ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput + ToGoogleIamV1BindingOutputWithContext(context.Context) GoogleIamV1BindingOutput +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingArgs struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition GoogleTypeExprPtrInput `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + Members pulumi.StringArrayInput `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role pulumi.StringPtrInput `pulumi:"role"` +} + +func (GoogleIamV1BindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Binding)(nil)).Elem() +} + +func (i GoogleIamV1BindingArgs) ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput { + return i.ToGoogleIamV1BindingOutputWithContext(context.Background()) +} + +func (i GoogleIamV1BindingArgs) ToGoogleIamV1BindingOutputWithContext(ctx context.Context) GoogleIamV1BindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1BindingOutput) +} + +// GoogleIamV1BindingArrayInput is an input type that accepts GoogleIamV1BindingArray and GoogleIamV1BindingArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1BindingArrayInput` via: +// +// GoogleIamV1BindingArray{ GoogleIamV1BindingArgs{...} } +type GoogleIamV1BindingArrayInput interface { + pulumi.Input + + ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput + ToGoogleIamV1BindingArrayOutputWithContext(context.Context) GoogleIamV1BindingArrayOutput +} + +type GoogleIamV1BindingArray []GoogleIamV1BindingInput + +func (GoogleIamV1BindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1Binding)(nil)).Elem() +} + +func (i GoogleIamV1BindingArray) ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput { + return i.ToGoogleIamV1BindingArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1BindingArray) ToGoogleIamV1BindingArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1BindingArrayOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Binding)(nil)).Elem() +} + +func (o GoogleIamV1BindingOutput) ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput { + return o +} + +func (o GoogleIamV1BindingOutput) ToGoogleIamV1BindingOutputWithContext(ctx context.Context) GoogleIamV1BindingOutput { + return o +} + +// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1BindingOutput) Condition() GoogleTypeExprPtrOutput { + return o.ApplyT(func(v GoogleIamV1Binding) *GoogleTypeExpr { return v.Condition }).(GoogleTypeExprPtrOutput) +} + +// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. +func (o GoogleIamV1BindingOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1Binding) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. +func (o GoogleIamV1BindingOutput) Role() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1Binding) *string { return v.Role }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1BindingArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1Binding)(nil)).Elem() +} + +func (o GoogleIamV1BindingArrayOutput) ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput { + return o +} + +func (o GoogleIamV1BindingArrayOutput) ToGoogleIamV1BindingArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingArrayOutput { + return o +} + +func (o GoogleIamV1BindingArrayOutput) Index(i pulumi.IntInput) GoogleIamV1BindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1Binding { + return vs[0].([]GoogleIamV1Binding)[vs[1].(int)] + }).(GoogleIamV1BindingOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingResponse struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition GoogleTypeExprResponse `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + Members []string `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role string `pulumi:"role"` +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1BindingResponse)(nil)).Elem() +} + +func (o GoogleIamV1BindingResponseOutput) ToGoogleIamV1BindingResponseOutput() GoogleIamV1BindingResponseOutput { + return o +} + +func (o GoogleIamV1BindingResponseOutput) ToGoogleIamV1BindingResponseOutputWithContext(ctx context.Context) GoogleIamV1BindingResponseOutput { + return o +} + +// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1BindingResponseOutput) Condition() GoogleTypeExprResponseOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) GoogleTypeExprResponse { return v.Condition }).(GoogleTypeExprResponseOutput) +} + +// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. +func (o GoogleIamV1BindingResponseOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. +func (o GoogleIamV1BindingResponseOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) string { return v.Role }).(pulumi.StringOutput) +} + +type GoogleIamV1BindingResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1BindingResponse)(nil)).Elem() +} + +func (o GoogleIamV1BindingResponseArrayOutput) ToGoogleIamV1BindingResponseArrayOutput() GoogleIamV1BindingResponseArrayOutput { + return o +} + +func (o GoogleIamV1BindingResponseArrayOutput) ToGoogleIamV1BindingResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingResponseArrayOutput { + return o +} + +func (o GoogleIamV1BindingResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1BindingResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1BindingResponse { + return vs[0].([]GoogleIamV1BindingResponse)[vs[1].(int)] + }).(GoogleIamV1BindingResponseOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1Policy struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs []GoogleIamV1AuditConfig `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings []GoogleIamV1Binding `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag *string `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version *int `pulumi:"version"` +} + +// GoogleIamV1PolicyInput is an input type that accepts GoogleIamV1PolicyArgs and GoogleIamV1PolicyOutput values. +// You can construct a concrete instance of `GoogleIamV1PolicyInput` via: +// +// GoogleIamV1PolicyArgs{...} +type GoogleIamV1PolicyInput interface { + pulumi.Input + + ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput + ToGoogleIamV1PolicyOutputWithContext(context.Context) GoogleIamV1PolicyOutput +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyArgs struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs GoogleIamV1AuditConfigArrayInput `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings GoogleIamV1BindingArrayInput `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version pulumi.IntPtrInput `pulumi:"version"` +} + +func (GoogleIamV1PolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Policy)(nil)).Elem() +} + +func (i GoogleIamV1PolicyArgs) ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput { + return i.ToGoogleIamV1PolicyOutputWithContext(context.Background()) +} + +func (i GoogleIamV1PolicyArgs) ToGoogleIamV1PolicyOutputWithContext(ctx context.Context) GoogleIamV1PolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1PolicyOutput) +} + +// GoogleIamV1PolicyMapInput is an input type that accepts GoogleIamV1PolicyMap and GoogleIamV1PolicyMapOutput values. +// You can construct a concrete instance of `GoogleIamV1PolicyMapInput` via: +// +// GoogleIamV1PolicyMap{ "key": GoogleIamV1PolicyArgs{...} } +type GoogleIamV1PolicyMapInput interface { + pulumi.Input + + ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput + ToGoogleIamV1PolicyMapOutputWithContext(context.Context) GoogleIamV1PolicyMapOutput +} + +type GoogleIamV1PolicyMap map[string]GoogleIamV1PolicyInput + +func (GoogleIamV1PolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1Policy)(nil)).Elem() +} + +func (i GoogleIamV1PolicyMap) ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput { + return i.ToGoogleIamV1PolicyMapOutputWithContext(context.Background()) +} + +func (i GoogleIamV1PolicyMap) ToGoogleIamV1PolicyMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1PolicyMapOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Policy)(nil)).Elem() +} + +func (o GoogleIamV1PolicyOutput) ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput { + return o +} + +func (o GoogleIamV1PolicyOutput) ToGoogleIamV1PolicyOutputWithContext(ctx context.Context) GoogleIamV1PolicyOutput { + return o +} + +// Specifies cloud audit logging configuration for this policy. +func (o GoogleIamV1PolicyOutput) AuditConfigs() GoogleIamV1AuditConfigArrayOutput { + return o.ApplyT(func(v GoogleIamV1Policy) []GoogleIamV1AuditConfig { return v.AuditConfigs }).(GoogleIamV1AuditConfigArrayOutput) +} + +// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. +func (o GoogleIamV1PolicyOutput) Bindings() GoogleIamV1BindingArrayOutput { + return o.ApplyT(func(v GoogleIamV1Policy) []GoogleIamV1Binding { return v.Bindings }).(GoogleIamV1BindingArrayOutput) +} + +// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. +func (o GoogleIamV1PolicyOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1Policy) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1PolicyOutput) Version() pulumi.IntPtrOutput { + return o.ApplyT(func(v GoogleIamV1Policy) *int { return v.Version }).(pulumi.IntPtrOutput) +} + +type GoogleIamV1PolicyMapOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1Policy)(nil)).Elem() +} + +func (o GoogleIamV1PolicyMapOutput) ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput { + return o +} + +func (o GoogleIamV1PolicyMapOutput) ToGoogleIamV1PolicyMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyMapOutput { + return o +} + +func (o GoogleIamV1PolicyMapOutput) MapIndex(k pulumi.StringInput) GoogleIamV1PolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleIamV1Policy { + return vs[0].(map[string]GoogleIamV1Policy)[vs[1].(string)] + }).(GoogleIamV1PolicyOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyResponse struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs []GoogleIamV1AuditConfigResponse `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings []GoogleIamV1BindingResponse `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag string `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version int `pulumi:"version"` +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ```{ "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 }``` **YAML example:** ```bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1PolicyResponse)(nil)).Elem() +} + +func (o GoogleIamV1PolicyResponseOutput) ToGoogleIamV1PolicyResponseOutput() GoogleIamV1PolicyResponseOutput { + return o +} + +func (o GoogleIamV1PolicyResponseOutput) ToGoogleIamV1PolicyResponseOutputWithContext(ctx context.Context) GoogleIamV1PolicyResponseOutput { + return o +} + +// Specifies cloud audit logging configuration for this policy. +func (o GoogleIamV1PolicyResponseOutput) AuditConfigs() GoogleIamV1AuditConfigResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) []GoogleIamV1AuditConfigResponse { return v.AuditConfigs }).(GoogleIamV1AuditConfigResponseArrayOutput) +} + +// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. +func (o GoogleIamV1PolicyResponseOutput) Bindings() GoogleIamV1BindingResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) []GoogleIamV1BindingResponse { return v.Bindings }).(GoogleIamV1BindingResponseArrayOutput) +} + +// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. +func (o GoogleIamV1PolicyResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1PolicyResponseOutput) Version() pulumi.IntOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) int { return v.Version }).(pulumi.IntOutput) +} + +type GoogleIamV1PolicyResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1PolicyResponse)(nil)).Elem() +} + +func (o GoogleIamV1PolicyResponseMapOutput) ToGoogleIamV1PolicyResponseMapOutput() GoogleIamV1PolicyResponseMapOutput { + return o +} + +func (o GoogleIamV1PolicyResponseMapOutput) ToGoogleIamV1PolicyResponseMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyResponseMapOutput { + return o +} + +func (o GoogleIamV1PolicyResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleIamV1PolicyResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleIamV1PolicyResponse { + return vs[0].(map[string]GoogleIamV1PolicyResponse)[vs[1].(string)] + }).(GoogleIamV1PolicyResponseOutput) +} + // Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp type GoogleTypeDateResponse struct { // Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. @@ -217,10 +917,283 @@ func (o GoogleTypeDateResponseOutput) Year() pulumi.IntOutput { return o.ApplyT(func(v GoogleTypeDateResponse) int { return v.Year }).(pulumi.IntOutput) } +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExpr struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description *string `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression *string `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location *string `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title *string `pulumi:"title"` +} + +// GoogleTypeExprInput is an input type that accepts GoogleTypeExprArgs and GoogleTypeExprOutput values. +// You can construct a concrete instance of `GoogleTypeExprInput` via: +// +// GoogleTypeExprArgs{...} +type GoogleTypeExprInput interface { + pulumi.Input + + ToGoogleTypeExprOutput() GoogleTypeExprOutput + ToGoogleTypeExprOutputWithContext(context.Context) GoogleTypeExprOutput +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprArgs struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description pulumi.StringPtrInput `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression pulumi.StringPtrInput `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location pulumi.StringPtrInput `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title pulumi.StringPtrInput `pulumi:"title"` +} + +func (GoogleTypeExprArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExpr)(nil)).Elem() +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprOutput() GoogleTypeExprOutput { + return i.ToGoogleTypeExprOutputWithContext(context.Background()) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprOutputWithContext(ctx context.Context) GoogleTypeExprOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprOutput) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return i.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprOutput).ToGoogleTypeExprPtrOutputWithContext(ctx) +} + +// GoogleTypeExprPtrInput is an input type that accepts GoogleTypeExprArgs, GoogleTypeExprPtr and GoogleTypeExprPtrOutput values. +// You can construct a concrete instance of `GoogleTypeExprPtrInput` via: +// +// GoogleTypeExprArgs{...} +// +// or: +// +// nil +type GoogleTypeExprPtrInput interface { + pulumi.Input + + ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput + ToGoogleTypeExprPtrOutputWithContext(context.Context) GoogleTypeExprPtrOutput +} + +type googleTypeExprPtrType GoogleTypeExprArgs + +func GoogleTypeExprPtr(v *GoogleTypeExprArgs) GoogleTypeExprPtrInput { + return (*googleTypeExprPtrType)(v) +} + +func (*googleTypeExprPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleTypeExpr)(nil)).Elem() +} + +func (i *googleTypeExprPtrType) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return i.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (i *googleTypeExprPtrType) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprPtrOutput) +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExpr)(nil)).Elem() +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprOutput() GoogleTypeExprOutput { + return o +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprOutputWithContext(ctx context.Context) GoogleTypeExprOutput { + return o +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return o.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleTypeExpr) *GoogleTypeExpr { + return &v + }).(GoogleTypeExprPtrOutput) +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Expression }).(pulumi.StringPtrOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprOutput) Title() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Title }).(pulumi.StringPtrOutput) +} + +type GoogleTypeExprPtrOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleTypeExpr)(nil)).Elem() +} + +func (o GoogleTypeExprPtrOutput) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return o +} + +func (o GoogleTypeExprPtrOutput) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return o +} + +func (o GoogleTypeExprPtrOutput) Elem() GoogleTypeExprOutput { + return o.ApplyT(func(v *GoogleTypeExpr) GoogleTypeExpr { + if v != nil { + return *v + } + var ret GoogleTypeExpr + return ret + }).(GoogleTypeExprOutput) +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprPtrOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Expression + }).(pulumi.StringPtrOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprPtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprPtrOutput) Title() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Title + }).(pulumi.StringPtrOutput) +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprResponse struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description string `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression string `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location string `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title string `pulumi:"title"` +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprResponseOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExprResponse)(nil)).Elem() +} + +func (o GoogleTypeExprResponseOutput) ToGoogleTypeExprResponseOutput() GoogleTypeExprResponseOutput { + return o +} + +func (o GoogleTypeExprResponseOutput) ToGoogleTypeExprResponseOutputWithContext(ctx context.Context) GoogleTypeExprResponseOutput { + return o +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprResponseOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Expression }).(pulumi.StringOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprResponseOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Location }).(pulumi.StringOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprResponseOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Title }).(pulumi.StringOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1betaReplayConfigInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1betaReplayConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditConfigInput)(nil)).Elem(), GoogleIamV1AuditConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditConfigArrayInput)(nil)).Elem(), GoogleIamV1AuditConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigInput)(nil)).Elem(), GoogleIamV1AuditLogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigArrayInput)(nil)).Elem(), GoogleIamV1AuditLogConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1BindingInput)(nil)).Elem(), GoogleIamV1BindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1BindingArrayInput)(nil)).Elem(), GoogleIamV1BindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1PolicyInput)(nil)).Elem(), GoogleIamV1PolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1PolicyMapInput)(nil)).Elem(), GoogleIamV1PolicyMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleTypeExprInput)(nil)).Elem(), GoogleTypeExprArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleTypeExprPtrInput)(nil)).Elem(), GoogleTypeExprArgs{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1betaReplayConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1betaReplayConfigResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1betaReplayResultsSummaryResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyMapOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyResponseMapOutput{}) pulumi.RegisterOutputType(GoogleTypeDateResponseOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprPtrOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprResponseOutput{}) } diff --git a/sdk/go/google/policysimulator/v1beta1/pulumiEnums.go b/sdk/go/google/policysimulator/v1beta1/pulumiEnums.go index 651309804a..b67bf6add3 100644 --- a/sdk/go/google/policysimulator/v1beta1/pulumiEnums.go +++ b/sdk/go/google/policysimulator/v1beta1/pulumiEnums.go @@ -178,9 +178,187 @@ func (in *googleCloudPolicysimulatorV1beta1ReplayConfigLogSourcePtr) ToGoogleClo return pulumi.ToOutputWithContext(ctx, in).(GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSourcePtrOutput) } +// The log type that this config enables. +type GoogleIamV1AuditLogConfigLogType string + +const ( + // Default case. Should never be this. + GoogleIamV1AuditLogConfigLogTypeLogTypeUnspecified = GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED") + // Admin reads. Example: CloudIAM getIamPolicy + GoogleIamV1AuditLogConfigLogTypeAdminRead = GoogleIamV1AuditLogConfigLogType("ADMIN_READ") + // Data writes. Example: CloudSQL Users create + GoogleIamV1AuditLogConfigLogTypeDataWrite = GoogleIamV1AuditLogConfigLogType("DATA_WRITE") + // Data reads. Example: CloudSQL Users list + GoogleIamV1AuditLogConfigLogTypeDataRead = GoogleIamV1AuditLogConfigLogType("DATA_READ") +) + +func (GoogleIamV1AuditLogConfigLogType) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput { + return pulumi.ToOutput(e).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return e.ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Background()) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return GoogleIamV1AuditLogConfigLogType(e).ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx).ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e GoogleIamV1AuditLogConfigLogType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type GoogleIamV1AuditLogConfigLogTypeOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigLogTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypeOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleIamV1AuditLogConfigLogType) *GoogleIamV1AuditLogConfigLogType { + return &v + }).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleIamV1AuditLogConfigLogType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e GoogleIamV1AuditLogConfigLogType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1AuditLogConfigLogTypePtrOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigLogTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleIamV1AuditLogConfigLogType)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) Elem() GoogleIamV1AuditLogConfigLogTypeOutput { + return o.ApplyT(func(v *GoogleIamV1AuditLogConfigLogType) GoogleIamV1AuditLogConfigLogType { + if v != nil { + return *v + } + var ret GoogleIamV1AuditLogConfigLogType + return ret + }).(GoogleIamV1AuditLogConfigLogTypeOutput) +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o GoogleIamV1AuditLogConfigLogTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *GoogleIamV1AuditLogConfigLogType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// GoogleIamV1AuditLogConfigLogTypeInput is an input type that accepts values of the GoogleIamV1AuditLogConfigLogType enum +// A concrete instance of `GoogleIamV1AuditLogConfigLogTypeInput` can be one of the following: +// +// GoogleIamV1AuditLogConfigLogTypeLogTypeUnspecified +// GoogleIamV1AuditLogConfigLogTypeAdminRead +// GoogleIamV1AuditLogConfigLogTypeDataWrite +// GoogleIamV1AuditLogConfigLogTypeDataRead +type GoogleIamV1AuditLogConfigLogTypeInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigLogTypeOutput() GoogleIamV1AuditLogConfigLogTypeOutput + ToGoogleIamV1AuditLogConfigLogTypeOutputWithContext(context.Context) GoogleIamV1AuditLogConfigLogTypeOutput +} + +var googleIamV1AuditLogConfigLogTypePtrType = reflect.TypeOf((**GoogleIamV1AuditLogConfigLogType)(nil)).Elem() + +type GoogleIamV1AuditLogConfigLogTypePtrInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput + ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput +} + +type googleIamV1AuditLogConfigLogTypePtr string + +func GoogleIamV1AuditLogConfigLogTypePtr(v string) GoogleIamV1AuditLogConfigLogTypePtrInput { + return (*googleIamV1AuditLogConfigLogTypePtr)(&v) +} + +func (*googleIamV1AuditLogConfigLogTypePtr) ElementType() reflect.Type { + return googleIamV1AuditLogConfigLogTypePtrType +} + +func (in *googleIamV1AuditLogConfigLogTypePtr) ToGoogleIamV1AuditLogConfigLogTypePtrOutput() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return pulumi.ToOutput(in).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +func (in *googleIamV1AuditLogConfigLogTypePtr) ToGoogleIamV1AuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigLogTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSourceInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource("LOG_SOURCE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSourcePtrInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource("LOG_SOURCE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigLogTypeInput)(nil)).Elem(), GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigLogTypePtrInput)(nil)).Elem(), GoogleIamV1AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSourceOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSourcePtrOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigLogTypeOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigLogTypePtrOutput{}) } diff --git a/sdk/go/google/policysimulator/v1beta1/pulumiTypes.go b/sdk/go/google/policysimulator/v1beta1/pulumiTypes.go index 454c13afaf..e7a59cf0f2 100644 --- a/sdk/go/google/policysimulator/v1beta1/pulumiTypes.go +++ b/sdk/go/google/policysimulator/v1beta1/pulumiTypes.go @@ -18,7 +18,7 @@ type GoogleCloudPolicysimulatorV1beta1ReplayConfig struct { // The logs to use as input for the Replay. LogSource *GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay map[string]string `pulumi:"policyOverlay"` + PolicyOverlay map[string]GoogleIamV1Policy `pulumi:"policyOverlay"` } // GoogleCloudPolicysimulatorV1beta1ReplayConfigInput is an input type that accepts GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs and GoogleCloudPolicysimulatorV1beta1ReplayConfigOutput values. @@ -37,7 +37,7 @@ type GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs struct { // The logs to use as input for the Replay. LogSource GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSourcePtrInput `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay pulumi.StringMapInput `pulumi:"policyOverlay"` + PolicyOverlay GoogleIamV1PolicyMapInput `pulumi:"policyOverlay"` } func (GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs) ElementType() reflect.Type { @@ -75,8 +75,10 @@ func (o GoogleCloudPolicysimulatorV1beta1ReplayConfigOutput) LogSource() GoogleC } // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. -func (o GoogleCloudPolicysimulatorV1beta1ReplayConfigOutput) PolicyOverlay() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudPolicysimulatorV1beta1ReplayConfig) map[string]string { return v.PolicyOverlay }).(pulumi.StringMapOutput) +func (o GoogleCloudPolicysimulatorV1beta1ReplayConfigOutput) PolicyOverlay() GoogleIamV1PolicyMapOutput { + return o.ApplyT(func(v GoogleCloudPolicysimulatorV1beta1ReplayConfig) map[string]GoogleIamV1Policy { + return v.PolicyOverlay + }).(GoogleIamV1PolicyMapOutput) } // The configuration used for a Replay. @@ -84,7 +86,7 @@ type GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse struct { // The logs to use as input for the Replay. LogSource string `pulumi:"logSource"` // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. - PolicyOverlay map[string]string `pulumi:"policyOverlay"` + PolicyOverlay map[string]GoogleIamV1PolicyResponse `pulumi:"policyOverlay"` } // The configuration used for a Replay. @@ -108,10 +110,10 @@ func (o GoogleCloudPolicysimulatorV1beta1ReplayConfigResponseOutput) LogSource() } // A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. -func (o GoogleCloudPolicysimulatorV1beta1ReplayConfigResponseOutput) PolicyOverlay() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse) map[string]string { +func (o GoogleCloudPolicysimulatorV1beta1ReplayConfigResponseOutput) PolicyOverlay() GoogleIamV1PolicyResponseMapOutput { + return o.ApplyT(func(v GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse) map[string]GoogleIamV1PolicyResponse { return v.PolicyOverlay - }).(pulumi.StringMapOutput) + }).(GoogleIamV1PolicyResponseMapOutput) } // Summary statistics about the replayed log entries. @@ -179,6 +181,702 @@ func (o GoogleCloudPolicysimulatorV1beta1ReplayResultsSummaryResponseOutput) Unc return o.ApplyT(func(v GoogleCloudPolicysimulatorV1beta1ReplayResultsSummaryResponse) int { return v.UnchangedCount }).(pulumi.IntOutput) } +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfig struct { + // The configuration for logging of each type of permission. + AuditLogConfigs []GoogleIamV1AuditLogConfig `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service *string `pulumi:"service"` +} + +// GoogleIamV1AuditConfigInput is an input type that accepts GoogleIamV1AuditConfigArgs and GoogleIamV1AuditConfigOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditConfigInput` via: +// +// GoogleIamV1AuditConfigArgs{...} +type GoogleIamV1AuditConfigInput interface { + pulumi.Input + + ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput + ToGoogleIamV1AuditConfigOutputWithContext(context.Context) GoogleIamV1AuditConfigOutput +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigArgs struct { + // The configuration for logging of each type of permission. + AuditLogConfigs GoogleIamV1AuditLogConfigArrayInput `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service pulumi.StringPtrInput `pulumi:"service"` +} + +func (GoogleIamV1AuditConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditConfigArgs) ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput { + return i.ToGoogleIamV1AuditConfigOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditConfigArgs) ToGoogleIamV1AuditConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditConfigOutput) +} + +// GoogleIamV1AuditConfigArrayInput is an input type that accepts GoogleIamV1AuditConfigArray and GoogleIamV1AuditConfigArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditConfigArrayInput` via: +// +// GoogleIamV1AuditConfigArray{ GoogleIamV1AuditConfigArgs{...} } +type GoogleIamV1AuditConfigArrayInput interface { + pulumi.Input + + ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput + ToGoogleIamV1AuditConfigArrayOutputWithContext(context.Context) GoogleIamV1AuditConfigArrayOutput +} + +type GoogleIamV1AuditConfigArray []GoogleIamV1AuditConfigInput + +func (GoogleIamV1AuditConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditConfigArray) ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput { + return i.ToGoogleIamV1AuditConfigArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditConfigArray) ToGoogleIamV1AuditConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditConfigArrayOutput) +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigOutput) ToGoogleIamV1AuditConfigOutput() GoogleIamV1AuditConfigOutput { + return o +} + +func (o GoogleIamV1AuditConfigOutput) ToGoogleIamV1AuditConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigOutput { + return o +} + +// The configuration for logging of each type of permission. +func (o GoogleIamV1AuditConfigOutput) AuditLogConfigs() GoogleIamV1AuditLogConfigArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfig) []GoogleIamV1AuditLogConfig { return v.AuditLogConfigs }).(GoogleIamV1AuditLogConfigArrayOutput) +} + +// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. +func (o GoogleIamV1AuditConfigOutput) Service() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfig) *string { return v.Service }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1AuditConfigArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigArrayOutput) ToGoogleIamV1AuditConfigArrayOutput() GoogleIamV1AuditConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigArrayOutput) ToGoogleIamV1AuditConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditConfig { + return vs[0].([]GoogleIamV1AuditConfig)[vs[1].(int)] + }).(GoogleIamV1AuditConfigOutput) +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigResponse struct { + // The configuration for logging of each type of permission. + AuditLogConfigs []GoogleIamV1AuditLogConfigResponse `pulumi:"auditLogConfigs"` + // Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + Service string `pulumi:"service"` +} + +// Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigResponseOutput) ToGoogleIamV1AuditConfigResponseOutput() GoogleIamV1AuditConfigResponseOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseOutput) ToGoogleIamV1AuditConfigResponseOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigResponseOutput { + return o +} + +// The configuration for logging of each type of permission. +func (o GoogleIamV1AuditConfigResponseOutput) AuditLogConfigs() GoogleIamV1AuditLogConfigResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfigResponse) []GoogleIamV1AuditLogConfigResponse { return v.AuditLogConfigs }).(GoogleIamV1AuditLogConfigResponseArrayOutput) +} + +// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. +func (o GoogleIamV1AuditConfigResponseOutput) Service() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1AuditConfigResponse) string { return v.Service }).(pulumi.StringOutput) +} + +type GoogleIamV1AuditConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) ToGoogleIamV1AuditConfigResponseArrayOutput() GoogleIamV1AuditConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) ToGoogleIamV1AuditConfigResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditConfigResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditConfigResponse { + return vs[0].([]GoogleIamV1AuditConfigResponse)[vs[1].(int)] + }).(GoogleIamV1AuditConfigResponseOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfig struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers []string `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType *GoogleIamV1AuditLogConfigLogType `pulumi:"logType"` +} + +// GoogleIamV1AuditLogConfigInput is an input type that accepts GoogleIamV1AuditLogConfigArgs and GoogleIamV1AuditLogConfigOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditLogConfigInput` via: +// +// GoogleIamV1AuditLogConfigArgs{...} +type GoogleIamV1AuditLogConfigInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput + ToGoogleIamV1AuditLogConfigOutputWithContext(context.Context) GoogleIamV1AuditLogConfigOutput +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigArgs struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers pulumi.StringArrayInput `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType GoogleIamV1AuditLogConfigLogTypePtrInput `pulumi:"logType"` +} + +func (GoogleIamV1AuditLogConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditLogConfigArgs) ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput { + return i.ToGoogleIamV1AuditLogConfigOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditLogConfigArgs) ToGoogleIamV1AuditLogConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditLogConfigOutput) +} + +// GoogleIamV1AuditLogConfigArrayInput is an input type that accepts GoogleIamV1AuditLogConfigArray and GoogleIamV1AuditLogConfigArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1AuditLogConfigArrayInput` via: +// +// GoogleIamV1AuditLogConfigArray{ GoogleIamV1AuditLogConfigArgs{...} } +type GoogleIamV1AuditLogConfigArrayInput interface { + pulumi.Input + + ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput + ToGoogleIamV1AuditLogConfigArrayOutputWithContext(context.Context) GoogleIamV1AuditLogConfigArrayOutput +} + +type GoogleIamV1AuditLogConfigArray []GoogleIamV1AuditLogConfigInput + +func (GoogleIamV1AuditLogConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (i GoogleIamV1AuditLogConfigArray) ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput { + return i.ToGoogleIamV1AuditLogConfigArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1AuditLogConfigArray) ToGoogleIamV1AuditLogConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1AuditLogConfigArrayOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigOutput) ToGoogleIamV1AuditLogConfigOutput() GoogleIamV1AuditLogConfigOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigOutput) ToGoogleIamV1AuditLogConfigOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigOutput { + return o +} + +// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. +func (o GoogleIamV1AuditLogConfigOutput) ExemptedMembers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfig) []string { return v.ExemptedMembers }).(pulumi.StringArrayOutput) +} + +// The log type that this config enables. +func (o GoogleIamV1AuditLogConfigOutput) LogType() GoogleIamV1AuditLogConfigLogTypePtrOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfig) *GoogleIamV1AuditLogConfigLogType { return v.LogType }).(GoogleIamV1AuditLogConfigLogTypePtrOutput) +} + +type GoogleIamV1AuditLogConfigArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfig)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) ToGoogleIamV1AuditLogConfigArrayOutput() GoogleIamV1AuditLogConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) ToGoogleIamV1AuditLogConfigArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditLogConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditLogConfig { + return vs[0].([]GoogleIamV1AuditLogConfig)[vs[1].(int)] + }).(GoogleIamV1AuditLogConfigOutput) +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigResponse struct { + // Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + ExemptedMembers []string `pulumi:"exemptedMembers"` + // The log type that this config enables. + LogType string `pulumi:"logType"` +} + +// Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfigResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1AuditLogConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigResponseOutput) ToGoogleIamV1AuditLogConfigResponseOutput() GoogleIamV1AuditLogConfigResponseOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseOutput) ToGoogleIamV1AuditLogConfigResponseOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigResponseOutput { + return o +} + +// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. +func (o GoogleIamV1AuditLogConfigResponseOutput) ExemptedMembers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfigResponse) []string { return v.ExemptedMembers }).(pulumi.StringArrayOutput) +} + +// The log type that this config enables. +func (o GoogleIamV1AuditLogConfigResponseOutput) LogType() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1AuditLogConfigResponse) string { return v.LogType }).(pulumi.StringOutput) +} + +type GoogleIamV1AuditLogConfigResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1AuditLogConfigResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1AuditLogConfigResponse)(nil)).Elem() +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) ToGoogleIamV1AuditLogConfigResponseArrayOutput() GoogleIamV1AuditLogConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) ToGoogleIamV1AuditLogConfigResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1AuditLogConfigResponseArrayOutput { + return o +} + +func (o GoogleIamV1AuditLogConfigResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1AuditLogConfigResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1AuditLogConfigResponse { + return vs[0].([]GoogleIamV1AuditLogConfigResponse)[vs[1].(int)] + }).(GoogleIamV1AuditLogConfigResponseOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1Binding struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition *GoogleTypeExpr `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + Members []string `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role *string `pulumi:"role"` +} + +// GoogleIamV1BindingInput is an input type that accepts GoogleIamV1BindingArgs and GoogleIamV1BindingOutput values. +// You can construct a concrete instance of `GoogleIamV1BindingInput` via: +// +// GoogleIamV1BindingArgs{...} +type GoogleIamV1BindingInput interface { + pulumi.Input + + ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput + ToGoogleIamV1BindingOutputWithContext(context.Context) GoogleIamV1BindingOutput +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingArgs struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition GoogleTypeExprPtrInput `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + Members pulumi.StringArrayInput `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role pulumi.StringPtrInput `pulumi:"role"` +} + +func (GoogleIamV1BindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Binding)(nil)).Elem() +} + +func (i GoogleIamV1BindingArgs) ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput { + return i.ToGoogleIamV1BindingOutputWithContext(context.Background()) +} + +func (i GoogleIamV1BindingArgs) ToGoogleIamV1BindingOutputWithContext(ctx context.Context) GoogleIamV1BindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1BindingOutput) +} + +// GoogleIamV1BindingArrayInput is an input type that accepts GoogleIamV1BindingArray and GoogleIamV1BindingArrayOutput values. +// You can construct a concrete instance of `GoogleIamV1BindingArrayInput` via: +// +// GoogleIamV1BindingArray{ GoogleIamV1BindingArgs{...} } +type GoogleIamV1BindingArrayInput interface { + pulumi.Input + + ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput + ToGoogleIamV1BindingArrayOutputWithContext(context.Context) GoogleIamV1BindingArrayOutput +} + +type GoogleIamV1BindingArray []GoogleIamV1BindingInput + +func (GoogleIamV1BindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1Binding)(nil)).Elem() +} + +func (i GoogleIamV1BindingArray) ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput { + return i.ToGoogleIamV1BindingArrayOutputWithContext(context.Background()) +} + +func (i GoogleIamV1BindingArray) ToGoogleIamV1BindingArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1BindingArrayOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Binding)(nil)).Elem() +} + +func (o GoogleIamV1BindingOutput) ToGoogleIamV1BindingOutput() GoogleIamV1BindingOutput { + return o +} + +func (o GoogleIamV1BindingOutput) ToGoogleIamV1BindingOutputWithContext(ctx context.Context) GoogleIamV1BindingOutput { + return o +} + +// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1BindingOutput) Condition() GoogleTypeExprPtrOutput { + return o.ApplyT(func(v GoogleIamV1Binding) *GoogleTypeExpr { return v.Condition }).(GoogleTypeExprPtrOutput) +} + +// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. +func (o GoogleIamV1BindingOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1Binding) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. +func (o GoogleIamV1BindingOutput) Role() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1Binding) *string { return v.Role }).(pulumi.StringPtrOutput) +} + +type GoogleIamV1BindingArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1Binding)(nil)).Elem() +} + +func (o GoogleIamV1BindingArrayOutput) ToGoogleIamV1BindingArrayOutput() GoogleIamV1BindingArrayOutput { + return o +} + +func (o GoogleIamV1BindingArrayOutput) ToGoogleIamV1BindingArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingArrayOutput { + return o +} + +func (o GoogleIamV1BindingArrayOutput) Index(i pulumi.IntInput) GoogleIamV1BindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1Binding { + return vs[0].([]GoogleIamV1Binding)[vs[1].(int)] + }).(GoogleIamV1BindingOutput) +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingResponse struct { + // The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Condition GoogleTypeExprResponse `pulumi:"condition"` + // Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + Members []string `pulumi:"members"` + // Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role string `pulumi:"role"` +} + +// Associates `members`, or principals, with a `role`. +type GoogleIamV1BindingResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1BindingResponse)(nil)).Elem() +} + +func (o GoogleIamV1BindingResponseOutput) ToGoogleIamV1BindingResponseOutput() GoogleIamV1BindingResponseOutput { + return o +} + +func (o GoogleIamV1BindingResponseOutput) ToGoogleIamV1BindingResponseOutputWithContext(ctx context.Context) GoogleIamV1BindingResponseOutput { + return o +} + +// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1BindingResponseOutput) Condition() GoogleTypeExprResponseOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) GoogleTypeExprResponse { return v.Condition }).(GoogleTypeExprResponseOutput) +} + +// Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. +func (o GoogleIamV1BindingResponseOutput) Members() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) []string { return v.Members }).(pulumi.StringArrayOutput) +} + +// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. +func (o GoogleIamV1BindingResponseOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1BindingResponse) string { return v.Role }).(pulumi.StringOutput) +} + +type GoogleIamV1BindingResponseArrayOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1BindingResponseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GoogleIamV1BindingResponse)(nil)).Elem() +} + +func (o GoogleIamV1BindingResponseArrayOutput) ToGoogleIamV1BindingResponseArrayOutput() GoogleIamV1BindingResponseArrayOutput { + return o +} + +func (o GoogleIamV1BindingResponseArrayOutput) ToGoogleIamV1BindingResponseArrayOutputWithContext(ctx context.Context) GoogleIamV1BindingResponseArrayOutput { + return o +} + +func (o GoogleIamV1BindingResponseArrayOutput) Index(i pulumi.IntInput) GoogleIamV1BindingResponseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GoogleIamV1BindingResponse { + return vs[0].([]GoogleIamV1BindingResponse)[vs[1].(int)] + }).(GoogleIamV1BindingResponseOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1Policy struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs []GoogleIamV1AuditConfig `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings []GoogleIamV1Binding `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag *string `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version *int `pulumi:"version"` +} + +// GoogleIamV1PolicyInput is an input type that accepts GoogleIamV1PolicyArgs and GoogleIamV1PolicyOutput values. +// You can construct a concrete instance of `GoogleIamV1PolicyInput` via: +// +// GoogleIamV1PolicyArgs{...} +type GoogleIamV1PolicyInput interface { + pulumi.Input + + ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput + ToGoogleIamV1PolicyOutputWithContext(context.Context) GoogleIamV1PolicyOutput +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyArgs struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs GoogleIamV1AuditConfigArrayInput `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings GoogleIamV1BindingArrayInput `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag pulumi.StringPtrInput `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version pulumi.IntPtrInput `pulumi:"version"` +} + +func (GoogleIamV1PolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Policy)(nil)).Elem() +} + +func (i GoogleIamV1PolicyArgs) ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput { + return i.ToGoogleIamV1PolicyOutputWithContext(context.Background()) +} + +func (i GoogleIamV1PolicyArgs) ToGoogleIamV1PolicyOutputWithContext(ctx context.Context) GoogleIamV1PolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1PolicyOutput) +} + +// GoogleIamV1PolicyMapInput is an input type that accepts GoogleIamV1PolicyMap and GoogleIamV1PolicyMapOutput values. +// You can construct a concrete instance of `GoogleIamV1PolicyMapInput` via: +// +// GoogleIamV1PolicyMap{ "key": GoogleIamV1PolicyArgs{...} } +type GoogleIamV1PolicyMapInput interface { + pulumi.Input + + ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput + ToGoogleIamV1PolicyMapOutputWithContext(context.Context) GoogleIamV1PolicyMapOutput +} + +type GoogleIamV1PolicyMap map[string]GoogleIamV1PolicyInput + +func (GoogleIamV1PolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1Policy)(nil)).Elem() +} + +func (i GoogleIamV1PolicyMap) ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput { + return i.ToGoogleIamV1PolicyMapOutputWithContext(context.Background()) +} + +func (i GoogleIamV1PolicyMap) ToGoogleIamV1PolicyMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleIamV1PolicyMapOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1Policy)(nil)).Elem() +} + +func (o GoogleIamV1PolicyOutput) ToGoogleIamV1PolicyOutput() GoogleIamV1PolicyOutput { + return o +} + +func (o GoogleIamV1PolicyOutput) ToGoogleIamV1PolicyOutputWithContext(ctx context.Context) GoogleIamV1PolicyOutput { + return o +} + +// Specifies cloud audit logging configuration for this policy. +func (o GoogleIamV1PolicyOutput) AuditConfigs() GoogleIamV1AuditConfigArrayOutput { + return o.ApplyT(func(v GoogleIamV1Policy) []GoogleIamV1AuditConfig { return v.AuditConfigs }).(GoogleIamV1AuditConfigArrayOutput) +} + +// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. +func (o GoogleIamV1PolicyOutput) Bindings() GoogleIamV1BindingArrayOutput { + return o.ApplyT(func(v GoogleIamV1Policy) []GoogleIamV1Binding { return v.Bindings }).(GoogleIamV1BindingArrayOutput) +} + +// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. +func (o GoogleIamV1PolicyOutput) Etag() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleIamV1Policy) *string { return v.Etag }).(pulumi.StringPtrOutput) +} + +// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1PolicyOutput) Version() pulumi.IntPtrOutput { + return o.ApplyT(func(v GoogleIamV1Policy) *int { return v.Version }).(pulumi.IntPtrOutput) +} + +type GoogleIamV1PolicyMapOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1Policy)(nil)).Elem() +} + +func (o GoogleIamV1PolicyMapOutput) ToGoogleIamV1PolicyMapOutput() GoogleIamV1PolicyMapOutput { + return o +} + +func (o GoogleIamV1PolicyMapOutput) ToGoogleIamV1PolicyMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyMapOutput { + return o +} + +func (o GoogleIamV1PolicyMapOutput) MapIndex(k pulumi.StringInput) GoogleIamV1PolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleIamV1Policy { + return vs[0].(map[string]GoogleIamV1Policy)[vs[1].(string)] + }).(GoogleIamV1PolicyOutput) +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyResponse struct { + // Specifies cloud audit logging configuration for this policy. + AuditConfigs []GoogleIamV1AuditConfigResponse `pulumi:"auditConfigs"` + // Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + Bindings []GoogleIamV1BindingResponse `pulumi:"bindings"` + // `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + Etag string `pulumi:"etag"` + // Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + Version int `pulumi:"version"` +} + +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +type GoogleIamV1PolicyResponseOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleIamV1PolicyResponse)(nil)).Elem() +} + +func (o GoogleIamV1PolicyResponseOutput) ToGoogleIamV1PolicyResponseOutput() GoogleIamV1PolicyResponseOutput { + return o +} + +func (o GoogleIamV1PolicyResponseOutput) ToGoogleIamV1PolicyResponseOutputWithContext(ctx context.Context) GoogleIamV1PolicyResponseOutput { + return o +} + +// Specifies cloud audit logging configuration for this policy. +func (o GoogleIamV1PolicyResponseOutput) AuditConfigs() GoogleIamV1AuditConfigResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) []GoogleIamV1AuditConfigResponse { return v.AuditConfigs }).(GoogleIamV1AuditConfigResponseArrayOutput) +} + +// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. +func (o GoogleIamV1PolicyResponseOutput) Bindings() GoogleIamV1BindingResponseArrayOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) []GoogleIamV1BindingResponse { return v.Bindings }).(GoogleIamV1BindingResponseArrayOutput) +} + +// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. +func (o GoogleIamV1PolicyResponseOutput) Etag() pulumi.StringOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) string { return v.Etag }).(pulumi.StringOutput) +} + +// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). +func (o GoogleIamV1PolicyResponseOutput) Version() pulumi.IntOutput { + return o.ApplyT(func(v GoogleIamV1PolicyResponse) int { return v.Version }).(pulumi.IntOutput) +} + +type GoogleIamV1PolicyResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleIamV1PolicyResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleIamV1PolicyResponse)(nil)).Elem() +} + +func (o GoogleIamV1PolicyResponseMapOutput) ToGoogleIamV1PolicyResponseMapOutput() GoogleIamV1PolicyResponseMapOutput { + return o +} + +func (o GoogleIamV1PolicyResponseMapOutput) ToGoogleIamV1PolicyResponseMapOutputWithContext(ctx context.Context) GoogleIamV1PolicyResponseMapOutput { + return o +} + +func (o GoogleIamV1PolicyResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleIamV1PolicyResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleIamV1PolicyResponse { + return vs[0].(map[string]GoogleIamV1PolicyResponse)[vs[1].(string)] + }).(GoogleIamV1PolicyResponseOutput) +} + // Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp type GoogleTypeDateResponse struct { // Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. @@ -219,10 +917,283 @@ func (o GoogleTypeDateResponseOutput) Year() pulumi.IntOutput { return o.ApplyT(func(v GoogleTypeDateResponse) int { return v.Year }).(pulumi.IntOutput) } +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExpr struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description *string `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression *string `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location *string `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title *string `pulumi:"title"` +} + +// GoogleTypeExprInput is an input type that accepts GoogleTypeExprArgs and GoogleTypeExprOutput values. +// You can construct a concrete instance of `GoogleTypeExprInput` via: +// +// GoogleTypeExprArgs{...} +type GoogleTypeExprInput interface { + pulumi.Input + + ToGoogleTypeExprOutput() GoogleTypeExprOutput + ToGoogleTypeExprOutputWithContext(context.Context) GoogleTypeExprOutput +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprArgs struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description pulumi.StringPtrInput `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression pulumi.StringPtrInput `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location pulumi.StringPtrInput `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title pulumi.StringPtrInput `pulumi:"title"` +} + +func (GoogleTypeExprArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExpr)(nil)).Elem() +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprOutput() GoogleTypeExprOutput { + return i.ToGoogleTypeExprOutputWithContext(context.Background()) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprOutputWithContext(ctx context.Context) GoogleTypeExprOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprOutput) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return i.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (i GoogleTypeExprArgs) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprOutput).ToGoogleTypeExprPtrOutputWithContext(ctx) +} + +// GoogleTypeExprPtrInput is an input type that accepts GoogleTypeExprArgs, GoogleTypeExprPtr and GoogleTypeExprPtrOutput values. +// You can construct a concrete instance of `GoogleTypeExprPtrInput` via: +// +// GoogleTypeExprArgs{...} +// +// or: +// +// nil +type GoogleTypeExprPtrInput interface { + pulumi.Input + + ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput + ToGoogleTypeExprPtrOutputWithContext(context.Context) GoogleTypeExprPtrOutput +} + +type googleTypeExprPtrType GoogleTypeExprArgs + +func GoogleTypeExprPtr(v *GoogleTypeExprArgs) GoogleTypeExprPtrInput { + return (*googleTypeExprPtrType)(v) +} + +func (*googleTypeExprPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleTypeExpr)(nil)).Elem() +} + +func (i *googleTypeExprPtrType) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return i.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (i *googleTypeExprPtrType) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleTypeExprPtrOutput) +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExpr)(nil)).Elem() +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprOutput() GoogleTypeExprOutput { + return o +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprOutputWithContext(ctx context.Context) GoogleTypeExprOutput { + return o +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return o.ToGoogleTypeExprPtrOutputWithContext(context.Background()) +} + +func (o GoogleTypeExprOutput) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GoogleTypeExpr) *GoogleTypeExpr { + return &v + }).(GoogleTypeExprPtrOutput) +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Expression }).(pulumi.StringPtrOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Location }).(pulumi.StringPtrOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprOutput) Title() pulumi.StringPtrOutput { + return o.ApplyT(func(v GoogleTypeExpr) *string { return v.Title }).(pulumi.StringPtrOutput) +} + +type GoogleTypeExprPtrOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GoogleTypeExpr)(nil)).Elem() +} + +func (o GoogleTypeExprPtrOutput) ToGoogleTypeExprPtrOutput() GoogleTypeExprPtrOutput { + return o +} + +func (o GoogleTypeExprPtrOutput) ToGoogleTypeExprPtrOutputWithContext(ctx context.Context) GoogleTypeExprPtrOutput { + return o +} + +func (o GoogleTypeExprPtrOutput) Elem() GoogleTypeExprOutput { + return o.ApplyT(func(v *GoogleTypeExpr) GoogleTypeExpr { + if v != nil { + return *v + } + var ret GoogleTypeExpr + return ret + }).(GoogleTypeExprOutput) +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprPtrOutput) Expression() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Expression + }).(pulumi.StringPtrOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprPtrOutput) Location() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Location + }).(pulumi.StringPtrOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprPtrOutput) Title() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GoogleTypeExpr) *string { + if v == nil { + return nil + } + return v.Title + }).(pulumi.StringPtrOutput) +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprResponse struct { + // Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + Description string `pulumi:"description"` + // Textual representation of an expression in Common Expression Language syntax. + Expression string `pulumi:"expression"` + // Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + Location string `pulumi:"location"` + // Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + Title string `pulumi:"title"` +} + +// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. +type GoogleTypeExprResponseOutput struct{ *pulumi.OutputState } + +func (GoogleTypeExprResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleTypeExprResponse)(nil)).Elem() +} + +func (o GoogleTypeExprResponseOutput) ToGoogleTypeExprResponseOutput() GoogleTypeExprResponseOutput { + return o +} + +func (o GoogleTypeExprResponseOutput) ToGoogleTypeExprResponseOutputWithContext(ctx context.Context) GoogleTypeExprResponseOutput { + return o +} + +// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. +func (o GoogleTypeExprResponseOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Description }).(pulumi.StringOutput) +} + +// Textual representation of an expression in Common Expression Language syntax. +func (o GoogleTypeExprResponseOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Expression }).(pulumi.StringOutput) +} + +// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. +func (o GoogleTypeExprResponseOutput) Location() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Location }).(pulumi.StringOutput) +} + +// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. +func (o GoogleTypeExprResponseOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v GoogleTypeExprResponse) string { return v.Title }).(pulumi.StringOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudPolicysimulatorV1beta1ReplayConfigInput)(nil)).Elem(), GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditConfigInput)(nil)).Elem(), GoogleIamV1AuditConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditConfigArrayInput)(nil)).Elem(), GoogleIamV1AuditConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigInput)(nil)).Elem(), GoogleIamV1AuditLogConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1AuditLogConfigArrayInput)(nil)).Elem(), GoogleIamV1AuditLogConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1BindingInput)(nil)).Elem(), GoogleIamV1BindingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1BindingArrayInput)(nil)).Elem(), GoogleIamV1BindingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1PolicyInput)(nil)).Elem(), GoogleIamV1PolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleIamV1PolicyMapInput)(nil)).Elem(), GoogleIamV1PolicyMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleTypeExprInput)(nil)).Elem(), GoogleTypeExprArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleTypeExprPtrInput)(nil)).Elem(), GoogleTypeExprArgs{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1beta1ReplayConfigOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1beta1ReplayConfigResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudPolicysimulatorV1beta1ReplayResultsSummaryResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1AuditLogConfigResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1BindingResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyMapOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyResponseOutput{}) + pulumi.RegisterOutputType(GoogleIamV1PolicyResponseMapOutput{}) pulumi.RegisterOutputType(GoogleTypeDateResponseOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprPtrOutput{}) + pulumi.RegisterOutputType(GoogleTypeExprResponseOutput{}) } diff --git a/sdk/go/google/recommendationengine/v1beta1/pulumiTypes.go b/sdk/go/google/recommendationengine/v1beta1/pulumiTypes.go index ebeddd549b..5f834bb373 100644 --- a/sdk/go/google/recommendationengine/v1beta1/pulumiTypes.go +++ b/sdk/go/google/recommendationengine/v1beta1/pulumiTypes.go @@ -166,9 +166,9 @@ func (o GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchyRespon // FeatureMap represents extra features that customers want to include in the recommendation model for catalogs/user events as categorical/numerical features. type GoogleCloudRecommendationengineV1beta1FeatureMap struct { // Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` - CategoricalFeatures map[string]string `pulumi:"categoricalFeatures"` + CategoricalFeatures map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringList `pulumi:"categoricalFeatures"` // Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` - NumericalFeatures map[string]string `pulumi:"numericalFeatures"` + NumericalFeatures map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatList `pulumi:"numericalFeatures"` } // GoogleCloudRecommendationengineV1beta1FeatureMapInput is an input type that accepts GoogleCloudRecommendationengineV1beta1FeatureMap and GoogleCloudRecommendationengineV1beta1FeatureMapOutput values. @@ -185,9 +185,9 @@ type GoogleCloudRecommendationengineV1beta1FeatureMapInput interface { // FeatureMap represents extra features that customers want to include in the recommendation model for catalogs/user events as categorical/numerical features. type GoogleCloudRecommendationengineV1beta1FeatureMapArgs struct { // Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` - CategoricalFeatures pulumi.StringMapInput `pulumi:"categoricalFeatures"` + CategoricalFeatures GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapInput `pulumi:"categoricalFeatures"` // Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` - NumericalFeatures pulumi.StringMapInput `pulumi:"numericalFeatures"` + NumericalFeatures GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapInput `pulumi:"numericalFeatures"` } func (GoogleCloudRecommendationengineV1beta1FeatureMapArgs) ElementType() reflect.Type { @@ -269,15 +269,17 @@ func (o GoogleCloudRecommendationengineV1beta1FeatureMapOutput) ToGoogleCloudRec } // Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` -func (o GoogleCloudRecommendationengineV1beta1FeatureMapOutput) CategoricalFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMap) map[string]string { +func (o GoogleCloudRecommendationengineV1beta1FeatureMapOutput) CategoricalFeatures() GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMap) map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringList { return v.CategoricalFeatures - }).(pulumi.StringMapOutput) + }).(GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput) } // Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` -func (o GoogleCloudRecommendationengineV1beta1FeatureMapOutput) NumericalFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMap) map[string]string { return v.NumericalFeatures }).(pulumi.StringMapOutput) +func (o GoogleCloudRecommendationengineV1beta1FeatureMapOutput) NumericalFeatures() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMap) map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatList { + return v.NumericalFeatures + }).(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput) } type GoogleCloudRecommendationengineV1beta1FeatureMapPtrOutput struct{ *pulumi.OutputState } @@ -305,31 +307,177 @@ func (o GoogleCloudRecommendationengineV1beta1FeatureMapPtrOutput) Elem() Google } // Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` -func (o GoogleCloudRecommendationengineV1beta1FeatureMapPtrOutput) CategoricalFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudRecommendationengineV1beta1FeatureMap) map[string]string { +func (o GoogleCloudRecommendationengineV1beta1FeatureMapPtrOutput) CategoricalFeatures() GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput { + return o.ApplyT(func(v *GoogleCloudRecommendationengineV1beta1FeatureMap) map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringList { if v == nil { return nil } return v.CategoricalFeatures - }).(pulumi.StringMapOutput) + }).(GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput) } // Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` -func (o GoogleCloudRecommendationengineV1beta1FeatureMapPtrOutput) NumericalFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudRecommendationengineV1beta1FeatureMap) map[string]string { +func (o GoogleCloudRecommendationengineV1beta1FeatureMapPtrOutput) NumericalFeatures() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput { + return o.ApplyT(func(v *GoogleCloudRecommendationengineV1beta1FeatureMap) map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatList { if v == nil { return nil } return v.NumericalFeatures - }).(pulumi.StringMapOutput) + }).(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput) +} + +// A list of float features. +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatList struct { + // Float feature value. + Value []float64 `pulumi:"value"` +} + +// GoogleCloudRecommendationengineV1beta1FeatureMapFloatListInput is an input type that accepts GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs and GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput values. +// You can construct a concrete instance of `GoogleCloudRecommendationengineV1beta1FeatureMapFloatListInput` via: +// +// GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs{...} +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatListInput interface { + pulumi.Input + + ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput + ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutputWithContext(context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput +} + +// A list of float features. +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs struct { + // Float feature value. + Value pulumi.Float64ArrayInput `pulumi:"value"` +} + +func (GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapFloatList)(nil)).Elem() +} + +func (i GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput { + return i.ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutputWithContext(context.Background()) +} + +func (i GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput) +} + +// GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapInput is an input type that accepts GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMap and GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput values. +// You can construct a concrete instance of `GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapInput` via: +// +// GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMap{ "key": GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs{...} } +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapInput interface { + pulumi.Input + + ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput + ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutputWithContext(context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput +} + +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMap map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatListInput + +func (GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatList)(nil)).Elem() +} + +func (i GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMap) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput { + return i.ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMap) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput) +} + +// A list of float features. +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapFloatList)(nil)).Elem() +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput { + return o +} + +// Float feature value. +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput) Value() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMapFloatList) []float64 { return v.Value }).(pulumi.Float64ArrayOutput) +} + +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatList)(nil)).Elem() +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRecommendationengineV1beta1FeatureMapFloatList { + return vs[0].(map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatList)[vs[1].(string)] + }).(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput) +} + +// A list of float features. +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse struct { + // Float feature value. + Value []float64 `pulumi:"value"` +} + +// A list of float features. +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse)(nil)).Elem() +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput { + return o +} + +// Float feature value. +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput) Value() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse) []float64 { return v.Value }).(pulumi.Float64ArrayOutput) +} + +type GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse)(nil)).Elem() +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse { + return vs[0].(map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse)[vs[1].(string)] + }).(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput) } // FeatureMap represents extra features that customers want to include in the recommendation model for catalogs/user events as categorical/numerical features. type GoogleCloudRecommendationengineV1beta1FeatureMapResponse struct { // Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` - CategoricalFeatures map[string]string `pulumi:"categoricalFeatures"` + CategoricalFeatures map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse `pulumi:"categoricalFeatures"` // Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` - NumericalFeatures map[string]string `pulumi:"numericalFeatures"` + NumericalFeatures map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse `pulumi:"numericalFeatures"` } // FeatureMap represents extra features that customers want to include in the recommendation model for catalogs/user events as categorical/numerical features. @@ -348,17 +496,163 @@ func (o GoogleCloudRecommendationengineV1beta1FeatureMapResponseOutput) ToGoogle } // Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` -func (o GoogleCloudRecommendationengineV1beta1FeatureMapResponseOutput) CategoricalFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMapResponse) map[string]string { +func (o GoogleCloudRecommendationengineV1beta1FeatureMapResponseOutput) CategoricalFeatures() GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMapResponse) map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse { return v.CategoricalFeatures - }).(pulumi.StringMapOutput) + }).(GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput) } // Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` -func (o GoogleCloudRecommendationengineV1beta1FeatureMapResponseOutput) NumericalFeatures() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMapResponse) map[string]string { +func (o GoogleCloudRecommendationengineV1beta1FeatureMapResponseOutput) NumericalFeatures() GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMapResponse) map[string]GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse { return v.NumericalFeatures - }).(pulumi.StringMapOutput) + }).(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput) +} + +// A list of string features. +type GoogleCloudRecommendationengineV1beta1FeatureMapStringList struct { + // String feature value with a length limit of 128 bytes. + Value []string `pulumi:"value"` +} + +// GoogleCloudRecommendationengineV1beta1FeatureMapStringListInput is an input type that accepts GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs and GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput values. +// You can construct a concrete instance of `GoogleCloudRecommendationengineV1beta1FeatureMapStringListInput` via: +// +// GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs{...} +type GoogleCloudRecommendationengineV1beta1FeatureMapStringListInput interface { + pulumi.Input + + ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput() GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput + ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListOutputWithContext(context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput +} + +// A list of string features. +type GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs struct { + // String feature value with a length limit of 128 bytes. + Value pulumi.StringArrayInput `pulumi:"value"` +} + +func (GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapStringList)(nil)).Elem() +} + +func (i GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput() GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput { + return i.ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListOutputWithContext(context.Background()) +} + +func (i GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput) +} + +// GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapInput is an input type that accepts GoogleCloudRecommendationengineV1beta1FeatureMapStringListMap and GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput values. +// You can construct a concrete instance of `GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapInput` via: +// +// GoogleCloudRecommendationengineV1beta1FeatureMapStringListMap{ "key": GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs{...} } +type GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapInput interface { + pulumi.Input + + ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput() GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput + ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutputWithContext(context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput +} + +type GoogleCloudRecommendationengineV1beta1FeatureMapStringListMap map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringListInput + +func (GoogleCloudRecommendationengineV1beta1FeatureMapStringListMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringList)(nil)).Elem() +} + +func (i GoogleCloudRecommendationengineV1beta1FeatureMapStringListMap) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput() GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput { + return i.ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudRecommendationengineV1beta1FeatureMapStringListMap) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput) +} + +// A list of string features. +type GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapStringList)(nil)).Elem() +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput() GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput { + return o +} + +// String feature value with a length limit of 128 bytes. +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput) Value() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMapStringList) []string { return v.Value }).(pulumi.StringArrayOutput) +} + +type GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringList)(nil)).Elem() +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput() GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRecommendationengineV1beta1FeatureMapStringList { + return vs[0].(map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringList)[vs[1].(string)] + }).(GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput) +} + +// A list of string features. +type GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse struct { + // String feature value with a length limit of 128 bytes. + Value []string `pulumi:"value"` +} + +// A list of string features. +type GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse)(nil)).Elem() +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput() GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput { + return o +} + +// String feature value with a length limit of 128 bytes. +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput) Value() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse) []string { return v.Value }).(pulumi.StringArrayOutput) +} + +type GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse)(nil)).Elem() +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput() GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput) ToGoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutputWithContext(ctx context.Context) GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput { + return o +} + +func (o GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse { + return vs[0].(map[string]GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse)[vs[1].(string)] + }).(GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput) } // Catalog item thumbnail/detail image. @@ -546,7 +840,7 @@ type GoogleCloudRecommendationengineV1beta1ProductCatalogItem struct { // Optional. Canonical URL directly linking to the item detail page with a length limit of 5 KiB.. CanonicalProductUri *string `pulumi:"canonicalProductUri"` // Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) - Costs map[string]string `pulumi:"costs"` + Costs map[string]float64 `pulumi:"costs"` // Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. CurrencyCode *string `pulumi:"currencyCode"` // Optional. The exact product price. @@ -577,7 +871,7 @@ type GoogleCloudRecommendationengineV1beta1ProductCatalogItemArgs struct { // Optional. Canonical URL directly linking to the item detail page with a length limit of 5 KiB.. CanonicalProductUri pulumi.StringPtrInput `pulumi:"canonicalProductUri"` // Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) - Costs pulumi.StringMapInput `pulumi:"costs"` + Costs pulumi.Float64MapInput `pulumi:"costs"` // Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. CurrencyCode pulumi.StringPtrInput `pulumi:"currencyCode"` // Optional. The exact product price. @@ -679,8 +973,8 @@ func (o GoogleCloudRecommendationengineV1beta1ProductCatalogItemOutput) Canonica } // Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) -func (o GoogleCloudRecommendationengineV1beta1ProductCatalogItemOutput) Costs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1ProductCatalogItem) map[string]string { return v.Costs }).(pulumi.StringMapOutput) +func (o GoogleCloudRecommendationengineV1beta1ProductCatalogItemOutput) Costs() pulumi.Float64MapOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1ProductCatalogItem) map[string]float64 { return v.Costs }).(pulumi.Float64MapOutput) } // Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. @@ -761,13 +1055,13 @@ func (o GoogleCloudRecommendationengineV1beta1ProductCatalogItemPtrOutput) Canon } // Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) -func (o GoogleCloudRecommendationengineV1beta1ProductCatalogItemPtrOutput) Costs() pulumi.StringMapOutput { - return o.ApplyT(func(v *GoogleCloudRecommendationengineV1beta1ProductCatalogItem) map[string]string { +func (o GoogleCloudRecommendationengineV1beta1ProductCatalogItemPtrOutput) Costs() pulumi.Float64MapOutput { + return o.ApplyT(func(v *GoogleCloudRecommendationengineV1beta1ProductCatalogItem) map[string]float64 { if v == nil { return nil } return v.Costs - }).(pulumi.StringMapOutput) + }).(pulumi.Float64MapOutput) } // Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. @@ -1223,7 +1517,7 @@ type GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponse struct { // Optional. Canonical URL directly linking to the item detail page with a length limit of 5 KiB.. CanonicalProductUri string `pulumi:"canonicalProductUri"` // Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) - Costs map[string]string `pulumi:"costs"` + Costs map[string]float64 `pulumi:"costs"` // Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. CurrencyCode string `pulumi:"currencyCode"` // Optional. The exact product price. @@ -1266,10 +1560,10 @@ func (o GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponseOutput) } // Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) -func (o GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponseOutput) Costs() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponse) map[string]string { +func (o GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponseOutput) Costs() pulumi.Float64MapOutput { + return o.ApplyT(func(v GoogleCloudRecommendationengineV1beta1ProductCatalogItemResponse) map[string]float64 { return v.Costs - }).(pulumi.StringMapOutput) + }).(pulumi.Float64MapOutput) } // Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. @@ -1308,6 +1602,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchyArrayInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1FeatureMapArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapPtrInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1FeatureMapArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapFloatListInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMap{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapStringListInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1FeatureMapStringListMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1ImageInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1ImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1ImageArrayInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1ImageArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRecommendationengineV1beta1ProductCatalogItemInput)(nil)).Elem(), GoogleCloudRecommendationengineV1beta1ProductCatalogItemArgs{}) @@ -1322,7 +1620,15 @@ func init() { pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchyResponseArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapOutput{}) pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapPtrOutput{}) + pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListOutput{}) + pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapStringListOutput{}) + pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapStringListMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1ImageOutput{}) pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1ImageArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudRecommendationengineV1beta1ImageResponseOutput{}) diff --git a/sdk/go/google/retail/v2/getProduct.go b/sdk/go/google/retail/v2/getProduct.go index 800d7efb43..6674f801f9 100644 --- a/sdk/go/google/retail/v2/getProduct.go +++ b/sdk/go/google/retail/v2/getProduct.go @@ -32,7 +32,7 @@ type LookupProductArgs struct { type LookupProductResult struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2CustomAttributeResponse `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2AudienceResponse `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -141,8 +141,8 @@ func (o LookupProductResultOutput) ToLookupProductResultOutputWithContext(ctx co } // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. -func (o LookupProductResultOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupProductResult) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o LookupProductResultOutput) Attributes() GoogleCloudRetailV2CustomAttributeResponseMapOutput { + return o.ApplyT(func(v LookupProductResult) map[string]GoogleCloudRetailV2CustomAttributeResponse { return v.Attributes }).(GoogleCloudRetailV2CustomAttributeResponseMapOutput) } // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. diff --git a/sdk/go/google/retail/v2/product.go b/sdk/go/google/retail/v2/product.go index fb3bd80769..f8ccdc02e4 100644 --- a/sdk/go/google/retail/v2/product.go +++ b/sdk/go/google/retail/v2/product.go @@ -17,7 +17,7 @@ type Product struct { pulumi.CustomResourceState // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes pulumi.StringMapOutput `pulumi:"attributes"` + Attributes GoogleCloudRetailV2CustomAttributeResponseMapOutput `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2AudienceResponseOutput `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -153,7 +153,7 @@ func (ProductState) ElementType() reflect.Type { type productArgs struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2CustomAttribute `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience *GoogleCloudRetailV2Audience `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -229,7 +229,7 @@ type productArgs struct { // The set of arguments for constructing a Product resource. type ProductArgs struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes pulumi.StringMapInput + Attributes GoogleCloudRetailV2CustomAttributeMapInput // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2AudiencePtrInput // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -340,8 +340,8 @@ func (o ProductOutput) ToProductOutputWithContext(ctx context.Context) ProductOu } // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. -func (o ProductOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Product) pulumi.StringMapOutput { return v.Attributes }).(pulumi.StringMapOutput) +func (o ProductOutput) Attributes() GoogleCloudRetailV2CustomAttributeResponseMapOutput { + return o.ApplyT(func(v *Product) GoogleCloudRetailV2CustomAttributeResponseMapOutput { return v.Attributes }).(GoogleCloudRetailV2CustomAttributeResponseMapOutput) } // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. diff --git a/sdk/go/google/retail/v2/pulumiTypes.go b/sdk/go/google/retail/v2/pulumiTypes.go index 0fd2602701..39b277b642 100644 --- a/sdk/go/google/retail/v2/pulumiTypes.go +++ b/sdk/go/google/retail/v2/pulumiTypes.go @@ -943,6 +943,200 @@ func (o GoogleCloudRetailV2ConditionTimeRangeResponseArrayOutput) Index(i pulumi }).(GoogleCloudRetailV2ConditionTimeRangeResponseOutput) } +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2CustomAttribute struct { + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + Indexable *bool `pulumi:"indexable"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Numbers []float64 `pulumi:"numbers"` + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + Searchable *bool `pulumi:"searchable"` + // The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Text []string `pulumi:"text"` +} + +// GoogleCloudRetailV2CustomAttributeInput is an input type that accepts GoogleCloudRetailV2CustomAttributeArgs and GoogleCloudRetailV2CustomAttributeOutput values. +// You can construct a concrete instance of `GoogleCloudRetailV2CustomAttributeInput` via: +// +// GoogleCloudRetailV2CustomAttributeArgs{...} +type GoogleCloudRetailV2CustomAttributeInput interface { + pulumi.Input + + ToGoogleCloudRetailV2CustomAttributeOutput() GoogleCloudRetailV2CustomAttributeOutput + ToGoogleCloudRetailV2CustomAttributeOutputWithContext(context.Context) GoogleCloudRetailV2CustomAttributeOutput +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2CustomAttributeArgs struct { + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + Indexable pulumi.BoolPtrInput `pulumi:"indexable"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Numbers pulumi.Float64ArrayInput `pulumi:"numbers"` + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + Searchable pulumi.BoolPtrInput `pulumi:"searchable"` + // The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Text pulumi.StringArrayInput `pulumi:"text"` +} + +func (GoogleCloudRetailV2CustomAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRetailV2CustomAttribute)(nil)).Elem() +} + +func (i GoogleCloudRetailV2CustomAttributeArgs) ToGoogleCloudRetailV2CustomAttributeOutput() GoogleCloudRetailV2CustomAttributeOutput { + return i.ToGoogleCloudRetailV2CustomAttributeOutputWithContext(context.Background()) +} + +func (i GoogleCloudRetailV2CustomAttributeArgs) ToGoogleCloudRetailV2CustomAttributeOutputWithContext(ctx context.Context) GoogleCloudRetailV2CustomAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRetailV2CustomAttributeOutput) +} + +// GoogleCloudRetailV2CustomAttributeMapInput is an input type that accepts GoogleCloudRetailV2CustomAttributeMap and GoogleCloudRetailV2CustomAttributeMapOutput values. +// You can construct a concrete instance of `GoogleCloudRetailV2CustomAttributeMapInput` via: +// +// GoogleCloudRetailV2CustomAttributeMap{ "key": GoogleCloudRetailV2CustomAttributeArgs{...} } +type GoogleCloudRetailV2CustomAttributeMapInput interface { + pulumi.Input + + ToGoogleCloudRetailV2CustomAttributeMapOutput() GoogleCloudRetailV2CustomAttributeMapOutput + ToGoogleCloudRetailV2CustomAttributeMapOutputWithContext(context.Context) GoogleCloudRetailV2CustomAttributeMapOutput +} + +type GoogleCloudRetailV2CustomAttributeMap map[string]GoogleCloudRetailV2CustomAttributeInput + +func (GoogleCloudRetailV2CustomAttributeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRetailV2CustomAttribute)(nil)).Elem() +} + +func (i GoogleCloudRetailV2CustomAttributeMap) ToGoogleCloudRetailV2CustomAttributeMapOutput() GoogleCloudRetailV2CustomAttributeMapOutput { + return i.ToGoogleCloudRetailV2CustomAttributeMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudRetailV2CustomAttributeMap) ToGoogleCloudRetailV2CustomAttributeMapOutputWithContext(ctx context.Context) GoogleCloudRetailV2CustomAttributeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRetailV2CustomAttributeMapOutput) +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2CustomAttributeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2CustomAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRetailV2CustomAttribute)(nil)).Elem() +} + +func (o GoogleCloudRetailV2CustomAttributeOutput) ToGoogleCloudRetailV2CustomAttributeOutput() GoogleCloudRetailV2CustomAttributeOutput { + return o +} + +func (o GoogleCloudRetailV2CustomAttributeOutput) ToGoogleCloudRetailV2CustomAttributeOutputWithContext(ctx context.Context) GoogleCloudRetailV2CustomAttributeOutput { + return o +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. +func (o GoogleCloudRetailV2CustomAttributeOutput) Indexable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GoogleCloudRetailV2CustomAttribute) *bool { return v.Indexable }).(pulumi.BoolPtrOutput) +} + +// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2CustomAttributeOutput) Numbers() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2CustomAttribute) []float64 { return v.Numbers }).(pulumi.Float64ArrayOutput) +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2CustomAttributeOutput) Searchable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GoogleCloudRetailV2CustomAttribute) *bool { return v.Searchable }).(pulumi.BoolPtrOutput) +} + +// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2CustomAttributeOutput) Text() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2CustomAttribute) []string { return v.Text }).(pulumi.StringArrayOutput) +} + +type GoogleCloudRetailV2CustomAttributeMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2CustomAttributeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRetailV2CustomAttribute)(nil)).Elem() +} + +func (o GoogleCloudRetailV2CustomAttributeMapOutput) ToGoogleCloudRetailV2CustomAttributeMapOutput() GoogleCloudRetailV2CustomAttributeMapOutput { + return o +} + +func (o GoogleCloudRetailV2CustomAttributeMapOutput) ToGoogleCloudRetailV2CustomAttributeMapOutputWithContext(ctx context.Context) GoogleCloudRetailV2CustomAttributeMapOutput { + return o +} + +func (o GoogleCloudRetailV2CustomAttributeMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRetailV2CustomAttributeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRetailV2CustomAttribute { + return vs[0].(map[string]GoogleCloudRetailV2CustomAttribute)[vs[1].(string)] + }).(GoogleCloudRetailV2CustomAttributeOutput) +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2CustomAttributeResponse struct { + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + Indexable bool `pulumi:"indexable"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Numbers []float64 `pulumi:"numbers"` + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + Searchable bool `pulumi:"searchable"` + // The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Text []string `pulumi:"text"` +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2CustomAttributeResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2CustomAttributeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRetailV2CustomAttributeResponse)(nil)).Elem() +} + +func (o GoogleCloudRetailV2CustomAttributeResponseOutput) ToGoogleCloudRetailV2CustomAttributeResponseOutput() GoogleCloudRetailV2CustomAttributeResponseOutput { + return o +} + +func (o GoogleCloudRetailV2CustomAttributeResponseOutput) ToGoogleCloudRetailV2CustomAttributeResponseOutputWithContext(ctx context.Context) GoogleCloudRetailV2CustomAttributeResponseOutput { + return o +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. +func (o GoogleCloudRetailV2CustomAttributeResponseOutput) Indexable() pulumi.BoolOutput { + return o.ApplyT(func(v GoogleCloudRetailV2CustomAttributeResponse) bool { return v.Indexable }).(pulumi.BoolOutput) +} + +// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2CustomAttributeResponseOutput) Numbers() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2CustomAttributeResponse) []float64 { return v.Numbers }).(pulumi.Float64ArrayOutput) +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2CustomAttributeResponseOutput) Searchable() pulumi.BoolOutput { + return o.ApplyT(func(v GoogleCloudRetailV2CustomAttributeResponse) bool { return v.Searchable }).(pulumi.BoolOutput) +} + +// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2CustomAttributeResponseOutput) Text() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2CustomAttributeResponse) []string { return v.Text }).(pulumi.StringArrayOutput) +} + +type GoogleCloudRetailV2CustomAttributeResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2CustomAttributeResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRetailV2CustomAttributeResponse)(nil)).Elem() +} + +func (o GoogleCloudRetailV2CustomAttributeResponseMapOutput) ToGoogleCloudRetailV2CustomAttributeResponseMapOutput() GoogleCloudRetailV2CustomAttributeResponseMapOutput { + return o +} + +func (o GoogleCloudRetailV2CustomAttributeResponseMapOutput) ToGoogleCloudRetailV2CustomAttributeResponseMapOutputWithContext(ctx context.Context) GoogleCloudRetailV2CustomAttributeResponseMapOutput { + return o +} + +func (o GoogleCloudRetailV2CustomAttributeResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRetailV2CustomAttributeResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRetailV2CustomAttributeResponse { + return vs[0].(map[string]GoogleCloudRetailV2CustomAttributeResponse)[vs[1].(string)] + }).(GoogleCloudRetailV2CustomAttributeResponseOutput) +} + // Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. type GoogleCloudRetailV2FulfillmentInfo struct { // The IDs for this type, such as the store IDs for FulfillmentInfo.type.pickup-in-store or the region IDs for FulfillmentInfo.type.same-day-delivery. A maximum of 3000 values are allowed. Each value must be a string with a length limit of 30 characters, matching the pattern `[a-zA-Z0-9_-]+`, such as "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned. @@ -1333,7 +1527,7 @@ func (o GoogleCloudRetailV2IntervalResponseOutput) Minimum() pulumi.Float64Outpu // The inventory information at a place (e.g. a store) identified by a place ID. type GoogleCloudRetailV2LocalInventoryResponse struct { // Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2CustomAttributeResponse `pulumi:"attributes"` // Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. FulfillmentTypes []string `pulumi:"fulfillmentTypes"` // The place ID for the current set of inventory information. @@ -1358,8 +1552,10 @@ func (o GoogleCloudRetailV2LocalInventoryResponseOutput) ToGoogleCloudRetailV2Lo } // Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. -func (o GoogleCloudRetailV2LocalInventoryResponseOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRetailV2LocalInventoryResponse) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o GoogleCloudRetailV2LocalInventoryResponseOutput) Attributes() GoogleCloudRetailV2CustomAttributeResponseMapOutput { + return o.ApplyT(func(v GoogleCloudRetailV2LocalInventoryResponse) map[string]GoogleCloudRetailV2CustomAttributeResponse { + return v.Attributes + }).(GoogleCloudRetailV2CustomAttributeResponseMapOutput) } // Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. @@ -2130,7 +2326,7 @@ func (o GoogleCloudRetailV2PriceInfoResponseOutput) PriceRange() GoogleCloudReta // Product captures all metadata information of items to be recommended or searched. type GoogleCloudRetailV2ProductResponse struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2CustomAttributeResponse `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2AudienceResponse `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -2215,8 +2411,10 @@ func (o GoogleCloudRetailV2ProductResponseOutput) ToGoogleCloudRetailV2ProductRe } // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. -func (o GoogleCloudRetailV2ProductResponseOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRetailV2ProductResponse) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o GoogleCloudRetailV2ProductResponseOutput) Attributes() GoogleCloudRetailV2CustomAttributeResponseMapOutput { + return o.ApplyT(func(v GoogleCloudRetailV2ProductResponse) map[string]GoogleCloudRetailV2CustomAttributeResponse { + return v.Attributes + }).(GoogleCloudRetailV2CustomAttributeResponseMapOutput) } // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. @@ -5584,6 +5782,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2ConditionQueryTermArrayInput)(nil)).Elem(), GoogleCloudRetailV2ConditionQueryTermArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2ConditionTimeRangeInput)(nil)).Elem(), GoogleCloudRetailV2ConditionTimeRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2ConditionTimeRangeArrayInput)(nil)).Elem(), GoogleCloudRetailV2ConditionTimeRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2CustomAttributeInput)(nil)).Elem(), GoogleCloudRetailV2CustomAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2CustomAttributeMapInput)(nil)).Elem(), GoogleCloudRetailV2CustomAttributeMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2FulfillmentInfoInput)(nil)).Elem(), GoogleCloudRetailV2FulfillmentInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2FulfillmentInfoArrayInput)(nil)).Elem(), GoogleCloudRetailV2FulfillmentInfoArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2ImageInput)(nil)).Elem(), GoogleCloudRetailV2ImageArgs{}) @@ -5643,6 +5843,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudRetailV2ConditionTimeRangeArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2ConditionTimeRangeResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2ConditionTimeRangeResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2CustomAttributeOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2CustomAttributeMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2CustomAttributeResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2CustomAttributeResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2FulfillmentInfoOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2FulfillmentInfoArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2FulfillmentInfoResponseOutput{}) diff --git a/sdk/go/google/retail/v2alpha/getProduct.go b/sdk/go/google/retail/v2alpha/getProduct.go index 9bcb5a3641..93a06d5d5a 100644 --- a/sdk/go/google/retail/v2alpha/getProduct.go +++ b/sdk/go/google/retail/v2alpha/getProduct.go @@ -32,7 +32,7 @@ type LookupProductArgs struct { type LookupProductResult struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2alphaCustomAttributeResponse `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2alphaAudienceResponse `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -141,8 +141,10 @@ func (o LookupProductResultOutput) ToLookupProductResultOutputWithContext(ctx co } // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. -func (o LookupProductResultOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupProductResult) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o LookupProductResultOutput) Attributes() GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput { + return o.ApplyT(func(v LookupProductResult) map[string]GoogleCloudRetailV2alphaCustomAttributeResponse { + return v.Attributes + }).(GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput) } // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. diff --git a/sdk/go/google/retail/v2alpha/product.go b/sdk/go/google/retail/v2alpha/product.go index 0510b41c66..55e631f1b1 100644 --- a/sdk/go/google/retail/v2alpha/product.go +++ b/sdk/go/google/retail/v2alpha/product.go @@ -17,7 +17,7 @@ type Product struct { pulumi.CustomResourceState // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes pulumi.StringMapOutput `pulumi:"attributes"` + Attributes GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2alphaAudienceResponseOutput `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -153,7 +153,7 @@ func (ProductState) ElementType() reflect.Type { type productArgs struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2alphaCustomAttribute `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience *GoogleCloudRetailV2alphaAudience `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -229,7 +229,7 @@ type productArgs struct { // The set of arguments for constructing a Product resource. type ProductArgs struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes pulumi.StringMapInput + Attributes GoogleCloudRetailV2alphaCustomAttributeMapInput // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2alphaAudiencePtrInput // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -340,8 +340,8 @@ func (o ProductOutput) ToProductOutputWithContext(ctx context.Context) ProductOu } // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. -func (o ProductOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Product) pulumi.StringMapOutput { return v.Attributes }).(pulumi.StringMapOutput) +func (o ProductOutput) Attributes() GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput { + return o.ApplyT(func(v *Product) GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput { return v.Attributes }).(GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput) } // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. diff --git a/sdk/go/google/retail/v2alpha/pulumiTypes.go b/sdk/go/google/retail/v2alpha/pulumiTypes.go index d1777968e3..c9855b9143 100644 --- a/sdk/go/google/retail/v2alpha/pulumiTypes.go +++ b/sdk/go/google/retail/v2alpha/pulumiTypes.go @@ -947,6 +947,200 @@ func (o GoogleCloudRetailV2alphaConditionTimeRangeResponseArrayOutput) Index(i p }).(GoogleCloudRetailV2alphaConditionTimeRangeResponseOutput) } +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2alphaCustomAttribute struct { + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + Indexable *bool `pulumi:"indexable"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Numbers []float64 `pulumi:"numbers"` + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + Searchable *bool `pulumi:"searchable"` + // The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Text []string `pulumi:"text"` +} + +// GoogleCloudRetailV2alphaCustomAttributeInput is an input type that accepts GoogleCloudRetailV2alphaCustomAttributeArgs and GoogleCloudRetailV2alphaCustomAttributeOutput values. +// You can construct a concrete instance of `GoogleCloudRetailV2alphaCustomAttributeInput` via: +// +// GoogleCloudRetailV2alphaCustomAttributeArgs{...} +type GoogleCloudRetailV2alphaCustomAttributeInput interface { + pulumi.Input + + ToGoogleCloudRetailV2alphaCustomAttributeOutput() GoogleCloudRetailV2alphaCustomAttributeOutput + ToGoogleCloudRetailV2alphaCustomAttributeOutputWithContext(context.Context) GoogleCloudRetailV2alphaCustomAttributeOutput +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2alphaCustomAttributeArgs struct { + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + Indexable pulumi.BoolPtrInput `pulumi:"indexable"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Numbers pulumi.Float64ArrayInput `pulumi:"numbers"` + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + Searchable pulumi.BoolPtrInput `pulumi:"searchable"` + // The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Text pulumi.StringArrayInput `pulumi:"text"` +} + +func (GoogleCloudRetailV2alphaCustomAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRetailV2alphaCustomAttribute)(nil)).Elem() +} + +func (i GoogleCloudRetailV2alphaCustomAttributeArgs) ToGoogleCloudRetailV2alphaCustomAttributeOutput() GoogleCloudRetailV2alphaCustomAttributeOutput { + return i.ToGoogleCloudRetailV2alphaCustomAttributeOutputWithContext(context.Background()) +} + +func (i GoogleCloudRetailV2alphaCustomAttributeArgs) ToGoogleCloudRetailV2alphaCustomAttributeOutputWithContext(ctx context.Context) GoogleCloudRetailV2alphaCustomAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRetailV2alphaCustomAttributeOutput) +} + +// GoogleCloudRetailV2alphaCustomAttributeMapInput is an input type that accepts GoogleCloudRetailV2alphaCustomAttributeMap and GoogleCloudRetailV2alphaCustomAttributeMapOutput values. +// You can construct a concrete instance of `GoogleCloudRetailV2alphaCustomAttributeMapInput` via: +// +// GoogleCloudRetailV2alphaCustomAttributeMap{ "key": GoogleCloudRetailV2alphaCustomAttributeArgs{...} } +type GoogleCloudRetailV2alphaCustomAttributeMapInput interface { + pulumi.Input + + ToGoogleCloudRetailV2alphaCustomAttributeMapOutput() GoogleCloudRetailV2alphaCustomAttributeMapOutput + ToGoogleCloudRetailV2alphaCustomAttributeMapOutputWithContext(context.Context) GoogleCloudRetailV2alphaCustomAttributeMapOutput +} + +type GoogleCloudRetailV2alphaCustomAttributeMap map[string]GoogleCloudRetailV2alphaCustomAttributeInput + +func (GoogleCloudRetailV2alphaCustomAttributeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRetailV2alphaCustomAttribute)(nil)).Elem() +} + +func (i GoogleCloudRetailV2alphaCustomAttributeMap) ToGoogleCloudRetailV2alphaCustomAttributeMapOutput() GoogleCloudRetailV2alphaCustomAttributeMapOutput { + return i.ToGoogleCloudRetailV2alphaCustomAttributeMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudRetailV2alphaCustomAttributeMap) ToGoogleCloudRetailV2alphaCustomAttributeMapOutputWithContext(ctx context.Context) GoogleCloudRetailV2alphaCustomAttributeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRetailV2alphaCustomAttributeMapOutput) +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2alphaCustomAttributeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2alphaCustomAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRetailV2alphaCustomAttribute)(nil)).Elem() +} + +func (o GoogleCloudRetailV2alphaCustomAttributeOutput) ToGoogleCloudRetailV2alphaCustomAttributeOutput() GoogleCloudRetailV2alphaCustomAttributeOutput { + return o +} + +func (o GoogleCloudRetailV2alphaCustomAttributeOutput) ToGoogleCloudRetailV2alphaCustomAttributeOutputWithContext(ctx context.Context) GoogleCloudRetailV2alphaCustomAttributeOutput { + return o +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. +func (o GoogleCloudRetailV2alphaCustomAttributeOutput) Indexable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaCustomAttribute) *bool { return v.Indexable }).(pulumi.BoolPtrOutput) +} + +// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2alphaCustomAttributeOutput) Numbers() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaCustomAttribute) []float64 { return v.Numbers }).(pulumi.Float64ArrayOutput) +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2alphaCustomAttributeOutput) Searchable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaCustomAttribute) *bool { return v.Searchable }).(pulumi.BoolPtrOutput) +} + +// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2alphaCustomAttributeOutput) Text() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaCustomAttribute) []string { return v.Text }).(pulumi.StringArrayOutput) +} + +type GoogleCloudRetailV2alphaCustomAttributeMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2alphaCustomAttributeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRetailV2alphaCustomAttribute)(nil)).Elem() +} + +func (o GoogleCloudRetailV2alphaCustomAttributeMapOutput) ToGoogleCloudRetailV2alphaCustomAttributeMapOutput() GoogleCloudRetailV2alphaCustomAttributeMapOutput { + return o +} + +func (o GoogleCloudRetailV2alphaCustomAttributeMapOutput) ToGoogleCloudRetailV2alphaCustomAttributeMapOutputWithContext(ctx context.Context) GoogleCloudRetailV2alphaCustomAttributeMapOutput { + return o +} + +func (o GoogleCloudRetailV2alphaCustomAttributeMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRetailV2alphaCustomAttributeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRetailV2alphaCustomAttribute { + return vs[0].(map[string]GoogleCloudRetailV2alphaCustomAttribute)[vs[1].(string)] + }).(GoogleCloudRetailV2alphaCustomAttributeOutput) +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2alphaCustomAttributeResponse struct { + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + Indexable bool `pulumi:"indexable"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Numbers []float64 `pulumi:"numbers"` + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + Searchable bool `pulumi:"searchable"` + // The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Text []string `pulumi:"text"` +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2alphaCustomAttributeResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2alphaCustomAttributeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRetailV2alphaCustomAttributeResponse)(nil)).Elem() +} + +func (o GoogleCloudRetailV2alphaCustomAttributeResponseOutput) ToGoogleCloudRetailV2alphaCustomAttributeResponseOutput() GoogleCloudRetailV2alphaCustomAttributeResponseOutput { + return o +} + +func (o GoogleCloudRetailV2alphaCustomAttributeResponseOutput) ToGoogleCloudRetailV2alphaCustomAttributeResponseOutputWithContext(ctx context.Context) GoogleCloudRetailV2alphaCustomAttributeResponseOutput { + return o +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. +func (o GoogleCloudRetailV2alphaCustomAttributeResponseOutput) Indexable() pulumi.BoolOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaCustomAttributeResponse) bool { return v.Indexable }).(pulumi.BoolOutput) +} + +// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2alphaCustomAttributeResponseOutput) Numbers() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaCustomAttributeResponse) []float64 { return v.Numbers }).(pulumi.Float64ArrayOutput) +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2alphaCustomAttributeResponseOutput) Searchable() pulumi.BoolOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaCustomAttributeResponse) bool { return v.Searchable }).(pulumi.BoolOutput) +} + +// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2alphaCustomAttributeResponseOutput) Text() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaCustomAttributeResponse) []string { return v.Text }).(pulumi.StringArrayOutput) +} + +type GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRetailV2alphaCustomAttributeResponse)(nil)).Elem() +} + +func (o GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput) ToGoogleCloudRetailV2alphaCustomAttributeResponseMapOutput() GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput { + return o +} + +func (o GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput) ToGoogleCloudRetailV2alphaCustomAttributeResponseMapOutputWithContext(ctx context.Context) GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput { + return o +} + +func (o GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRetailV2alphaCustomAttributeResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRetailV2alphaCustomAttributeResponse { + return vs[0].(map[string]GoogleCloudRetailV2alphaCustomAttributeResponse)[vs[1].(string)] + }).(GoogleCloudRetailV2alphaCustomAttributeResponseOutput) +} + // Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. type GoogleCloudRetailV2alphaFulfillmentInfo struct { // The IDs for this type, such as the store IDs for FulfillmentInfo.type.pickup-in-store or the region IDs for FulfillmentInfo.type.same-day-delivery. A maximum of 3000 values are allowed. Each value must be a string with a length limit of 30 characters, matching the pattern `[a-zA-Z0-9_-]+`, such as "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned. @@ -1484,7 +1678,7 @@ func (o GoogleCloudRetailV2alphaIntervalResponseArrayOutput) Index(i pulumi.IntI // The inventory information at a place (e.g. a store) identified by a place ID. type GoogleCloudRetailV2alphaLocalInventoryResponse struct { // Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2alphaCustomAttributeResponse `pulumi:"attributes"` // Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. FulfillmentTypes []string `pulumi:"fulfillmentTypes"` // The place ID for the current set of inventory information. @@ -1509,8 +1703,10 @@ func (o GoogleCloudRetailV2alphaLocalInventoryResponseOutput) ToGoogleCloudRetai } // Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. -func (o GoogleCloudRetailV2alphaLocalInventoryResponseOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRetailV2alphaLocalInventoryResponse) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o GoogleCloudRetailV2alphaLocalInventoryResponseOutput) Attributes() GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaLocalInventoryResponse) map[string]GoogleCloudRetailV2alphaCustomAttributeResponse { + return v.Attributes + }).(GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput) } // Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. @@ -2841,7 +3037,7 @@ func (o GoogleCloudRetailV2alphaPriceInfoResponseOutput) PriceRange() GoogleClou // Product captures all metadata information of items to be recommended or searched. type GoogleCloudRetailV2alphaProductResponse struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2alphaCustomAttributeResponse `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2alphaAudienceResponse `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -2926,8 +3122,10 @@ func (o GoogleCloudRetailV2alphaProductResponseOutput) ToGoogleCloudRetailV2alph } // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. -func (o GoogleCloudRetailV2alphaProductResponseOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRetailV2alphaProductResponse) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o GoogleCloudRetailV2alphaProductResponseOutput) Attributes() GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput { + return o.ApplyT(func(v GoogleCloudRetailV2alphaProductResponse) map[string]GoogleCloudRetailV2alphaCustomAttributeResponse { + return v.Attributes + }).(GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput) } // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. @@ -6949,6 +7147,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2alphaConditionQueryTermArrayInput)(nil)).Elem(), GoogleCloudRetailV2alphaConditionQueryTermArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2alphaConditionTimeRangeInput)(nil)).Elem(), GoogleCloudRetailV2alphaConditionTimeRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2alphaConditionTimeRangeArrayInput)(nil)).Elem(), GoogleCloudRetailV2alphaConditionTimeRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2alphaCustomAttributeInput)(nil)).Elem(), GoogleCloudRetailV2alphaCustomAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2alphaCustomAttributeMapInput)(nil)).Elem(), GoogleCloudRetailV2alphaCustomAttributeMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2alphaFulfillmentInfoInput)(nil)).Elem(), GoogleCloudRetailV2alphaFulfillmentInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2alphaFulfillmentInfoArrayInput)(nil)).Elem(), GoogleCloudRetailV2alphaFulfillmentInfoArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2alphaImageInput)(nil)).Elem(), GoogleCloudRetailV2alphaImageArgs{}) @@ -7020,6 +7220,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudRetailV2alphaConditionTimeRangeArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2alphaConditionTimeRangeResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2alphaConditionTimeRangeResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2alphaCustomAttributeOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2alphaCustomAttributeMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2alphaCustomAttributeResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2alphaCustomAttributeResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2alphaFulfillmentInfoOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2alphaFulfillmentInfoArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2alphaFulfillmentInfoResponseOutput{}) diff --git a/sdk/go/google/retail/v2beta/getProduct.go b/sdk/go/google/retail/v2beta/getProduct.go index 6a7595cb1b..83d4eb336f 100644 --- a/sdk/go/google/retail/v2beta/getProduct.go +++ b/sdk/go/google/retail/v2beta/getProduct.go @@ -32,7 +32,7 @@ type LookupProductArgs struct { type LookupProductResult struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2betaCustomAttributeResponse `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2betaAudienceResponse `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -141,8 +141,10 @@ func (o LookupProductResultOutput) ToLookupProductResultOutputWithContext(ctx co } // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. -func (o LookupProductResultOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupProductResult) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o LookupProductResultOutput) Attributes() GoogleCloudRetailV2betaCustomAttributeResponseMapOutput { + return o.ApplyT(func(v LookupProductResult) map[string]GoogleCloudRetailV2betaCustomAttributeResponse { + return v.Attributes + }).(GoogleCloudRetailV2betaCustomAttributeResponseMapOutput) } // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. diff --git a/sdk/go/google/retail/v2beta/product.go b/sdk/go/google/retail/v2beta/product.go index 58495dfb2d..1cce662d5e 100644 --- a/sdk/go/google/retail/v2beta/product.go +++ b/sdk/go/google/retail/v2beta/product.go @@ -17,7 +17,7 @@ type Product struct { pulumi.CustomResourceState // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes pulumi.StringMapOutput `pulumi:"attributes"` + Attributes GoogleCloudRetailV2betaCustomAttributeResponseMapOutput `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2betaAudienceResponseOutput `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -153,7 +153,7 @@ func (ProductState) ElementType() reflect.Type { type productArgs struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2betaCustomAttribute `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience *GoogleCloudRetailV2betaAudience `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -229,7 +229,7 @@ type productArgs struct { // The set of arguments for constructing a Product resource. type ProductArgs struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes pulumi.StringMapInput + Attributes GoogleCloudRetailV2betaCustomAttributeMapInput // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2betaAudiencePtrInput // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -340,8 +340,8 @@ func (o ProductOutput) ToProductOutputWithContext(ctx context.Context) ProductOu } // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. -func (o ProductOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v *Product) pulumi.StringMapOutput { return v.Attributes }).(pulumi.StringMapOutput) +func (o ProductOutput) Attributes() GoogleCloudRetailV2betaCustomAttributeResponseMapOutput { + return o.ApplyT(func(v *Product) GoogleCloudRetailV2betaCustomAttributeResponseMapOutput { return v.Attributes }).(GoogleCloudRetailV2betaCustomAttributeResponseMapOutput) } // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. diff --git a/sdk/go/google/retail/v2beta/pulumiTypes.go b/sdk/go/google/retail/v2beta/pulumiTypes.go index 43384c9cd4..4004f47f7b 100644 --- a/sdk/go/google/retail/v2beta/pulumiTypes.go +++ b/sdk/go/google/retail/v2beta/pulumiTypes.go @@ -947,6 +947,200 @@ func (o GoogleCloudRetailV2betaConditionTimeRangeResponseArrayOutput) Index(i pu }).(GoogleCloudRetailV2betaConditionTimeRangeResponseOutput) } +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2betaCustomAttribute struct { + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + Indexable *bool `pulumi:"indexable"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Numbers []float64 `pulumi:"numbers"` + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + Searchable *bool `pulumi:"searchable"` + // The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Text []string `pulumi:"text"` +} + +// GoogleCloudRetailV2betaCustomAttributeInput is an input type that accepts GoogleCloudRetailV2betaCustomAttributeArgs and GoogleCloudRetailV2betaCustomAttributeOutput values. +// You can construct a concrete instance of `GoogleCloudRetailV2betaCustomAttributeInput` via: +// +// GoogleCloudRetailV2betaCustomAttributeArgs{...} +type GoogleCloudRetailV2betaCustomAttributeInput interface { + pulumi.Input + + ToGoogleCloudRetailV2betaCustomAttributeOutput() GoogleCloudRetailV2betaCustomAttributeOutput + ToGoogleCloudRetailV2betaCustomAttributeOutputWithContext(context.Context) GoogleCloudRetailV2betaCustomAttributeOutput +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2betaCustomAttributeArgs struct { + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + Indexable pulumi.BoolPtrInput `pulumi:"indexable"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Numbers pulumi.Float64ArrayInput `pulumi:"numbers"` + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + Searchable pulumi.BoolPtrInput `pulumi:"searchable"` + // The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Text pulumi.StringArrayInput `pulumi:"text"` +} + +func (GoogleCloudRetailV2betaCustomAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRetailV2betaCustomAttribute)(nil)).Elem() +} + +func (i GoogleCloudRetailV2betaCustomAttributeArgs) ToGoogleCloudRetailV2betaCustomAttributeOutput() GoogleCloudRetailV2betaCustomAttributeOutput { + return i.ToGoogleCloudRetailV2betaCustomAttributeOutputWithContext(context.Background()) +} + +func (i GoogleCloudRetailV2betaCustomAttributeArgs) ToGoogleCloudRetailV2betaCustomAttributeOutputWithContext(ctx context.Context) GoogleCloudRetailV2betaCustomAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRetailV2betaCustomAttributeOutput) +} + +// GoogleCloudRetailV2betaCustomAttributeMapInput is an input type that accepts GoogleCloudRetailV2betaCustomAttributeMap and GoogleCloudRetailV2betaCustomAttributeMapOutput values. +// You can construct a concrete instance of `GoogleCloudRetailV2betaCustomAttributeMapInput` via: +// +// GoogleCloudRetailV2betaCustomAttributeMap{ "key": GoogleCloudRetailV2betaCustomAttributeArgs{...} } +type GoogleCloudRetailV2betaCustomAttributeMapInput interface { + pulumi.Input + + ToGoogleCloudRetailV2betaCustomAttributeMapOutput() GoogleCloudRetailV2betaCustomAttributeMapOutput + ToGoogleCloudRetailV2betaCustomAttributeMapOutputWithContext(context.Context) GoogleCloudRetailV2betaCustomAttributeMapOutput +} + +type GoogleCloudRetailV2betaCustomAttributeMap map[string]GoogleCloudRetailV2betaCustomAttributeInput + +func (GoogleCloudRetailV2betaCustomAttributeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRetailV2betaCustomAttribute)(nil)).Elem() +} + +func (i GoogleCloudRetailV2betaCustomAttributeMap) ToGoogleCloudRetailV2betaCustomAttributeMapOutput() GoogleCloudRetailV2betaCustomAttributeMapOutput { + return i.ToGoogleCloudRetailV2betaCustomAttributeMapOutputWithContext(context.Background()) +} + +func (i GoogleCloudRetailV2betaCustomAttributeMap) ToGoogleCloudRetailV2betaCustomAttributeMapOutputWithContext(ctx context.Context) GoogleCloudRetailV2betaCustomAttributeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GoogleCloudRetailV2betaCustomAttributeMapOutput) +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2betaCustomAttributeOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2betaCustomAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRetailV2betaCustomAttribute)(nil)).Elem() +} + +func (o GoogleCloudRetailV2betaCustomAttributeOutput) ToGoogleCloudRetailV2betaCustomAttributeOutput() GoogleCloudRetailV2betaCustomAttributeOutput { + return o +} + +func (o GoogleCloudRetailV2betaCustomAttributeOutput) ToGoogleCloudRetailV2betaCustomAttributeOutputWithContext(ctx context.Context) GoogleCloudRetailV2betaCustomAttributeOutput { + return o +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. +func (o GoogleCloudRetailV2betaCustomAttributeOutput) Indexable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaCustomAttribute) *bool { return v.Indexable }).(pulumi.BoolPtrOutput) +} + +// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2betaCustomAttributeOutput) Numbers() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaCustomAttribute) []float64 { return v.Numbers }).(pulumi.Float64ArrayOutput) +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2betaCustomAttributeOutput) Searchable() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaCustomAttribute) *bool { return v.Searchable }).(pulumi.BoolPtrOutput) +} + +// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2betaCustomAttributeOutput) Text() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaCustomAttribute) []string { return v.Text }).(pulumi.StringArrayOutput) +} + +type GoogleCloudRetailV2betaCustomAttributeMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2betaCustomAttributeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRetailV2betaCustomAttribute)(nil)).Elem() +} + +func (o GoogleCloudRetailV2betaCustomAttributeMapOutput) ToGoogleCloudRetailV2betaCustomAttributeMapOutput() GoogleCloudRetailV2betaCustomAttributeMapOutput { + return o +} + +func (o GoogleCloudRetailV2betaCustomAttributeMapOutput) ToGoogleCloudRetailV2betaCustomAttributeMapOutputWithContext(ctx context.Context) GoogleCloudRetailV2betaCustomAttributeMapOutput { + return o +} + +func (o GoogleCloudRetailV2betaCustomAttributeMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRetailV2betaCustomAttributeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRetailV2betaCustomAttribute { + return vs[0].(map[string]GoogleCloudRetailV2betaCustomAttribute)[vs[1].(string)] + }).(GoogleCloudRetailV2betaCustomAttributeOutput) +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2betaCustomAttributeResponse struct { + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + Indexable bool `pulumi:"indexable"` + // The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Numbers []float64 `pulumi:"numbers"` + // This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + Searchable bool `pulumi:"searchable"` + // The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + Text []string `pulumi:"text"` +} + +// A custom attribute that is not explicitly modeled in Product. +type GoogleCloudRetailV2betaCustomAttributeResponseOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2betaCustomAttributeResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GoogleCloudRetailV2betaCustomAttributeResponse)(nil)).Elem() +} + +func (o GoogleCloudRetailV2betaCustomAttributeResponseOutput) ToGoogleCloudRetailV2betaCustomAttributeResponseOutput() GoogleCloudRetailV2betaCustomAttributeResponseOutput { + return o +} + +func (o GoogleCloudRetailV2betaCustomAttributeResponseOutput) ToGoogleCloudRetailV2betaCustomAttributeResponseOutputWithContext(ctx context.Context) GoogleCloudRetailV2betaCustomAttributeResponseOutput { + return o +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. +func (o GoogleCloudRetailV2betaCustomAttributeResponseOutput) Indexable() pulumi.BoolOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaCustomAttributeResponse) bool { return v.Indexable }).(pulumi.BoolOutput) +} + +// The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2betaCustomAttributeResponseOutput) Numbers() pulumi.Float64ArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaCustomAttributeResponse) []float64 { return v.Numbers }).(pulumi.Float64ArrayOutput) +} + +// This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2betaCustomAttributeResponseOutput) Searchable() pulumi.BoolOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaCustomAttributeResponse) bool { return v.Searchable }).(pulumi.BoolOutput) +} + +// The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. +func (o GoogleCloudRetailV2betaCustomAttributeResponseOutput) Text() pulumi.StringArrayOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaCustomAttributeResponse) []string { return v.Text }).(pulumi.StringArrayOutput) +} + +type GoogleCloudRetailV2betaCustomAttributeResponseMapOutput struct{ *pulumi.OutputState } + +func (GoogleCloudRetailV2betaCustomAttributeResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]GoogleCloudRetailV2betaCustomAttributeResponse)(nil)).Elem() +} + +func (o GoogleCloudRetailV2betaCustomAttributeResponseMapOutput) ToGoogleCloudRetailV2betaCustomAttributeResponseMapOutput() GoogleCloudRetailV2betaCustomAttributeResponseMapOutput { + return o +} + +func (o GoogleCloudRetailV2betaCustomAttributeResponseMapOutput) ToGoogleCloudRetailV2betaCustomAttributeResponseMapOutputWithContext(ctx context.Context) GoogleCloudRetailV2betaCustomAttributeResponseMapOutput { + return o +} + +func (o GoogleCloudRetailV2betaCustomAttributeResponseMapOutput) MapIndex(k pulumi.StringInput) GoogleCloudRetailV2betaCustomAttributeResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) GoogleCloudRetailV2betaCustomAttributeResponse { + return vs[0].(map[string]GoogleCloudRetailV2betaCustomAttributeResponse)[vs[1].(string)] + }).(GoogleCloudRetailV2betaCustomAttributeResponseOutput) +} + // Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. type GoogleCloudRetailV2betaFulfillmentInfo struct { // The IDs for this type, such as the store IDs for FulfillmentInfo.type.pickup-in-store or the region IDs for FulfillmentInfo.type.same-day-delivery. A maximum of 3000 values are allowed. Each value must be a string with a length limit of 30 characters, matching the pattern `[a-zA-Z0-9_-]+`, such as "store1" or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned. @@ -1484,7 +1678,7 @@ func (o GoogleCloudRetailV2betaIntervalResponseArrayOutput) Index(i pulumi.IntIn // The inventory information at a place (e.g. a store) identified by a place ID. type GoogleCloudRetailV2betaLocalInventoryResponse struct { // Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2betaCustomAttributeResponse `pulumi:"attributes"` // Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. FulfillmentTypes []string `pulumi:"fulfillmentTypes"` // The place ID for the current set of inventory information. @@ -1509,8 +1703,10 @@ func (o GoogleCloudRetailV2betaLocalInventoryResponseOutput) ToGoogleCloudRetail } // Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. -func (o GoogleCloudRetailV2betaLocalInventoryResponseOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRetailV2betaLocalInventoryResponse) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o GoogleCloudRetailV2betaLocalInventoryResponseOutput) Attributes() GoogleCloudRetailV2betaCustomAttributeResponseMapOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaLocalInventoryResponse) map[string]GoogleCloudRetailV2betaCustomAttributeResponse { + return v.Attributes + }).(GoogleCloudRetailV2betaCustomAttributeResponseMapOutput) } // Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. @@ -2281,7 +2477,7 @@ func (o GoogleCloudRetailV2betaPriceInfoResponseOutput) PriceRange() GoogleCloud // Product captures all metadata information of items to be recommended or searched. type GoogleCloudRetailV2betaProductResponse struct { // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. - Attributes map[string]string `pulumi:"attributes"` + Attributes map[string]GoogleCloudRetailV2betaCustomAttributeResponse `pulumi:"attributes"` // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. Audience GoogleCloudRetailV2betaAudienceResponse `pulumi:"audience"` // The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). @@ -2366,8 +2562,10 @@ func (o GoogleCloudRetailV2betaProductResponseOutput) ToGoogleCloudRetailV2betaP } // Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. -func (o GoogleCloudRetailV2betaProductResponseOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v GoogleCloudRetailV2betaProductResponse) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o GoogleCloudRetailV2betaProductResponseOutput) Attributes() GoogleCloudRetailV2betaCustomAttributeResponseMapOutput { + return o.ApplyT(func(v GoogleCloudRetailV2betaProductResponse) map[string]GoogleCloudRetailV2betaCustomAttributeResponse { + return v.Attributes + }).(GoogleCloudRetailV2betaCustomAttributeResponseMapOutput) } // The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. @@ -6383,6 +6581,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2betaConditionQueryTermArrayInput)(nil)).Elem(), GoogleCloudRetailV2betaConditionQueryTermArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2betaConditionTimeRangeInput)(nil)).Elem(), GoogleCloudRetailV2betaConditionTimeRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2betaConditionTimeRangeArrayInput)(nil)).Elem(), GoogleCloudRetailV2betaConditionTimeRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2betaCustomAttributeInput)(nil)).Elem(), GoogleCloudRetailV2betaCustomAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2betaCustomAttributeMapInput)(nil)).Elem(), GoogleCloudRetailV2betaCustomAttributeMap{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2betaFulfillmentInfoInput)(nil)).Elem(), GoogleCloudRetailV2betaFulfillmentInfoArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2betaFulfillmentInfoArrayInput)(nil)).Elem(), GoogleCloudRetailV2betaFulfillmentInfoArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GoogleCloudRetailV2betaImageInput)(nil)).Elem(), GoogleCloudRetailV2betaImageArgs{}) @@ -6448,6 +6648,10 @@ func init() { pulumi.RegisterOutputType(GoogleCloudRetailV2betaConditionTimeRangeArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2betaConditionTimeRangeResponseOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2betaConditionTimeRangeResponseArrayOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2betaCustomAttributeOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2betaCustomAttributeMapOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2betaCustomAttributeResponseOutput{}) + pulumi.RegisterOutputType(GoogleCloudRetailV2betaCustomAttributeResponseMapOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2betaFulfillmentInfoOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2betaFulfillmentInfoArrayOutput{}) pulumi.RegisterOutputType(GoogleCloudRetailV2betaFulfillmentInfoResponseOutput{}) diff --git a/sdk/go/google/runtimeconfig/v1beta1/pulumiTypes.go b/sdk/go/google/runtimeconfig/v1beta1/pulumiTypes.go index f036967c6d..28547d4f5e 100644 --- a/sdk/go/google/runtimeconfig/v1beta1/pulumiTypes.go +++ b/sdk/go/google/runtimeconfig/v1beta1/pulumiTypes.go @@ -798,7 +798,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -824,8 +824,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/securitycenter/v1/getOrganizationEventThreatDetectionSettingCustomModule.go b/sdk/go/google/securitycenter/v1/getOrganizationEventThreatDetectionSettingCustomModule.go index e855620d60..c29d78fdda 100644 --- a/sdk/go/google/securitycenter/v1/getOrganizationEventThreatDetectionSettingCustomModule.go +++ b/sdk/go/google/securitycenter/v1/getOrganizationEventThreatDetectionSettingCustomModule.go @@ -29,7 +29,7 @@ type LookupOrganizationEventThreatDetectionSettingCustomModuleArgs struct { type LookupOrganizationEventThreatDetectionSettingCustomModuleResult struct { // Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. - Config map[string]string `pulumi:"config"` + Config map[string]interface{} `pulumi:"config"` // The description for the module. Description string `pulumi:"description"` // The human readable name to be displayed for the module. @@ -83,10 +83,10 @@ func (o LookupOrganizationEventThreatDetectionSettingCustomModuleResultOutput) T } // Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. -func (o LookupOrganizationEventThreatDetectionSettingCustomModuleResultOutput) Config() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupOrganizationEventThreatDetectionSettingCustomModuleResult) map[string]string { +func (o LookupOrganizationEventThreatDetectionSettingCustomModuleResultOutput) Config() pulumi.MapOutput { + return o.ApplyT(func(v LookupOrganizationEventThreatDetectionSettingCustomModuleResult) map[string]interface{} { return v.Config - }).(pulumi.StringMapOutput) + }).(pulumi.MapOutput) } // The description for the module. diff --git a/sdk/go/google/securitycenter/v1/organizationEventThreatDetectionSettingCustomModule.go b/sdk/go/google/securitycenter/v1/organizationEventThreatDetectionSettingCustomModule.go index c1eb555b9f..33dd4edf1d 100644 --- a/sdk/go/google/securitycenter/v1/organizationEventThreatDetectionSettingCustomModule.go +++ b/sdk/go/google/securitycenter/v1/organizationEventThreatDetectionSettingCustomModule.go @@ -18,7 +18,7 @@ type OrganizationEventThreatDetectionSettingCustomModule struct { pulumi.CustomResourceState // Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. - Config pulumi.StringMapOutput `pulumi:"config"` + Config pulumi.MapOutput `pulumi:"config"` // The description for the module. Description pulumi.StringOutput `pulumi:"description"` // The human readable name to be displayed for the module. @@ -84,7 +84,7 @@ func (OrganizationEventThreatDetectionSettingCustomModuleState) ElementType() re type organizationEventThreatDetectionSettingCustomModuleArgs struct { // Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. - Config map[string]string `pulumi:"config"` + Config map[string]interface{} `pulumi:"config"` // The description for the module. Description *string `pulumi:"description"` // The human readable name to be displayed for the module. @@ -101,7 +101,7 @@ type organizationEventThreatDetectionSettingCustomModuleArgs struct { // The set of arguments for constructing a OrganizationEventThreatDetectionSettingCustomModule resource. type OrganizationEventThreatDetectionSettingCustomModuleArgs struct { // Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. - Config pulumi.StringMapInput + Config pulumi.MapInput // The description for the module. Description pulumi.StringPtrInput // The human readable name to be displayed for the module. @@ -153,8 +153,8 @@ func (o OrganizationEventThreatDetectionSettingCustomModuleOutput) ToOrganizatio } // Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. -func (o OrganizationEventThreatDetectionSettingCustomModuleOutput) Config() pulumi.StringMapOutput { - return o.ApplyT(func(v *OrganizationEventThreatDetectionSettingCustomModule) pulumi.StringMapOutput { return v.Config }).(pulumi.StringMapOutput) +func (o OrganizationEventThreatDetectionSettingCustomModuleOutput) Config() pulumi.MapOutput { + return o.ApplyT(func(v *OrganizationEventThreatDetectionSettingCustomModule) pulumi.MapOutput { return v.Config }).(pulumi.MapOutput) } // The description for the module. diff --git a/sdk/go/google/servicemanagement/v1/pulumiTypes.go b/sdk/go/google/servicemanagement/v1/pulumiTypes.go index 627b3afb04..6352bd2faa 100644 --- a/sdk/go/google/servicemanagement/v1/pulumiTypes.go +++ b/sdk/go/google/servicemanagement/v1/pulumiTypes.go @@ -1527,10 +1527,8 @@ type BackendRule struct { // Deprecated: Deprecated, do not use. MinDeadline *float64 `pulumi:"minDeadline"` // The number of seconds to wait for the completion of a long running operation. The default is no deadline. - OperationDeadline *float64 `pulumi:"operationDeadline"` - // The map between request protocol and the backend address. - OverridesByRequestProtocol map[string]string `pulumi:"overridesByRequestProtocol"` - PathTranslation *BackendRulePathTranslation `pulumi:"pathTranslation"` + OperationDeadline *float64 `pulumi:"operationDeadline"` + PathTranslation *BackendRulePathTranslation `pulumi:"pathTranslation"` // The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. Protocol *string `pulumi:"protocol"` // Selects the methods to which this rule applies. Refer to selector for syntax details. @@ -1563,10 +1561,8 @@ type BackendRuleArgs struct { // Deprecated: Deprecated, do not use. MinDeadline pulumi.Float64PtrInput `pulumi:"minDeadline"` // The number of seconds to wait for the completion of a long running operation. The default is no deadline. - OperationDeadline pulumi.Float64PtrInput `pulumi:"operationDeadline"` - // The map between request protocol and the backend address. - OverridesByRequestProtocol pulumi.StringMapInput `pulumi:"overridesByRequestProtocol"` - PathTranslation BackendRulePathTranslationPtrInput `pulumi:"pathTranslation"` + OperationDeadline pulumi.Float64PtrInput `pulumi:"operationDeadline"` + PathTranslation BackendRulePathTranslationPtrInput `pulumi:"pathTranslation"` // The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. Protocol pulumi.StringPtrInput `pulumi:"protocol"` // Selects the methods to which this rule applies. Refer to selector for syntax details. @@ -1657,11 +1653,6 @@ func (o BackendRuleOutput) OperationDeadline() pulumi.Float64PtrOutput { return o.ApplyT(func(v BackendRule) *float64 { return v.OperationDeadline }).(pulumi.Float64PtrOutput) } -// The map between request protocol and the backend address. -func (o BackendRuleOutput) OverridesByRequestProtocol() pulumi.StringMapOutput { - return o.ApplyT(func(v BackendRule) map[string]string { return v.OverridesByRequestProtocol }).(pulumi.StringMapOutput) -} - func (o BackendRuleOutput) PathTranslation() BackendRulePathTranslationPtrOutput { return o.ApplyT(func(v BackendRule) *BackendRulePathTranslation { return v.PathTranslation }).(BackendRulePathTranslationPtrOutput) } @@ -1712,9 +1703,7 @@ type BackendRuleResponse struct { MinDeadline float64 `pulumi:"minDeadline"` // The number of seconds to wait for the completion of a long running operation. The default is no deadline. OperationDeadline float64 `pulumi:"operationDeadline"` - // The map between request protocol and the backend address. - OverridesByRequestProtocol map[string]string `pulumi:"overridesByRequestProtocol"` - PathTranslation string `pulumi:"pathTranslation"` + PathTranslation string `pulumi:"pathTranslation"` // The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. Protocol string `pulumi:"protocol"` // Selects the methods to which this rule applies. Refer to selector for syntax details. @@ -1768,11 +1757,6 @@ func (o BackendRuleResponseOutput) OperationDeadline() pulumi.Float64Output { return o.ApplyT(func(v BackendRuleResponse) float64 { return v.OperationDeadline }).(pulumi.Float64Output) } -// The map between request protocol and the backend address. -func (o BackendRuleResponseOutput) OverridesByRequestProtocol() pulumi.StringMapOutput { - return o.ApplyT(func(v BackendRuleResponse) map[string]string { return v.OverridesByRequestProtocol }).(pulumi.StringMapOutput) -} - func (o BackendRuleResponseOutput) PathTranslation() pulumi.StringOutput { return o.ApplyT(func(v BackendRuleResponse) string { return v.PathTranslation }).(pulumi.StringOutput) } @@ -10752,7 +10736,7 @@ type Option struct { // The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `"map_entry"`. For custom options, it should be the fully-qualified name. For example, `"google.api.http"`. Name *string `pulumi:"name"` // The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. - Value map[string]string `pulumi:"value"` + Value map[string]interface{} `pulumi:"value"` } // OptionInput is an input type that accepts OptionArgs and OptionOutput values. @@ -10771,7 +10755,7 @@ type OptionArgs struct { // The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `"map_entry"`. For custom options, it should be the fully-qualified name. For example, `"google.api.http"`. Name pulumi.StringPtrInput `pulumi:"name"` // The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. - Value pulumi.StringMapInput `pulumi:"value"` + Value pulumi.MapInput `pulumi:"value"` } func (OptionArgs) ElementType() reflect.Type { @@ -10832,8 +10816,8 @@ func (o OptionOutput) Name() pulumi.StringPtrOutput { } // The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. -func (o OptionOutput) Value() pulumi.StringMapOutput { - return o.ApplyT(func(v Option) map[string]string { return v.Value }).(pulumi.StringMapOutput) +func (o OptionOutput) Value() pulumi.MapOutput { + return o.ApplyT(func(v Option) map[string]interface{} { return v.Value }).(pulumi.MapOutput) } type OptionArrayOutput struct{ *pulumi.OutputState } @@ -10861,7 +10845,7 @@ type OptionResponse struct { // The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `"map_entry"`. For custom options, it should be the fully-qualified name. For example, `"google.api.http"`. Name string `pulumi:"name"` // The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. - Value map[string]string `pulumi:"value"` + Value map[string]interface{} `pulumi:"value"` } // A protocol buffer option, which can be attached to a message, field, enumeration, etc. @@ -10885,8 +10869,8 @@ func (o OptionResponseOutput) Name() pulumi.StringOutput { } // The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. -func (o OptionResponseOutput) Value() pulumi.StringMapOutput { - return o.ApplyT(func(v OptionResponse) map[string]string { return v.Value }).(pulumi.StringMapOutput) +func (o OptionResponseOutput) Value() pulumi.MapOutput { + return o.ApplyT(func(v OptionResponse) map[string]interface{} { return v.Value }).(pulumi.MapOutput) } type OptionResponseArrayOutput struct{ *pulumi.OutputState } @@ -12636,7 +12620,7 @@ func (o SourceContextResponseOutput) FileName() pulumi.StringOutput { // Source information used to create a Service Config type SourceInfoResponse struct { // All files used during config generation. - SourceFiles []map[string]string `pulumi:"sourceFiles"` + SourceFiles []map[string]interface{} `pulumi:"sourceFiles"` } // Source information used to create a Service Config @@ -12655,8 +12639,8 @@ func (o SourceInfoResponseOutput) ToSourceInfoResponseOutputWithContext(ctx cont } // All files used during config generation. -func (o SourceInfoResponseOutput) SourceFiles() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v SourceInfoResponse) []map[string]string { return v.SourceFiles }).(pulumi.StringMapArrayOutput) +func (o SourceInfoResponseOutput) SourceFiles() pulumi.MapArrayOutput { + return o.ApplyT(func(v SourceInfoResponse) []map[string]interface{} { return v.SourceFiles }).(pulumi.MapArrayOutput) } // Define a parameter's name and location. The parameter may be passed as either an HTTP header or a URL query parameter, and if both are passed the behavior is implementation-dependent. @@ -13168,7 +13152,7 @@ func (o SystemParametersResponseOutput) Rules() SystemParameterRuleResponseArray // Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: "example.googleapis.com/rollout_20160206" traffic_percent_strategy { percentages: { "example.googleapis.com/20160201": 70.00 "example.googleapis.com/20160206": 30.00 } } } Day 2 Rollout { id: "example.googleapis.com/rollout_20160207" traffic_percent_strategy: { percentages: { "example.googleapis.com/20160206": 100.00 } } } type TrafficPercentStrategy struct { // Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. - Percentages map[string]string `pulumi:"percentages"` + Percentages map[string]float64 `pulumi:"percentages"` } // TrafficPercentStrategyInput is an input type that accepts TrafficPercentStrategyArgs and TrafficPercentStrategyOutput values. @@ -13185,7 +13169,7 @@ type TrafficPercentStrategyInput interface { // Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: "example.googleapis.com/rollout_20160206" traffic_percent_strategy { percentages: { "example.googleapis.com/20160201": 70.00 "example.googleapis.com/20160206": 30.00 } } } Day 2 Rollout { id: "example.googleapis.com/rollout_20160207" traffic_percent_strategy: { percentages: { "example.googleapis.com/20160206": 100.00 } } } type TrafficPercentStrategyArgs struct { // Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. - Percentages pulumi.StringMapInput `pulumi:"percentages"` + Percentages pulumi.Float64MapInput `pulumi:"percentages"` } func (TrafficPercentStrategyArgs) ElementType() reflect.Type { @@ -13267,8 +13251,8 @@ func (o TrafficPercentStrategyOutput) ToTrafficPercentStrategyPtrOutputWithConte } // Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. -func (o TrafficPercentStrategyOutput) Percentages() pulumi.StringMapOutput { - return o.ApplyT(func(v TrafficPercentStrategy) map[string]string { return v.Percentages }).(pulumi.StringMapOutput) +func (o TrafficPercentStrategyOutput) Percentages() pulumi.Float64MapOutput { + return o.ApplyT(func(v TrafficPercentStrategy) map[string]float64 { return v.Percentages }).(pulumi.Float64MapOutput) } type TrafficPercentStrategyPtrOutput struct{ *pulumi.OutputState } @@ -13296,19 +13280,19 @@ func (o TrafficPercentStrategyPtrOutput) Elem() TrafficPercentStrategyOutput { } // Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. -func (o TrafficPercentStrategyPtrOutput) Percentages() pulumi.StringMapOutput { - return o.ApplyT(func(v *TrafficPercentStrategy) map[string]string { +func (o TrafficPercentStrategyPtrOutput) Percentages() pulumi.Float64MapOutput { + return o.ApplyT(func(v *TrafficPercentStrategy) map[string]float64 { if v == nil { return nil } return v.Percentages - }).(pulumi.StringMapOutput) + }).(pulumi.Float64MapOutput) } // Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: "example.googleapis.com/rollout_20160206" traffic_percent_strategy { percentages: { "example.googleapis.com/20160201": 70.00 "example.googleapis.com/20160206": 30.00 } } } Day 2 Rollout { id: "example.googleapis.com/rollout_20160207" traffic_percent_strategy: { percentages: { "example.googleapis.com/20160206": 100.00 } } } type TrafficPercentStrategyResponse struct { // Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. - Percentages map[string]string `pulumi:"percentages"` + Percentages map[string]float64 `pulumi:"percentages"` } // Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: "example.googleapis.com/rollout_20160206" traffic_percent_strategy { percentages: { "example.googleapis.com/20160201": 70.00 "example.googleapis.com/20160206": 30.00 } } } Day 2 Rollout { id: "example.googleapis.com/rollout_20160207" traffic_percent_strategy: { percentages: { "example.googleapis.com/20160206": 100.00 } } } @@ -13327,8 +13311,8 @@ func (o TrafficPercentStrategyResponseOutput) ToTrafficPercentStrategyResponseOu } // Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. -func (o TrafficPercentStrategyResponseOutput) Percentages() pulumi.StringMapOutput { - return o.ApplyT(func(v TrafficPercentStrategyResponse) map[string]string { return v.Percentages }).(pulumi.StringMapOutput) +func (o TrafficPercentStrategyResponseOutput) Percentages() pulumi.Float64MapOutput { + return o.ApplyT(func(v TrafficPercentStrategyResponse) map[string]float64 { return v.Percentages }).(pulumi.Float64MapOutput) } // A protocol buffer message type. diff --git a/sdk/go/google/sourcerepo/v1/getRepo.go b/sdk/go/google/sourcerepo/v1/getRepo.go index e1c15e9655..2755f2d399 100644 --- a/sdk/go/google/sourcerepo/v1/getRepo.go +++ b/sdk/go/google/sourcerepo/v1/getRepo.go @@ -33,7 +33,7 @@ type LookupRepoResult struct { // Resource name of the repository, of the form `projects//repos/`. The repo name may contain slashes. eg, `projects/myproject/repos/name/with/slash` Name string `pulumi:"name"` // How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. - PubsubConfigs map[string]string `pulumi:"pubsubConfigs"` + PubsubConfigs map[string]PubsubConfigResponse `pulumi:"pubsubConfigs"` // The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. Size string `pulumi:"size"` // URL to clone the repository from Google Cloud Source Repositories. Read-only field. @@ -87,8 +87,8 @@ func (o LookupRepoResultOutput) Name() pulumi.StringOutput { } // How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. -func (o LookupRepoResultOutput) PubsubConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupRepoResult) map[string]string { return v.PubsubConfigs }).(pulumi.StringMapOutput) +func (o LookupRepoResultOutput) PubsubConfigs() PubsubConfigResponseMapOutput { + return o.ApplyT(func(v LookupRepoResult) map[string]PubsubConfigResponse { return v.PubsubConfigs }).(PubsubConfigResponseMapOutput) } // The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. diff --git a/sdk/go/google/sourcerepo/v1/pulumiEnums.go b/sdk/go/google/sourcerepo/v1/pulumiEnums.go index d6528a471f..b4e9022c75 100644 --- a/sdk/go/google/sourcerepo/v1/pulumiEnums.go +++ b/sdk/go/google/sourcerepo/v1/pulumiEnums.go @@ -184,9 +184,184 @@ func (in *auditLogConfigLogTypePtr) ToAuditLogConfigLogTypePtrOutputWithContext( return pulumi.ToOutputWithContext(ctx, in).(AuditLogConfigLogTypePtrOutput) } +// The format of the Cloud Pub/Sub messages. +type PubsubConfigMessageFormat string + +const ( + // Unspecified. + PubsubConfigMessageFormatMessageFormatUnspecified = PubsubConfigMessageFormat("MESSAGE_FORMAT_UNSPECIFIED") + // The message payload is a serialized protocol buffer of SourceRepoEvent. + PubsubConfigMessageFormatProtobuf = PubsubConfigMessageFormat("PROTOBUF") + // The message payload is a JSON string of SourceRepoEvent. + PubsubConfigMessageFormatJson = PubsubConfigMessageFormat("JSON") +) + +func (PubsubConfigMessageFormat) ElementType() reflect.Type { + return reflect.TypeOf((*PubsubConfigMessageFormat)(nil)).Elem() +} + +func (e PubsubConfigMessageFormat) ToPubsubConfigMessageFormatOutput() PubsubConfigMessageFormatOutput { + return pulumi.ToOutput(e).(PubsubConfigMessageFormatOutput) +} + +func (e PubsubConfigMessageFormat) ToPubsubConfigMessageFormatOutputWithContext(ctx context.Context) PubsubConfigMessageFormatOutput { + return pulumi.ToOutputWithContext(ctx, e).(PubsubConfigMessageFormatOutput) +} + +func (e PubsubConfigMessageFormat) ToPubsubConfigMessageFormatPtrOutput() PubsubConfigMessageFormatPtrOutput { + return e.ToPubsubConfigMessageFormatPtrOutputWithContext(context.Background()) +} + +func (e PubsubConfigMessageFormat) ToPubsubConfigMessageFormatPtrOutputWithContext(ctx context.Context) PubsubConfigMessageFormatPtrOutput { + return PubsubConfigMessageFormat(e).ToPubsubConfigMessageFormatOutputWithContext(ctx).ToPubsubConfigMessageFormatPtrOutputWithContext(ctx) +} + +func (e PubsubConfigMessageFormat) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PubsubConfigMessageFormat) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e PubsubConfigMessageFormat) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e PubsubConfigMessageFormat) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type PubsubConfigMessageFormatOutput struct{ *pulumi.OutputState } + +func (PubsubConfigMessageFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PubsubConfigMessageFormat)(nil)).Elem() +} + +func (o PubsubConfigMessageFormatOutput) ToPubsubConfigMessageFormatOutput() PubsubConfigMessageFormatOutput { + return o +} + +func (o PubsubConfigMessageFormatOutput) ToPubsubConfigMessageFormatOutputWithContext(ctx context.Context) PubsubConfigMessageFormatOutput { + return o +} + +func (o PubsubConfigMessageFormatOutput) ToPubsubConfigMessageFormatPtrOutput() PubsubConfigMessageFormatPtrOutput { + return o.ToPubsubConfigMessageFormatPtrOutputWithContext(context.Background()) +} + +func (o PubsubConfigMessageFormatOutput) ToPubsubConfigMessageFormatPtrOutputWithContext(ctx context.Context) PubsubConfigMessageFormatPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PubsubConfigMessageFormat) *PubsubConfigMessageFormat { + return &v + }).(PubsubConfigMessageFormatPtrOutput) +} + +func (o PubsubConfigMessageFormatOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o PubsubConfigMessageFormatOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PubsubConfigMessageFormat) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o PubsubConfigMessageFormatOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PubsubConfigMessageFormatOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e PubsubConfigMessageFormat) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type PubsubConfigMessageFormatPtrOutput struct{ *pulumi.OutputState } + +func (PubsubConfigMessageFormatPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PubsubConfigMessageFormat)(nil)).Elem() +} + +func (o PubsubConfigMessageFormatPtrOutput) ToPubsubConfigMessageFormatPtrOutput() PubsubConfigMessageFormatPtrOutput { + return o +} + +func (o PubsubConfigMessageFormatPtrOutput) ToPubsubConfigMessageFormatPtrOutputWithContext(ctx context.Context) PubsubConfigMessageFormatPtrOutput { + return o +} + +func (o PubsubConfigMessageFormatPtrOutput) Elem() PubsubConfigMessageFormatOutput { + return o.ApplyT(func(v *PubsubConfigMessageFormat) PubsubConfigMessageFormat { + if v != nil { + return *v + } + var ret PubsubConfigMessageFormat + return ret + }).(PubsubConfigMessageFormatOutput) +} + +func (o PubsubConfigMessageFormatPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o PubsubConfigMessageFormatPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *PubsubConfigMessageFormat) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// PubsubConfigMessageFormatInput is an input type that accepts values of the PubsubConfigMessageFormat enum +// A concrete instance of `PubsubConfigMessageFormatInput` can be one of the following: +// +// PubsubConfigMessageFormatMessageFormatUnspecified +// PubsubConfigMessageFormatProtobuf +// PubsubConfigMessageFormatJson +type PubsubConfigMessageFormatInput interface { + pulumi.Input + + ToPubsubConfigMessageFormatOutput() PubsubConfigMessageFormatOutput + ToPubsubConfigMessageFormatOutputWithContext(context.Context) PubsubConfigMessageFormatOutput +} + +var pubsubConfigMessageFormatPtrType = reflect.TypeOf((**PubsubConfigMessageFormat)(nil)).Elem() + +type PubsubConfigMessageFormatPtrInput interface { + pulumi.Input + + ToPubsubConfigMessageFormatPtrOutput() PubsubConfigMessageFormatPtrOutput + ToPubsubConfigMessageFormatPtrOutputWithContext(context.Context) PubsubConfigMessageFormatPtrOutput +} + +type pubsubConfigMessageFormatPtr string + +func PubsubConfigMessageFormatPtr(v string) PubsubConfigMessageFormatPtrInput { + return (*pubsubConfigMessageFormatPtr)(&v) +} + +func (*pubsubConfigMessageFormatPtr) ElementType() reflect.Type { + return pubsubConfigMessageFormatPtrType +} + +func (in *pubsubConfigMessageFormatPtr) ToPubsubConfigMessageFormatPtrOutput() PubsubConfigMessageFormatPtrOutput { + return pulumi.ToOutput(in).(PubsubConfigMessageFormatPtrOutput) +} + +func (in *pubsubConfigMessageFormatPtr) ToPubsubConfigMessageFormatPtrOutputWithContext(ctx context.Context) PubsubConfigMessageFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(PubsubConfigMessageFormatPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigLogTypeInput)(nil)).Elem(), AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) pulumi.RegisterInputType(reflect.TypeOf((*AuditLogConfigLogTypePtrInput)(nil)).Elem(), AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*PubsubConfigMessageFormatInput)(nil)).Elem(), PubsubConfigMessageFormat("MESSAGE_FORMAT_UNSPECIFIED")) + pulumi.RegisterInputType(reflect.TypeOf((*PubsubConfigMessageFormatPtrInput)(nil)).Elem(), PubsubConfigMessageFormat("MESSAGE_FORMAT_UNSPECIFIED")) pulumi.RegisterOutputType(AuditLogConfigLogTypeOutput{}) pulumi.RegisterOutputType(AuditLogConfigLogTypePtrOutput{}) + pulumi.RegisterOutputType(PubsubConfigMessageFormatOutput{}) + pulumi.RegisterOutputType(PubsubConfigMessageFormatPtrOutput{}) } diff --git a/sdk/go/google/sourcerepo/v1/pulumiTypes.go b/sdk/go/google/sourcerepo/v1/pulumiTypes.go index 00eccc5d0c..fa6b5dd61c 100644 --- a/sdk/go/google/sourcerepo/v1/pulumiTypes.go +++ b/sdk/go/google/sourcerepo/v1/pulumiTypes.go @@ -977,6 +977,184 @@ func (o MirrorConfigResponseOutput) WebhookId() pulumi.StringOutput { return o.ApplyT(func(v MirrorConfigResponse) string { return v.WebhookId }).(pulumi.StringOutput) } +// Configuration to publish a Cloud Pub/Sub message. +type PubsubConfig struct { + // The format of the Cloud Pub/Sub messages. + MessageFormat *PubsubConfigMessageFormat `pulumi:"messageFormat"` + // Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + ServiceAccountEmail *string `pulumi:"serviceAccountEmail"` + // A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + Topic *string `pulumi:"topic"` +} + +// PubsubConfigInput is an input type that accepts PubsubConfigArgs and PubsubConfigOutput values. +// You can construct a concrete instance of `PubsubConfigInput` via: +// +// PubsubConfigArgs{...} +type PubsubConfigInput interface { + pulumi.Input + + ToPubsubConfigOutput() PubsubConfigOutput + ToPubsubConfigOutputWithContext(context.Context) PubsubConfigOutput +} + +// Configuration to publish a Cloud Pub/Sub message. +type PubsubConfigArgs struct { + // The format of the Cloud Pub/Sub messages. + MessageFormat PubsubConfigMessageFormatPtrInput `pulumi:"messageFormat"` + // Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + ServiceAccountEmail pulumi.StringPtrInput `pulumi:"serviceAccountEmail"` + // A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + Topic pulumi.StringPtrInput `pulumi:"topic"` +} + +func (PubsubConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PubsubConfig)(nil)).Elem() +} + +func (i PubsubConfigArgs) ToPubsubConfigOutput() PubsubConfigOutput { + return i.ToPubsubConfigOutputWithContext(context.Background()) +} + +func (i PubsubConfigArgs) ToPubsubConfigOutputWithContext(ctx context.Context) PubsubConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(PubsubConfigOutput) +} + +// PubsubConfigMapInput is an input type that accepts PubsubConfigMap and PubsubConfigMapOutput values. +// You can construct a concrete instance of `PubsubConfigMapInput` via: +// +// PubsubConfigMap{ "key": PubsubConfigArgs{...} } +type PubsubConfigMapInput interface { + pulumi.Input + + ToPubsubConfigMapOutput() PubsubConfigMapOutput + ToPubsubConfigMapOutputWithContext(context.Context) PubsubConfigMapOutput +} + +type PubsubConfigMap map[string]PubsubConfigInput + +func (PubsubConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PubsubConfig)(nil)).Elem() +} + +func (i PubsubConfigMap) ToPubsubConfigMapOutput() PubsubConfigMapOutput { + return i.ToPubsubConfigMapOutputWithContext(context.Background()) +} + +func (i PubsubConfigMap) ToPubsubConfigMapOutputWithContext(ctx context.Context) PubsubConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PubsubConfigMapOutput) +} + +// Configuration to publish a Cloud Pub/Sub message. +type PubsubConfigOutput struct{ *pulumi.OutputState } + +func (PubsubConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PubsubConfig)(nil)).Elem() +} + +func (o PubsubConfigOutput) ToPubsubConfigOutput() PubsubConfigOutput { + return o +} + +func (o PubsubConfigOutput) ToPubsubConfigOutputWithContext(ctx context.Context) PubsubConfigOutput { + return o +} + +// The format of the Cloud Pub/Sub messages. +func (o PubsubConfigOutput) MessageFormat() PubsubConfigMessageFormatPtrOutput { + return o.ApplyT(func(v PubsubConfig) *PubsubConfigMessageFormat { return v.MessageFormat }).(PubsubConfigMessageFormatPtrOutput) +} + +// Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. +func (o PubsubConfigOutput) ServiceAccountEmail() pulumi.StringPtrOutput { + return o.ApplyT(func(v PubsubConfig) *string { return v.ServiceAccountEmail }).(pulumi.StringPtrOutput) +} + +// A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. +func (o PubsubConfigOutput) Topic() pulumi.StringPtrOutput { + return o.ApplyT(func(v PubsubConfig) *string { return v.Topic }).(pulumi.StringPtrOutput) +} + +type PubsubConfigMapOutput struct{ *pulumi.OutputState } + +func (PubsubConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PubsubConfig)(nil)).Elem() +} + +func (o PubsubConfigMapOutput) ToPubsubConfigMapOutput() PubsubConfigMapOutput { + return o +} + +func (o PubsubConfigMapOutput) ToPubsubConfigMapOutputWithContext(ctx context.Context) PubsubConfigMapOutput { + return o +} + +func (o PubsubConfigMapOutput) MapIndex(k pulumi.StringInput) PubsubConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PubsubConfig { + return vs[0].(map[string]PubsubConfig)[vs[1].(string)] + }).(PubsubConfigOutput) +} + +// Configuration to publish a Cloud Pub/Sub message. +type PubsubConfigResponse struct { + // The format of the Cloud Pub/Sub messages. + MessageFormat string `pulumi:"messageFormat"` + // Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + ServiceAccountEmail string `pulumi:"serviceAccountEmail"` + // A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + Topic string `pulumi:"topic"` +} + +// Configuration to publish a Cloud Pub/Sub message. +type PubsubConfigResponseOutput struct{ *pulumi.OutputState } + +func (PubsubConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PubsubConfigResponse)(nil)).Elem() +} + +func (o PubsubConfigResponseOutput) ToPubsubConfigResponseOutput() PubsubConfigResponseOutput { + return o +} + +func (o PubsubConfigResponseOutput) ToPubsubConfigResponseOutputWithContext(ctx context.Context) PubsubConfigResponseOutput { + return o +} + +// The format of the Cloud Pub/Sub messages. +func (o PubsubConfigResponseOutput) MessageFormat() pulumi.StringOutput { + return o.ApplyT(func(v PubsubConfigResponse) string { return v.MessageFormat }).(pulumi.StringOutput) +} + +// Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. +func (o PubsubConfigResponseOutput) ServiceAccountEmail() pulumi.StringOutput { + return o.ApplyT(func(v PubsubConfigResponse) string { return v.ServiceAccountEmail }).(pulumi.StringOutput) +} + +// A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. +func (o PubsubConfigResponseOutput) Topic() pulumi.StringOutput { + return o.ApplyT(func(v PubsubConfigResponse) string { return v.Topic }).(pulumi.StringOutput) +} + +type PubsubConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (PubsubConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]PubsubConfigResponse)(nil)).Elem() +} + +func (o PubsubConfigResponseMapOutput) ToPubsubConfigResponseMapOutput() PubsubConfigResponseMapOutput { + return o +} + +func (o PubsubConfigResponseMapOutput) ToPubsubConfigResponseMapOutputWithContext(ctx context.Context) PubsubConfigResponseMapOutput { + return o +} + +func (o PubsubConfigResponseMapOutput) MapIndex(k pulumi.StringInput) PubsubConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) PubsubConfigResponse { + return vs[0].(map[string]PubsubConfigResponse)[vs[1].(string)] + }).(PubsubConfigResponseOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AuditConfigInput)(nil)).Elem(), AuditConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AuditConfigArrayInput)(nil)).Elem(), AuditConfigArray{}) @@ -988,6 +1166,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ExprPtrInput)(nil)).Elem(), ExprArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MirrorConfigInput)(nil)).Elem(), MirrorConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MirrorConfigPtrInput)(nil)).Elem(), MirrorConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PubsubConfigInput)(nil)).Elem(), PubsubConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PubsubConfigMapInput)(nil)).Elem(), PubsubConfigMap{}) pulumi.RegisterOutputType(AuditConfigOutput{}) pulumi.RegisterOutputType(AuditConfigArrayOutput{}) pulumi.RegisterOutputType(AuditConfigResponseOutput{}) @@ -1006,4 +1186,8 @@ func init() { pulumi.RegisterOutputType(MirrorConfigOutput{}) pulumi.RegisterOutputType(MirrorConfigPtrOutput{}) pulumi.RegisterOutputType(MirrorConfigResponseOutput{}) + pulumi.RegisterOutputType(PubsubConfigOutput{}) + pulumi.RegisterOutputType(PubsubConfigMapOutput{}) + pulumi.RegisterOutputType(PubsubConfigResponseOutput{}) + pulumi.RegisterOutputType(PubsubConfigResponseMapOutput{}) } diff --git a/sdk/go/google/sourcerepo/v1/repo.go b/sdk/go/google/sourcerepo/v1/repo.go index ec85f4893b..7b9bd9c22b 100644 --- a/sdk/go/google/sourcerepo/v1/repo.go +++ b/sdk/go/google/sourcerepo/v1/repo.go @@ -21,7 +21,7 @@ type Repo struct { Name pulumi.StringOutput `pulumi:"name"` Project pulumi.StringOutput `pulumi:"project"` // How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. - PubsubConfigs pulumi.StringMapOutput `pulumi:"pubsubConfigs"` + PubsubConfigs PubsubConfigResponseMapOutput `pulumi:"pubsubConfigs"` // The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. Size pulumi.StringOutput `pulumi:"size"` // URL to clone the repository from Google Cloud Source Repositories. Read-only field. @@ -78,7 +78,7 @@ type repoArgs struct { Name *string `pulumi:"name"` Project *string `pulumi:"project"` // How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. - PubsubConfigs map[string]string `pulumi:"pubsubConfigs"` + PubsubConfigs map[string]PubsubConfig `pulumi:"pubsubConfigs"` // The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. Size *string `pulumi:"size"` // URL to clone the repository from Google Cloud Source Repositories. Read-only field. @@ -93,7 +93,7 @@ type RepoArgs struct { Name pulumi.StringPtrInput Project pulumi.StringPtrInput // How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. - PubsubConfigs pulumi.StringMapInput + PubsubConfigs PubsubConfigMapInput // The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. Size pulumi.StringPtrInput // URL to clone the repository from Google Cloud Source Repositories. Read-only field. @@ -152,8 +152,8 @@ func (o RepoOutput) Project() pulumi.StringOutput { } // How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. -func (o RepoOutput) PubsubConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v *Repo) pulumi.StringMapOutput { return v.PubsubConfigs }).(pulumi.StringMapOutput) +func (o RepoOutput) PubsubConfigs() PubsubConfigResponseMapOutput { + return o.ApplyT(func(v *Repo) PubsubConfigResponseMapOutput { return v.PubsubConfigs }).(PubsubConfigResponseMapOutput) } // The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. diff --git a/sdk/go/google/spanner/v1/pulumiTypes.go b/sdk/go/google/spanner/v1/pulumiTypes.go index efe78fabe4..2770276f1a 100644 --- a/sdk/go/google/spanner/v1/pulumiTypes.go +++ b/sdk/go/google/spanner/v1/pulumiTypes.go @@ -1727,7 +1727,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -1753,8 +1753,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/tpu/v2alpha1/pulumiTypes.go b/sdk/go/google/tpu/v2alpha1/pulumiTypes.go index 5b65588601..0fbf8bffbb 100644 --- a/sdk/go/google/tpu/v2alpha1/pulumiTypes.go +++ b/sdk/go/google/tpu/v2alpha1/pulumiTypes.go @@ -3524,7 +3524,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -3550,8 +3550,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/transcoder/v1/pulumiTypes.go b/sdk/go/google/transcoder/v1/pulumiTypes.go index 93cc602198..b3dd90bb52 100644 --- a/sdk/go/google/transcoder/v1/pulumiTypes.go +++ b/sdk/go/google/transcoder/v1/pulumiTypes.go @@ -9394,7 +9394,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -9420,8 +9420,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/vision/v1/pulumiTypes.go b/sdk/go/google/vision/v1/pulumiTypes.go index 2d6c1d7a8b..91b6d9d1a9 100644 --- a/sdk/go/google/vision/v1/pulumiTypes.go +++ b/sdk/go/google/vision/v1/pulumiTypes.go @@ -504,7 +504,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -530,8 +530,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/vmmigration/v1/pulumiTypes.go b/sdk/go/google/vmmigration/v1/pulumiTypes.go index 88e7199afd..c20aa81e62 100644 --- a/sdk/go/google/vmmigration/v1/pulumiTypes.go +++ b/sdk/go/google/vmmigration/v1/pulumiTypes.go @@ -5703,7 +5703,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -5729,8 +5729,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/vmmigration/v1alpha1/pulumiTypes.go b/sdk/go/google/vmmigration/v1alpha1/pulumiTypes.go index 0350008ea1..4655b6184d 100644 --- a/sdk/go/google/vmmigration/v1alpha1/pulumiTypes.go +++ b/sdk/go/google/vmmigration/v1alpha1/pulumiTypes.go @@ -5781,7 +5781,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -5807,8 +5807,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/vmwareengine/v1/cluster.go b/sdk/go/google/vmwareengine/v1/cluster.go index df3ebbc223..06aaacc1dd 100644 --- a/sdk/go/google/vmwareengine/v1/cluster.go +++ b/sdk/go/google/vmwareengine/v1/cluster.go @@ -27,9 +27,9 @@ type Cluster struct { // The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` Name pulumi.StringOutput `pulumi:"name"` // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). - NodeTypeConfigs pulumi.StringMapOutput `pulumi:"nodeTypeConfigs"` - PrivateCloudId pulumi.StringOutput `pulumi:"privateCloudId"` - Project pulumi.StringOutput `pulumi:"project"` + NodeTypeConfigs NodeTypeConfigResponseMapOutput `pulumi:"nodeTypeConfigs"` + PrivateCloudId pulumi.StringOutput `pulumi:"privateCloudId"` + Project pulumi.StringOutput `pulumi:"project"` // Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). RequestId pulumi.StringPtrOutput `pulumi:"requestId"` // State of the resource. @@ -102,9 +102,9 @@ type clusterArgs struct { ClusterId string `pulumi:"clusterId"` Location *string `pulumi:"location"` // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). - NodeTypeConfigs map[string]string `pulumi:"nodeTypeConfigs"` - PrivateCloudId string `pulumi:"privateCloudId"` - Project *string `pulumi:"project"` + NodeTypeConfigs map[string]NodeTypeConfig `pulumi:"nodeTypeConfigs"` + PrivateCloudId string `pulumi:"privateCloudId"` + Project *string `pulumi:"project"` // Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). RequestId *string `pulumi:"requestId"` // Optional. Configuration of a stretched cluster. Required for clusters that belong to a STRETCHED private cloud. @@ -117,7 +117,7 @@ type ClusterArgs struct { ClusterId pulumi.StringInput Location pulumi.StringPtrInput // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). - NodeTypeConfigs pulumi.StringMapInput + NodeTypeConfigs NodeTypeConfigMapInput PrivateCloudId pulumi.StringInput Project pulumi.StringPtrInput // Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). @@ -188,8 +188,8 @@ func (o ClusterOutput) Name() pulumi.StringOutput { } // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). -func (o ClusterOutput) NodeTypeConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.NodeTypeConfigs }).(pulumi.StringMapOutput) +func (o ClusterOutput) NodeTypeConfigs() NodeTypeConfigResponseMapOutput { + return o.ApplyT(func(v *Cluster) NodeTypeConfigResponseMapOutput { return v.NodeTypeConfigs }).(NodeTypeConfigResponseMapOutput) } func (o ClusterOutput) PrivateCloudId() pulumi.StringOutput { diff --git a/sdk/go/google/vmwareengine/v1/getCluster.go b/sdk/go/google/vmwareengine/v1/getCluster.go index 0b699cd402..c68ac95106 100644 --- a/sdk/go/google/vmwareengine/v1/getCluster.go +++ b/sdk/go/google/vmwareengine/v1/getCluster.go @@ -37,7 +37,7 @@ type LookupClusterResult struct { // The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` Name string `pulumi:"name"` // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). - NodeTypeConfigs map[string]string `pulumi:"nodeTypeConfigs"` + NodeTypeConfigs map[string]NodeTypeConfigResponse `pulumi:"nodeTypeConfigs"` // State of the resource. State string `pulumi:"state"` // Optional. Configuration of a stretched cluster. Required for clusters that belong to a STRETCHED private cloud. @@ -102,8 +102,8 @@ func (o LookupClusterResultOutput) Name() pulumi.StringOutput { } // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). -func (o LookupClusterResultOutput) NodeTypeConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v LookupClusterResult) map[string]string { return v.NodeTypeConfigs }).(pulumi.StringMapOutput) +func (o LookupClusterResultOutput) NodeTypeConfigs() NodeTypeConfigResponseMapOutput { + return o.ApplyT(func(v LookupClusterResult) map[string]NodeTypeConfigResponse { return v.NodeTypeConfigs }).(NodeTypeConfigResponseMapOutput) } // State of the resource. diff --git a/sdk/go/google/vmwareengine/v1/pulumiTypes.go b/sdk/go/google/vmwareengine/v1/pulumiTypes.go index 7edf4ede44..4c4b601043 100644 --- a/sdk/go/google/vmwareengine/v1/pulumiTypes.go +++ b/sdk/go/google/vmwareengine/v1/pulumiTypes.go @@ -989,7 +989,7 @@ type ManagementCluster struct { // The user-provided identifier of the new `Cluster`. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) ClusterId string `pulumi:"clusterId"` // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). - NodeTypeConfigs map[string]string `pulumi:"nodeTypeConfigs"` + NodeTypeConfigs map[string]NodeTypeConfig `pulumi:"nodeTypeConfigs"` // Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. StretchedClusterConfig *StretchedClusterConfig `pulumi:"stretchedClusterConfig"` } @@ -1010,7 +1010,7 @@ type ManagementClusterArgs struct { // The user-provided identifier of the new `Cluster`. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) ClusterId pulumi.StringInput `pulumi:"clusterId"` // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). - NodeTypeConfigs pulumi.StringMapInput `pulumi:"nodeTypeConfigs"` + NodeTypeConfigs NodeTypeConfigMapInput `pulumi:"nodeTypeConfigs"` // Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. StretchedClusterConfig StretchedClusterConfigPtrInput `pulumi:"stretchedClusterConfig"` } @@ -1048,8 +1048,8 @@ func (o ManagementClusterOutput) ClusterId() pulumi.StringOutput { } // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). -func (o ManagementClusterOutput) NodeTypeConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v ManagementCluster) map[string]string { return v.NodeTypeConfigs }).(pulumi.StringMapOutput) +func (o ManagementClusterOutput) NodeTypeConfigs() NodeTypeConfigMapOutput { + return o.ApplyT(func(v ManagementCluster) map[string]NodeTypeConfig { return v.NodeTypeConfigs }).(NodeTypeConfigMapOutput) } // Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. @@ -1062,7 +1062,7 @@ type ManagementClusterResponse struct { // The user-provided identifier of the new `Cluster`. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) ClusterId string `pulumi:"clusterId"` // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). - NodeTypeConfigs map[string]string `pulumi:"nodeTypeConfigs"` + NodeTypeConfigs map[string]NodeTypeConfigResponse `pulumi:"nodeTypeConfigs"` // Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. StretchedClusterConfig StretchedClusterConfigResponse `pulumi:"stretchedClusterConfig"` } @@ -1088,8 +1088,8 @@ func (o ManagementClusterResponseOutput) ClusterId() pulumi.StringOutput { } // The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). -func (o ManagementClusterResponseOutput) NodeTypeConfigs() pulumi.StringMapOutput { - return o.ApplyT(func(v ManagementClusterResponse) map[string]string { return v.NodeTypeConfigs }).(pulumi.StringMapOutput) +func (o ManagementClusterResponseOutput) NodeTypeConfigs() NodeTypeConfigResponseMapOutput { + return o.ApplyT(func(v ManagementClusterResponse) map[string]NodeTypeConfigResponse { return v.NodeTypeConfigs }).(NodeTypeConfigResponseMapOutput) } // Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. @@ -1388,6 +1388,168 @@ func (o NetworkServiceResponseOutput) State() pulumi.StringOutput { return o.ApplyT(func(v NetworkServiceResponse) string { return v.State }).(pulumi.StringOutput) } +// Information about the type and number of nodes associated with the cluster. +type NodeTypeConfig struct { + // Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + CustomCoreCount *int `pulumi:"customCoreCount"` + // The number of nodes of this type in the cluster + NodeCount int `pulumi:"nodeCount"` +} + +// NodeTypeConfigInput is an input type that accepts NodeTypeConfigArgs and NodeTypeConfigOutput values. +// You can construct a concrete instance of `NodeTypeConfigInput` via: +// +// NodeTypeConfigArgs{...} +type NodeTypeConfigInput interface { + pulumi.Input + + ToNodeTypeConfigOutput() NodeTypeConfigOutput + ToNodeTypeConfigOutputWithContext(context.Context) NodeTypeConfigOutput +} + +// Information about the type and number of nodes associated with the cluster. +type NodeTypeConfigArgs struct { + // Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + CustomCoreCount pulumi.IntPtrInput `pulumi:"customCoreCount"` + // The number of nodes of this type in the cluster + NodeCount pulumi.IntInput `pulumi:"nodeCount"` +} + +func (NodeTypeConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodeTypeConfig)(nil)).Elem() +} + +func (i NodeTypeConfigArgs) ToNodeTypeConfigOutput() NodeTypeConfigOutput { + return i.ToNodeTypeConfigOutputWithContext(context.Background()) +} + +func (i NodeTypeConfigArgs) ToNodeTypeConfigOutputWithContext(ctx context.Context) NodeTypeConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeTypeConfigOutput) +} + +// NodeTypeConfigMapInput is an input type that accepts NodeTypeConfigMap and NodeTypeConfigMapOutput values. +// You can construct a concrete instance of `NodeTypeConfigMapInput` via: +// +// NodeTypeConfigMap{ "key": NodeTypeConfigArgs{...} } +type NodeTypeConfigMapInput interface { + pulumi.Input + + ToNodeTypeConfigMapOutput() NodeTypeConfigMapOutput + ToNodeTypeConfigMapOutputWithContext(context.Context) NodeTypeConfigMapOutput +} + +type NodeTypeConfigMap map[string]NodeTypeConfigInput + +func (NodeTypeConfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]NodeTypeConfig)(nil)).Elem() +} + +func (i NodeTypeConfigMap) ToNodeTypeConfigMapOutput() NodeTypeConfigMapOutput { + return i.ToNodeTypeConfigMapOutputWithContext(context.Background()) +} + +func (i NodeTypeConfigMap) ToNodeTypeConfigMapOutputWithContext(ctx context.Context) NodeTypeConfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodeTypeConfigMapOutput) +} + +// Information about the type and number of nodes associated with the cluster. +type NodeTypeConfigOutput struct{ *pulumi.OutputState } + +func (NodeTypeConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeTypeConfig)(nil)).Elem() +} + +func (o NodeTypeConfigOutput) ToNodeTypeConfigOutput() NodeTypeConfigOutput { + return o +} + +func (o NodeTypeConfigOutput) ToNodeTypeConfigOutputWithContext(ctx context.Context) NodeTypeConfigOutput { + return o +} + +// Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. +func (o NodeTypeConfigOutput) CustomCoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v NodeTypeConfig) *int { return v.CustomCoreCount }).(pulumi.IntPtrOutput) +} + +// The number of nodes of this type in the cluster +func (o NodeTypeConfigOutput) NodeCount() pulumi.IntOutput { + return o.ApplyT(func(v NodeTypeConfig) int { return v.NodeCount }).(pulumi.IntOutput) +} + +type NodeTypeConfigMapOutput struct{ *pulumi.OutputState } + +func (NodeTypeConfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]NodeTypeConfig)(nil)).Elem() +} + +func (o NodeTypeConfigMapOutput) ToNodeTypeConfigMapOutput() NodeTypeConfigMapOutput { + return o +} + +func (o NodeTypeConfigMapOutput) ToNodeTypeConfigMapOutputWithContext(ctx context.Context) NodeTypeConfigMapOutput { + return o +} + +func (o NodeTypeConfigMapOutput) MapIndex(k pulumi.StringInput) NodeTypeConfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) NodeTypeConfig { + return vs[0].(map[string]NodeTypeConfig)[vs[1].(string)] + }).(NodeTypeConfigOutput) +} + +// Information about the type and number of nodes associated with the cluster. +type NodeTypeConfigResponse struct { + // Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + CustomCoreCount int `pulumi:"customCoreCount"` + // The number of nodes of this type in the cluster + NodeCount int `pulumi:"nodeCount"` +} + +// Information about the type and number of nodes associated with the cluster. +type NodeTypeConfigResponseOutput struct{ *pulumi.OutputState } + +func (NodeTypeConfigResponseOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodeTypeConfigResponse)(nil)).Elem() +} + +func (o NodeTypeConfigResponseOutput) ToNodeTypeConfigResponseOutput() NodeTypeConfigResponseOutput { + return o +} + +func (o NodeTypeConfigResponseOutput) ToNodeTypeConfigResponseOutputWithContext(ctx context.Context) NodeTypeConfigResponseOutput { + return o +} + +// Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. +func (o NodeTypeConfigResponseOutput) CustomCoreCount() pulumi.IntOutput { + return o.ApplyT(func(v NodeTypeConfigResponse) int { return v.CustomCoreCount }).(pulumi.IntOutput) +} + +// The number of nodes of this type in the cluster +func (o NodeTypeConfigResponseOutput) NodeCount() pulumi.IntOutput { + return o.ApplyT(func(v NodeTypeConfigResponse) int { return v.NodeCount }).(pulumi.IntOutput) +} + +type NodeTypeConfigResponseMapOutput struct{ *pulumi.OutputState } + +func (NodeTypeConfigResponseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]NodeTypeConfigResponse)(nil)).Elem() +} + +func (o NodeTypeConfigResponseMapOutput) ToNodeTypeConfigResponseMapOutput() NodeTypeConfigResponseMapOutput { + return o +} + +func (o NodeTypeConfigResponseMapOutput) ToNodeTypeConfigResponseMapOutputWithContext(ctx context.Context) NodeTypeConfigResponseMapOutput { + return o +} + +func (o NodeTypeConfigResponseMapOutput) MapIndex(k pulumi.StringInput) NodeTypeConfigResponseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) NodeTypeConfigResponse { + return vs[0].(map[string]NodeTypeConfigResponse)[vs[1].(string)] + }).(NodeTypeConfigResponseOutput) +} + // Details about a NSX Manager appliance. type NsxResponse struct { // Fully qualified domain name of the appliance. @@ -1742,6 +1904,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*NetworkConfigInput)(nil)).Elem(), NetworkConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkServiceInput)(nil)).Elem(), NetworkServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkServicePtrInput)(nil)).Elem(), NetworkServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeTypeConfigInput)(nil)).Elem(), NodeTypeConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodeTypeConfigMapInput)(nil)).Elem(), NodeTypeConfigMap{}) pulumi.RegisterInputType(reflect.TypeOf((*StretchedClusterConfigInput)(nil)).Elem(), StretchedClusterConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*StretchedClusterConfigPtrInput)(nil)).Elem(), StretchedClusterConfigArgs{}) pulumi.RegisterOutputType(AuditConfigOutput{}) @@ -1771,6 +1935,10 @@ func init() { pulumi.RegisterOutputType(NetworkServiceOutput{}) pulumi.RegisterOutputType(NetworkServicePtrOutput{}) pulumi.RegisterOutputType(NetworkServiceResponseOutput{}) + pulumi.RegisterOutputType(NodeTypeConfigOutput{}) + pulumi.RegisterOutputType(NodeTypeConfigMapOutput{}) + pulumi.RegisterOutputType(NodeTypeConfigResponseOutput{}) + pulumi.RegisterOutputType(NodeTypeConfigResponseMapOutput{}) pulumi.RegisterOutputType(NsxResponseOutput{}) pulumi.RegisterOutputType(StretchedClusterConfigOutput{}) pulumi.RegisterOutputType(StretchedClusterConfigPtrOutput{}) diff --git a/sdk/go/google/workstations/v1/pulumiTypes.go b/sdk/go/google/workstations/v1/pulumiTypes.go index 301fbd6112..592bfe0398 100644 --- a/sdk/go/google/workstations/v1/pulumiTypes.go +++ b/sdk/go/google/workstations/v1/pulumiTypes.go @@ -3009,7 +3009,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -3035,8 +3035,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/go/google/workstations/v1beta/pulumiTypes.go b/sdk/go/google/workstations/v1beta/pulumiTypes.go index d656914c77..f27cbe64ae 100644 --- a/sdk/go/google/workstations/v1beta/pulumiTypes.go +++ b/sdk/go/google/workstations/v1beta/pulumiTypes.go @@ -3769,7 +3769,7 @@ type StatusResponse struct { // The status code, which should be an enum value of google.rpc.Code. Code int `pulumi:"code"` // A list of messages that carry the error details. There is a common set of message types for APIs to use. - Details []map[string]string `pulumi:"details"` + Details []map[string]interface{} `pulumi:"details"` // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. Message string `pulumi:"message"` } @@ -3795,8 +3795,8 @@ func (o StatusResponseOutput) Code() pulumi.IntOutput { } // A list of messages that carry the error details. There is a common set of message types for APIs to use. -func (o StatusResponseOutput) Details() pulumi.StringMapArrayOutput { - return o.ApplyT(func(v StatusResponse) []map[string]string { return v.Details }).(pulumi.StringMapArrayOutput) +func (o StatusResponseOutput) Details() pulumi.MapArrayOutput { + return o.ApplyT(func(v StatusResponse) []map[string]interface{} { return v.Details }).(pulumi.MapArrayOutput) } // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. diff --git a/sdk/nodejs/aiplatform/v1/artifact.ts b/sdk/nodejs/aiplatform/v1/artifact.ts index 21008002b0..6d66bb40a5 100644 --- a/sdk/nodejs/aiplatform/v1/artifact.ts +++ b/sdk/nodejs/aiplatform/v1/artifact.ts @@ -66,7 +66,7 @@ export class Artifact extends pulumi.CustomResource { /** * Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - public readonly metadata!: pulumi.Output<{[key: string]: string}>; + public readonly metadata!: pulumi.Output<{[key: string]: any}>; public readonly metadataStoreId!: pulumi.Output; /** * The resource name of the Artifact. @@ -177,7 +177,7 @@ export interface ArtifactArgs { /** * Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; metadataStoreId: pulumi.Input; project?: pulumi.Input; /** diff --git a/sdk/nodejs/aiplatform/v1/context.ts b/sdk/nodejs/aiplatform/v1/context.ts index c58181deac..a5dcafd538 100644 --- a/sdk/nodejs/aiplatform/v1/context.ts +++ b/sdk/nodejs/aiplatform/v1/context.ts @@ -62,7 +62,7 @@ export class Context extends pulumi.CustomResource { /** * Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - public readonly metadata!: pulumi.Output<{[key: string]: string}>; + public readonly metadata!: pulumi.Output<{[key: string]: any}>; public readonly metadataStoreId!: pulumi.Output; /** * Immutable. The resource name of the Context. @@ -167,7 +167,7 @@ export interface ContextArgs { /** * Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; metadataStoreId: pulumi.Input; /** * Immutable. The resource name of the Context. diff --git a/sdk/nodejs/aiplatform/v1/endpoint.ts b/sdk/nodejs/aiplatform/v1/endpoint.ts index 0513934ed2..08a6c0536d 100644 --- a/sdk/nodejs/aiplatform/v1/endpoint.ts +++ b/sdk/nodejs/aiplatform/v1/endpoint.ts @@ -97,7 +97,7 @@ export class Endpoint extends pulumi.CustomResource { /** * A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. */ - public readonly trafficSplit!: pulumi.Output<{[key: string]: string}>; + public readonly trafficSplit!: pulumi.Output<{[key: string]: number}>; /** * Timestamp when this Endpoint was last updated. */ @@ -207,5 +207,5 @@ export interface EndpointArgs { /** * A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. */ - trafficSplit?: pulumi.Input<{[key: string]: pulumi.Input}>; + trafficSplit?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/aiplatform/v1/execution.ts b/sdk/nodejs/aiplatform/v1/execution.ts index 36a64ed214..2e330caaaa 100644 --- a/sdk/nodejs/aiplatform/v1/execution.ts +++ b/sdk/nodejs/aiplatform/v1/execution.ts @@ -66,7 +66,7 @@ export class Execution extends pulumi.CustomResource { /** * Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - public readonly metadata!: pulumi.Output<{[key: string]: string}>; + public readonly metadata!: pulumi.Output<{[key: string]: any}>; public readonly metadataStoreId!: pulumi.Output; /** * The resource name of the Execution. @@ -171,7 +171,7 @@ export interface ExecutionArgs { /** * Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; metadataStoreId: pulumi.Input; project?: pulumi.Input; /** diff --git a/sdk/nodejs/aiplatform/v1/getArtifact.ts b/sdk/nodejs/aiplatform/v1/getArtifact.ts index cd8b5a4c57..5a7d9d21ca 100644 --- a/sdk/nodejs/aiplatform/v1/getArtifact.ts +++ b/sdk/nodejs/aiplatform/v1/getArtifact.ts @@ -49,7 +49,7 @@ export interface GetArtifactResult { /** * Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - readonly metadata: {[key: string]: string}; + readonly metadata: {[key: string]: any}; /** * The resource name of the Artifact. */ diff --git a/sdk/nodejs/aiplatform/v1/getContext.ts b/sdk/nodejs/aiplatform/v1/getContext.ts index 46e972355c..6f4170e4ac 100644 --- a/sdk/nodejs/aiplatform/v1/getContext.ts +++ b/sdk/nodejs/aiplatform/v1/getContext.ts @@ -49,7 +49,7 @@ export interface GetContextResult { /** * Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - readonly metadata: {[key: string]: string}; + readonly metadata: {[key: string]: any}; /** * Immutable. The resource name of the Context. */ diff --git a/sdk/nodejs/aiplatform/v1/getEndpoint.ts b/sdk/nodejs/aiplatform/v1/getEndpoint.ts index d4476c24be..d6bcf71088 100644 --- a/sdk/nodejs/aiplatform/v1/getEndpoint.ts +++ b/sdk/nodejs/aiplatform/v1/getEndpoint.ts @@ -80,7 +80,7 @@ export interface GetEndpointResult { /** * A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. */ - readonly trafficSplit: {[key: string]: string}; + readonly trafficSplit: {[key: string]: number}; /** * Timestamp when this Endpoint was last updated. */ diff --git a/sdk/nodejs/aiplatform/v1/getExecution.ts b/sdk/nodejs/aiplatform/v1/getExecution.ts index 04b91ee050..71b5a7ed85 100644 --- a/sdk/nodejs/aiplatform/v1/getExecution.ts +++ b/sdk/nodejs/aiplatform/v1/getExecution.ts @@ -49,7 +49,7 @@ export interface GetExecutionResult { /** * Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - readonly metadata: {[key: string]: string}; + readonly metadata: {[key: string]: any}; /** * The resource name of the Execution. */ diff --git a/sdk/nodejs/aiplatform/v1/getPipelineJob.ts b/sdk/nodejs/aiplatform/v1/getPipelineJob.ts index ceab61edac..fb9f7aeb39 100644 --- a/sdk/nodejs/aiplatform/v1/getPipelineJob.ts +++ b/sdk/nodejs/aiplatform/v1/getPipelineJob.ts @@ -66,7 +66,7 @@ export interface GetPipelineJobResult { /** * The spec of the pipeline. */ - readonly pipelineSpec: {[key: string]: string}; + readonly pipelineSpec: {[key: string]: any}; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. */ diff --git a/sdk/nodejs/aiplatform/v1/pipelineJob.ts b/sdk/nodejs/aiplatform/v1/pipelineJob.ts index 9abe655d99..3daed80822 100644 --- a/sdk/nodejs/aiplatform/v1/pipelineJob.ts +++ b/sdk/nodejs/aiplatform/v1/pipelineJob.ts @@ -82,7 +82,7 @@ export class PipelineJob extends pulumi.CustomResource { /** * The spec of the pipeline. */ - public readonly pipelineSpec!: pulumi.Output<{[key: string]: string}>; + public readonly pipelineSpec!: pulumi.Output<{[key: string]: any}>; public readonly project!: pulumi.Output; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. @@ -213,7 +213,7 @@ export interface PipelineJobArgs { /** * The spec of the pipeline. */ - pipelineSpec?: pulumi.Input<{[key: string]: pulumi.Input}>; + pipelineSpec?: pulumi.Input<{[key: string]: any}>; project?: pulumi.Input; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. diff --git a/sdk/nodejs/aiplatform/v1beta1/artifact.ts b/sdk/nodejs/aiplatform/v1beta1/artifact.ts index 1c031893db..0cdb18b041 100644 --- a/sdk/nodejs/aiplatform/v1beta1/artifact.ts +++ b/sdk/nodejs/aiplatform/v1beta1/artifact.ts @@ -66,7 +66,7 @@ export class Artifact extends pulumi.CustomResource { /** * Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - public readonly metadata!: pulumi.Output<{[key: string]: string}>; + public readonly metadata!: pulumi.Output<{[key: string]: any}>; public readonly metadataStoreId!: pulumi.Output; /** * The resource name of the Artifact. @@ -177,7 +177,7 @@ export interface ArtifactArgs { /** * Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; metadataStoreId: pulumi.Input; project?: pulumi.Input; /** diff --git a/sdk/nodejs/aiplatform/v1beta1/context.ts b/sdk/nodejs/aiplatform/v1beta1/context.ts index b008ef6d85..b2b0816477 100644 --- a/sdk/nodejs/aiplatform/v1beta1/context.ts +++ b/sdk/nodejs/aiplatform/v1beta1/context.ts @@ -62,7 +62,7 @@ export class Context extends pulumi.CustomResource { /** * Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - public readonly metadata!: pulumi.Output<{[key: string]: string}>; + public readonly metadata!: pulumi.Output<{[key: string]: any}>; public readonly metadataStoreId!: pulumi.Output; /** * Immutable. The resource name of the Context. @@ -167,7 +167,7 @@ export interface ContextArgs { /** * Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; metadataStoreId: pulumi.Input; /** * Immutable. The resource name of the Context. diff --git a/sdk/nodejs/aiplatform/v1beta1/endpoint.ts b/sdk/nodejs/aiplatform/v1beta1/endpoint.ts index d2bdfac0c7..5789940462 100644 --- a/sdk/nodejs/aiplatform/v1beta1/endpoint.ts +++ b/sdk/nodejs/aiplatform/v1beta1/endpoint.ts @@ -97,7 +97,7 @@ export class Endpoint extends pulumi.CustomResource { /** * A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. */ - public readonly trafficSplit!: pulumi.Output<{[key: string]: string}>; + public readonly trafficSplit!: pulumi.Output<{[key: string]: number}>; /** * Timestamp when this Endpoint was last updated. */ @@ -207,5 +207,5 @@ export interface EndpointArgs { /** * A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. */ - trafficSplit?: pulumi.Input<{[key: string]: pulumi.Input}>; + trafficSplit?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/aiplatform/v1beta1/execution.ts b/sdk/nodejs/aiplatform/v1beta1/execution.ts index 9940db0fb2..2f0845ee94 100644 --- a/sdk/nodejs/aiplatform/v1beta1/execution.ts +++ b/sdk/nodejs/aiplatform/v1beta1/execution.ts @@ -66,7 +66,7 @@ export class Execution extends pulumi.CustomResource { /** * Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - public readonly metadata!: pulumi.Output<{[key: string]: string}>; + public readonly metadata!: pulumi.Output<{[key: string]: any}>; public readonly metadataStoreId!: pulumi.Output; /** * The resource name of the Execution. @@ -171,7 +171,7 @@ export interface ExecutionArgs { /** * Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; metadataStoreId: pulumi.Input; project?: pulumi.Input; /** diff --git a/sdk/nodejs/aiplatform/v1beta1/getArtifact.ts b/sdk/nodejs/aiplatform/v1beta1/getArtifact.ts index d3217b89a8..697d458ae6 100644 --- a/sdk/nodejs/aiplatform/v1beta1/getArtifact.ts +++ b/sdk/nodejs/aiplatform/v1beta1/getArtifact.ts @@ -49,7 +49,7 @@ export interface GetArtifactResult { /** * Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - readonly metadata: {[key: string]: string}; + readonly metadata: {[key: string]: any}; /** * The resource name of the Artifact. */ diff --git a/sdk/nodejs/aiplatform/v1beta1/getContext.ts b/sdk/nodejs/aiplatform/v1beta1/getContext.ts index d08b7e7508..85ef0c33ff 100644 --- a/sdk/nodejs/aiplatform/v1beta1/getContext.ts +++ b/sdk/nodejs/aiplatform/v1beta1/getContext.ts @@ -49,7 +49,7 @@ export interface GetContextResult { /** * Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - readonly metadata: {[key: string]: string}; + readonly metadata: {[key: string]: any}; /** * Immutable. The resource name of the Context. */ diff --git a/sdk/nodejs/aiplatform/v1beta1/getEndpoint.ts b/sdk/nodejs/aiplatform/v1beta1/getEndpoint.ts index 77772ac57d..c10798adcb 100644 --- a/sdk/nodejs/aiplatform/v1beta1/getEndpoint.ts +++ b/sdk/nodejs/aiplatform/v1beta1/getEndpoint.ts @@ -80,7 +80,7 @@ export interface GetEndpointResult { /** * A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. */ - readonly trafficSplit: {[key: string]: string}; + readonly trafficSplit: {[key: string]: number}; /** * Timestamp when this Endpoint was last updated. */ diff --git a/sdk/nodejs/aiplatform/v1beta1/getExecution.ts b/sdk/nodejs/aiplatform/v1beta1/getExecution.ts index 061d574a4d..ff649ccf3b 100644 --- a/sdk/nodejs/aiplatform/v1beta1/getExecution.ts +++ b/sdk/nodejs/aiplatform/v1beta1/getExecution.ts @@ -49,7 +49,7 @@ export interface GetExecutionResult { /** * Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - readonly metadata: {[key: string]: string}; + readonly metadata: {[key: string]: any}; /** * The resource name of the Execution. */ diff --git a/sdk/nodejs/aiplatform/v1beta1/getPipelineJob.ts b/sdk/nodejs/aiplatform/v1beta1/getPipelineJob.ts index 7d317238ad..72688fcf52 100644 --- a/sdk/nodejs/aiplatform/v1beta1/getPipelineJob.ts +++ b/sdk/nodejs/aiplatform/v1beta1/getPipelineJob.ts @@ -66,7 +66,7 @@ export interface GetPipelineJobResult { /** * The spec of the pipeline. */ - readonly pipelineSpec: {[key: string]: string}; + readonly pipelineSpec: {[key: string]: any}; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. */ diff --git a/sdk/nodejs/aiplatform/v1beta1/pipelineJob.ts b/sdk/nodejs/aiplatform/v1beta1/pipelineJob.ts index ed2f695d48..850f8cbbcb 100644 --- a/sdk/nodejs/aiplatform/v1beta1/pipelineJob.ts +++ b/sdk/nodejs/aiplatform/v1beta1/pipelineJob.ts @@ -82,7 +82,7 @@ export class PipelineJob extends pulumi.CustomResource { /** * The spec of the pipeline. */ - public readonly pipelineSpec!: pulumi.Output<{[key: string]: string}>; + public readonly pipelineSpec!: pulumi.Output<{[key: string]: any}>; public readonly project!: pulumi.Output; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. @@ -213,7 +213,7 @@ export interface PipelineJobArgs { /** * The spec of the pipeline. */ - pipelineSpec?: pulumi.Input<{[key: string]: pulumi.Input}>; + pipelineSpec?: pulumi.Input<{[key: string]: any}>; project?: pulumi.Input; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. diff --git a/sdk/nodejs/apigee/v1/alias.ts b/sdk/nodejs/apigee/v1/alias.ts index 0ace536af6..5ce9a26ded 100644 --- a/sdk/nodejs/apigee/v1/alias.ts +++ b/sdk/nodejs/apigee/v1/alias.ts @@ -146,7 +146,7 @@ export interface AliasArgs { /** * Application specific response metadata. Must be set in the first response for streaming APIs. */ - extensions?: pulumi.Input}>[]>; + extensions?: pulumi.Input[]>; /** * File to upload. */ diff --git a/sdk/nodejs/apigee/v1/api.ts b/sdk/nodejs/apigee/v1/api.ts index 73131a82b0..1dcecff4be 100644 --- a/sdk/nodejs/apigee/v1/api.ts +++ b/sdk/nodejs/apigee/v1/api.ts @@ -141,7 +141,7 @@ export interface ApiArgs { /** * Application specific response metadata. Must be set in the first response for streaming APIs. */ - extensions?: pulumi.Input}>[]>; + extensions?: pulumi.Input[]>; /** * File to upload. */ diff --git a/sdk/nodejs/apigee/v1/getResourcefile.ts b/sdk/nodejs/apigee/v1/getResourcefile.ts index 24cd10cdeb..12783ceb77 100644 --- a/sdk/nodejs/apigee/v1/getResourcefile.ts +++ b/sdk/nodejs/apigee/v1/getResourcefile.ts @@ -37,7 +37,7 @@ export interface GetResourcefileResult { /** * Application specific response metadata. Must be set in the first response for streaming APIs. */ - readonly extensions: {[key: string]: string}[]; + readonly extensions: {[key: string]: any}[]; } /** * Gets the contents of a resource file. For more information about resource files, see [Resource files](https://cloud.google.com/apigee/docs/api-platform/develop/resource-files). diff --git a/sdk/nodejs/apigee/v1/resourcefile.ts b/sdk/nodejs/apigee/v1/resourcefile.ts index ab3a2735f6..6eeba13e62 100644 --- a/sdk/nodejs/apigee/v1/resourcefile.ts +++ b/sdk/nodejs/apigee/v1/resourcefile.ts @@ -47,7 +47,7 @@ export class Resourcefile extends pulumi.CustomResource { /** * Application specific response metadata. Must be set in the first response for streaming APIs. */ - public readonly extensions!: pulumi.Output<{[key: string]: string}[]>; + public readonly extensions!: pulumi.Output<{[key: string]: any}[]>; /** * Required. Name of the resource file. Must match the regular expression: [a-zA-Z0-9:/\\!@#$%^&{}\[\]()+\-=,.~'` ]{1,255} */ @@ -121,7 +121,7 @@ export interface ResourcefileArgs { /** * Application specific response metadata. Must be set in the first response for streaming APIs. */ - extensions?: pulumi.Input}>[]>; + extensions?: pulumi.Input[]>; /** * File to upload. */ diff --git a/sdk/nodejs/apigee/v1/sharedflow.ts b/sdk/nodejs/apigee/v1/sharedflow.ts index afbf7f552d..f87c2d6e5a 100644 --- a/sdk/nodejs/apigee/v1/sharedflow.ts +++ b/sdk/nodejs/apigee/v1/sharedflow.ts @@ -119,7 +119,7 @@ export interface SharedflowArgs { /** * Application specific response metadata. Must be set in the first response for streaming APIs. */ - extensions?: pulumi.Input}>[]>; + extensions?: pulumi.Input[]>; /** * Required. The name to give the shared flow */ diff --git a/sdk/nodejs/appengine/v1/app.ts b/sdk/nodejs/appengine/v1/app.ts index 90c20a38f8..60a5a80704 100644 --- a/sdk/nodejs/appengine/v1/app.ts +++ b/sdk/nodejs/appengine/v1/app.ts @@ -79,7 +79,7 @@ export class App extends pulumi.CustomResource { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest */ - public readonly generatedCustomerMetadata!: pulumi.Output<{[key: string]: string}>; + public readonly generatedCustomerMetadata!: pulumi.Output<{[key: string]: any}>; public readonly iap!: pulumi.Output; /** * Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). @@ -174,7 +174,7 @@ export interface AppArgs { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest */ - generatedCustomerMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + generatedCustomerMetadata?: pulumi.Input<{[key: string]: any}>; iap?: pulumi.Input; /** * Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. diff --git a/sdk/nodejs/appengine/v1/getApp.ts b/sdk/nodejs/appengine/v1/getApp.ts index e5f9fde0a3..42010d1737 100644 --- a/sdk/nodejs/appengine/v1/getApp.ts +++ b/sdk/nodejs/appengine/v1/getApp.ts @@ -64,7 +64,7 @@ export interface GetAppResult { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest */ - readonly generatedCustomerMetadata: {[key: string]: string}; + readonly generatedCustomerMetadata: {[key: string]: any}; readonly iap: outputs.appengine.v1.IdentityAwareProxyResponse; /** * Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). diff --git a/sdk/nodejs/appengine/v1/getVersion.ts b/sdk/nodejs/appengine/v1/getVersion.ts index b8c26aaca9..6ff904a2ec 100644 --- a/sdk/nodejs/appengine/v1/getVersion.ts +++ b/sdk/nodejs/appengine/v1/getVersion.ts @@ -100,7 +100,7 @@ export interface GetVersionResult { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest */ - readonly generatedCustomerMetadata: {[key: string]: string}; + readonly generatedCustomerMetadata: {[key: string]: any}; /** * An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. */ diff --git a/sdk/nodejs/appengine/v1/version.ts b/sdk/nodejs/appengine/v1/version.ts index d07077f532..887b363d18 100644 --- a/sdk/nodejs/appengine/v1/version.ts +++ b/sdk/nodejs/appengine/v1/version.ts @@ -110,7 +110,7 @@ export class Version extends pulumi.CustomResource { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest */ - public readonly generatedCustomerMetadata!: pulumi.Output<{[key: string]: string}>; + public readonly generatedCustomerMetadata!: pulumi.Output<{[key: string]: any}>; /** * An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. */ @@ -384,7 +384,7 @@ export interface VersionArgs { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest */ - generatedCustomerMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + generatedCustomerMetadata?: pulumi.Input<{[key: string]: any}>; /** * An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. */ diff --git a/sdk/nodejs/appengine/v1beta/app.ts b/sdk/nodejs/appengine/v1beta/app.ts index f13b16cda1..2998b22fe0 100644 --- a/sdk/nodejs/appengine/v1beta/app.ts +++ b/sdk/nodejs/appengine/v1beta/app.ts @@ -79,7 +79,7 @@ export class App extends pulumi.CustomResource { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest */ - public readonly generatedCustomerMetadata!: pulumi.Output<{[key: string]: string}>; + public readonly generatedCustomerMetadata!: pulumi.Output<{[key: string]: any}>; public readonly iap!: pulumi.Output; /** * Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). @@ -174,7 +174,7 @@ export interface AppArgs { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest */ - generatedCustomerMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + generatedCustomerMetadata?: pulumi.Input<{[key: string]: any}>; iap?: pulumi.Input; /** * Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. diff --git a/sdk/nodejs/appengine/v1beta/getApp.ts b/sdk/nodejs/appengine/v1beta/getApp.ts index 62948cfd60..e19c5c3b2c 100644 --- a/sdk/nodejs/appengine/v1beta/getApp.ts +++ b/sdk/nodejs/appengine/v1beta/getApp.ts @@ -64,7 +64,7 @@ export interface GetAppResult { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest */ - readonly generatedCustomerMetadata: {[key: string]: string}; + readonly generatedCustomerMetadata: {[key: string]: any}; readonly iap: outputs.appengine.v1beta.IdentityAwareProxyResponse; /** * Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). diff --git a/sdk/nodejs/appengine/v1beta/getVersion.ts b/sdk/nodejs/appengine/v1beta/getVersion.ts index c632451f3b..002c278f1c 100644 --- a/sdk/nodejs/appengine/v1beta/getVersion.ts +++ b/sdk/nodejs/appengine/v1beta/getVersion.ts @@ -102,7 +102,7 @@ export interface GetVersionResult { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest */ - readonly generatedCustomerMetadata: {[key: string]: string}; + readonly generatedCustomerMetadata: {[key: string]: any}; /** * An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. */ diff --git a/sdk/nodejs/appengine/v1beta/version.ts b/sdk/nodejs/appengine/v1beta/version.ts index dd0ef5068a..d085cb5c8e 100644 --- a/sdk/nodejs/appengine/v1beta/version.ts +++ b/sdk/nodejs/appengine/v1beta/version.ts @@ -110,7 +110,7 @@ export class Version extends pulumi.CustomResource { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest */ - public readonly generatedCustomerMetadata!: pulumi.Output<{[key: string]: string}>; + public readonly generatedCustomerMetadata!: pulumi.Output<{[key: string]: any}>; /** * An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. */ @@ -384,7 +384,7 @@ export interface VersionArgs { /** * Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest */ - generatedCustomerMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + generatedCustomerMetadata?: pulumi.Input<{[key: string]: any}>; /** * An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. */ diff --git a/sdk/nodejs/artifactregistry/v1/getRepository.ts b/sdk/nodejs/artifactregistry/v1/getRepository.ts index 9087c4b8cc..c6f3b12cc4 100644 --- a/sdk/nodejs/artifactregistry/v1/getRepository.ts +++ b/sdk/nodejs/artifactregistry/v1/getRepository.ts @@ -30,7 +30,7 @@ export interface GetRepositoryResult { /** * Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. */ - readonly cleanupPolicies: {[key: string]: string}; + readonly cleanupPolicies: {[key: string]: outputs.artifactregistry.v1.CleanupPolicyResponse}; /** * Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. */ diff --git a/sdk/nodejs/artifactregistry/v1/repository.ts b/sdk/nodejs/artifactregistry/v1/repository.ts index 3351e24232..1755b7bc46 100644 --- a/sdk/nodejs/artifactregistry/v1/repository.ts +++ b/sdk/nodejs/artifactregistry/v1/repository.ts @@ -40,7 +40,7 @@ export class Repository extends pulumi.CustomResource { /** * Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. */ - public readonly cleanupPolicies!: pulumi.Output<{[key: string]: string}>; + public readonly cleanupPolicies!: pulumi.Output<{[key: string]: outputs.artifactregistry.v1.CleanupPolicyResponse}>; /** * Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. */ @@ -176,7 +176,7 @@ export interface RepositoryArgs { /** * Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. */ - cleanupPolicies?: pulumi.Input<{[key: string]: pulumi.Input}>; + cleanupPolicies?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. */ diff --git a/sdk/nodejs/bigquerydatatransfer/v1/getTransferConfig.ts b/sdk/nodejs/bigquerydatatransfer/v1/getTransferConfig.ts index 419dae4e5e..cb8cccb465 100644 --- a/sdk/nodejs/bigquerydatatransfer/v1/getTransferConfig.ts +++ b/sdk/nodejs/bigquerydatatransfer/v1/getTransferConfig.ts @@ -78,7 +78,7 @@ export interface GetTransferConfigResult { /** * Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq */ - readonly params: {[key: string]: string}; + readonly params: {[key: string]: any}; /** * Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. */ diff --git a/sdk/nodejs/bigquerydatatransfer/v1/transferConfig.ts b/sdk/nodejs/bigquerydatatransfer/v1/transferConfig.ts index 726b139382..e96c2dd324 100644 --- a/sdk/nodejs/bigquerydatatransfer/v1/transferConfig.ts +++ b/sdk/nodejs/bigquerydatatransfer/v1/transferConfig.ts @@ -94,7 +94,7 @@ export class TransferConfig extends pulumi.CustomResource { /** * Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq */ - public readonly params!: pulumi.Output<{[key: string]: string}>; + public readonly params!: pulumi.Output<{[key: string]: any}>; public readonly project!: pulumi.Output; /** * Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. @@ -241,7 +241,7 @@ export interface TransferConfigArgs { /** * Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq */ - params?: pulumi.Input<{[key: string]: pulumi.Input}>; + params?: pulumi.Input<{[key: string]: any}>; project?: pulumi.Input; /** * Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. diff --git a/sdk/nodejs/bigtableadmin/v2/getTable.ts b/sdk/nodejs/bigtableadmin/v2/getTable.ts index 6a1d9262be..7d444425bd 100644 --- a/sdk/nodejs/bigtableadmin/v2/getTable.ts +++ b/sdk/nodejs/bigtableadmin/v2/getTable.ts @@ -36,11 +36,11 @@ export interface GetTableResult { /** * Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` */ - readonly clusterStates: {[key: string]: string}; + readonly clusterStates: {[key: string]: outputs.bigtableadmin.v2.ClusterStateResponse}; /** * The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` */ - readonly columnFamilies: {[key: string]: string}; + readonly columnFamilies: {[key: string]: outputs.bigtableadmin.v2.ColumnFamilyResponse}; /** * Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. */ diff --git a/sdk/nodejs/bigtableadmin/v2/instance.ts b/sdk/nodejs/bigtableadmin/v2/instance.ts index ff9a01227b..384bd1e397 100644 --- a/sdk/nodejs/bigtableadmin/v2/instance.ts +++ b/sdk/nodejs/bigtableadmin/v2/instance.ts @@ -125,7 +125,7 @@ export interface InstanceArgs { /** * The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. */ - clusters: pulumi.Input<{[key: string]: pulumi.Input}>; + clusters: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion. */ diff --git a/sdk/nodejs/bigtableadmin/v2/table.ts b/sdk/nodejs/bigtableadmin/v2/table.ts index e4cc2ca68c..06fbe47e16 100644 --- a/sdk/nodejs/bigtableadmin/v2/table.ts +++ b/sdk/nodejs/bigtableadmin/v2/table.ts @@ -44,11 +44,11 @@ export class Table extends pulumi.CustomResource { /** * Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` */ - public /*out*/ readonly clusterStates!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly clusterStates!: pulumi.Output<{[key: string]: outputs.bigtableadmin.v2.ClusterStateResponse}>; /** * The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` */ - public readonly columnFamilies!: pulumi.Output<{[key: string]: string}>; + public readonly columnFamilies!: pulumi.Output<{[key: string]: outputs.bigtableadmin.v2.ColumnFamilyResponse}>; /** * Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. */ @@ -131,7 +131,7 @@ export interface TableArgs { /** * The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` */ - columnFamilies?: pulumi.Input<{[key: string]: pulumi.Input}>; + columnFamilies?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. */ diff --git a/sdk/nodejs/cloudbuild/v1/build.ts b/sdk/nodejs/cloudbuild/v1/build.ts index 7c7ff3e0ee..9d84d66734 100644 --- a/sdk/nodejs/cloudbuild/v1/build.ts +++ b/sdk/nodejs/cloudbuild/v1/build.ts @@ -149,7 +149,7 @@ export class Build extends pulumi.CustomResource { /** * Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. */ - public /*out*/ readonly timing!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly timing!: pulumi.Output<{[key: string]: outputs.cloudbuild.v1.TimeSpanResponse}>; /** * Non-fatal problems encountered during the execution of the build. */ diff --git a/sdk/nodejs/cloudbuild/v1/getBuild.ts b/sdk/nodejs/cloudbuild/v1/getBuild.ts index b29c992ae5..6bba5bd083 100644 --- a/sdk/nodejs/cloudbuild/v1/getBuild.ts +++ b/sdk/nodejs/cloudbuild/v1/getBuild.ts @@ -138,7 +138,7 @@ export interface GetBuildResult { /** * Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. */ - readonly timing: {[key: string]: string}; + readonly timing: {[key: string]: outputs.cloudbuild.v1.TimeSpanResponse}; /** * Non-fatal problems encountered during the execution of the build. */ diff --git a/sdk/nodejs/clouddeploy/v1/getRelease.ts b/sdk/nodejs/clouddeploy/v1/getRelease.ts index e4d8ae2177..1257a849d6 100644 --- a/sdk/nodejs/clouddeploy/v1/getRelease.ts +++ b/sdk/nodejs/clouddeploy/v1/getRelease.ts @@ -100,11 +100,11 @@ export interface GetReleaseResult { /** * Map from target ID to the target artifacts created during the render operation. */ - readonly targetArtifacts: {[key: string]: string}; + readonly targetArtifacts: {[key: string]: outputs.clouddeploy.v1.TargetArtifactResponse}; /** * Map from target ID to details of the render operation for that target. */ - readonly targetRenders: {[key: string]: string}; + readonly targetRenders: {[key: string]: outputs.clouddeploy.v1.TargetRenderResponse}; /** * Snapshot of the targets taken at release creation time. */ diff --git a/sdk/nodejs/clouddeploy/v1/release.ts b/sdk/nodejs/clouddeploy/v1/release.ts index 8a664bd2bf..c01248f62c 100644 --- a/sdk/nodejs/clouddeploy/v1/release.ts +++ b/sdk/nodejs/clouddeploy/v1/release.ts @@ -121,11 +121,11 @@ export class Release extends pulumi.CustomResource { /** * Map from target ID to the target artifacts created during the render operation. */ - public /*out*/ readonly targetArtifacts!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly targetArtifacts!: pulumi.Output<{[key: string]: outputs.clouddeploy.v1.TargetArtifactResponse}>; /** * Map from target ID to details of the render operation for that target. */ - public /*out*/ readonly targetRenders!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly targetRenders!: pulumi.Output<{[key: string]: outputs.clouddeploy.v1.TargetRenderResponse}>; /** * Snapshot of the targets taken at release creation time. */ diff --git a/sdk/nodejs/compute/alpha/autoscaler.ts b/sdk/nodejs/compute/alpha/autoscaler.ts index 901020d8f6..6719eac289 100644 --- a/sdk/nodejs/compute/alpha/autoscaler.ts +++ b/sdk/nodejs/compute/alpha/autoscaler.ts @@ -73,7 +73,7 @@ export class Autoscaler extends pulumi.CustomResource { /** * Status information of existing scaling schedules. */ - public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: outputs.compute.alpha.ScalingScheduleStatusResponse}>; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/alpha/disk.ts b/sdk/nodejs/compute/alpha/disk.ts index 8a9da61bda..97cf6ace94 100644 --- a/sdk/nodejs/compute/alpha/disk.ts +++ b/sdk/nodejs/compute/alpha/disk.ts @@ -52,7 +52,7 @@ export class Disk extends pulumi.CustomResource { /** * A list of disks this disk is asynchronously replicated to. */ - public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: outputs.compute.alpha.DiskAsyncReplicationListResponse}>; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/alpha/getAutoscaler.ts b/sdk/nodejs/compute/alpha/getAutoscaler.ts index 72c09d496b..907ed09058 100644 --- a/sdk/nodejs/compute/alpha/getAutoscaler.ts +++ b/sdk/nodejs/compute/alpha/getAutoscaler.ts @@ -58,7 +58,7 @@ export interface GetAutoscalerResult { /** * Status information of existing scaling schedules. */ - readonly scalingScheduleStatus: {[key: string]: string}; + readonly scalingScheduleStatus: {[key: string]: outputs.compute.alpha.ScalingScheduleStatusResponse}; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/alpha/getDisk.ts b/sdk/nodejs/compute/alpha/getDisk.ts index bd8f6d5889..f220b3290c 100644 --- a/sdk/nodejs/compute/alpha/getDisk.ts +++ b/sdk/nodejs/compute/alpha/getDisk.ts @@ -42,7 +42,7 @@ export interface GetDiskResult { /** * A list of disks this disk is asynchronously replicated to. */ - readonly asyncSecondaryDisks: {[key: string]: string}; + readonly asyncSecondaryDisks: {[key: string]: outputs.compute.alpha.DiskAsyncReplicationListResponse}; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/alpha/getInstance.ts b/sdk/nodejs/compute/alpha/getInstance.ts index 6fa08d9606..480dd1a358 100644 --- a/sdk/nodejs/compute/alpha/getInstance.ts +++ b/sdk/nodejs/compute/alpha/getInstance.ts @@ -138,7 +138,7 @@ export interface GetInstanceResult { /** * Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. */ - readonly partnerMetadata: {[key: string]: string}; + readonly partnerMetadata: {[key: string]: outputs.compute.alpha.StructuredEntriesResponse}; /** * PostKeyRevocationActionType of the instance. */ @@ -190,7 +190,7 @@ export interface GetInstanceResult { /** * Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. */ - readonly serviceIntegrationSpecs: {[key: string]: string}; + readonly serviceIntegrationSpecs: {[key: string]: outputs.compute.alpha.ServiceIntegrationSpecResponse}; readonly shieldedInstanceConfig: outputs.compute.alpha.ShieldedInstanceConfigResponse; readonly shieldedInstanceIntegrityPolicy: outputs.compute.alpha.ShieldedInstanceIntegrityPolicyResponse; /** diff --git a/sdk/nodejs/compute/alpha/getRegionAutoscaler.ts b/sdk/nodejs/compute/alpha/getRegionAutoscaler.ts index 7384c63e7c..f97317d66c 100644 --- a/sdk/nodejs/compute/alpha/getRegionAutoscaler.ts +++ b/sdk/nodejs/compute/alpha/getRegionAutoscaler.ts @@ -58,7 +58,7 @@ export interface GetRegionAutoscalerResult { /** * Status information of existing scaling schedules. */ - readonly scalingScheduleStatus: {[key: string]: string}; + readonly scalingScheduleStatus: {[key: string]: outputs.compute.alpha.ScalingScheduleStatusResponse}; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/alpha/getRegionDisk.ts b/sdk/nodejs/compute/alpha/getRegionDisk.ts index 102663ade8..b882c37801 100644 --- a/sdk/nodejs/compute/alpha/getRegionDisk.ts +++ b/sdk/nodejs/compute/alpha/getRegionDisk.ts @@ -42,7 +42,7 @@ export interface GetRegionDiskResult { /** * A list of disks this disk is asynchronously replicated to. */ - readonly asyncSecondaryDisks: {[key: string]: string}; + readonly asyncSecondaryDisks: {[key: string]: outputs.compute.alpha.DiskAsyncReplicationListResponse}; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/alpha/instance.ts b/sdk/nodejs/compute/alpha/instance.ts index 0c314ef71f..d42c610b28 100644 --- a/sdk/nodejs/compute/alpha/instance.ts +++ b/sdk/nodejs/compute/alpha/instance.ts @@ -146,7 +146,7 @@ export class Instance extends pulumi.CustomResource { /** * Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. */ - public readonly partnerMetadata!: pulumi.Output<{[key: string]: string}>; + public readonly partnerMetadata!: pulumi.Output<{[key: string]: outputs.compute.alpha.StructuredEntriesResponse}>; /** * PostKeyRevocationActionType of the instance. */ @@ -203,7 +203,7 @@ export class Instance extends pulumi.CustomResource { /** * Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. */ - public readonly serviceIntegrationSpecs!: pulumi.Output<{[key: string]: string}>; + public readonly serviceIntegrationSpecs!: pulumi.Output<{[key: string]: outputs.compute.alpha.ServiceIntegrationSpecResponse}>; public readonly shieldedInstanceConfig!: pulumi.Output; public readonly shieldedInstanceIntegrityPolicy!: pulumi.Output; /** @@ -463,7 +463,7 @@ export interface InstanceArgs { /** * Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. */ - partnerMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + partnerMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * PostKeyRevocationActionType of the instance. */ @@ -504,7 +504,7 @@ export interface InstanceArgs { /** * Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. */ - serviceIntegrationSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; + serviceIntegrationSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; shieldedInstanceConfig?: pulumi.Input; shieldedInstanceIntegrityPolicy?: pulumi.Input; /** diff --git a/sdk/nodejs/compute/alpha/regionAutoscaler.ts b/sdk/nodejs/compute/alpha/regionAutoscaler.ts index 577c5ce883..88e01bca3e 100644 --- a/sdk/nodejs/compute/alpha/regionAutoscaler.ts +++ b/sdk/nodejs/compute/alpha/regionAutoscaler.ts @@ -70,7 +70,7 @@ export class RegionAutoscaler extends pulumi.CustomResource { /** * Status information of existing scaling schedules. */ - public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: outputs.compute.alpha.ScalingScheduleStatusResponse}>; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/alpha/regionDisk.ts b/sdk/nodejs/compute/alpha/regionDisk.ts index bee051df35..2530668fb3 100644 --- a/sdk/nodejs/compute/alpha/regionDisk.ts +++ b/sdk/nodejs/compute/alpha/regionDisk.ts @@ -52,7 +52,7 @@ export class RegionDisk extends pulumi.CustomResource { /** * A list of disks this disk is asynchronously replicated to. */ - public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: outputs.compute.alpha.DiskAsyncReplicationListResponse}>; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/beta/autoscaler.ts b/sdk/nodejs/compute/beta/autoscaler.ts index 8d8ef6b84b..b4fa3b548f 100644 --- a/sdk/nodejs/compute/beta/autoscaler.ts +++ b/sdk/nodejs/compute/beta/autoscaler.ts @@ -73,7 +73,7 @@ export class Autoscaler extends pulumi.CustomResource { /** * Status information of existing scaling schedules. */ - public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: outputs.compute.beta.ScalingScheduleStatusResponse}>; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/beta/disk.ts b/sdk/nodejs/compute/beta/disk.ts index a85b3a14c6..0d9daaa9c9 100644 --- a/sdk/nodejs/compute/beta/disk.ts +++ b/sdk/nodejs/compute/beta/disk.ts @@ -48,7 +48,7 @@ export class Disk extends pulumi.CustomResource { /** * A list of disks this disk is asynchronously replicated to. */ - public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: outputs.compute.beta.DiskAsyncReplicationListResponse}>; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/beta/getAutoscaler.ts b/sdk/nodejs/compute/beta/getAutoscaler.ts index 878494d4ae..05ec431b68 100644 --- a/sdk/nodejs/compute/beta/getAutoscaler.ts +++ b/sdk/nodejs/compute/beta/getAutoscaler.ts @@ -58,7 +58,7 @@ export interface GetAutoscalerResult { /** * Status information of existing scaling schedules. */ - readonly scalingScheduleStatus: {[key: string]: string}; + readonly scalingScheduleStatus: {[key: string]: outputs.compute.beta.ScalingScheduleStatusResponse}; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/beta/getDisk.ts b/sdk/nodejs/compute/beta/getDisk.ts index 4638b96676..328ec2abe6 100644 --- a/sdk/nodejs/compute/beta/getDisk.ts +++ b/sdk/nodejs/compute/beta/getDisk.ts @@ -38,7 +38,7 @@ export interface GetDiskResult { /** * A list of disks this disk is asynchronously replicated to. */ - readonly asyncSecondaryDisks: {[key: string]: string}; + readonly asyncSecondaryDisks: {[key: string]: outputs.compute.beta.DiskAsyncReplicationListResponse}; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/beta/getRegionAutoscaler.ts b/sdk/nodejs/compute/beta/getRegionAutoscaler.ts index f5a1d45a0a..8f2ca4c066 100644 --- a/sdk/nodejs/compute/beta/getRegionAutoscaler.ts +++ b/sdk/nodejs/compute/beta/getRegionAutoscaler.ts @@ -58,7 +58,7 @@ export interface GetRegionAutoscalerResult { /** * Status information of existing scaling schedules. */ - readonly scalingScheduleStatus: {[key: string]: string}; + readonly scalingScheduleStatus: {[key: string]: outputs.compute.beta.ScalingScheduleStatusResponse}; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/beta/getRegionDisk.ts b/sdk/nodejs/compute/beta/getRegionDisk.ts index 6f91965e14..09b4351604 100644 --- a/sdk/nodejs/compute/beta/getRegionDisk.ts +++ b/sdk/nodejs/compute/beta/getRegionDisk.ts @@ -38,7 +38,7 @@ export interface GetRegionDiskResult { /** * A list of disks this disk is asynchronously replicated to. */ - readonly asyncSecondaryDisks: {[key: string]: string}; + readonly asyncSecondaryDisks: {[key: string]: outputs.compute.beta.DiskAsyncReplicationListResponse}; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/beta/regionAutoscaler.ts b/sdk/nodejs/compute/beta/regionAutoscaler.ts index b61de43b93..b063af0e10 100644 --- a/sdk/nodejs/compute/beta/regionAutoscaler.ts +++ b/sdk/nodejs/compute/beta/regionAutoscaler.ts @@ -70,7 +70,7 @@ export class RegionAutoscaler extends pulumi.CustomResource { /** * Status information of existing scaling schedules. */ - public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: outputs.compute.beta.ScalingScheduleStatusResponse}>; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/beta/regionDisk.ts b/sdk/nodejs/compute/beta/regionDisk.ts index b821865132..faf7a9115d 100644 --- a/sdk/nodejs/compute/beta/regionDisk.ts +++ b/sdk/nodejs/compute/beta/regionDisk.ts @@ -48,7 +48,7 @@ export class RegionDisk extends pulumi.CustomResource { /** * A list of disks this disk is asynchronously replicated to. */ - public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: outputs.compute.beta.DiskAsyncReplicationListResponse}>; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/v1/autoscaler.ts b/sdk/nodejs/compute/v1/autoscaler.ts index 5b0466194f..2c26c45be7 100644 --- a/sdk/nodejs/compute/v1/autoscaler.ts +++ b/sdk/nodejs/compute/v1/autoscaler.ts @@ -73,7 +73,7 @@ export class Autoscaler extends pulumi.CustomResource { /** * Status information of existing scaling schedules. */ - public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: outputs.compute.v1.ScalingScheduleStatusResponse}>; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/v1/disk.ts b/sdk/nodejs/compute/v1/disk.ts index f567c7d128..476711450e 100644 --- a/sdk/nodejs/compute/v1/disk.ts +++ b/sdk/nodejs/compute/v1/disk.ts @@ -48,7 +48,7 @@ export class Disk extends pulumi.CustomResource { /** * A list of disks this disk is asynchronously replicated to. */ - public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: outputs.compute.v1.DiskAsyncReplicationListResponse}>; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/v1/getAutoscaler.ts b/sdk/nodejs/compute/v1/getAutoscaler.ts index 668b94f837..9a0fda75e4 100644 --- a/sdk/nodejs/compute/v1/getAutoscaler.ts +++ b/sdk/nodejs/compute/v1/getAutoscaler.ts @@ -58,7 +58,7 @@ export interface GetAutoscalerResult { /** * Status information of existing scaling schedules. */ - readonly scalingScheduleStatus: {[key: string]: string}; + readonly scalingScheduleStatus: {[key: string]: outputs.compute.v1.ScalingScheduleStatusResponse}; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/v1/getDisk.ts b/sdk/nodejs/compute/v1/getDisk.ts index 4bd2d109f1..a0b7b8ae95 100644 --- a/sdk/nodejs/compute/v1/getDisk.ts +++ b/sdk/nodejs/compute/v1/getDisk.ts @@ -38,7 +38,7 @@ export interface GetDiskResult { /** * A list of disks this disk is asynchronously replicated to. */ - readonly asyncSecondaryDisks: {[key: string]: string}; + readonly asyncSecondaryDisks: {[key: string]: outputs.compute.v1.DiskAsyncReplicationListResponse}; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/v1/getRegionAutoscaler.ts b/sdk/nodejs/compute/v1/getRegionAutoscaler.ts index 0d11c85f3c..e84cbefe0d 100644 --- a/sdk/nodejs/compute/v1/getRegionAutoscaler.ts +++ b/sdk/nodejs/compute/v1/getRegionAutoscaler.ts @@ -58,7 +58,7 @@ export interface GetRegionAutoscalerResult { /** * Status information of existing scaling schedules. */ - readonly scalingScheduleStatus: {[key: string]: string}; + readonly scalingScheduleStatus: {[key: string]: outputs.compute.v1.ScalingScheduleStatusResponse}; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/v1/getRegionDisk.ts b/sdk/nodejs/compute/v1/getRegionDisk.ts index 3a5442f155..a73dd85d50 100644 --- a/sdk/nodejs/compute/v1/getRegionDisk.ts +++ b/sdk/nodejs/compute/v1/getRegionDisk.ts @@ -38,7 +38,7 @@ export interface GetRegionDiskResult { /** * A list of disks this disk is asynchronously replicated to. */ - readonly asyncSecondaryDisks: {[key: string]: string}; + readonly asyncSecondaryDisks: {[key: string]: outputs.compute.v1.DiskAsyncReplicationListResponse}; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/compute/v1/regionAutoscaler.ts b/sdk/nodejs/compute/v1/regionAutoscaler.ts index c4f9afca3e..7b671071bb 100644 --- a/sdk/nodejs/compute/v1/regionAutoscaler.ts +++ b/sdk/nodejs/compute/v1/regionAutoscaler.ts @@ -70,7 +70,7 @@ export class RegionAutoscaler extends pulumi.CustomResource { /** * Status information of existing scaling schedules. */ - public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly scalingScheduleStatus!: pulumi.Output<{[key: string]: outputs.compute.v1.ScalingScheduleStatusResponse}>; /** * Server-defined URL for the resource. */ diff --git a/sdk/nodejs/compute/v1/regionDisk.ts b/sdk/nodejs/compute/v1/regionDisk.ts index 3647979e35..1d20092ac7 100644 --- a/sdk/nodejs/compute/v1/regionDisk.ts +++ b/sdk/nodejs/compute/v1/regionDisk.ts @@ -48,7 +48,7 @@ export class RegionDisk extends pulumi.CustomResource { /** * A list of disks this disk is asynchronously replicated to. */ - public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly asyncSecondaryDisks!: pulumi.Output<{[key: string]: outputs.compute.v1.DiskAsyncReplicationListResponse}>; /** * Creation timestamp in RFC3339 text format. */ diff --git a/sdk/nodejs/connectors/v2/entity.ts b/sdk/nodejs/connectors/v2/entity.ts index 06fbd8e94d..4c0f858076 100644 --- a/sdk/nodejs/connectors/v2/entity.ts +++ b/sdk/nodejs/connectors/v2/entity.ts @@ -40,7 +40,7 @@ export class Entity extends pulumi.CustomResource { /** * Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. */ - public readonly fields!: pulumi.Output<{[key: string]: string}>; + public readonly fields!: pulumi.Output<{[key: string]: any}>; public readonly location!: pulumi.Output; /** * Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id} @@ -95,7 +95,7 @@ export interface EntityArgs { /** * Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. */ - fields?: pulumi.Input<{[key: string]: pulumi.Input}>; + fields?: pulumi.Input<{[key: string]: any}>; location?: pulumi.Input; project?: pulumi.Input; } diff --git a/sdk/nodejs/connectors/v2/getEntity.ts b/sdk/nodejs/connectors/v2/getEntity.ts index d81061426e..a38dc671ed 100644 --- a/sdk/nodejs/connectors/v2/getEntity.ts +++ b/sdk/nodejs/connectors/v2/getEntity.ts @@ -31,7 +31,7 @@ export interface GetEntityResult { /** * Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. */ - readonly fields: {[key: string]: string}; + readonly fields: {[key: string]: any}; /** * Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id} */ diff --git a/sdk/nodejs/contactcenterinsights/v1/conversation.ts b/sdk/nodejs/contactcenterinsights/v1/conversation.ts index 5983c073f0..4565e44c24 100644 --- a/sdk/nodejs/contactcenterinsights/v1/conversation.ts +++ b/sdk/nodejs/contactcenterinsights/v1/conversation.ts @@ -60,7 +60,7 @@ export class Conversation extends pulumi.CustomResource { /** * All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} */ - public /*out*/ readonly dialogflowIntents!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly dialogflowIntents!: pulumi.Output<{[key: string]: outputs.contactcenterinsights.v1.GoogleCloudContactcenterinsightsV1DialogflowIntentResponse}>; /** * The duration of the conversation. */ diff --git a/sdk/nodejs/contactcenterinsights/v1/getConversation.ts b/sdk/nodejs/contactcenterinsights/v1/getConversation.ts index 4bb5008099..2fc1c24d20 100644 --- a/sdk/nodejs/contactcenterinsights/v1/getConversation.ts +++ b/sdk/nodejs/contactcenterinsights/v1/getConversation.ts @@ -48,7 +48,7 @@ export interface GetConversationResult { /** * All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} */ - readonly dialogflowIntents: {[key: string]: string}; + readonly dialogflowIntents: {[key: string]: outputs.contactcenterinsights.v1.GoogleCloudContactcenterinsightsV1DialogflowIntentResponse}; /** * The duration of the conversation. */ diff --git a/sdk/nodejs/container/v1beta1/getServerConfig.ts b/sdk/nodejs/container/v1beta1/getServerConfig.ts index e32ee5d905..c0e6065a65 100644 --- a/sdk/nodejs/container/v1beta1/getServerConfig.ts +++ b/sdk/nodejs/container/v1beta1/getServerConfig.ts @@ -56,7 +56,7 @@ export interface GetServerConfigResult { /** * Maps of Kubernetes version and supported Windows server versions. */ - readonly windowsVersionMaps: {[key: string]: string}; + readonly windowsVersionMaps: {[key: string]: outputs.container.v1beta1.WindowsVersionsResponse}; } /** * Returns configuration info about the Google Kubernetes Engine service. diff --git a/sdk/nodejs/datacatalog/v1/getTagTemplate.ts b/sdk/nodejs/datacatalog/v1/getTagTemplate.ts index 62973c176d..f7cc7499cf 100644 --- a/sdk/nodejs/datacatalog/v1/getTagTemplate.ts +++ b/sdk/nodejs/datacatalog/v1/getTagTemplate.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -31,7 +34,7 @@ export interface GetTagTemplateResult { /** * Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. */ - readonly fields: {[key: string]: string}; + readonly fields: {[key: string]: outputs.datacatalog.v1.GoogleCloudDatacatalogV1TagTemplateFieldResponse}; /** * Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. */ diff --git a/sdk/nodejs/datacatalog/v1/tagTemplate.ts b/sdk/nodejs/datacatalog/v1/tagTemplate.ts index 366dfc646b..d948788d48 100644 --- a/sdk/nodejs/datacatalog/v1/tagTemplate.ts +++ b/sdk/nodejs/datacatalog/v1/tagTemplate.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -41,7 +44,7 @@ export class TagTemplate extends pulumi.CustomResource { /** * Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. */ - public readonly fields!: pulumi.Output<{[key: string]: string}>; + public readonly fields!: pulumi.Output<{[key: string]: outputs.datacatalog.v1.GoogleCloudDatacatalogV1TagTemplateFieldResponse}>; /** * Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. */ @@ -108,7 +111,7 @@ export interface TagTemplateArgs { /** * Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. */ - fields: pulumi.Input<{[key: string]: pulumi.Input}>; + fields: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. */ diff --git a/sdk/nodejs/datacatalog/v1beta1/getTagTemplate.ts b/sdk/nodejs/datacatalog/v1beta1/getTagTemplate.ts index 58c6c65480..8e9e87dc2d 100644 --- a/sdk/nodejs/datacatalog/v1beta1/getTagTemplate.ts +++ b/sdk/nodejs/datacatalog/v1beta1/getTagTemplate.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -31,7 +34,7 @@ export interface GetTagTemplateResult { /** * Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. */ - readonly fields: {[key: string]: string}; + readonly fields: {[key: string]: outputs.datacatalog.v1beta1.GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse}; /** * The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. */ diff --git a/sdk/nodejs/datacatalog/v1beta1/tagTemplate.ts b/sdk/nodejs/datacatalog/v1beta1/tagTemplate.ts index 5b3158c6ce..8789dce13c 100644 --- a/sdk/nodejs/datacatalog/v1beta1/tagTemplate.ts +++ b/sdk/nodejs/datacatalog/v1beta1/tagTemplate.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -41,7 +44,7 @@ export class TagTemplate extends pulumi.CustomResource { /** * Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. */ - public readonly fields!: pulumi.Output<{[key: string]: string}>; + public readonly fields!: pulumi.Output<{[key: string]: outputs.datacatalog.v1beta1.GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse}>; public readonly location!: pulumi.Output; /** * The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. @@ -102,7 +105,7 @@ export interface TagTemplateArgs { /** * Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. */ - fields: pulumi.Input<{[key: string]: pulumi.Input}>; + fields: pulumi.Input<{[key: string]: pulumi.Input}>; location?: pulumi.Input; /** * The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. diff --git a/sdk/nodejs/datalineage/v1/getProcess.ts b/sdk/nodejs/datalineage/v1/getProcess.ts index 3af2967dc7..7ab150bed3 100644 --- a/sdk/nodejs/datalineage/v1/getProcess.ts +++ b/sdk/nodejs/datalineage/v1/getProcess.ts @@ -30,7 +30,7 @@ export interface GetProcessResult { /** * Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. */ - readonly attributes: {[key: string]: string}; + readonly attributes: {[key: string]: any}; /** * Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` */ diff --git a/sdk/nodejs/datalineage/v1/getRun.ts b/sdk/nodejs/datalineage/v1/getRun.ts index 985c87b2ee..58a4ae36a2 100644 --- a/sdk/nodejs/datalineage/v1/getRun.ts +++ b/sdk/nodejs/datalineage/v1/getRun.ts @@ -29,7 +29,7 @@ export interface GetRunResult { /** * Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. */ - readonly attributes: {[key: string]: string}; + readonly attributes: {[key: string]: any}; /** * Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` */ diff --git a/sdk/nodejs/datalineage/v1/process.ts b/sdk/nodejs/datalineage/v1/process.ts index e0a9d31cb6..2189a85ebe 100644 --- a/sdk/nodejs/datalineage/v1/process.ts +++ b/sdk/nodejs/datalineage/v1/process.ts @@ -40,7 +40,7 @@ export class Process extends pulumi.CustomResource { /** * Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. */ - public readonly attributes!: pulumi.Output<{[key: string]: string}>; + public readonly attributes!: pulumi.Output<{[key: string]: any}>; /** * Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` */ @@ -101,7 +101,7 @@ export interface ProcessArgs { /** * Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. */ - attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + attributes?: pulumi.Input<{[key: string]: any}>; /** * Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` */ diff --git a/sdk/nodejs/datalineage/v1/run.ts b/sdk/nodejs/datalineage/v1/run.ts index 704cb7e3d2..dd9cd39d2b 100644 --- a/sdk/nodejs/datalineage/v1/run.ts +++ b/sdk/nodejs/datalineage/v1/run.ts @@ -40,7 +40,7 @@ export class Run extends pulumi.CustomResource { /** * Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. */ - public readonly attributes!: pulumi.Output<{[key: string]: string}>; + public readonly attributes!: pulumi.Output<{[key: string]: any}>; /** * Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` */ @@ -125,7 +125,7 @@ export interface RunArgs { /** * Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. */ - attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + attributes?: pulumi.Input<{[key: string]: any}>; /** * Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` */ diff --git a/sdk/nodejs/dialogflow/v2/context.ts b/sdk/nodejs/dialogflow/v2/context.ts index 9930ac3c6c..30fe5574d3 100644 --- a/sdk/nodejs/dialogflow/v2/context.ts +++ b/sdk/nodejs/dialogflow/v2/context.ts @@ -48,7 +48,7 @@ export class Context extends pulumi.CustomResource { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - public readonly parameters!: pulumi.Output<{[key: string]: string}>; + public readonly parameters!: pulumi.Output<{[key: string]: any}>; public readonly project!: pulumi.Output; public readonly sessionId!: pulumi.Output; public readonly userId!: pulumi.Output; @@ -118,7 +118,7 @@ export interface ContextArgs { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameters?: pulumi.Input<{[key: string]: any}>; project?: pulumi.Input; sessionId: pulumi.Input; userId: pulumi.Input; diff --git a/sdk/nodejs/dialogflow/v2/getContext.ts b/sdk/nodejs/dialogflow/v2/getContext.ts index ef0788d41f..c2f65cea89 100644 --- a/sdk/nodejs/dialogflow/v2/getContext.ts +++ b/sdk/nodejs/dialogflow/v2/getContext.ts @@ -41,7 +41,7 @@ export interface GetContextResult { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - readonly parameters: {[key: string]: string}; + readonly parameters: {[key: string]: any}; } /** * Retrieves the specified context. diff --git a/sdk/nodejs/dialogflow/v2beta1/context.ts b/sdk/nodejs/dialogflow/v2beta1/context.ts index a2d64006b0..154b3679db 100644 --- a/sdk/nodejs/dialogflow/v2beta1/context.ts +++ b/sdk/nodejs/dialogflow/v2beta1/context.ts @@ -48,7 +48,7 @@ export class Context extends pulumi.CustomResource { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - public readonly parameters!: pulumi.Output<{[key: string]: string}>; + public readonly parameters!: pulumi.Output<{[key: string]: any}>; public readonly project!: pulumi.Output; public readonly sessionId!: pulumi.Output; public readonly userId!: pulumi.Output; @@ -118,7 +118,7 @@ export interface ContextArgs { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameters?: pulumi.Input<{[key: string]: any}>; project?: pulumi.Input; sessionId: pulumi.Input; userId: pulumi.Input; diff --git a/sdk/nodejs/dialogflow/v2beta1/getContext.ts b/sdk/nodejs/dialogflow/v2beta1/getContext.ts index 2b6346c58c..9578487587 100644 --- a/sdk/nodejs/dialogflow/v2beta1/getContext.ts +++ b/sdk/nodejs/dialogflow/v2beta1/getContext.ts @@ -41,7 +41,7 @@ export interface GetContextResult { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - readonly parameters: {[key: string]: string}; + readonly parameters: {[key: string]: any}; } /** * Retrieves the specified context. diff --git a/sdk/nodejs/discoveryengine/v1alpha/document.ts b/sdk/nodejs/discoveryengine/v1alpha/document.ts index ac5b6ac075..2b660f2016 100644 --- a/sdk/nodejs/discoveryengine/v1alpha/document.ts +++ b/sdk/nodejs/discoveryengine/v1alpha/document.ts @@ -47,7 +47,7 @@ export class Document extends pulumi.CustomResource { /** * This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. */ - public /*out*/ readonly derivedStructData!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly derivedStructData!: pulumi.Output<{[key: string]: any}>; /** * Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. */ @@ -73,7 +73,7 @@ export class Document extends pulumi.CustomResource { /** * The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ - public readonly structData!: pulumi.Output<{[key: string]: string}>; + public readonly structData!: pulumi.Output<{[key: string]: any}>; /** * Create a Document resource with the given unique name, arguments, and options. @@ -174,5 +174,5 @@ export interface DocumentArgs { /** * The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ - structData?: pulumi.Input<{[key: string]: pulumi.Input}>; + structData?: pulumi.Input<{[key: string]: any}>; } diff --git a/sdk/nodejs/discoveryengine/v1alpha/getDocument.ts b/sdk/nodejs/discoveryengine/v1alpha/getDocument.ts index e33e73f3cd..6d4ae7c696 100644 --- a/sdk/nodejs/discoveryengine/v1alpha/getDocument.ts +++ b/sdk/nodejs/discoveryengine/v1alpha/getDocument.ts @@ -40,7 +40,7 @@ export interface GetDocumentResult { /** * This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. */ - readonly derivedStructData: {[key: string]: string}; + readonly derivedStructData: {[key: string]: any}; /** * The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ @@ -60,7 +60,7 @@ export interface GetDocumentResult { /** * The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ - readonly structData: {[key: string]: string}; + readonly structData: {[key: string]: any}; } /** * Gets a Document. diff --git a/sdk/nodejs/discoveryengine/v1alpha/getSchema.ts b/sdk/nodejs/discoveryengine/v1alpha/getSchema.ts index 4da04c5f01..c016487369 100644 --- a/sdk/nodejs/discoveryengine/v1alpha/getSchema.ts +++ b/sdk/nodejs/discoveryengine/v1alpha/getSchema.ts @@ -46,7 +46,7 @@ export interface GetSchemaResult { /** * The structured representation of the schema. */ - readonly structSchema: {[key: string]: string}; + readonly structSchema: {[key: string]: any}; } /** * Gets a Schema. diff --git a/sdk/nodejs/discoveryengine/v1alpha/schema.ts b/sdk/nodejs/discoveryengine/v1alpha/schema.ts index ddf45d02ab..0e93b952a3 100644 --- a/sdk/nodejs/discoveryengine/v1alpha/schema.ts +++ b/sdk/nodejs/discoveryengine/v1alpha/schema.ts @@ -60,7 +60,7 @@ export class Schema extends pulumi.CustomResource { /** * The structured representation of the schema. */ - public readonly structSchema!: pulumi.Output<{[key: string]: string}>; + public readonly structSchema!: pulumi.Output<{[key: string]: any}>; /** * Create a Schema resource with the given unique name, arguments, and options. @@ -132,5 +132,5 @@ export interface SchemaArgs { /** * The structured representation of the schema. */ - structSchema?: pulumi.Input<{[key: string]: pulumi.Input}>; + structSchema?: pulumi.Input<{[key: string]: any}>; } diff --git a/sdk/nodejs/discoveryengine/v1beta/document.ts b/sdk/nodejs/discoveryengine/v1beta/document.ts index 23dc7794b7..13f47e3856 100644 --- a/sdk/nodejs/discoveryengine/v1beta/document.ts +++ b/sdk/nodejs/discoveryengine/v1beta/document.ts @@ -47,7 +47,7 @@ export class Document extends pulumi.CustomResource { /** * This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. */ - public /*out*/ readonly derivedStructData!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly derivedStructData!: pulumi.Output<{[key: string]: any}>; /** * Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. */ @@ -73,7 +73,7 @@ export class Document extends pulumi.CustomResource { /** * The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ - public readonly structData!: pulumi.Output<{[key: string]: string}>; + public readonly structData!: pulumi.Output<{[key: string]: any}>; /** * Create a Document resource with the given unique name, arguments, and options. @@ -174,5 +174,5 @@ export interface DocumentArgs { /** * The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ - structData?: pulumi.Input<{[key: string]: pulumi.Input}>; + structData?: pulumi.Input<{[key: string]: any}>; } diff --git a/sdk/nodejs/discoveryengine/v1beta/getDocument.ts b/sdk/nodejs/discoveryengine/v1beta/getDocument.ts index 54f6d20f8e..07d4117992 100644 --- a/sdk/nodejs/discoveryengine/v1beta/getDocument.ts +++ b/sdk/nodejs/discoveryengine/v1beta/getDocument.ts @@ -40,7 +40,7 @@ export interface GetDocumentResult { /** * This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. */ - readonly derivedStructData: {[key: string]: string}; + readonly derivedStructData: {[key: string]: any}; /** * The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ @@ -60,7 +60,7 @@ export interface GetDocumentResult { /** * The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. */ - readonly structData: {[key: string]: string}; + readonly structData: {[key: string]: any}; } /** * Gets a Document. diff --git a/sdk/nodejs/discoveryengine/v1beta/getSchema.ts b/sdk/nodejs/discoveryengine/v1beta/getSchema.ts index 1e74e4be6a..d60de635ce 100644 --- a/sdk/nodejs/discoveryengine/v1beta/getSchema.ts +++ b/sdk/nodejs/discoveryengine/v1beta/getSchema.ts @@ -39,7 +39,7 @@ export interface GetSchemaResult { /** * The structured representation of the schema. */ - readonly structSchema: {[key: string]: string}; + readonly structSchema: {[key: string]: any}; } /** * Gets a Schema. diff --git a/sdk/nodejs/discoveryengine/v1beta/schema.ts b/sdk/nodejs/discoveryengine/v1beta/schema.ts index 676be76778..e914aaf090 100644 --- a/sdk/nodejs/discoveryengine/v1beta/schema.ts +++ b/sdk/nodejs/discoveryengine/v1beta/schema.ts @@ -53,7 +53,7 @@ export class Schema extends pulumi.CustomResource { /** * The structured representation of the schema. */ - public readonly structSchema!: pulumi.Output<{[key: string]: string}>; + public readonly structSchema!: pulumi.Output<{[key: string]: any}>; /** * Create a Schema resource with the given unique name, arguments, and options. @@ -123,5 +123,5 @@ export interface SchemaArgs { /** * The structured representation of the schema. */ - structSchema?: pulumi.Input<{[key: string]: pulumi.Input}>; + structSchema?: pulumi.Input<{[key: string]: any}>; } diff --git a/sdk/nodejs/eventarc/v1/getTrigger.ts b/sdk/nodejs/eventarc/v1/getTrigger.ts index 4765d9e44f..d70d9043a2 100644 --- a/sdk/nodejs/eventarc/v1/getTrigger.ts +++ b/sdk/nodejs/eventarc/v1/getTrigger.ts @@ -34,7 +34,7 @@ export interface GetTriggerResult { /** * The reason(s) why a trigger is in FAILED state. */ - readonly conditions: {[key: string]: string}; + readonly conditions: {[key: string]: outputs.eventarc.v1.StateConditionResponse}; /** * The creation time. */ diff --git a/sdk/nodejs/eventarc/v1/trigger.ts b/sdk/nodejs/eventarc/v1/trigger.ts index 4b8ff8b1de..a48e340e8d 100644 --- a/sdk/nodejs/eventarc/v1/trigger.ts +++ b/sdk/nodejs/eventarc/v1/trigger.ts @@ -44,7 +44,7 @@ export class Trigger extends pulumi.CustomResource { /** * The reason(s) why a trigger is in FAILED state. */ - public /*out*/ readonly conditions!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly conditions!: pulumi.Output<{[key: string]: outputs.eventarc.v1.StateConditionResponse}>; /** * The creation time. */ diff --git a/sdk/nodejs/gkehub/v1/feature.ts b/sdk/nodejs/gkehub/v1/feature.ts index 1983c38c44..99fd26ce87 100644 --- a/sdk/nodejs/gkehub/v1/feature.ts +++ b/sdk/nodejs/gkehub/v1/feature.ts @@ -62,11 +62,11 @@ export class Feature extends pulumi.CustomResource { /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - public readonly membershipSpecs!: pulumi.Output<{[key: string]: string}>; + public readonly membershipSpecs!: pulumi.Output<{[key: string]: outputs.gkehub.v1.MembershipFeatureSpecResponse}>; /** * Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. */ - public /*out*/ readonly membershipStates!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly membershipStates!: pulumi.Output<{[key: string]: outputs.gkehub.v1.MembershipFeatureStateResponse}>; /** * The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. */ @@ -83,11 +83,11 @@ export class Feature extends pulumi.CustomResource { /** * Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - public readonly scopeSpecs!: pulumi.Output<{[key: string]: string}>; + public readonly scopeSpecs!: pulumi.Output<{[key: string]: outputs.gkehub.v1.ScopeFeatureSpecResponse}>; /** * Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. */ - public /*out*/ readonly scopeStates!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly scopeStates!: pulumi.Output<{[key: string]: outputs.gkehub.v1.ScopeFeatureStateResponse}>; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ @@ -175,7 +175,7 @@ export interface FeatureArgs { /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - membershipSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; + membershipSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; project?: pulumi.Input; /** * A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). @@ -184,7 +184,7 @@ export interface FeatureArgs { /** * Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - scopeSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; + scopeSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ diff --git a/sdk/nodejs/gkehub/v1/getFeature.ts b/sdk/nodejs/gkehub/v1/getFeature.ts index c507c06b6f..aaf7468609 100644 --- a/sdk/nodejs/gkehub/v1/getFeature.ts +++ b/sdk/nodejs/gkehub/v1/getFeature.ts @@ -46,11 +46,11 @@ export interface GetFeatureResult { /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - readonly membershipSpecs: {[key: string]: string}; + readonly membershipSpecs: {[key: string]: outputs.gkehub.v1.MembershipFeatureSpecResponse}; /** * Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. */ - readonly membershipStates: {[key: string]: string}; + readonly membershipStates: {[key: string]: outputs.gkehub.v1.MembershipFeatureStateResponse}; /** * The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. */ @@ -62,11 +62,11 @@ export interface GetFeatureResult { /** * Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - readonly scopeSpecs: {[key: string]: string}; + readonly scopeSpecs: {[key: string]: outputs.gkehub.v1.ScopeFeatureSpecResponse}; /** * Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. */ - readonly scopeStates: {[key: string]: string}; + readonly scopeStates: {[key: string]: outputs.gkehub.v1.ScopeFeatureStateResponse}; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ diff --git a/sdk/nodejs/gkehub/v1alpha/feature.ts b/sdk/nodejs/gkehub/v1alpha/feature.ts index e21ef8ab3f..cc9f104bb6 100644 --- a/sdk/nodejs/gkehub/v1alpha/feature.ts +++ b/sdk/nodejs/gkehub/v1alpha/feature.ts @@ -62,11 +62,11 @@ export class Feature extends pulumi.CustomResource { /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - public readonly membershipSpecs!: pulumi.Output<{[key: string]: string}>; + public readonly membershipSpecs!: pulumi.Output<{[key: string]: outputs.gkehub.v1alpha.MembershipFeatureSpecResponse}>; /** * Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. */ - public /*out*/ readonly membershipStates!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly membershipStates!: pulumi.Output<{[key: string]: outputs.gkehub.v1alpha.MembershipFeatureStateResponse}>; /** * The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. */ @@ -83,11 +83,11 @@ export class Feature extends pulumi.CustomResource { /** * Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - public readonly scopeSpecs!: pulumi.Output<{[key: string]: string}>; + public readonly scopeSpecs!: pulumi.Output<{[key: string]: outputs.gkehub.v1alpha.ScopeFeatureSpecResponse}>; /** * Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. */ - public /*out*/ readonly scopeStates!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly scopeStates!: pulumi.Output<{[key: string]: outputs.gkehub.v1alpha.ScopeFeatureStateResponse}>; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ @@ -175,7 +175,7 @@ export interface FeatureArgs { /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - membershipSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; + membershipSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; project?: pulumi.Input; /** * A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). @@ -184,7 +184,7 @@ export interface FeatureArgs { /** * Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - scopeSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; + scopeSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ diff --git a/sdk/nodejs/gkehub/v1alpha/getFeature.ts b/sdk/nodejs/gkehub/v1alpha/getFeature.ts index 172c0ff1fa..23c4a8a18e 100644 --- a/sdk/nodejs/gkehub/v1alpha/getFeature.ts +++ b/sdk/nodejs/gkehub/v1alpha/getFeature.ts @@ -46,11 +46,11 @@ export interface GetFeatureResult { /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - readonly membershipSpecs: {[key: string]: string}; + readonly membershipSpecs: {[key: string]: outputs.gkehub.v1alpha.MembershipFeatureSpecResponse}; /** * Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. */ - readonly membershipStates: {[key: string]: string}; + readonly membershipStates: {[key: string]: outputs.gkehub.v1alpha.MembershipFeatureStateResponse}; /** * The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. */ @@ -62,11 +62,11 @@ export interface GetFeatureResult { /** * Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - readonly scopeSpecs: {[key: string]: string}; + readonly scopeSpecs: {[key: string]: outputs.gkehub.v1alpha.ScopeFeatureSpecResponse}; /** * Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. */ - readonly scopeStates: {[key: string]: string}; + readonly scopeStates: {[key: string]: outputs.gkehub.v1alpha.ScopeFeatureStateResponse}; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ diff --git a/sdk/nodejs/gkehub/v1beta/feature.ts b/sdk/nodejs/gkehub/v1beta/feature.ts index 639a4dc869..ea218e96d7 100644 --- a/sdk/nodejs/gkehub/v1beta/feature.ts +++ b/sdk/nodejs/gkehub/v1beta/feature.ts @@ -62,11 +62,11 @@ export class Feature extends pulumi.CustomResource { /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - public readonly membershipSpecs!: pulumi.Output<{[key: string]: string}>; + public readonly membershipSpecs!: pulumi.Output<{[key: string]: outputs.gkehub.v1beta.MembershipFeatureSpecResponse}>; /** * Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. */ - public /*out*/ readonly membershipStates!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly membershipStates!: pulumi.Output<{[key: string]: outputs.gkehub.v1beta.MembershipFeatureStateResponse}>; /** * The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. */ @@ -83,11 +83,11 @@ export class Feature extends pulumi.CustomResource { /** * Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - public readonly scopeSpecs!: pulumi.Output<{[key: string]: string}>; + public readonly scopeSpecs!: pulumi.Output<{[key: string]: outputs.gkehub.v1beta.ScopeFeatureSpecResponse}>; /** * Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. */ - public /*out*/ readonly scopeStates!: pulumi.Output<{[key: string]: string}>; + public /*out*/ readonly scopeStates!: pulumi.Output<{[key: string]: outputs.gkehub.v1beta.ScopeFeatureStateResponse}>; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ @@ -175,7 +175,7 @@ export interface FeatureArgs { /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - membershipSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; + membershipSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; project?: pulumi.Input; /** * A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). @@ -184,7 +184,7 @@ export interface FeatureArgs { /** * Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - scopeSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; + scopeSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ diff --git a/sdk/nodejs/gkehub/v1beta/getFeature.ts b/sdk/nodejs/gkehub/v1beta/getFeature.ts index 9975704950..c0d2366918 100644 --- a/sdk/nodejs/gkehub/v1beta/getFeature.ts +++ b/sdk/nodejs/gkehub/v1beta/getFeature.ts @@ -46,11 +46,11 @@ export interface GetFeatureResult { /** * Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - readonly membershipSpecs: {[key: string]: string}; + readonly membershipSpecs: {[key: string]: outputs.gkehub.v1beta.MembershipFeatureSpecResponse}; /** * Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. */ - readonly membershipStates: {[key: string]: string}; + readonly membershipStates: {[key: string]: outputs.gkehub.v1beta.MembershipFeatureStateResponse}; /** * The full, unique name of this Feature resource in the format `projects/*/locations/*/features/*`. */ @@ -62,11 +62,11 @@ export interface GetFeatureResult { /** * Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. */ - readonly scopeSpecs: {[key: string]: string}; + readonly scopeSpecs: {[key: string]: outputs.gkehub.v1beta.ScopeFeatureSpecResponse}; /** * Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. */ - readonly scopeStates: {[key: string]: string}; + readonly scopeStates: {[key: string]: outputs.gkehub.v1beta.ScopeFeatureStateResponse}; /** * Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. */ diff --git a/sdk/nodejs/healthcare/v1/getFhir.ts b/sdk/nodejs/healthcare/v1/getFhir.ts index 3d3083c808..8840b648ff 100644 --- a/sdk/nodejs/healthcare/v1/getFhir.ts +++ b/sdk/nodejs/healthcare/v1/getFhir.ts @@ -41,7 +41,7 @@ export interface GetFhirResult { /** * Application specific response metadata. Must be set in the first response for streaming APIs. */ - readonly extensions: {[key: string]: string}[]; + readonly extensions: {[key: string]: any}[]; } /** * Gets the contents of a FHIR resource. Implements the FHIR standard read interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#read), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#read), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#read)). Also supports the FHIR standard conditional read interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#cread), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#cread), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#cread)) specified by supplying an `If-Modified-Since` header with a date/time value or an `If-None-Match` header with an ETag value. On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `read`, see [Getting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource). diff --git a/sdk/nodejs/healthcare/v1beta1/getFhir.ts b/sdk/nodejs/healthcare/v1beta1/getFhir.ts index 94ec922edf..0a3f2f4f17 100644 --- a/sdk/nodejs/healthcare/v1beta1/getFhir.ts +++ b/sdk/nodejs/healthcare/v1beta1/getFhir.ts @@ -41,7 +41,7 @@ export interface GetFhirResult { /** * Application specific response metadata. Must be set in the first response for streaming APIs. */ - readonly extensions: {[key: string]: string}[]; + readonly extensions: {[key: string]: any}[]; } /** * Gets the contents of a FHIR resource. Implements the FHIR standard read interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#read), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#read), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#read)). Also supports the FHIR standard conditional read interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#cread), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#cread), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#cread)) specified by supplying an `If-Modified-Since` header with a date/time value or an `If-None-Match` header with an ETag value. On success, the response body contains a JSON-encoded representation of the resource. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `read`, see [Getting a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#getting_a_fhir_resource). diff --git a/sdk/nodejs/jobs/v3/getJob.ts b/sdk/nodejs/jobs/v3/getJob.ts index 73afc072fb..16e6997a94 100644 --- a/sdk/nodejs/jobs/v3/getJob.ts +++ b/sdk/nodejs/jobs/v3/getJob.ts @@ -48,7 +48,7 @@ export interface GetJobResult { /** * Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. */ - readonly customAttributes: {[key: string]: string}; + readonly customAttributes: {[key: string]: outputs.jobs.v3.CustomAttributeResponse}; /** * Optional. The desired education degrees for the job, such as Bachelors, Masters. */ diff --git a/sdk/nodejs/jobs/v3/job.ts b/sdk/nodejs/jobs/v3/job.ts index 92a0c05040..30ef342c04 100644 --- a/sdk/nodejs/jobs/v3/job.ts +++ b/sdk/nodejs/jobs/v3/job.ts @@ -60,7 +60,7 @@ export class Job extends pulumi.CustomResource { /** * Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. */ - public readonly customAttributes!: pulumi.Output<{[key: string]: string}>; + public readonly customAttributes!: pulumi.Output<{[key: string]: outputs.jobs.v3.CustomAttributeResponse}>; /** * Optional. The desired education degrees for the job, such as Bachelors, Masters. */ @@ -281,7 +281,7 @@ export interface JobArgs { /** * Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. */ - customAttributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + customAttributes?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. The desired education degrees for the job, such as Bachelors, Masters. */ diff --git a/sdk/nodejs/jobs/v4/getJob.ts b/sdk/nodejs/jobs/v4/getJob.ts index 82fa248fc4..b193c01da7 100644 --- a/sdk/nodejs/jobs/v4/getJob.ts +++ b/sdk/nodejs/jobs/v4/getJob.ts @@ -50,7 +50,7 @@ export interface GetJobResult { /** * A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. */ - readonly customAttributes: {[key: string]: string}; + readonly customAttributes: {[key: string]: outputs.jobs.v4.CustomAttributeResponse}; /** * The desired education degrees for the job, such as Bachelors, Masters. */ diff --git a/sdk/nodejs/jobs/v4/job.ts b/sdk/nodejs/jobs/v4/job.ts index 30f597b58a..1795f049ad 100644 --- a/sdk/nodejs/jobs/v4/job.ts +++ b/sdk/nodejs/jobs/v4/job.ts @@ -60,7 +60,7 @@ export class Job extends pulumi.CustomResource { /** * A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. */ - public readonly customAttributes!: pulumi.Output<{[key: string]: string}>; + public readonly customAttributes!: pulumi.Output<{[key: string]: outputs.jobs.v4.CustomAttributeResponse}>; /** * The desired education degrees for the job, such as Bachelors, Masters. */ @@ -284,7 +284,7 @@ export interface JobArgs { /** * A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. */ - customAttributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + customAttributes?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The desired education degrees for the job, such as Bachelors, Masters. */ diff --git a/sdk/nodejs/metastore/v1/federation.ts b/sdk/nodejs/metastore/v1/federation.ts index 0ca1e243e2..806451ff3e 100644 --- a/sdk/nodejs/metastore/v1/federation.ts +++ b/sdk/nodejs/metastore/v1/federation.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -37,7 +40,7 @@ export class Federation extends pulumi.CustomResource { /** * A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. */ - public readonly backendMetastores!: pulumi.Output<{[key: string]: string}>; + public readonly backendMetastores!: pulumi.Output<{[key: string]: outputs.metastore.v1.BackendMetastoreResponse}>; /** * The time when the metastore federation was created. */ @@ -143,7 +146,7 @@ export interface FederationArgs { /** * A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. */ - backendMetastores?: pulumi.Input<{[key: string]: pulumi.Input}>; + backendMetastores?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. */ diff --git a/sdk/nodejs/metastore/v1/getFederation.ts b/sdk/nodejs/metastore/v1/getFederation.ts index ca7942e026..96f0462365 100644 --- a/sdk/nodejs/metastore/v1/getFederation.ts +++ b/sdk/nodejs/metastore/v1/getFederation.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -27,7 +30,7 @@ export interface GetFederationResult { /** * A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. */ - readonly backendMetastores: {[key: string]: string}; + readonly backendMetastores: {[key: string]: outputs.metastore.v1.BackendMetastoreResponse}; /** * The time when the metastore federation was created. */ diff --git a/sdk/nodejs/metastore/v1alpha/federation.ts b/sdk/nodejs/metastore/v1alpha/federation.ts index 264554161d..960d6e3294 100644 --- a/sdk/nodejs/metastore/v1alpha/federation.ts +++ b/sdk/nodejs/metastore/v1alpha/federation.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -37,7 +40,7 @@ export class Federation extends pulumi.CustomResource { /** * A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. */ - public readonly backendMetastores!: pulumi.Output<{[key: string]: string}>; + public readonly backendMetastores!: pulumi.Output<{[key: string]: outputs.metastore.v1alpha.BackendMetastoreResponse}>; /** * The time when the metastore federation was created. */ @@ -143,7 +146,7 @@ export interface FederationArgs { /** * A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. */ - backendMetastores?: pulumi.Input<{[key: string]: pulumi.Input}>; + backendMetastores?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. */ diff --git a/sdk/nodejs/metastore/v1alpha/getFederation.ts b/sdk/nodejs/metastore/v1alpha/getFederation.ts index 5a4b8a4965..88fdf773e7 100644 --- a/sdk/nodejs/metastore/v1alpha/getFederation.ts +++ b/sdk/nodejs/metastore/v1alpha/getFederation.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -27,7 +30,7 @@ export interface GetFederationResult { /** * A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. */ - readonly backendMetastores: {[key: string]: string}; + readonly backendMetastores: {[key: string]: outputs.metastore.v1alpha.BackendMetastoreResponse}; /** * The time when the metastore federation was created. */ diff --git a/sdk/nodejs/metastore/v1beta/federation.ts b/sdk/nodejs/metastore/v1beta/federation.ts index e908e70d78..830fa42dfe 100644 --- a/sdk/nodejs/metastore/v1beta/federation.ts +++ b/sdk/nodejs/metastore/v1beta/federation.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -37,7 +40,7 @@ export class Federation extends pulumi.CustomResource { /** * A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. */ - public readonly backendMetastores!: pulumi.Output<{[key: string]: string}>; + public readonly backendMetastores!: pulumi.Output<{[key: string]: outputs.metastore.v1beta.BackendMetastoreResponse}>; /** * The time when the metastore federation was created. */ @@ -143,7 +146,7 @@ export interface FederationArgs { /** * A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. */ - backendMetastores?: pulumi.Input<{[key: string]: pulumi.Input}>; + backendMetastores?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. */ diff --git a/sdk/nodejs/metastore/v1beta/getFederation.ts b/sdk/nodejs/metastore/v1beta/getFederation.ts index efc6696eed..902a1d626b 100644 --- a/sdk/nodejs/metastore/v1beta/getFederation.ts +++ b/sdk/nodejs/metastore/v1beta/getFederation.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../../types/input"; +import * as outputs from "../../types/output"; +import * as enums from "../../types/enums"; import * as utilities from "../../utilities"; /** @@ -27,7 +30,7 @@ export interface GetFederationResult { /** * A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. */ - readonly backendMetastores: {[key: string]: string}; + readonly backendMetastores: {[key: string]: outputs.metastore.v1beta.BackendMetastoreResponse}; /** * The time when the metastore federation was created. */ diff --git a/sdk/nodejs/retail/v2/getProduct.ts b/sdk/nodejs/retail/v2/getProduct.ts index cdca7c5fda..566a704b88 100644 --- a/sdk/nodejs/retail/v2/getProduct.ts +++ b/sdk/nodejs/retail/v2/getProduct.ts @@ -34,7 +34,7 @@ export interface GetProductResult { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - readonly attributes: {[key: string]: string}; + readonly attributes: {[key: string]: outputs.retail.v2.GoogleCloudRetailV2CustomAttributeResponse}; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ diff --git a/sdk/nodejs/retail/v2/product.ts b/sdk/nodejs/retail/v2/product.ts index 05789db744..9c090fd222 100644 --- a/sdk/nodejs/retail/v2/product.ts +++ b/sdk/nodejs/retail/v2/product.ts @@ -40,7 +40,7 @@ export class Product extends pulumi.CustomResource { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - public readonly attributes!: pulumi.Output<{[key: string]: string}>; + public readonly attributes!: pulumi.Output<{[key: string]: outputs.retail.v2.GoogleCloudRetailV2CustomAttributeResponse}>; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ @@ -296,7 +296,7 @@ export interface ProductArgs { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ diff --git a/sdk/nodejs/retail/v2alpha/getProduct.ts b/sdk/nodejs/retail/v2alpha/getProduct.ts index 0f3b9d9b1e..b6a23a41f9 100644 --- a/sdk/nodejs/retail/v2alpha/getProduct.ts +++ b/sdk/nodejs/retail/v2alpha/getProduct.ts @@ -34,7 +34,7 @@ export interface GetProductResult { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - readonly attributes: {[key: string]: string}; + readonly attributes: {[key: string]: outputs.retail.v2alpha.GoogleCloudRetailV2alphaCustomAttributeResponse}; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ diff --git a/sdk/nodejs/retail/v2alpha/product.ts b/sdk/nodejs/retail/v2alpha/product.ts index 4982a38ec8..4cffab647a 100644 --- a/sdk/nodejs/retail/v2alpha/product.ts +++ b/sdk/nodejs/retail/v2alpha/product.ts @@ -40,7 +40,7 @@ export class Product extends pulumi.CustomResource { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - public readonly attributes!: pulumi.Output<{[key: string]: string}>; + public readonly attributes!: pulumi.Output<{[key: string]: outputs.retail.v2alpha.GoogleCloudRetailV2alphaCustomAttributeResponse}>; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ @@ -296,7 +296,7 @@ export interface ProductArgs { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ diff --git a/sdk/nodejs/retail/v2beta/getProduct.ts b/sdk/nodejs/retail/v2beta/getProduct.ts index bdb7b3d72b..1fe92b15f3 100644 --- a/sdk/nodejs/retail/v2beta/getProduct.ts +++ b/sdk/nodejs/retail/v2beta/getProduct.ts @@ -34,7 +34,7 @@ export interface GetProductResult { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - readonly attributes: {[key: string]: string}; + readonly attributes: {[key: string]: outputs.retail.v2beta.GoogleCloudRetailV2betaCustomAttributeResponse}; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ diff --git a/sdk/nodejs/retail/v2beta/product.ts b/sdk/nodejs/retail/v2beta/product.ts index f928890bbb..a92efe1434 100644 --- a/sdk/nodejs/retail/v2beta/product.ts +++ b/sdk/nodejs/retail/v2beta/product.ts @@ -40,7 +40,7 @@ export class Product extends pulumi.CustomResource { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - public readonly attributes!: pulumi.Output<{[key: string]: string}>; + public readonly attributes!: pulumi.Output<{[key: string]: outputs.retail.v2beta.GoogleCloudRetailV2betaCustomAttributeResponse}>; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ @@ -296,7 +296,7 @@ export interface ProductArgs { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; + attributes?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ diff --git a/sdk/nodejs/securitycenter/v1/getOrganizationEventThreatDetectionSettingCustomModule.ts b/sdk/nodejs/securitycenter/v1/getOrganizationEventThreatDetectionSettingCustomModule.ts index 714b55a18f..0b0e3caa58 100644 --- a/sdk/nodejs/securitycenter/v1/getOrganizationEventThreatDetectionSettingCustomModule.ts +++ b/sdk/nodejs/securitycenter/v1/getOrganizationEventThreatDetectionSettingCustomModule.ts @@ -25,7 +25,7 @@ export interface GetOrganizationEventThreatDetectionSettingCustomModuleResult { /** * Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. */ - readonly config: {[key: string]: string}; + readonly config: {[key: string]: any}; /** * The description for the module. */ diff --git a/sdk/nodejs/securitycenter/v1/organizationEventThreatDetectionSettingCustomModule.ts b/sdk/nodejs/securitycenter/v1/organizationEventThreatDetectionSettingCustomModule.ts index 8341db38e9..b545f8a55c 100644 --- a/sdk/nodejs/securitycenter/v1/organizationEventThreatDetectionSettingCustomModule.ts +++ b/sdk/nodejs/securitycenter/v1/organizationEventThreatDetectionSettingCustomModule.ts @@ -41,7 +41,7 @@ export class OrganizationEventThreatDetectionSettingCustomModule extends pulumi. /** * Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. */ - public readonly config!: pulumi.Output<{[key: string]: string}>; + public readonly config!: pulumi.Output<{[key: string]: any}>; /** * The description for the module. */ @@ -120,7 +120,7 @@ export interface OrganizationEventThreatDetectionSettingCustomModuleArgs { /** * Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. */ - config?: pulumi.Input<{[key: string]: pulumi.Input}>; + config?: pulumi.Input<{[key: string]: any}>; /** * The description for the module. */ diff --git a/sdk/nodejs/sourcerepo/v1/getRepo.ts b/sdk/nodejs/sourcerepo/v1/getRepo.ts index e30282b57a..874fdbbc67 100644 --- a/sdk/nodejs/sourcerepo/v1/getRepo.ts +++ b/sdk/nodejs/sourcerepo/v1/getRepo.ts @@ -36,7 +36,7 @@ export interface GetRepoResult { /** * How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. */ - readonly pubsubConfigs: {[key: string]: string}; + readonly pubsubConfigs: {[key: string]: outputs.sourcerepo.v1.PubsubConfigResponse}; /** * The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. */ diff --git a/sdk/nodejs/sourcerepo/v1/repo.ts b/sdk/nodejs/sourcerepo/v1/repo.ts index caa89a6db8..12d6549bc9 100644 --- a/sdk/nodejs/sourcerepo/v1/repo.ts +++ b/sdk/nodejs/sourcerepo/v1/repo.ts @@ -49,7 +49,7 @@ export class Repo extends pulumi.CustomResource { /** * How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. */ - public readonly pubsubConfigs!: pulumi.Output<{[key: string]: string}>; + public readonly pubsubConfigs!: pulumi.Output<{[key: string]: outputs.sourcerepo.v1.PubsubConfigResponse}>; /** * The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. */ @@ -107,7 +107,7 @@ export interface RepoArgs { /** * How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. */ - pubsubConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + pubsubConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. */ diff --git a/sdk/nodejs/types/enums/aiplatform/v1/index.ts b/sdk/nodejs/types/enums/aiplatform/v1/index.ts index 22cc91a96b..f490629df1 100644 --- a/sdk/nodejs/types/enums/aiplatform/v1/index.ts +++ b/sdk/nodejs/types/enums/aiplatform/v1/index.ts @@ -170,6 +170,150 @@ export const GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat = { */ export type GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat = (typeof GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat)[keyof typeof GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat]; +export const GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding = { + /** + * Default value. This is the same as IDENTITY. + */ + EncodingUnspecified: "ENCODING_UNSPECIFIED", + /** + * The tensor represents one feature. + */ + Identity: "IDENTITY", + /** + * The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = ["age", "height", "weight"] ``` + */ + BagOfFeatures: "BAG_OF_FEATURES", + /** + * The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + */ + BagOfFeaturesSparse: "BAG_OF_FEATURES_SPARSE", + /** + * The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + */ + Indicator: "INDICATOR", + /** + * The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ``` + */ + CombinedEmbedding: "COMBINED_EMBEDDING", + /** + * Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ``` + */ + ConcatEmbedding: "CONCAT_EMBEDDING", +} as const; + +/** + * Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + */ +export type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding = (typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding)[keyof typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding]; + +export const GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap = { + /** + * Should not be used. + */ + ColorMapUnspecified: "COLOR_MAP_UNSPECIFIED", + /** + * Positive: green. Negative: pink. + */ + PinkGreen: "PINK_GREEN", + /** + * Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue. + */ + Viridis: "VIRIDIS", + /** + * Positive: red. Negative: red. + */ + Red: "RED", + /** + * Positive: green. Negative: green. + */ + Green: "GREEN", + /** + * Positive: green. Negative: red. + */ + RedGreen: "RED_GREEN", + /** + * PiYG palette. + */ + PinkWhiteGreen: "PINK_WHITE_GREEN", +} as const; + +/** + * The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + */ +export type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap = (typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap)[keyof typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap]; + +export const GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType = { + /** + * Default value. This is the same as NONE. + */ + OverlayTypeUnspecified: "OVERLAY_TYPE_UNSPECIFIED", + /** + * No overlay. + */ + None: "NONE", + /** + * The attributions are shown on top of the original image. + */ + Original: "ORIGINAL", + /** + * The attributions are shown on top of grayscaled version of the original image. + */ + Grayscale: "GRAYSCALE", + /** + * The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts. + */ + MaskBlack: "MASK_BLACK", +} as const; + +/** + * How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + */ +export type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType = (typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType)[keyof typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType]; + +export const GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity = { + /** + * Default value. This is the same as POSITIVE. + */ + PolarityUnspecified: "POLARITY_UNSPECIFIED", + /** + * Highlights the pixels/outlines that were most influential to the model's prediction. + */ + Positive: "POSITIVE", + /** + * Setting polarity to negative highlights areas that does not lead to the models's current prediction. + */ + Negative: "NEGATIVE", + /** + * Shows both positive and negative attributions. + */ + Both: "BOTH", +} as const; + +/** + * Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + */ +export type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity = (typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity)[keyof typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity]; + +export const GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType = { + /** + * Should not be used. + */ + TypeUnspecified: "TYPE_UNSPECIFIED", + /** + * Shows which pixel contributed to the image prediction. + */ + Pixels: "PIXELS", + /** + * Shows which region contributed to the image prediction by outlining the region. + */ + Outlines: "OUTLINES", +} as const; + +/** + * Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + */ +export type GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType = (typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType)[keyof typeof GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType]; + export const GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline = { /** * Should not be used. diff --git a/sdk/nodejs/types/enums/aiplatform/v1beta1/index.ts b/sdk/nodejs/types/enums/aiplatform/v1beta1/index.ts index df99ef3dd7..9c953b3aa3 100644 --- a/sdk/nodejs/types/enums/aiplatform/v1beta1/index.ts +++ b/sdk/nodejs/types/enums/aiplatform/v1beta1/index.ts @@ -170,6 +170,150 @@ export const GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat = { */ export type GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat = (typeof GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat)[keyof typeof GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat]; +export const GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding = { + /** + * Default value. This is the same as IDENTITY. + */ + EncodingUnspecified: "ENCODING_UNSPECIFIED", + /** + * The tensor represents one feature. + */ + Identity: "IDENTITY", + /** + * The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = ["age", "height", "weight"] ``` + */ + BagOfFeatures: "BAG_OF_FEATURES", + /** + * The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + */ + BagOfFeaturesSparse: "BAG_OF_FEATURES_SPARSE", + /** + * The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + */ + Indicator: "INDICATOR", + /** + * The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ``` + */ + CombinedEmbedding: "COMBINED_EMBEDDING", + /** + * Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ``` + */ + ConcatEmbedding: "CONCAT_EMBEDDING", +} as const; + +/** + * Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + */ +export type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding = (typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding)[keyof typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding]; + +export const GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap = { + /** + * Should not be used. + */ + ColorMapUnspecified: "COLOR_MAP_UNSPECIFIED", + /** + * Positive: green. Negative: pink. + */ + PinkGreen: "PINK_GREEN", + /** + * Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue. + */ + Viridis: "VIRIDIS", + /** + * Positive: red. Negative: red. + */ + Red: "RED", + /** + * Positive: green. Negative: green. + */ + Green: "GREEN", + /** + * Positive: green. Negative: red. + */ + RedGreen: "RED_GREEN", + /** + * PiYG palette. + */ + PinkWhiteGreen: "PINK_WHITE_GREEN", +} as const; + +/** + * The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + */ +export type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap = (typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap)[keyof typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap]; + +export const GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType = { + /** + * Default value. This is the same as NONE. + */ + OverlayTypeUnspecified: "OVERLAY_TYPE_UNSPECIFIED", + /** + * No overlay. + */ + None: "NONE", + /** + * The attributions are shown on top of the original image. + */ + Original: "ORIGINAL", + /** + * The attributions are shown on top of grayscaled version of the original image. + */ + Grayscale: "GRAYSCALE", + /** + * The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts. + */ + MaskBlack: "MASK_BLACK", +} as const; + +/** + * How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + */ +export type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType = (typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType)[keyof typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType]; + +export const GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity = { + /** + * Default value. This is the same as POSITIVE. + */ + PolarityUnspecified: "POLARITY_UNSPECIFIED", + /** + * Highlights the pixels/outlines that were most influential to the model's prediction. + */ + Positive: "POSITIVE", + /** + * Setting polarity to negative highlights areas that does not lead to the models's current prediction. + */ + Negative: "NEGATIVE", + /** + * Shows both positive and negative attributions. + */ + Both: "BOTH", +} as const; + +/** + * Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + */ +export type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity = (typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity)[keyof typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity]; + +export const GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType = { + /** + * Should not be used. + */ + TypeUnspecified: "TYPE_UNSPECIFIED", + /** + * Shows which pixel contributed to the image prediction. + */ + Pixels: "PIXELS", + /** + * Shows which region contributed to the image prediction by outlining the region. + */ + Outlines: "OUTLINES", +} as const; + +/** + * Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + */ +export type GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType = (typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType)[keyof typeof GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType]; + export const GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureType = { /** * Should not be set. diff --git a/sdk/nodejs/types/enums/artifactregistry/v1/index.ts b/sdk/nodejs/types/enums/artifactregistry/v1/index.ts index e832eb44b2..627fb92518 100644 --- a/sdk/nodejs/types/enums/artifactregistry/v1/index.ts +++ b/sdk/nodejs/types/enums/artifactregistry/v1/index.ts @@ -2,6 +2,50 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** +export const CleanupPolicyAction = { + /** + * Action not specified. + */ + ActionUnspecified: "ACTION_UNSPECIFIED", + /** + * Delete action. + */ + Delete: "DELETE", + /** + * Keep action. + */ + Keep: "KEEP", +} as const; + +/** + * Policy action. + */ +export type CleanupPolicyAction = (typeof CleanupPolicyAction)[keyof typeof CleanupPolicyAction]; + +export const CleanupPolicyConditionTagState = { + /** + * Tag status not specified. + */ + TagStateUnspecified: "TAG_STATE_UNSPECIFIED", + /** + * Applies to tagged versions only. + */ + Tagged: "TAGGED", + /** + * Applies to untagged versions only. + */ + Untagged: "UNTAGGED", + /** + * Applies to all versions. + */ + Any: "ANY", +} as const; + +/** + * Match versions by tag status. + */ +export type CleanupPolicyConditionTagState = (typeof CleanupPolicyConditionTagState)[keyof typeof CleanupPolicyConditionTagState]; + export const DockerRepositoryPublicRepository = { /** * Unspecified repository. diff --git a/sdk/nodejs/types/enums/compute/alpha/index.ts b/sdk/nodejs/types/enums/compute/alpha/index.ts index 0bf184f406..69c5325b39 100644 --- a/sdk/nodejs/types/enums/compute/alpha/index.ts +++ b/sdk/nodejs/types/enums/compute/alpha/index.ts @@ -2429,6 +2429,26 @@ export const InterconnectRequestedFeaturesItem = { export type InterconnectRequestedFeaturesItem = (typeof InterconnectRequestedFeaturesItem)[keyof typeof InterconnectRequestedFeaturesItem]; +export const LocationPolicyLocationPreference = { + /** + * Location is allowed for use. + */ + Allow: "ALLOW", + /** + * Location is prohibited. + */ + Deny: "DENY", + /** + * Default value, unused. + */ + PreferenceUnspecified: "PREFERENCE_UNSPECIFIED", +} as const; + +/** + * Preference for a given location. Set to either ALLOW or DENY. + */ +export type LocationPolicyLocationPreference = (typeof LocationPolicyLocationPreference)[keyof typeof LocationPolicyLocationPreference]; + export const LocationPolicyTargetShape = { /** * GCE picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability. @@ -4396,6 +4416,26 @@ export const SslPolicyProfile = { */ export type SslPolicyProfile = (typeof SslPolicyProfile)[keyof typeof SslPolicyProfile]; +export const StatefulPolicyPreservedStateDiskDeviceAutoDelete = { + Never: "NEVER", + OnPermanentInstanceDeletion: "ON_PERMANENT_INSTANCE_DELETION", +} as const; + +/** + * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + */ +export type StatefulPolicyPreservedStateDiskDeviceAutoDelete = (typeof StatefulPolicyPreservedStateDiskDeviceAutoDelete)[keyof typeof StatefulPolicyPreservedStateDiskDeviceAutoDelete]; + +export const StatefulPolicyPreservedStateNetworkIpAutoDelete = { + Never: "NEVER", + OnPermanentInstanceDeletion: "ON_PERMANENT_INSTANCE_DELETION", +} as const; + +/** + * These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + */ +export type StatefulPolicyPreservedStateNetworkIpAutoDelete = (typeof StatefulPolicyPreservedStateNetworkIpAutoDelete)[keyof typeof StatefulPolicyPreservedStateNetworkIpAutoDelete]; + export const StoragePoolCapacityProvisioningType = { /** * Advanced provisioning "thinly" allocates the related resource. diff --git a/sdk/nodejs/types/enums/compute/beta/index.ts b/sdk/nodejs/types/enums/compute/beta/index.ts index b54cc6f9d6..e419778f35 100644 --- a/sdk/nodejs/types/enums/compute/beta/index.ts +++ b/sdk/nodejs/types/enums/compute/beta/index.ts @@ -3628,6 +3628,26 @@ export const SslPolicyProfile = { */ export type SslPolicyProfile = (typeof SslPolicyProfile)[keyof typeof SslPolicyProfile]; +export const StatefulPolicyPreservedStateDiskDeviceAutoDelete = { + Never: "NEVER", + OnPermanentInstanceDeletion: "ON_PERMANENT_INSTANCE_DELETION", +} as const; + +/** + * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + */ +export type StatefulPolicyPreservedStateDiskDeviceAutoDelete = (typeof StatefulPolicyPreservedStateDiskDeviceAutoDelete)[keyof typeof StatefulPolicyPreservedStateDiskDeviceAutoDelete]; + +export const StatefulPolicyPreservedStateNetworkIpAutoDelete = { + Never: "NEVER", + OnPermanentInstanceDeletion: "ON_PERMANENT_INSTANCE_DELETION", +} as const; + +/** + * These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + */ +export type StatefulPolicyPreservedStateNetworkIpAutoDelete = (typeof StatefulPolicyPreservedStateNetworkIpAutoDelete)[keyof typeof StatefulPolicyPreservedStateNetworkIpAutoDelete]; + export const SubnetworkIpv6AccessType = { /** * VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network. diff --git a/sdk/nodejs/types/enums/compute/v1/index.ts b/sdk/nodejs/types/enums/compute/v1/index.ts index f383a2d08f..105c207527 100644 --- a/sdk/nodejs/types/enums/compute/v1/index.ts +++ b/sdk/nodejs/types/enums/compute/v1/index.ts @@ -3204,6 +3204,26 @@ export const SslPolicyProfile = { */ export type SslPolicyProfile = (typeof SslPolicyProfile)[keyof typeof SslPolicyProfile]; +export const StatefulPolicyPreservedStateDiskDeviceAutoDelete = { + Never: "NEVER", + OnPermanentInstanceDeletion: "ON_PERMANENT_INSTANCE_DELETION", +} as const; + +/** + * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + */ +export type StatefulPolicyPreservedStateDiskDeviceAutoDelete = (typeof StatefulPolicyPreservedStateDiskDeviceAutoDelete)[keyof typeof StatefulPolicyPreservedStateDiskDeviceAutoDelete]; + +export const StatefulPolicyPreservedStateNetworkIpAutoDelete = { + Never: "NEVER", + OnPermanentInstanceDeletion: "ON_PERMANENT_INSTANCE_DELETION", +} as const; + +/** + * These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + */ +export type StatefulPolicyPreservedStateNetworkIpAutoDelete = (typeof StatefulPolicyPreservedStateNetworkIpAutoDelete)[keyof typeof StatefulPolicyPreservedStateNetworkIpAutoDelete]; + export const SubnetworkIpv6AccessType = { /** * VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network. diff --git a/sdk/nodejs/types/enums/datacatalog/v1/index.ts b/sdk/nodejs/types/enums/datacatalog/v1/index.ts index 125654ee63..99d2261f72 100644 --- a/sdk/nodejs/types/enums/datacatalog/v1/index.ts +++ b/sdk/nodejs/types/enums/datacatalog/v1/index.ts @@ -174,6 +174,38 @@ export const GoogleCloudDatacatalogV1DatabaseTableSpecType = { */ export type GoogleCloudDatacatalogV1DatabaseTableSpecType = (typeof GoogleCloudDatacatalogV1DatabaseTableSpecType)[keyof typeof GoogleCloudDatacatalogV1DatabaseTableSpecType]; +export const GoogleCloudDatacatalogV1FieldTypePrimitiveType = { + /** + * The default invalid value for a type. + */ + PrimitiveTypeUnspecified: "PRIMITIVE_TYPE_UNSPECIFIED", + /** + * A double precision number. + */ + Double: "DOUBLE", + /** + * An UTF-8 string. + */ + String: "STRING", + /** + * A boolean value. + */ + Bool: "BOOL", + /** + * A timestamp. + */ + Timestamp: "TIMESTAMP", + /** + * A Richtext description. + */ + Richtext: "RICHTEXT", +} as const; + +/** + * Primitive types, such as string, boolean, etc. + */ +export type GoogleCloudDatacatalogV1FieldTypePrimitiveType = (typeof GoogleCloudDatacatalogV1FieldTypePrimitiveType)[keyof typeof GoogleCloudDatacatalogV1FieldTypePrimitiveType]; + export const GoogleCloudDatacatalogV1RoutineSpecArgumentMode = { /** * Unspecified mode. diff --git a/sdk/nodejs/types/enums/datacatalog/v1beta1/index.ts b/sdk/nodejs/types/enums/datacatalog/v1beta1/index.ts index dfcbbe9de6..c04a1295dd 100644 --- a/sdk/nodejs/types/enums/datacatalog/v1beta1/index.ts +++ b/sdk/nodejs/types/enums/datacatalog/v1beta1/index.ts @@ -30,6 +30,34 @@ export const EntryType = { */ export type EntryType = (typeof EntryType)[keyof typeof EntryType]; +export const GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType = { + /** + * This is the default invalid value for a type. + */ + PrimitiveTypeUnspecified: "PRIMITIVE_TYPE_UNSPECIFIED", + /** + * A double precision number. + */ + Double: "DOUBLE", + /** + * An UTF-8 string. + */ + String: "STRING", + /** + * A boolean value. + */ + Bool: "BOOL", + /** + * A timestamp. + */ + Timestamp: "TIMESTAMP", +} as const; + +/** + * Represents primitive types - string, bool etc. + */ +export type GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType = (typeof GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType)[keyof typeof GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType]; + export const TaxonomyActivatedPolicyTypesItem = { /** * Unspecified policy type. diff --git a/sdk/nodejs/types/enums/dialogflow/v3/index.ts b/sdk/nodejs/types/enums/dialogflow/v3/index.ts index be2cfa9d20..8326096e3a 100644 --- a/sdk/nodejs/types/enums/dialogflow/v3/index.ts +++ b/sdk/nodejs/types/enums/dialogflow/v3/index.ts @@ -322,6 +322,30 @@ export const GoogleCloudDialogflowCxV3TestCaseResultTestResult = { */ export type GoogleCloudDialogflowCxV3TestCaseResultTestResult = (typeof GoogleCloudDialogflowCxV3TestCaseResultTestResult)[keyof typeof GoogleCloudDialogflowCxV3TestCaseResultTestResult]; +export const GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender = { + /** + * An unspecified gender, which means that the client doesn't care which gender the selected voice will have. + */ + SsmlVoiceGenderUnspecified: "SSML_VOICE_GENDER_UNSPECIFIED", + /** + * A male voice. + */ + SsmlVoiceGenderMale: "SSML_VOICE_GENDER_MALE", + /** + * A female voice. + */ + SsmlVoiceGenderFemale: "SSML_VOICE_GENDER_FEMALE", + /** + * A gender-neutral voice. + */ + SsmlVoiceGenderNeutral: "SSML_VOICE_GENDER_NEUTRAL", +} as const; + +/** + * Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + */ +export type GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender = (typeof GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender)[keyof typeof GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender]; + export const GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethod = { /** * HTTP method not specified. diff --git a/sdk/nodejs/types/enums/dialogflow/v3beta1/index.ts b/sdk/nodejs/types/enums/dialogflow/v3beta1/index.ts index 0f9c81581b..7c595f98dd 100644 --- a/sdk/nodejs/types/enums/dialogflow/v3beta1/index.ts +++ b/sdk/nodejs/types/enums/dialogflow/v3beta1/index.ts @@ -298,6 +298,30 @@ export const GoogleCloudDialogflowCxV3beta1TestCaseResultTestResult = { */ export type GoogleCloudDialogflowCxV3beta1TestCaseResultTestResult = (typeof GoogleCloudDialogflowCxV3beta1TestCaseResultTestResult)[keyof typeof GoogleCloudDialogflowCxV3beta1TestCaseResultTestResult]; +export const GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender = { + /** + * An unspecified gender, which means that the client doesn't care which gender the selected voice will have. + */ + SsmlVoiceGenderUnspecified: "SSML_VOICE_GENDER_UNSPECIFIED", + /** + * A male voice. + */ + SsmlVoiceGenderMale: "SSML_VOICE_GENDER_MALE", + /** + * A female voice. + */ + SsmlVoiceGenderFemale: "SSML_VOICE_GENDER_FEMALE", + /** + * A gender-neutral voice. + */ + SsmlVoiceGenderNeutral: "SSML_VOICE_GENDER_NEUTRAL", +} as const; + +/** + * Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + */ +export type GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender = (typeof GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender)[keyof typeof GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender]; + export const GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethod = { /** * HTTP method not specified. diff --git a/sdk/nodejs/types/enums/gkehub/v1/index.ts b/sdk/nodejs/types/enums/gkehub/v1/index.ts index 7dbf558df9..a0fa03e6b2 100644 --- a/sdk/nodejs/types/enums/gkehub/v1/index.ts +++ b/sdk/nodejs/types/enums/gkehub/v1/index.ts @@ -111,6 +111,30 @@ export const OnPremClusterClusterType = { */ export type OnPremClusterClusterType = (typeof OnPremClusterClusterType)[keyof typeof OnPremClusterClusterType]; +export const OriginType = { + /** + * Type is unknown or not set. + */ + TypeUnspecified: "TYPE_UNSPECIFIED", + /** + * Per-Membership spec was inherited from the fleet-level default. + */ + Fleet: "FLEET", + /** + * Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + */ + FleetOutOfSync: "FLEET_OUT_OF_SYNC", + /** + * Per-Membership spec was inherited from a user specification. + */ + User: "USER", +} as const; + +/** + * Type specifies which type of origin is set. + */ +export type OriginType = (typeof OriginType)[keyof typeof OriginType]; + export const PolicyControllerHubConfigInstallSpec = { /** * Spec is unknown. @@ -156,6 +180,26 @@ export const PolicyControllerMonitoringConfigBackendsItem = { export type PolicyControllerMonitoringConfigBackendsItem = (typeof PolicyControllerMonitoringConfigBackendsItem)[keyof typeof PolicyControllerMonitoringConfigBackendsItem]; +export const PolicyControllerPolicyControllerDeploymentConfigPodAffinity = { + /** + * No affinity configuration has been specified. + */ + AffinityUnspecified: "AFFINITY_UNSPECIFIED", + /** + * Affinity configurations will be removed from the deployment. + */ + NoAffinity: "NO_AFFINITY", + /** + * Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + */ + AntiAffinity: "ANTI_AFFINITY", +} as const; + +/** + * Pod affinity configuration. + */ +export type PolicyControllerPolicyControllerDeploymentConfigPodAffinity = (typeof PolicyControllerPolicyControllerDeploymentConfigPodAffinity)[keyof typeof PolicyControllerPolicyControllerDeploymentConfigPodAffinity]; + export const PolicyControllerTemplateLibraryConfigInstallation = { /** * No installation strategy has been specified. diff --git a/sdk/nodejs/types/enums/gkehub/v1alpha/index.ts b/sdk/nodejs/types/enums/gkehub/v1alpha/index.ts index 119bba8051..18d422f667 100644 --- a/sdk/nodejs/types/enums/gkehub/v1alpha/index.ts +++ b/sdk/nodejs/types/enums/gkehub/v1alpha/index.ts @@ -46,6 +46,26 @@ export const BinaryAuthorizationConfigEvaluationMode = { */ export type BinaryAuthorizationConfigEvaluationMode = (typeof BinaryAuthorizationConfigEvaluationMode)[keyof typeof BinaryAuthorizationConfigEvaluationMode]; +export const CloudBuildMembershipSpecSecurityPolicy = { + /** + * Unspecified policy + */ + SecurityPolicyUnspecified: "SECURITY_POLICY_UNSPECIFIED", + /** + * Privileged build pods are disallowed + */ + NonPrivileged: "NON_PRIVILEGED", + /** + * Privileged build pods are allowed + */ + Privileged: "PRIVILEGED", +} as const; + +/** + * Whether it is allowed to run the privileged builds on the cluster or not. + */ +export type CloudBuildMembershipSpecSecurityPolicy = (typeof CloudBuildMembershipSpecSecurityPolicy)[keyof typeof CloudBuildMembershipSpecSecurityPolicy]; + export const ConfigManagementPolicyControllerMonitoringBackendsItem = { /** * Backend cannot be determined @@ -199,6 +219,30 @@ export const OnPremClusterClusterType = { */ export type OnPremClusterClusterType = (typeof OnPremClusterClusterType)[keyof typeof OnPremClusterClusterType]; +export const OriginType = { + /** + * Type is unknown or not set. + */ + TypeUnspecified: "TYPE_UNSPECIFIED", + /** + * Per-Membership spec was inherited from the fleet-level default. + */ + Fleet: "FLEET", + /** + * Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + */ + FleetOutOfSync: "FLEET_OUT_OF_SYNC", + /** + * Per-Membership spec was inherited from a user specification. + */ + User: "USER", +} as const; + +/** + * Type specifies which type of origin is set. + */ +export type OriginType = (typeof OriginType)[keyof typeof OriginType]; + export const PolicyControllerHubConfigInstallSpec = { /** * Spec is unknown. @@ -244,6 +288,26 @@ export const PolicyControllerMonitoringConfigBackendsItem = { export type PolicyControllerMonitoringConfigBackendsItem = (typeof PolicyControllerMonitoringConfigBackendsItem)[keyof typeof PolicyControllerMonitoringConfigBackendsItem]; +export const PolicyControllerPolicyControllerDeploymentConfigPodAffinity = { + /** + * No affinity configuration has been specified. + */ + AffinityUnspecified: "AFFINITY_UNSPECIFIED", + /** + * Affinity configurations will be removed from the deployment. + */ + NoAffinity: "NO_AFFINITY", + /** + * Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + */ + AntiAffinity: "ANTI_AFFINITY", +} as const; + +/** + * Pod affinity configuration. + */ +export type PolicyControllerPolicyControllerDeploymentConfigPodAffinity = (typeof PolicyControllerPolicyControllerDeploymentConfigPodAffinity)[keyof typeof PolicyControllerPolicyControllerDeploymentConfigPodAffinity]; + export const PolicyControllerTemplateLibraryConfigInstallation = { /** * No installation strategy has been specified. diff --git a/sdk/nodejs/types/enums/gkehub/v1beta/index.ts b/sdk/nodejs/types/enums/gkehub/v1beta/index.ts index e835761a2e..d0a59f90eb 100644 --- a/sdk/nodejs/types/enums/gkehub/v1beta/index.ts +++ b/sdk/nodejs/types/enums/gkehub/v1beta/index.ts @@ -83,6 +83,26 @@ export const FleetObservabilityRoutingConfigMode = { */ export type FleetObservabilityRoutingConfigMode = (typeof FleetObservabilityRoutingConfigMode)[keyof typeof FleetObservabilityRoutingConfigMode]; +export const MembershipSpecSecurityPolicy = { + /** + * Unspecified policy + */ + SecurityPolicyUnspecified: "SECURITY_POLICY_UNSPECIFIED", + /** + * Privileged build pods are disallowed + */ + NonPrivileged: "NON_PRIVILEGED", + /** + * Privileged build pods are allowed + */ + Privileged: "PRIVILEGED", +} as const; + +/** + * Whether it is allowed to run the privileged builds on the cluster or not. + */ +export type MembershipSpecSecurityPolicy = (typeof MembershipSpecSecurityPolicy)[keyof typeof MembershipSpecSecurityPolicy]; + export const MultiClusterIngressFeatureSpecBilling = { /** * Unknown @@ -131,6 +151,30 @@ export const OnPremClusterClusterType = { */ export type OnPremClusterClusterType = (typeof OnPremClusterClusterType)[keyof typeof OnPremClusterClusterType]; +export const OriginType = { + /** + * Type is unknown or not set. + */ + TypeUnspecified: "TYPE_UNSPECIFIED", + /** + * Per-Membership spec was inherited from the fleet-level default. + */ + Fleet: "FLEET", + /** + * Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + */ + FleetOutOfSync: "FLEET_OUT_OF_SYNC", + /** + * Per-Membership spec was inherited from a user specification. + */ + User: "USER", +} as const; + +/** + * Type specifies which type of origin is set. + */ +export type OriginType = (typeof OriginType)[keyof typeof OriginType]; + export const PolicyControllerHubConfigInstallSpec = { /** * Spec is unknown. @@ -176,6 +220,26 @@ export const PolicyControllerMonitoringConfigBackendsItem = { export type PolicyControllerMonitoringConfigBackendsItem = (typeof PolicyControllerMonitoringConfigBackendsItem)[keyof typeof PolicyControllerMonitoringConfigBackendsItem]; +export const PolicyControllerPolicyControllerDeploymentConfigPodAffinity = { + /** + * No affinity configuration has been specified. + */ + AffinityUnspecified: "AFFINITY_UNSPECIFIED", + /** + * Affinity configurations will be removed from the deployment. + */ + NoAffinity: "NO_AFFINITY", + /** + * Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + */ + AntiAffinity: "ANTI_AFFINITY", +} as const; + +/** + * Pod affinity configuration. + */ +export type PolicyControllerPolicyControllerDeploymentConfigPodAffinity = (typeof PolicyControllerPolicyControllerDeploymentConfigPodAffinity)[keyof typeof PolicyControllerPolicyControllerDeploymentConfigPodAffinity]; + export const PolicyControllerTemplateLibraryConfigInstallation = { /** * No installation strategy has been specified. diff --git a/sdk/nodejs/types/enums/metastore/v1/index.ts b/sdk/nodejs/types/enums/metastore/v1/index.ts index b4a5603362..9bcb0d8855 100644 --- a/sdk/nodejs/types/enums/metastore/v1/index.ts +++ b/sdk/nodejs/types/enums/metastore/v1/index.ts @@ -26,6 +26,26 @@ export const AuditLogConfigLogType = { */ export type AuditLogConfigLogType = (typeof AuditLogConfigLogType)[keyof typeof AuditLogConfigLogType]; +export const BackendMetastoreMetastoreType = { + /** + * The metastore type is not set. + */ + MetastoreTypeUnspecified: "METASTORE_TYPE_UNSPECIFIED", + /** + * The backend metastore is BigQuery. + */ + Bigquery: "BIGQUERY", + /** + * The backend metastore is Dataproc Metastore. + */ + DataprocMetastore: "DATAPROC_METASTORE", +} as const; + +/** + * The type of the backend metastore. + */ +export type BackendMetastoreMetastoreType = (typeof BackendMetastoreMetastoreType)[keyof typeof BackendMetastoreMetastoreType]; + export const DatabaseDumpDatabaseType = { /** * The type of the source database is unknown. diff --git a/sdk/nodejs/types/enums/metastore/v1alpha/index.ts b/sdk/nodejs/types/enums/metastore/v1alpha/index.ts index b4a5603362..d65d718e76 100644 --- a/sdk/nodejs/types/enums/metastore/v1alpha/index.ts +++ b/sdk/nodejs/types/enums/metastore/v1alpha/index.ts @@ -26,6 +26,30 @@ export const AuditLogConfigLogType = { */ export type AuditLogConfigLogType = (typeof AuditLogConfigLogType)[keyof typeof AuditLogConfigLogType]; +export const BackendMetastoreMetastoreType = { + /** + * The metastore type is not set. + */ + MetastoreTypeUnspecified: "METASTORE_TYPE_UNSPECIFIED", + /** + * The backend metastore is Dataplex. + */ + Dataplex: "DATAPLEX", + /** + * The backend metastore is BigQuery. + */ + Bigquery: "BIGQUERY", + /** + * The backend metastore is Dataproc Metastore. + */ + DataprocMetastore: "DATAPROC_METASTORE", +} as const; + +/** + * The type of the backend metastore. + */ +export type BackendMetastoreMetastoreType = (typeof BackendMetastoreMetastoreType)[keyof typeof BackendMetastoreMetastoreType]; + export const DatabaseDumpDatabaseType = { /** * The type of the source database is unknown. diff --git a/sdk/nodejs/types/enums/metastore/v1beta/index.ts b/sdk/nodejs/types/enums/metastore/v1beta/index.ts index b4a5603362..d65d718e76 100644 --- a/sdk/nodejs/types/enums/metastore/v1beta/index.ts +++ b/sdk/nodejs/types/enums/metastore/v1beta/index.ts @@ -26,6 +26,30 @@ export const AuditLogConfigLogType = { */ export type AuditLogConfigLogType = (typeof AuditLogConfigLogType)[keyof typeof AuditLogConfigLogType]; +export const BackendMetastoreMetastoreType = { + /** + * The metastore type is not set. + */ + MetastoreTypeUnspecified: "METASTORE_TYPE_UNSPECIFIED", + /** + * The backend metastore is Dataplex. + */ + Dataplex: "DATAPLEX", + /** + * The backend metastore is BigQuery. + */ + Bigquery: "BIGQUERY", + /** + * The backend metastore is Dataproc Metastore. + */ + DataprocMetastore: "DATAPROC_METASTORE", +} as const; + +/** + * The type of the backend metastore. + */ +export type BackendMetastoreMetastoreType = (typeof BackendMetastoreMetastoreType)[keyof typeof BackendMetastoreMetastoreType]; + export const DatabaseDumpDatabaseType = { /** * The type of the source database is unknown. diff --git a/sdk/nodejs/types/enums/policysimulator/v1/index.ts b/sdk/nodejs/types/enums/policysimulator/v1/index.ts index fafee5a690..05edc5c8f9 100644 --- a/sdk/nodejs/types/enums/policysimulator/v1/index.ts +++ b/sdk/nodejs/types/enums/policysimulator/v1/index.ts @@ -17,3 +17,27 @@ export const GoogleCloudPolicysimulatorV1ReplayConfigLogSource = { * The logs to use as input for the Replay. */ export type GoogleCloudPolicysimulatorV1ReplayConfigLogSource = (typeof GoogleCloudPolicysimulatorV1ReplayConfigLogSource)[keyof typeof GoogleCloudPolicysimulatorV1ReplayConfigLogSource]; + +export const GoogleIamV1AuditLogConfigLogType = { + /** + * Default case. Should never be this. + */ + LogTypeUnspecified: "LOG_TYPE_UNSPECIFIED", + /** + * Admin reads. Example: CloudIAM getIamPolicy + */ + AdminRead: "ADMIN_READ", + /** + * Data writes. Example: CloudSQL Users create + */ + DataWrite: "DATA_WRITE", + /** + * Data reads. Example: CloudSQL Users list + */ + DataRead: "DATA_READ", +} as const; + +/** + * The log type that this config enables. + */ +export type GoogleIamV1AuditLogConfigLogType = (typeof GoogleIamV1AuditLogConfigLogType)[keyof typeof GoogleIamV1AuditLogConfigLogType]; diff --git a/sdk/nodejs/types/enums/policysimulator/v1alpha/index.ts b/sdk/nodejs/types/enums/policysimulator/v1alpha/index.ts index eb54bec3af..f06b91758b 100644 --- a/sdk/nodejs/types/enums/policysimulator/v1alpha/index.ts +++ b/sdk/nodejs/types/enums/policysimulator/v1alpha/index.ts @@ -17,3 +17,27 @@ export const GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource = { * The logs to use as input for the Replay. */ export type GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource = (typeof GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource)[keyof typeof GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource]; + +export const GoogleIamV1AuditLogConfigLogType = { + /** + * Default case. Should never be this. + */ + LogTypeUnspecified: "LOG_TYPE_UNSPECIFIED", + /** + * Admin reads. Example: CloudIAM getIamPolicy + */ + AdminRead: "ADMIN_READ", + /** + * Data writes. Example: CloudSQL Users create + */ + DataWrite: "DATA_WRITE", + /** + * Data reads. Example: CloudSQL Users list + */ + DataRead: "DATA_READ", +} as const; + +/** + * The log type that this config enables. + */ +export type GoogleIamV1AuditLogConfigLogType = (typeof GoogleIamV1AuditLogConfigLogType)[keyof typeof GoogleIamV1AuditLogConfigLogType]; diff --git a/sdk/nodejs/types/enums/policysimulator/v1beta/index.ts b/sdk/nodejs/types/enums/policysimulator/v1beta/index.ts index f013b7efc6..50065f7705 100644 --- a/sdk/nodejs/types/enums/policysimulator/v1beta/index.ts +++ b/sdk/nodejs/types/enums/policysimulator/v1beta/index.ts @@ -17,3 +17,27 @@ export const GoogleCloudPolicysimulatorV1betaReplayConfigLogSource = { * The logs to use as input for the Replay. */ export type GoogleCloudPolicysimulatorV1betaReplayConfigLogSource = (typeof GoogleCloudPolicysimulatorV1betaReplayConfigLogSource)[keyof typeof GoogleCloudPolicysimulatorV1betaReplayConfigLogSource]; + +export const GoogleIamV1AuditLogConfigLogType = { + /** + * Default case. Should never be this. + */ + LogTypeUnspecified: "LOG_TYPE_UNSPECIFIED", + /** + * Admin reads. Example: CloudIAM getIamPolicy + */ + AdminRead: "ADMIN_READ", + /** + * Data writes. Example: CloudSQL Users create + */ + DataWrite: "DATA_WRITE", + /** + * Data reads. Example: CloudSQL Users list + */ + DataRead: "DATA_READ", +} as const; + +/** + * The log type that this config enables. + */ +export type GoogleIamV1AuditLogConfigLogType = (typeof GoogleIamV1AuditLogConfigLogType)[keyof typeof GoogleIamV1AuditLogConfigLogType]; diff --git a/sdk/nodejs/types/enums/policysimulator/v1beta1/index.ts b/sdk/nodejs/types/enums/policysimulator/v1beta1/index.ts index f05cc498e4..5950bd684b 100644 --- a/sdk/nodejs/types/enums/policysimulator/v1beta1/index.ts +++ b/sdk/nodejs/types/enums/policysimulator/v1beta1/index.ts @@ -17,3 +17,27 @@ export const GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource = { * The logs to use as input for the Replay. */ export type GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource = (typeof GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource)[keyof typeof GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource]; + +export const GoogleIamV1AuditLogConfigLogType = { + /** + * Default case. Should never be this. + */ + LogTypeUnspecified: "LOG_TYPE_UNSPECIFIED", + /** + * Admin reads. Example: CloudIAM getIamPolicy + */ + AdminRead: "ADMIN_READ", + /** + * Data writes. Example: CloudSQL Users create + */ + DataWrite: "DATA_WRITE", + /** + * Data reads. Example: CloudSQL Users list + */ + DataRead: "DATA_READ", +} as const; + +/** + * The log type that this config enables. + */ +export type GoogleIamV1AuditLogConfigLogType = (typeof GoogleIamV1AuditLogConfigLogType)[keyof typeof GoogleIamV1AuditLogConfigLogType]; diff --git a/sdk/nodejs/types/enums/sourcerepo/v1/index.ts b/sdk/nodejs/types/enums/sourcerepo/v1/index.ts index 6bdee92f97..5c46e66dc3 100644 --- a/sdk/nodejs/types/enums/sourcerepo/v1/index.ts +++ b/sdk/nodejs/types/enums/sourcerepo/v1/index.ts @@ -25,3 +25,23 @@ export const AuditLogConfigLogType = { * The log type that this config enables. */ export type AuditLogConfigLogType = (typeof AuditLogConfigLogType)[keyof typeof AuditLogConfigLogType]; + +export const PubsubConfigMessageFormat = { + /** + * Unspecified. + */ + MessageFormatUnspecified: "MESSAGE_FORMAT_UNSPECIFIED", + /** + * The message payload is a serialized protocol buffer of SourceRepoEvent. + */ + Protobuf: "PROTOBUF", + /** + * The message payload is a JSON string of SourceRepoEvent. + */ + Json: "JSON", +} as const; + +/** + * The format of the Cloud Pub/Sub messages. + */ +export type PubsubConfigMessageFormat = (typeof PubsubConfigMessageFormat)[keyof typeof PubsubConfigMessageFormat]; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 002e201702..1bfe870c37 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -877,7 +877,7 @@ export namespace aiplatform { /** * Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. */ - inputs: pulumi.Input<{[key: string]: pulumi.Input}>; + inputs: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Name of the source to generate embeddings for example based explanations. */ @@ -885,7 +885,131 @@ export namespace aiplatform { /** * Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. */ - outputs: pulumi.Input<{[key: string]: pulumi.Input}>; + outputs: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + */ + export interface GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs { + /** + * Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + */ + denseShapeTensorName?: pulumi.Input; + /** + * A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + */ + encodedBaselines?: pulumi.Input; + /** + * Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + */ + encodedTensorName?: pulumi.Input; + /** + * Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + */ + encoding?: pulumi.Input; + /** + * The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + */ + featureValueDomain?: pulumi.Input; + /** + * Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + */ + groupName?: pulumi.Input; + /** + * A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + */ + indexFeatureMapping?: pulumi.Input[]>; + /** + * Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + */ + indicesTensorName?: pulumi.Input; + /** + * Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + */ + inputBaselines?: pulumi.Input; + /** + * Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + */ + inputTensorName?: pulumi.Input; + /** + * Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + */ + modality?: pulumi.Input; + /** + * Visualization configurations for image explanation. + */ + visualization?: pulumi.Input; + } + + /** + * Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + */ + export interface GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs { + /** + * The maximum permissible value for this feature. + */ + maxValue?: pulumi.Input; + /** + * The minimum permissible value for this feature. + */ + minValue?: pulumi.Input; + /** + * If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + */ + originalMean?: pulumi.Input; + /** + * If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + */ + originalStddev?: pulumi.Input; + } + + /** + * Visualization configurations for image explanation. + */ + export interface GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs { + /** + * Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + */ + clipPercentLowerbound?: pulumi.Input; + /** + * Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + */ + clipPercentUpperbound?: pulumi.Input; + /** + * The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + */ + colorMap?: pulumi.Input; + /** + * How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + */ + overlayType?: pulumi.Input; + /** + * Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + */ + polarity?: pulumi.Input; + /** + * Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + */ + type?: pulumi.Input; + } + + /** + * Metadata of the prediction output to be explained. + */ + export interface GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs { + /** + * Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + */ + displayNameMappingKey?: pulumi.Input; + /** + * Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + */ + indexDisplayNameMapping?: any; + /** + * Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + */ + outputTensorName?: pulumi.Input; } /** @@ -1520,7 +1644,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. */ - attributionScoreDriftThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; + attributionScoreDriftThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. */ @@ -1528,7 +1652,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. */ - driftThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; + driftThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -1568,7 +1692,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. */ - attributionScoreSkewThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; + attributionScoreSkewThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. */ @@ -1576,7 +1700,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. */ - skewThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; + skewThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -1770,7 +1894,7 @@ export namespace aiplatform { /** * The spec of the pipeline. */ - pipelineSpec?: pulumi.Input<{[key: string]: pulumi.Input}>; + pipelineSpec?: pulumi.Input<{[key: string]: any}>; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. */ @@ -1804,17 +1928,27 @@ export namespace aiplatform { /** * The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. */ - inputArtifacts?: pulumi.Input<{[key: string]: pulumi.Input}>; + inputArtifacts?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. */ - parameterValues?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameterValues?: pulumi.Input<{[key: string]: any}>; /** * Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. * * @deprecated Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. */ - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * The type of an input artifact. + */ + export interface GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs { + /** + * Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + */ + artifactId?: pulumi.Input; } /** @@ -2465,6 +2599,24 @@ export namespace aiplatform { predictSchemata?: pulumi.Input; } + /** + * Value is the value of the field. + */ + export interface GoogleCloudAiplatformV1ValueArgs { + /** + * A double value. + */ + doubleValue?: pulumi.Input; + /** + * An integer value. + */ + intValue?: pulumi.Input; + /** + * A string value. + */ + stringValue?: pulumi.Input; + } + /** * Represents the spec of a worker pool in a job. */ @@ -2907,7 +3059,7 @@ export namespace aiplatform { /** * Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. */ - inputs: pulumi.Input<{[key: string]: pulumi.Input}>; + inputs: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Name of the source to generate embeddings for example based explanations. */ @@ -2915,7 +3067,131 @@ export namespace aiplatform { /** * Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. */ - outputs: pulumi.Input<{[key: string]: pulumi.Input}>; + outputs: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + */ + export interface GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs { + /** + * Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + */ + denseShapeTensorName?: pulumi.Input; + /** + * A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + */ + encodedBaselines?: pulumi.Input; + /** + * Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + */ + encodedTensorName?: pulumi.Input; + /** + * Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + */ + encoding?: pulumi.Input; + /** + * The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + */ + featureValueDomain?: pulumi.Input; + /** + * Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + */ + groupName?: pulumi.Input; + /** + * A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + */ + indexFeatureMapping?: pulumi.Input[]>; + /** + * Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + */ + indicesTensorName?: pulumi.Input; + /** + * Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + */ + inputBaselines?: pulumi.Input; + /** + * Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + */ + inputTensorName?: pulumi.Input; + /** + * Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + */ + modality?: pulumi.Input; + /** + * Visualization configurations for image explanation. + */ + visualization?: pulumi.Input; + } + + /** + * Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + */ + export interface GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs { + /** + * The maximum permissible value for this feature. + */ + maxValue?: pulumi.Input; + /** + * The minimum permissible value for this feature. + */ + minValue?: pulumi.Input; + /** + * If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + */ + originalMean?: pulumi.Input; + /** + * If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + */ + originalStddev?: pulumi.Input; + } + + /** + * Visualization configurations for image explanation. + */ + export interface GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs { + /** + * Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + */ + clipPercentLowerbound?: pulumi.Input; + /** + * Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + */ + clipPercentUpperbound?: pulumi.Input; + /** + * The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + */ + colorMap?: pulumi.Input; + /** + * How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + */ + overlayType?: pulumi.Input; + /** + * Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + */ + polarity?: pulumi.Input; + /** + * Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + */ + type?: pulumi.Input; + } + + /** + * Metadata of the prediction output to be explained. + */ + export interface GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs { + /** + * Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + */ + displayNameMappingKey?: pulumi.Input; + /** + * Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + */ + indexDisplayNameMapping?: any; + /** + * Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + */ + outputTensorName?: pulumi.Input; } /** @@ -3676,7 +3952,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. */ - attributionScoreDriftThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; + attributionScoreDriftThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. */ @@ -3684,7 +3960,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. */ - driftThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; + driftThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -3724,7 +4000,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. */ - attributionScoreSkewThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; + attributionScoreSkewThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. */ @@ -3732,7 +4008,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. */ - skewThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; + skewThresholds?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -3970,7 +4246,7 @@ export namespace aiplatform { /** * The spec of the pipeline. */ - pipelineSpec?: pulumi.Input<{[key: string]: pulumi.Input}>; + pipelineSpec?: pulumi.Input<{[key: string]: any}>; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. */ @@ -4004,17 +4280,27 @@ export namespace aiplatform { /** * The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. */ - inputArtifacts?: pulumi.Input<{[key: string]: pulumi.Input}>; + inputArtifacts?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. */ - parameterValues?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameterValues?: pulumi.Input<{[key: string]: any}>; /** * Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. * * @deprecated Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. */ - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * The type of an input artifact. + */ + export interface GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs { + /** + * Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + */ + artifactId?: pulumi.Input; } /** @@ -4797,6 +5083,24 @@ export namespace aiplatform { predictSchemata?: pulumi.Input; } + /** + * Value is the value of the field. + */ + export interface GoogleCloudAiplatformV1beta1ValueArgs { + /** + * A double value. + */ + doubleValue?: pulumi.Input; + /** + * An integer value. + */ + intValue?: pulumi.Input; + /** + * A string value. + */ + stringValue?: pulumi.Input; + } + /** * Represents the spec of a worker pool in a job. */ @@ -7243,7 +7547,7 @@ export namespace appengine { /** * Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. */ - files?: pulumi.Input<{[key: string]: pulumi.Input}>; + files?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The zip file for this deployment, if this is a zip deployment. */ @@ -7336,6 +7640,24 @@ export namespace appengine { useContainerOptimizedOs?: pulumi.Input; } + /** + * Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + */ + export interface FileInfoArgs { + /** + * The MIME type of the file.Defaults to the value from Google Cloud Storage. + */ + mimeType?: pulumi.Input; + /** + * The SHA1 hash of the file, in hex. + */ + sha1Sum?: pulumi.Input; + /** + * URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + */ + sourceUrl?: pulumi.Input; + } + /** * Runtime settings for the App Engine flexible environment. */ @@ -8017,7 +8339,7 @@ export namespace appengine { /** * Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. */ - files?: pulumi.Input<{[key: string]: pulumi.Input}>; + files?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The zip file for this deployment, if this is a zip deployment. */ @@ -8110,6 +8432,24 @@ export namespace appengine { useContainerOptimizedOs?: pulumi.Input; } + /** + * Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + */ + export interface FileInfoArgs { + /** + * The MIME type of the file.Defaults to the value from Google Cloud Storage. + */ + mimeType?: pulumi.Input; + /** + * The SHA1 hash of the file, in hex. + */ + sha1Sum?: pulumi.Input; + /** + * URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + */ + sourceUrl?: pulumi.Input; + } + /** * Runtime settings for the App Engine flexible environment. */ @@ -8575,6 +8915,78 @@ export namespace artifactregistry { role?: pulumi.Input; } + /** + * Artifact policy configuration for repository cleanup policies. + */ + export interface CleanupPolicyArgs { + /** + * Policy action. + */ + action?: pulumi.Input; + /** + * Policy condition for matching versions. + */ + condition?: pulumi.Input; + /** + * The user-provided ID of the cleanup policy. + */ + id?: pulumi.Input; + /** + * Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + */ + mostRecentVersions?: pulumi.Input; + } + + /** + * CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. + */ + export interface CleanupPolicyConditionArgs { + /** + * Match versions newer than a duration. + */ + newerThan?: pulumi.Input; + /** + * Match versions older than a duration. + */ + olderThan?: pulumi.Input; + /** + * Match versions by package prefix. Applied on any prefix match. + */ + packageNamePrefixes?: pulumi.Input[]>; + /** + * Match versions by tag prefix. Applied on any prefix match. + */ + tagPrefixes?: pulumi.Input[]>; + /** + * Match versions by tag status. + */ + tagState?: pulumi.Input; + /** + * DEPRECATED: Use older_than. + * + * @deprecated DEPRECATED: Use older_than. + */ + versionAge?: pulumi.Input; + /** + * Match versions by version name prefix. Applied on any prefix match. + */ + versionNamePrefixes?: pulumi.Input[]>; + } + + /** + * CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. + */ + export interface CleanupPolicyMostRecentVersionsArgs { + /** + * Minimum number of versions to keep. + */ + keepCount?: pulumi.Input; + /** + * List of package name prefixes that will apply this rule. + */ + packageNamePrefixes?: pulumi.Input[]>; + } + /** * Configuration for a Docker remote repository. */ @@ -10081,7 +10493,7 @@ export namespace beyondcorp { /** * Specific details for the resource. This is for internal use only. */ - resource?: pulumi.Input<{[key: string]: pulumi.Input}>; + resource?: pulumi.Input<{[key: string]: any}>; /** * Overall health status. Overall status is derived based on the status of each sub level resources. */ @@ -10250,7 +10662,7 @@ export namespace beyondcorp { /** * Specific details for the resource. This is for internal use only. */ - resource?: pulumi.Input<{[key: string]: pulumi.Input}>; + resource?: pulumi.Input<{[key: string]: any}>; /** * Overall health status. Overall status is derived based on the status of each sub level resources. */ @@ -10328,7 +10740,7 @@ export namespace beyondcorp { /** * The value of the Setting. */ - value: pulumi.Input<{[key: string]: pulumi.Input}>; + value: pulumi.Input<{[key: string]: any}>; } /** @@ -10434,7 +10846,7 @@ export namespace beyondcorp { /** * Specific details for the resource. */ - resource?: pulumi.Input<{[key: string]: pulumi.Input}>; + resource?: pulumi.Input<{[key: string]: any}>; /** * Overall health status. Overall status is derived based on the status of each sub level resources. */ @@ -11339,7 +11751,7 @@ export namespace bigquery { /** * [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. */ - tableDefinitions?: pulumi.Input<{[key: string]: pulumi.Input}>; + tableDefinitions?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. */ @@ -11541,7 +11953,7 @@ export namespace bigquery { /** * [Optional] The struct field values, in order of the struct type's declaration. */ - structValues?: pulumi.Input<{[key: string]: pulumi.Input}>; + structValues?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * [Optional] The value of this value, if a simple scalar type. */ @@ -12251,6 +12663,36 @@ export namespace bigtableadmin { retentionPeriod?: pulumi.Input; } + /** + * A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance. + */ + export interface ClusterArgs { + /** + * Configuration for this cluster. + */ + clusterConfig?: pulumi.Input; + /** + * Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. + */ + defaultStorageType?: pulumi.Input; + /** + * Immutable. The encryption configuration for CMEK-protected clusters. + */ + encryptionConfig?: pulumi.Input; + /** + * Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. + */ + location?: pulumi.Input; + /** + * The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. + */ + name?: pulumi.Input; + /** + * The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. + */ + serveNodes?: pulumi.Input; + } + /** * Autoscaling config for a cluster. */ @@ -12275,6 +12717,16 @@ export namespace bigtableadmin { clusterAutoscalingConfig?: pulumi.Input; } + /** + * A set of columns within a table which share a common configuration. + */ + export interface ColumnFamilyArgs { + /** + * Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + */ + gcRule?: pulumi.Input; + } + /** * Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster. */ @@ -12307,6 +12759,38 @@ export namespace bigtableadmin { title?: pulumi.Input; } + /** + * Rule for determining which cells to delete during garbage collection. + */ + export interface GcRuleArgs { + /** + * Delete cells that would be deleted by every nested rule. + */ + intersection?: pulumi.Input; + /** + * Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + */ + maxAge?: pulumi.Input; + /** + * Delete all cells in a column except the most recent N. + */ + maxNumVersions?: pulumi.Input; + /** + * Delete cells that would be deleted by any nested rule. + */ + union?: pulumi.Input; + } + + /** + * A GcRule which deletes cells matching all of the given rules. + */ + export interface IntersectionArgs { + /** + * Only delete cells which would be deleted by every element of `rules`. + */ + rules?: pulumi.Input[]>; + } + /** * Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability. */ @@ -12351,6 +12835,16 @@ export namespace bigtableadmin { priority?: pulumi.Input; } + /** + * A GcRule which deletes cells matching any of the given rules. + */ + export interface UnionArgs { + /** + * Delete cells which would be deleted by any element of `rules`. + */ + rules?: pulumi.Input[]>; + } + } } @@ -12407,7 +12901,7 @@ export namespace billingbudgets { /** * Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ */ - labels?: pulumi.Input<{[key: string]: pulumi.Input}>; + labels?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. */ @@ -12588,7 +13082,7 @@ export namespace billingbudgets { /** * Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ */ - labels?: pulumi.Input<{[key: string]: pulumi.Input}>; + labels?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. */ @@ -14876,7 +15370,7 @@ export namespace cloudchannel { /** * Represents an 'Any' proto value. */ - protoValue?: pulumi.Input<{[key: string]: pulumi.Input}>; + protoValue?: pulumi.Input<{[key: string]: any}>; /** * Represents a string value. */ @@ -20814,7 +21308,7 @@ export namespace compute { /** * Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. */ - scalingSchedules?: pulumi.Input<{[key: string]: pulumi.Input}>; + scalingSchedules?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -20895,6 +21389,36 @@ export namespace compute { timeWindowSec?: pulumi.Input; } + /** + * Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + */ + export interface AutoscalingPolicyScalingScheduleArgs { + /** + * A description of a scaling schedule. + */ + description?: pulumi.Input; + /** + * A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + */ + disabled?: pulumi.Input; + /** + * The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + */ + durationSec?: pulumi.Input; + /** + * The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + */ + minRequiredReplicas?: pulumi.Input; + /** + * The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + */ + schedule?: pulumi.Input; + /** + * The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + */ + timeZone?: pulumi.Input; + } + /** * Message containing information of one individual backend. */ @@ -21305,13 +21829,27 @@ export namespace compute { /** * Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. */ - perInstanceProperties?: pulumi.Input<{[key: string]: pulumi.Input}>; + perInstanceProperties?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. */ sourceInstanceTemplate?: pulumi.Input; } + /** + * Per-instance properties to be set on individual instances. To be extended in the future. + */ + export interface BulkInsertInstanceResourcePerInstancePropertiesArgs { + /** + * Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + */ + hostname?: pulumi.Input; + /** + * This field is only temporary. It will be removed. Do not use it. + */ + name?: pulumi.Input; + } + /** * Message containing what to include in the cache key for a request for Cloud CDN. */ @@ -22586,11 +23124,22 @@ export namespace compute { /** * Named instance selections configuring properties that the group will use when creating new VMs. */ - instanceSelectionLists?: pulumi.Input<{[key: string]: pulumi.Input}>; + instanceSelectionLists?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Named instance selections configuring properties that the group will use when creating new VMs. */ - instanceSelections?: pulumi.Input<{[key: string]: pulumi.Input}>; + instanceSelections?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + export interface InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs { + /** + * Full machine-type names, e.g. "n1-standard-16". + */ + machineTypes?: pulumi.Input[]>; + /** + * Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + */ + rank?: pulumi.Input; } export interface InstanceGroupManagerInstanceLifecyclePolicyArgs { @@ -22749,7 +23298,7 @@ export namespace compute { /** * Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. */ - partnerMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + partnerMetadata?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * PostKeyRevocationActionType of the instance. */ @@ -22785,7 +23334,7 @@ export namespace compute { /** * Mapping of user defined keys to ServiceIntegrationSpec. */ - serviceIntegrationSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; + serviceIntegrationSpecs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Note that for MachineImage, this is not supported yet. */ @@ -22965,13 +23514,38 @@ export namespace compute { /** * Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. */ - locations?: pulumi.Input<{[key: string]: pulumi.Input}>; + locations?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Strategy for distributing VMs across zones in a region. */ targetShape?: pulumi.Input; } + export interface LocationPolicyLocationArgs { + /** + * Constraints that the caller requires on the result distribution in this zone. + */ + constraints?: pulumi.Input; + /** + * Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + */ + names?: pulumi.Input[]>; + /** + * Preference for a given location. Set to either ALLOW or DENY. + */ + preference?: pulumi.Input; + } + + /** + * Per-zone constraints on location policy for this zone. + */ + export interface LocationPolicyLocationConstraintsArgs { + /** + * Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + */ + maxCount?: pulumi.Input; + } + /** * This is deprecated and has no effect. Do not use. */ @@ -25237,6 +25811,23 @@ export namespace compute { routingMode?: pulumi.Input; } + /** + * Specifies the parameters to configure an integration with instances. + */ + export interface ServiceIntegrationSpecArgs { + backupDr?: pulumi.Input; + } + + /** + * Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. + */ + export interface ServiceIntegrationSpecBackupDRSpecArgs { + /** + * The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + */ + plan?: pulumi.Input; + } + /** * The share setting for reservations and sole tenancy node groups. */ @@ -25244,11 +25835,11 @@ export namespace compute { /** * A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. */ - folderMap?: pulumi.Input<{[key: string]: pulumi.Input}>; + folderMap?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ - projectMap?: pulumi.Input<{[key: string]: pulumi.Input}>; + projectMap?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ @@ -25259,6 +25850,26 @@ export namespace compute { shareType?: pulumi.Input; } + /** + * Config for each folder in the share settings. + */ + export interface ShareSettingsFolderConfigArgs { + /** + * The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + */ + folderId?: pulumi.Input; + } + + /** + * Config for each project in the share settings. + */ + export interface ShareSettingsProjectConfigArgs { + /** + * The project ID, should be same as the key of this project config in the parent map. + */ + project?: pulumi.Input; + } + /** * A set of Shielded Instance options. */ @@ -25371,15 +25982,36 @@ export namespace compute { /** * Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. */ - disks?: pulumi.Input<{[key: string]: pulumi.Input}>; + disks?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - externalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; + externalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - internalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; + internalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + export interface StatefulPolicyPreservedStateDiskDeviceArgs { + /** + * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + */ + autoDelete?: pulumi.Input; + } + + export interface StatefulPolicyPreservedStateNetworkIpArgs { + /** + * These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + */ + autoDelete?: pulumi.Input; + } + + export interface StructuredEntriesArgs { + /** + * Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + */ + entries?: pulumi.Input<{[key: string]: any}>; } /** @@ -26108,7 +26740,7 @@ export namespace compute { /** * Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. */ - scalingSchedules?: pulumi.Input<{[key: string]: pulumi.Input}>; + scalingSchedules?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -26189,6 +26821,36 @@ export namespace compute { timeWindowSec?: pulumi.Input; } + /** + * Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + */ + export interface AutoscalingPolicyScalingScheduleArgs { + /** + * A description of a scaling schedule. + */ + description?: pulumi.Input; + /** + * A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + */ + disabled?: pulumi.Input; + /** + * The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + */ + durationSec?: pulumi.Input; + /** + * The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + */ + minRequiredReplicas?: pulumi.Input; + /** + * The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + */ + schedule?: pulumi.Input; + /** + * The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + */ + timeZone?: pulumi.Input; + } + /** * Message containing information of one individual backend. */ @@ -27722,7 +28384,18 @@ export namespace compute { /** * Named instance selections configuring properties that the group will use when creating new VMs. */ - instanceSelectionLists?: pulumi.Input<{[key: string]: pulumi.Input}>; + instanceSelectionLists?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + export interface InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs { + /** + * Full machine-type names, e.g. "n1-standard-16". + */ + machineTypes?: pulumi.Input[]>; + /** + * Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + */ + rank?: pulumi.Input; } export interface InstanceGroupManagerInstanceLifecyclePolicyArgs { @@ -29893,7 +30566,7 @@ export namespace compute { /** * A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ - projectMap?: pulumi.Input<{[key: string]: pulumi.Input}>; + projectMap?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ @@ -29904,6 +30577,16 @@ export namespace compute { shareType?: pulumi.Input; } + /** + * Config for each project in the share settings. + */ + export interface ShareSettingsProjectConfigArgs { + /** + * The project ID, should be same as the key of this project config in the parent map. + */ + project?: pulumi.Input; + } + /** * A set of Shielded Instance options. */ @@ -30016,15 +30699,29 @@ export namespace compute { /** * Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. */ - disks?: pulumi.Input<{[key: string]: pulumi.Input}>; + disks?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - externalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; + externalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - internalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; + internalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + export interface StatefulPolicyPreservedStateDiskDeviceArgs { + /** + * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + */ + autoDelete?: pulumi.Input; + } + + export interface StatefulPolicyPreservedStateNetworkIpArgs { + /** + * These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + */ + autoDelete?: pulumi.Input; } /** @@ -30599,7 +31296,7 @@ export namespace compute { /** * Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. */ - scalingSchedules?: pulumi.Input<{[key: string]: pulumi.Input}>; + scalingSchedules?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -30666,6 +31363,36 @@ export namespace compute { timeWindowSec?: pulumi.Input; } + /** + * Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + */ + export interface AutoscalingPolicyScalingScheduleArgs { + /** + * A description of a scaling schedule. + */ + description?: pulumi.Input; + /** + * A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + */ + disabled?: pulumi.Input; + /** + * The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + */ + durationSec?: pulumi.Input; + /** + * The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + */ + minRequiredReplicas?: pulumi.Input; + /** + * The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + */ + schedule?: pulumi.Input; + /** + * The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + */ + timeZone?: pulumi.Input; + } + /** * Message containing information of one individual backend. */ @@ -33965,13 +34692,23 @@ export namespace compute { /** * A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ - projectMap?: pulumi.Input<{[key: string]: pulumi.Input}>; + projectMap?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Type of sharing for this shared-reservation */ shareType?: pulumi.Input; } + /** + * Config for each project in the share settings. + */ + export interface ShareSettingsProjectConfigArgs { + /** + * The project ID, should be same as the key of this project config in the parent map. + */ + project?: pulumi.Input; + } + /** * A set of Shielded Instance options. */ @@ -34056,15 +34793,29 @@ export namespace compute { /** * Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. */ - disks?: pulumi.Input<{[key: string]: pulumi.Input}>; + disks?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - externalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; + externalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - internalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; + internalIPs?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + export interface StatefulPolicyPreservedStateDiskDeviceArgs { + /** + * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + */ + autoDelete?: pulumi.Input; + } + + export interface StatefulPolicyPreservedStateNetworkIpArgs { + /** + * These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + */ + autoDelete?: pulumi.Input; } /** @@ -35791,7 +36542,7 @@ export namespace container { /** * Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. */ - maintenanceExclusions?: pulumi.Input<{[key: string]: pulumi.Input}>; + maintenanceExclusions?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. */ @@ -37704,7 +38455,7 @@ export namespace container { /** * Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. */ - maintenanceExclusions?: pulumi.Input<{[key: string]: pulumi.Input}>; + maintenanceExclusions?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. */ @@ -39004,8 +39755,8 @@ export namespace containeranalysis { export interface BuildDefinitionArgs { buildType?: pulumi.Input; - externalParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; - internalParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + externalParameters?: pulumi.Input<{[key: string]: any}>; + internalParameters?: pulumi.Input<{[key: string]: any}>; resolvedDependencies?: pulumi.Input[]>; } @@ -39559,6 +40310,16 @@ export namespace containeranalysis { title?: pulumi.Input; } + /** + * Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + */ + export interface FileHashesArgs { + /** + * Collection of file hashes. + */ + fileHash: pulumi.Input[]>; + } + /** * A set of properties that uniquely identify a given Docker image. */ @@ -39649,8 +40410,8 @@ export namespace containeranalysis { */ export interface GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs { configSource?: pulumi.Input; - environment?: pulumi.Input<{[key: string]: pulumi.Input}>; - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + environment?: pulumi.Input<{[key: string]: any}>; + parameters?: pulumi.Input<{[key: string]: any}>; } /** @@ -39672,6 +40433,20 @@ export namespace containeranalysis { reproducible?: pulumi.Input; } + /** + * Container message for hash values. + */ + export interface HashArgs { + /** + * The type of hash that was performed, e.g. "SHA-256". + */ + type: pulumi.Input; + /** + * The hash value. + */ + value: pulumi.Input; + } + /** * This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from "readable" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify. */ @@ -40066,7 +40841,7 @@ export namespace containeranalysis { /** * Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". */ - arguments?: pulumi.Input}>[]>; + arguments?: pulumi.Input[]>; /** * Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. */ @@ -40078,7 +40853,7 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". */ - environment?: pulumi.Input}>[]>; + environment?: pulumi.Input[]>; /** * URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. */ @@ -40132,7 +40907,7 @@ export namespace containeranalysis { } export interface ResourceDescriptorArgs { - annotations?: pulumi.Input<{[key: string]: pulumi.Input}>; + annotations?: pulumi.Input<{[key: string]: any}>; content?: pulumi.Input; digest?: pulumi.Input<{[key: string]: pulumi.Input}>; downloadLocation?: pulumi.Input; @@ -40327,7 +41102,7 @@ export namespace containeranalysis { * See full explanation of fields at slsa.dev/provenance/v0.2. */ export interface SlsaProvenanceZeroTwoArgs { - buildConfig?: pulumi.Input<{[key: string]: pulumi.Input}>; + buildConfig?: pulumi.Input<{[key: string]: any}>; buildType?: pulumi.Input; builder?: pulumi.Input; invocation?: pulumi.Input; @@ -40342,7 +41117,7 @@ export namespace containeranalysis { /** * Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. */ - arguments?: pulumi.Input<{[key: string]: pulumi.Input}>; + arguments?: pulumi.Input<{[key: string]: any}>; /** * Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. */ @@ -40354,7 +41129,7 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. */ - environment?: pulumi.Input<{[key: string]: pulumi.Input}>; + environment?: pulumi.Input<{[key: string]: any}>; /** * URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. */ @@ -40380,7 +41155,7 @@ export namespace containeranalysis { /** * Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. */ - fileHashes?: pulumi.Input<{[key: string]: pulumi.Input}>; + fileHashes?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -40416,7 +41191,7 @@ export namespace containeranalysis { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details?: pulumi.Input}>[]>; + details?: pulumi.Input[]>; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -40860,8 +41635,8 @@ export namespace containeranalysis { export interface BuildDefinitionArgs { buildType?: pulumi.Input; - externalParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; - internalParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + externalParameters?: pulumi.Input<{[key: string]: any}>; + internalParameters?: pulumi.Input<{[key: string]: any}>; resolvedDependencies?: pulumi.Input[]>; } @@ -41536,6 +42311,16 @@ export namespace containeranalysis { type?: pulumi.Input; } + /** + * Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. + */ + export interface FileHashesArgs { + /** + * Collection of file hashes. + */ + fileHash?: pulumi.Input[]>; + } + /** * Indicates the location at which a package was found. */ @@ -41769,11 +42554,11 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the build. */ - environment?: pulumi.Input<{[key: string]: pulumi.Input}>; + environment?: pulumi.Input<{[key: string]: any}>; /** * Collection of all external inputs that influenced the build on top of invocation.configSource. */ - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameters?: pulumi.Input<{[key: string]: any}>; } /** @@ -42294,7 +43079,7 @@ export namespace containeranalysis { /** * Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. */ - arguments?: pulumi.Input}>[]>; + arguments?: pulumi.Input[]>; /** * Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. */ @@ -42306,7 +43091,7 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. */ - environment?: pulumi.Input}>[]>; + environment?: pulumi.Input[]>; /** * URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. */ @@ -42418,7 +43203,7 @@ export namespace containeranalysis { } export interface ResourceDescriptorArgs { - annotations?: pulumi.Input<{[key: string]: pulumi.Input}>; + annotations?: pulumi.Input<{[key: string]: any}>; content?: pulumi.Input; digest?: pulumi.Input<{[key: string]: pulumi.Input}>; downloadLocation?: pulumi.Input; @@ -42600,7 +43385,7 @@ export namespace containeranalysis { /** * Lists the steps in the build. */ - buildConfig?: pulumi.Input<{[key: string]: pulumi.Input}>; + buildConfig?: pulumi.Input<{[key: string]: any}>; /** * URI indicating what type of build was performed. */ @@ -42630,7 +43415,7 @@ export namespace containeranalysis { /** * Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. */ - arguments?: pulumi.Input<{[key: string]: pulumi.Input}>; + arguments?: pulumi.Input<{[key: string]: any}>; /** * Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. */ @@ -42642,7 +43427,7 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. */ - environment?: pulumi.Input<{[key: string]: pulumi.Input}>; + environment?: pulumi.Input<{[key: string]: any}>; /** * URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. */ @@ -42668,7 +43453,7 @@ export namespace containeranalysis { /** * Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. */ - fileHashes?: pulumi.Input<{[key: string]: pulumi.Input}>; + fileHashes?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * If provided, get source from this location in a Cloud Repo. */ @@ -42690,7 +43475,7 @@ export namespace containeranalysis { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details?: pulumi.Input}>[]>; + details?: pulumi.Input[]>; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -43154,8 +43939,8 @@ export namespace containeranalysis { export interface BuildDefinitionArgs { buildType?: pulumi.Input; - externalParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; - internalParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + externalParameters?: pulumi.Input<{[key: string]: any}>; + internalParameters?: pulumi.Input<{[key: string]: any}>; resolvedDependencies?: pulumi.Input[]>; } @@ -43701,6 +44486,16 @@ export namespace containeranalysis { type?: pulumi.Input; } + /** + * Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + */ + export interface FileHashesArgs { + /** + * Collection of file hashes. + */ + fileHash: pulumi.Input[]>; + } + /** * FileNote represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/ */ @@ -44453,7 +45248,7 @@ export namespace containeranalysis { } export interface ResourceDescriptorArgs { - annotations?: pulumi.Input<{[key: string]: pulumi.Input}>; + annotations?: pulumi.Input<{[key: string]: any}>; content?: pulumi.Input; digest?: pulumi.Input<{[key: string]: pulumi.Input}>; downloadLocation?: pulumi.Input; @@ -44621,7 +45416,7 @@ export namespace containeranalysis { /** * Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. */ - fileHashes?: pulumi.Input<{[key: string]: pulumi.Input}>; + fileHashes?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -44657,7 +45452,7 @@ export namespace containeranalysis { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details?: pulumi.Input}>[]>; + details?: pulumi.Input[]>; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -45008,6 +45803,16 @@ export namespace contentwarehouse { validationCheckDisabled?: pulumi.Input; } + /** + * Represents the string value of the enum field. + */ + export interface GoogleCloudContentwarehouseV1EnumValueArgs { + /** + * String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + */ + value?: pulumi.Input; + } + /** * Float values. */ @@ -45047,7 +45852,7 @@ export namespace contentwarehouse { /** * Unordered map of dynamically typed values. */ - fields?: pulumi.Input<{[key: string]: pulumi.Input}>; + fields?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -45340,6 +46145,40 @@ export namespace contentwarehouse { id?: pulumi.Input; } + /** + * `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + */ + export interface GoogleCloudContentwarehouseV1ValueArgs { + /** + * Represents a boolean value. + */ + booleanValue?: pulumi.Input; + /** + * Represents a datetime value. + */ + datetimeValue?: pulumi.Input; + /** + * Represents an enum value. + */ + enumValue?: pulumi.Input; + /** + * Represents a float value. + */ + floatValue?: pulumi.Input; + /** + * Represents a integer value. + */ + intValue?: pulumi.Input; + /** + * Represents a string value. + */ + stringValue?: pulumi.Input; + /** + * Represents a timestamp value. + */ + timestampValue?: pulumi.Input; + } + /** * Encodes the detailed information of a barcode. */ @@ -46381,7 +47220,7 @@ export namespace contentwarehouse { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details?: pulumi.Input}>[]>; + details?: pulumi.Input[]>; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -46741,6 +47580,16 @@ export namespace datacatalog { type?: pulumi.Input; } + /** + * Common statistics on the entry's usage. They can be set on any system. + */ + export interface GoogleCloudDatacatalogV1CommonUsageStatsArgs { + /** + * View count in source system. + */ + viewCount?: pulumi.Input; + } + /** * Contact people for the entry. */ @@ -46855,6 +47704,31 @@ export namespace datacatalog { overview?: pulumi.Input; } + export interface GoogleCloudDatacatalogV1FieldTypeArgs { + /** + * An enum type. + */ + enumType?: pulumi.Input; + /** + * Primitive types, such as string, boolean, etc. + */ + primitiveType?: pulumi.Input; + } + + export interface GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs { + /** + * The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + */ + allowedValues?: pulumi.Input[]>; + } + + export interface GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs { + /** + * The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + */ + displayName: pulumi.Input; + } + /** * Specification that applies to a fileset. Valid only for entries with the 'FILESET' type. */ @@ -47093,6 +47967,32 @@ export namespace datacatalog { updateTime?: pulumi.Input; } + /** + * The template for an individual field within a tag template. + */ + export interface GoogleCloudDatacatalogV1TagTemplateFieldArgs { + /** + * The description for this field. Defaults to an empty string. + */ + description?: pulumi.Input; + /** + * The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + */ + displayName?: pulumi.Input; + /** + * If true, this field is required. Defaults to false. + */ + isRequired?: pulumi.Input; + /** + * The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + */ + order?: pulumi.Input; + /** + * The type of value this tag field can contain. + */ + type: pulumi.Input; + } + /** * The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day. */ @@ -47100,7 +48000,7 @@ export namespace datacatalog { /** * Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. */ - commonUsageWithinTimeRange?: pulumi.Input<{[key: string]: pulumi.Input}>; + commonUsageWithinTimeRange?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Favorite count in the source system. */ @@ -47254,6 +48154,28 @@ export namespace datacatalog { type: pulumi.Input; } + export interface GoogleCloudDatacatalogV1beta1FieldTypeArgs { + /** + * Represents an enum type. + */ + enumType?: pulumi.Input; + /** + * Represents primitive types - string, bool etc. + */ + primitiveType?: pulumi.Input; + } + + export interface GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs { + allowedValues?: pulumi.Input[]>; + } + + export interface GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs { + /** + * The display name of the enum value. Must not be an empty string. + */ + displayName: pulumi.Input; + } + /** * Describes a Cloud Storage fileset entry. */ @@ -47280,6 +48202,32 @@ export namespace datacatalog { export interface GoogleCloudDatacatalogV1beta1TableSpecArgs { } + /** + * The template for an individual field within a tag template. + */ + export interface GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs { + /** + * The description for this field. Defaults to an empty string. + */ + description?: pulumi.Input; + /** + * The display name for this field. Defaults to an empty string. + */ + displayName?: pulumi.Input; + /** + * Whether this is a required field. Defaults to false. + */ + isRequired?: pulumi.Input; + /** + * The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + */ + order?: pulumi.Input; + /** + * The type of value this tag field can contain. + */ + type: pulumi.Input; + } + /** * Table view specification. */ @@ -47518,11 +48466,11 @@ export namespace dataflow { /** * Experimental settings. */ - internalExperiments?: pulumi.Input<{[key: string]: pulumi.Input}>; + internalExperiments?: pulumi.Input<{[key: string]: any}>; /** * The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. */ - sdkPipelineOptions?: pulumi.Input<{[key: string]: pulumi.Input}>; + sdkPipelineOptions?: pulumi.Input<{[key: string]: any}>; /** * Identity to run virtual machines as. Defaults to the default account. */ @@ -47542,11 +48490,11 @@ export namespace dataflow { /** * A description of the process that generated the request. */ - userAgent?: pulumi.Input<{[key: string]: pulumi.Input}>; + userAgent?: pulumi.Input<{[key: string]: any}>; /** * A structure describing which components and their versions of the service are required in order to run the job. */ - version?: pulumi.Input<{[key: string]: pulumi.Input}>; + version?: pulumi.Input<{[key: string]: any}>; /** * The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. */ @@ -47634,7 +48582,17 @@ export namespace dataflow { /** * A mapping from each stage to the information about that stage. */ - stages?: pulumi.Input<{[key: string]: pulumi.Input}>; + stages?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * Contains information about how a particular google.dataflow.v1beta3.Step will be executed. + */ + export interface JobExecutionStageInfoArgs { + /** + * The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + */ + stepName?: pulumi.Input[]>; } /** @@ -47912,7 +48870,7 @@ export namespace dataflow { /** * Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. */ - properties?: pulumi.Input<{[key: string]: pulumi.Input}>; + properties?: pulumi.Input<{[key: string]: any}>; } /** @@ -48094,7 +49052,7 @@ export namespace dataflow { /** * Extra arguments for this worker pool. */ - poolArgs?: pulumi.Input<{[key: string]: pulumi.Input}>; + poolArgs?: pulumi.Input<{[key: string]: any}>; /** * Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. */ @@ -49163,7 +50121,7 @@ export namespace datamigration { /** * Optional. Custom engine specific features. */ - customFeatures?: pulumi.Input<{[key: string]: pulumi.Input}>; + customFeatures?: pulumi.Input<{[key: string]: any}>; /** * Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. */ @@ -49423,7 +50381,7 @@ export namespace datamigration { /** * Optional. Custom engine specific features. */ - customFeatures?: pulumi.Input<{[key: string]: pulumi.Input}>; + customFeatures?: pulumi.Input<{[key: string]: any}>; /** * New data type. */ @@ -49715,7 +50673,7 @@ export namespace datamigration { /** * Optional. Custom engine specific features. */ - customFeatures?: pulumi.Input<{[key: string]: pulumi.Input}>; + customFeatures?: pulumi.Input<{[key: string]: any}>; /** * Optional. Column data type name. */ @@ -56281,7 +57239,7 @@ export namespace dialogflow { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameters?: pulumi.Input<{[key: string]: any}>; } /** @@ -56729,7 +57687,7 @@ export namespace dialogflow { /** * A custom platform-specific response. */ - payload?: pulumi.Input<{[key: string]: pulumi.Input}>; + payload?: pulumi.Input<{[key: string]: any}>; /** * Optional. The platform that this message is intended for. */ @@ -57375,7 +58333,7 @@ export namespace dialogflow { /** * Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. */ - synthesizeSpeechConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + synthesizeSpeechConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -57424,7 +58382,7 @@ export namespace dialogflow { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameters?: pulumi.Input<{[key: string]: any}>; } /** @@ -57816,7 +58774,7 @@ export namespace dialogflow { /** * A custom platform-specific response. */ - payload?: pulumi.Input<{[key: string]: pulumi.Input}>; + payload?: pulumi.Input<{[key: string]: any}>; /** * Optional. The platform that this message is intended for. */ @@ -58676,7 +59634,7 @@ export namespace dialogflow { /** * Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. */ - synthesizeSpeechConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + synthesizeSpeechConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -58855,7 +59813,7 @@ export namespace dialogflow { /** * Parameters that need to be injected into the conversation during intent detection. */ - injectedParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + injectedParameters?: pulumi.Input<{[key: string]: any}>; /** * Supports text input, event input, dtmf input in the test case. */ @@ -58877,11 +59835,11 @@ export namespace dialogflow { /** * Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. */ - diagnosticInfo: pulumi.Input<{[key: string]: pulumi.Input}>; + diagnosticInfo: pulumi.Input<{[key: string]: any}>; /** * The session parameters available to the bot at this point. */ - sessionParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + sessionParameters?: pulumi.Input<{[key: string]: any}>; /** * Response error from the agent in the test result. If set, other output is empty. */ @@ -59553,7 +60511,7 @@ export namespace dialogflow { /** * Returns a response containing a custom, platform-specific payload. */ - payload?: pulumi.Input<{[key: string]: pulumi.Input}>; + payload?: pulumi.Input<{[key: string]: any}>; /** * Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. */ @@ -59579,7 +60537,7 @@ export namespace dialogflow { /** * Custom metadata. Dialogflow doesn't impose any structure on this. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; } /** @@ -59595,7 +60553,7 @@ export namespace dialogflow { /** * Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; } /** @@ -59738,6 +60696,32 @@ export namespace dialogflow { enableSpeechAdaptation?: pulumi.Input; } + /** + * Configuration of how speech should be synthesized. + */ + export interface GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs { + /** + * Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + */ + effectsProfileId?: pulumi.Input[]>; + /** + * Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + */ + pitch?: pulumi.Input; + /** + * Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + */ + speakingRate?: pulumi.Input; + /** + * Optional. The desired voice of the synthesized audio. + */ + voice?: pulumi.Input; + /** + * Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + */ + volumeGainDb?: pulumi.Input; + } + /** * Represents a result from running a test case in an agent environment. */ @@ -59799,7 +60783,7 @@ export namespace dialogflow { /** * Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. */ - synthesizeSpeechConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + synthesizeSpeechConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -59874,6 +60858,20 @@ export namespace dialogflow { version?: pulumi.Input; } + /** + * Description of which voice to use for speech synthesis. + */ + export interface GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs { + /** + * Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + */ + name?: pulumi.Input; + /** + * Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + */ + ssmlGender?: pulumi.Input; + } + /** * Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend. */ @@ -59971,7 +60969,7 @@ export namespace dialogflow { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details?: pulumi.Input}>[]>; + details?: pulumi.Input[]>; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -60140,7 +61138,7 @@ export namespace dialogflow { /** * Parameters that need to be injected into the conversation during intent detection. */ - injectedParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + injectedParameters?: pulumi.Input<{[key: string]: any}>; /** * Supports text input, event input, dtmf input in the test case. */ @@ -60162,11 +61160,11 @@ export namespace dialogflow { /** * Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. */ - diagnosticInfo: pulumi.Input<{[key: string]: pulumi.Input}>; + diagnosticInfo: pulumi.Input<{[key: string]: any}>; /** * The session parameters available to the bot at this point. */ - sessionParameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + sessionParameters?: pulumi.Input<{[key: string]: any}>; /** * Response error from the agent in the test result. If set, other output is empty. */ @@ -60838,7 +61836,7 @@ export namespace dialogflow { /** * Returns a response containing a custom, platform-specific payload. */ - payload?: pulumi.Input<{[key: string]: pulumi.Input}>; + payload?: pulumi.Input<{[key: string]: any}>; /** * Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. */ @@ -60860,7 +61858,7 @@ export namespace dialogflow { /** * Custom metadata. Dialogflow doesn't impose any structure on this. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; } /** @@ -60876,7 +61874,7 @@ export namespace dialogflow { /** * Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. */ - metadata?: pulumi.Input<{[key: string]: pulumi.Input}>; + metadata?: pulumi.Input<{[key: string]: any}>; } /** @@ -61019,6 +62017,32 @@ export namespace dialogflow { enableSpeechAdaptation?: pulumi.Input; } + /** + * Configuration of how speech should be synthesized. + */ + export interface GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs { + /** + * Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + */ + effectsProfileId?: pulumi.Input[]>; + /** + * Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + */ + pitch?: pulumi.Input; + /** + * Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + */ + speakingRate?: pulumi.Input; + /** + * Optional. The desired voice of the synthesized audio. + */ + voice?: pulumi.Input; + /** + * Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + */ + volumeGainDb?: pulumi.Input; + } + /** * Represents a result from running a test case in an agent environment. */ @@ -61080,7 +62104,7 @@ export namespace dialogflow { /** * Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. */ - synthesizeSpeechConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + synthesizeSpeechConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -61155,6 +62179,20 @@ export namespace dialogflow { version?: pulumi.Input; } + /** + * Description of which voice to use for speech synthesis. + */ + export interface GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs { + /** + * Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + */ + name?: pulumi.Input; + /** + * Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + */ + ssmlGender?: pulumi.Input; + } + /** * Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend. */ @@ -61252,7 +62290,7 @@ export namespace dialogflow { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details?: pulumi.Input}>[]>; + details?: pulumi.Input[]>; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -67561,6 +68599,12 @@ export namespace gkehub { fleetScopeLogsConfig?: pulumi.Input; } + /** + * **FleetObservability**: The membership-specific input for FleetObservability feature. + */ + export interface FleetObservabilityMembershipSpecArgs { + } + /** * RoutingConfig configures the behaviour of fleet logging feature. */ @@ -67751,6 +68795,36 @@ export namespace gkehub { onPremCluster?: pulumi.Input; } + /** + * MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + */ + export interface MembershipFeatureSpecArgs { + /** + * Config Management-specific spec. + */ + configmanagement?: pulumi.Input; + /** + * Fleet observability membership spec + */ + fleetobservability?: pulumi.Input; + /** + * Identity Service-specific spec. + */ + identityservice?: pulumi.Input; + /** + * Anthos Service Mesh-specific spec + */ + mesh?: pulumi.Input; + /** + * Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + */ + origin?: pulumi.Input; + /** + * Policy Controller spec. + */ + policycontroller?: pulumi.Input; + } + /** * MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. */ @@ -67815,6 +68889,16 @@ export namespace gkehub { resourceLink?: pulumi.Input; } + /** + * Origin defines where this MembershipFeatureSpec originated from. + */ + export interface OriginArgs { + /** + * Type specifies which type of origin is set. + */ + type?: pulumi.Input; + } + /** * Binauthz policy that applies to this cluster. */ @@ -67825,6 +68909,16 @@ export namespace gkehub { name?: pulumi.Input; } + /** + * BundleInstallSpec is the specification configuration for a single managed bundle. + */ + export interface PolicyControllerBundleInstallSpecArgs { + /** + * The set of namespaces to be exempted from the bundle. + */ + exemptedNamespaces?: pulumi.Input[]>; + } + /** * Configuration for Policy Controller */ @@ -67840,7 +68934,7 @@ export namespace gkehub { /** * Map of deployment configs to deployments ("admission", "audit", "mutation'). */ - deploymentConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + deploymentConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. */ @@ -67902,13 +68996,67 @@ export namespace gkehub { /** * map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. */ - bundles?: pulumi.Input<{[key: string]: pulumi.Input}>; + bundles?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Configures the installation of the Template Library. */ templateLibrary?: pulumi.Input; } + /** + * Deployment-specific configuration. + */ + export interface PolicyControllerPolicyControllerDeploymentConfigArgs { + /** + * Container resource requirements. + */ + containerResources?: pulumi.Input; + /** + * Pod affinity configuration. + */ + podAffinity?: pulumi.Input; + /** + * Pod anti-affinity enablement. + */ + podAntiAffinity?: pulumi.Input; + /** + * Pod tolerations of node taints. + */ + podTolerations?: pulumi.Input[]>; + /** + * Pod replica count. + */ + replicaCount?: pulumi.Input; + } + + /** + * ResourceList contains container resource requirements. + */ + export interface PolicyControllerResourceListArgs { + /** + * CPU requirement expressed in Kubernetes resource units. + */ + cpu?: pulumi.Input; + /** + * Memory requirement expressed in Kubernetes resource units. + */ + memory?: pulumi.Input; + } + + /** + * ResourceRequirements describes the compute resource requirements. + */ + export interface PolicyControllerResourceRequirementsArgs { + /** + * Limits describes the maximum amount of compute resources allowed for use by the running container. + */ + limits?: pulumi.Input; + /** + * Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + */ + requests?: pulumi.Input; + } + /** * The config specifying which default library templates to install. */ @@ -67919,6 +69067,28 @@ export namespace gkehub { installation?: pulumi.Input; } + /** + * Toleration of a node taint. + */ + export interface PolicyControllerTolerationArgs { + /** + * Matches a taint effect. + */ + effect?: pulumi.Input; + /** + * Matches a taint key (not necessarily unique). + */ + key?: pulumi.Input; + /** + * Matches a taint operator. + */ + operator?: pulumi.Input; + /** + * Matches a taint value. + */ + value?: pulumi.Input; + } + /** * ResourceOptions represent options for Kubernetes resource generation. */ @@ -67947,6 +69117,12 @@ export namespace gkehub { predefinedRole?: pulumi.Input; } + /** + * ScopeFeatureSpec contains feature specs for a fleet scope. + */ + export interface ScopeFeatureSpecArgs { + } + /** * SecurityPostureConfig defines the flags needed to enable/disable features for the Security Posture API. */ @@ -68108,6 +69284,20 @@ export namespace gkehub { allowlistedServiceAccounts?: pulumi.Input[]>; } + /** + * **Cloud Build**: Configurations for each Cloud Build enabled cluster. + */ + export interface CloudBuildMembershipSpecArgs { + /** + * Whether it is allowed to run the privileged builds on the cluster or not. + */ + securityPolicy?: pulumi.Input; + /** + * Version of the cloud build software on the cluster. + */ + version?: pulumi.Input; + } + /** * **ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature. */ @@ -68164,6 +69354,24 @@ export namespace gkehub { soaking: pulumi.Input; } + /** + * **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. + */ + export interface ClusterUpgradeScopeSpecArgs { + /** + * Allow users to override some properties of each GKE upgrade. + */ + gkeUpgradeOverrides?: pulumi.Input[]>; + /** + * Post conditions to evaluate to mark an upgrade COMPLETE. Required. + */ + postConditions: pulumi.Input; + /** + * This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + */ + upstreamScopes?: pulumi.Input[]>; + } + /** * CommonFeatureSpec contains Hub-wide configuration information */ @@ -68516,6 +69724,12 @@ export namespace gkehub { fleetScopeLogsConfig?: pulumi.Input; } + /** + * **FleetObservability**: The membership-specific input for FleetObservability feature. + */ + export interface FleetObservabilityMembershipSpecArgs { + } + /** * RoutingConfig configures the behaviour of fleet logging feature. */ @@ -68706,6 +69920,52 @@ export namespace gkehub { onPremCluster?: pulumi.Input; } + /** + * MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + */ + export interface MembershipFeatureSpecArgs { + /** + * Anthos Observability-specific spec + */ + anthosobservability?: pulumi.Input; + /** + * Cloud Build-specific spec + */ + cloudbuild?: pulumi.Input; + /** + * Config Management-specific spec. + */ + configmanagement?: pulumi.Input; + /** + * Fleet observability membership spec + */ + fleetobservability?: pulumi.Input; + /** + * Identity Service-specific spec. + */ + identityservice?: pulumi.Input; + /** + * Anthos Service Mesh-specific spec + */ + mesh?: pulumi.Input; + /** + * FNS Actuation membership spec + */ + namespaceactuation?: pulumi.Input; + /** + * Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + */ + origin?: pulumi.Input; + /** + * Policy Controller spec. + */ + policycontroller?: pulumi.Input; + /** + * Workload Certificate spec. + */ + workloadcertificate?: pulumi.Input; + } + /** * **Workload Certificate**: The membership-specific input for WorkloadCertificate feature. */ @@ -68778,6 +70038,12 @@ export namespace gkehub { actuationMode?: pulumi.Input; } + /** + * **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. + */ + export interface NamespaceActuationMembershipSpecArgs { + } + /** * OnPremCluster contains information specific to GKE On-Prem clusters. */ @@ -68796,6 +70062,16 @@ export namespace gkehub { resourceLink?: pulumi.Input; } + /** + * Origin defines where this MembershipFeatureSpec originated from. + */ + export interface OriginArgs { + /** + * Type specifies which type of origin is set. + */ + type?: pulumi.Input; + } + /** * Binauthz policy that applies to this cluster. */ @@ -68806,6 +70082,16 @@ export namespace gkehub { name?: pulumi.Input; } + /** + * BundleInstallSpec is the specification configuration for a single managed bundle. + */ + export interface PolicyControllerBundleInstallSpecArgs { + /** + * The set of namespaces to be exempted from the bundle. + */ + exemptedNamespaces?: pulumi.Input[]>; + } + /** * Configuration for Policy Controller */ @@ -68821,7 +70107,7 @@ export namespace gkehub { /** * Map of deployment configs to deployments ("admission", "audit", "mutation'). */ - deploymentConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + deploymentConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. */ @@ -68883,13 +70169,67 @@ export namespace gkehub { /** * map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. */ - bundles?: pulumi.Input<{[key: string]: pulumi.Input}>; + bundles?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Configures the installation of the Template Library. */ templateLibrary?: pulumi.Input; } + /** + * Deployment-specific configuration. + */ + export interface PolicyControllerPolicyControllerDeploymentConfigArgs { + /** + * Container resource requirements. + */ + containerResources?: pulumi.Input; + /** + * Pod affinity configuration. + */ + podAffinity?: pulumi.Input; + /** + * Pod anti-affinity enablement. + */ + podAntiAffinity?: pulumi.Input; + /** + * Pod tolerations of node taints. + */ + podTolerations?: pulumi.Input[]>; + /** + * Pod replica count. + */ + replicaCount?: pulumi.Input; + } + + /** + * ResourceList contains container resource requirements. + */ + export interface PolicyControllerResourceListArgs { + /** + * CPU requirement expressed in Kubernetes resource units. + */ + cpu?: pulumi.Input; + /** + * Memory requirement expressed in Kubernetes resource units. + */ + memory?: pulumi.Input; + } + + /** + * ResourceRequirements describes the compute resource requirements. + */ + export interface PolicyControllerResourceRequirementsArgs { + /** + * Limits describes the maximum amount of compute resources allowed for use by the running container. + */ + limits?: pulumi.Input; + /** + * Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + */ + requests?: pulumi.Input; + } + /** * The config specifying which default library templates to install. */ @@ -68900,6 +70240,28 @@ export namespace gkehub { installation?: pulumi.Input; } + /** + * Toleration of a node taint. + */ + export interface PolicyControllerTolerationArgs { + /** + * Matches a taint effect. + */ + effect?: pulumi.Input; + /** + * Matches a taint key (not necessarily unique). + */ + key?: pulumi.Input; + /** + * Matches a taint operator. + */ + operator?: pulumi.Input; + /** + * Matches a taint value. + */ + value?: pulumi.Input; + } + /** * ResourceOptions represent options for Kubernetes resource generation. */ @@ -68928,6 +70290,16 @@ export namespace gkehub { predefinedRole?: pulumi.Input; } + /** + * ScopeFeatureSpec contains feature specs for a fleet scope. + */ + export interface ScopeFeatureSpecArgs { + /** + * Spec for the ClusterUpgrade feature at the scope level + */ + clusterupgrade?: pulumi.Input; + } + /** * SecurityPostureConfig defines the flags needed to enable/disable features for the Security Posture API. */ @@ -69696,6 +71068,12 @@ export namespace gkehub { fleetScopeLogsConfig?: pulumi.Input; } + /** + * **FleetObservability**: The membership-specific input for FleetObservability feature. + */ + export interface FleetObservabilityMembershipSpecArgs { + } + /** * RoutingConfig configures the behaviour of fleet logging feature. */ @@ -69886,6 +71264,58 @@ export namespace gkehub { onPremCluster?: pulumi.Input; } + /** + * MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + */ + export interface MembershipFeatureSpecArgs { + /** + * Anthos Observability-specific spec + */ + anthosobservability?: pulumi.Input; + /** + * Cloud Build-specific spec + */ + cloudbuild?: pulumi.Input; + /** + * Config Management-specific spec. + */ + configmanagement?: pulumi.Input; + /** + * Fleet observability membership spec + */ + fleetobservability?: pulumi.Input; + /** + * Identity Service-specific spec. + */ + identityservice?: pulumi.Input; + /** + * Anthos Service Mesh-specific spec + */ + mesh?: pulumi.Input; + /** + * Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + */ + origin?: pulumi.Input; + /** + * Policy Controller spec. + */ + policycontroller?: pulumi.Input; + } + + /** + * **Cloud Build**: Configurations for each Cloud Build enabled cluster. + */ + export interface MembershipSpecArgs { + /** + * Whether it is allowed to run the privileged builds on the cluster or not. + */ + securityPolicy?: pulumi.Input; + /** + * Version of the cloud build software on the cluster. + */ + version?: pulumi.Input; + } + /** * MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. */ @@ -69956,6 +71386,16 @@ export namespace gkehub { resourceLink?: pulumi.Input; } + /** + * Origin defines where this MembershipFeatureSpec originated from. + */ + export interface OriginArgs { + /** + * Type specifies which type of origin is set. + */ + type?: pulumi.Input; + } + /** * Binauthz policy that applies to this cluster. */ @@ -69966,6 +71406,16 @@ export namespace gkehub { name?: pulumi.Input; } + /** + * BundleInstallSpec is the specification configuration for a single managed bundle. + */ + export interface PolicyControllerBundleInstallSpecArgs { + /** + * The set of namespaces to be exempted from the bundle. + */ + exemptedNamespaces?: pulumi.Input[]>; + } + /** * Configuration for Policy Controller */ @@ -69981,7 +71431,7 @@ export namespace gkehub { /** * Map of deployment configs to deployments ("admission", "audit", "mutation'). */ - deploymentConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + deploymentConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. */ @@ -70043,13 +71493,67 @@ export namespace gkehub { /** * map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. */ - bundles?: pulumi.Input<{[key: string]: pulumi.Input}>; + bundles?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Configures the installation of the Template Library. */ templateLibrary?: pulumi.Input; } + /** + * Deployment-specific configuration. + */ + export interface PolicyControllerPolicyControllerDeploymentConfigArgs { + /** + * Container resource requirements. + */ + containerResources?: pulumi.Input; + /** + * Pod affinity configuration. + */ + podAffinity?: pulumi.Input; + /** + * Pod anti-affinity enablement. + */ + podAntiAffinity?: pulumi.Input; + /** + * Pod tolerations of node taints. + */ + podTolerations?: pulumi.Input[]>; + /** + * Pod replica count. + */ + replicaCount?: pulumi.Input; + } + + /** + * ResourceList contains container resource requirements. + */ + export interface PolicyControllerResourceListArgs { + /** + * CPU requirement expressed in Kubernetes resource units. + */ + cpu?: pulumi.Input; + /** + * Memory requirement expressed in Kubernetes resource units. + */ + memory?: pulumi.Input; + } + + /** + * ResourceRequirements describes the compute resource requirements. + */ + export interface PolicyControllerResourceRequirementsArgs { + /** + * Limits describes the maximum amount of compute resources allowed for use by the running container. + */ + limits?: pulumi.Input; + /** + * Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + */ + requests?: pulumi.Input; + } + /** * The config specifying which default library templates to install. */ @@ -70060,6 +71564,28 @@ export namespace gkehub { installation?: pulumi.Input; } + /** + * Toleration of a node taint. + */ + export interface PolicyControllerTolerationArgs { + /** + * Matches a taint effect. + */ + effect?: pulumi.Input; + /** + * Matches a taint key (not necessarily unique). + */ + key?: pulumi.Input; + /** + * Matches a taint operator. + */ + operator?: pulumi.Input; + /** + * Matches a taint value. + */ + value?: pulumi.Input; + } + /** * ResourceOptions represent options for Kubernetes resource generation. */ @@ -70088,6 +71614,12 @@ export namespace gkehub { predefinedRole?: pulumi.Input; } + /** + * ScopeFeatureSpec contains feature specs for a fleet scope. + */ + export interface ScopeFeatureSpecArgs { + } + /** * SecurityPostureConfig defines the flags needed to enable/disable features for the Security Posture API. */ @@ -71871,6 +73403,14 @@ export namespace healthcare { writeDisposition?: pulumi.Input; } + /** + * Construct representing a logical group or a segment. + */ + export interface GroupOrSegmentArgs { + group?: pulumi.Input; + segment?: pulumi.Input; + } + /** * Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. */ @@ -71878,7 +73418,7 @@ export namespace healthcare { /** * Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. */ - messageSchemaConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + messageSchemaConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Each VersionSource is tested and only if they all match is the schema used for the message. */ @@ -72061,6 +73601,32 @@ export namespace healthcare { schemaType?: pulumi.Input; } + /** + * An HL7v2 logical group construct. + */ + export interface SchemaGroupArgs { + /** + * True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + */ + choice?: pulumi.Input; + /** + * The maximum number of times this group can be repeated. 0 or -1 means unbounded. + */ + maxOccurs?: pulumi.Input; + /** + * Nested groups and/or segments. + */ + members?: pulumi.Input[]>; + /** + * The minimum number of times this group must be present/repeated. + */ + minOccurs?: pulumi.Input; + /** + * The name of this group. For example, "ORDER_DETAIL". + */ + name?: pulumi.Input; + } + /** * A schema package contains a set of schemas and type definitions. */ @@ -72087,6 +73653,24 @@ export namespace healthcare { unexpectedSegmentHandling?: pulumi.Input; } + /** + * An HL7v2 Segment. + */ + export interface SchemaSegmentArgs { + /** + * The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + */ + maxOccurs?: pulumi.Input; + /** + * The minimum number of times this segment can be present in this group. + */ + minOccurs?: pulumi.Input; + /** + * The Segment type. For example, "PID". + */ + type?: pulumi.Input; + } + /** * The content of an HL7v2 message in a structured format as specified by a schema. */ @@ -72597,6 +74181,13 @@ export namespace healthcare { export interface DeleteTagArgs { } + /** + * Contains multiple sensitive information findings for each resource slice. + */ + export interface DetailArgs { + findings?: pulumi.Input[]>; + } + /** * Specifies the parameters needed for de-identification of DICOM stores. */ @@ -72759,6 +74350,25 @@ export namespace healthcare { paths?: pulumi.Input[]>; } + export interface FindingArgs { + /** + * Zero-based ending index of the found text, exclusively. + */ + end?: pulumi.Input; + /** + * The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + */ + infoType?: pulumi.Input; + /** + * The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + */ + quote?: pulumi.Input; + /** + * Zero-based starting index of the found text, inclusively. + */ + start?: pulumi.Input; + } + /** * Represents a user's consent in terms of the resources that can be accessed and under what conditions. */ @@ -72883,6 +74493,14 @@ export namespace healthcare { writeDisposition?: pulumi.Input; } + /** + * Construct representing a logical group or a segment. + */ + export interface GroupOrSegmentArgs { + group?: pulumi.Input; + segment?: pulumi.Input; + } + /** * Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. */ @@ -72890,7 +74508,7 @@ export namespace healthcare { /** * Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. */ - messageSchemaConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; + messageSchemaConfigs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Each VersionSource is tested and only if they all match is the schema used for the message. */ @@ -73171,6 +74789,32 @@ export namespace healthcare { schemaType?: pulumi.Input; } + /** + * An HL7v2 logical group construct. + */ + export interface SchemaGroupArgs { + /** + * True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + */ + choice?: pulumi.Input; + /** + * The maximum number of times this group can be repeated. 0 or -1 means unbounded. + */ + maxOccurs?: pulumi.Input; + /** + * Nested groups and/or segments. + */ + members?: pulumi.Input[]>; + /** + * The minimum number of times this group must be present/repeated. + */ + minOccurs?: pulumi.Input; + /** + * The name of this group. For example, "ORDER_DETAIL". + */ + name?: pulumi.Input; + } + /** * A schema package contains a set of schemas and type definitions. */ @@ -73197,6 +74841,24 @@ export namespace healthcare { unexpectedSegmentHandling?: pulumi.Input; } + /** + * An HL7v2 Segment. + */ + export interface SchemaSegmentArgs { + /** + * The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + */ + maxOccurs?: pulumi.Input; + /** + * The minimum number of times this segment can be present in this group. + */ + minOccurs?: pulumi.Input; + /** + * The Segment type. For example, "PID". + */ + type?: pulumi.Input; + } + /** * The content of an HL7v2 message in a structured format as specified by a schema. */ @@ -73242,7 +74904,7 @@ export namespace healthcare { /** * Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} */ - details?: pulumi.Input<{[key: string]: pulumi.Input}>; + details?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -74566,7 +76228,7 @@ export namespace integrations { intArray?: pulumi.Input; intValue?: pulumi.Input; protoArray?: pulumi.Input; - protoValue?: pulumi.Input<{[key: string]: pulumi.Input}>; + protoValue?: pulumi.Input<{[key: string]: any}>; serializedObjectValue?: pulumi.Input; stringArray?: pulumi.Input; stringValue?: pulumi.Input; @@ -74587,7 +76249,7 @@ export namespace integrations { } export interface EnterpriseCrmEventbusProtoProtoParameterArrayArgs { - protoValues?: pulumi.Input}>[]>; + protoValues?: pulumi.Input[]>; } export interface EnterpriseCrmEventbusProtoSerializedObjectParameterArgs { @@ -74825,7 +76487,7 @@ export namespace integrations { doubleValue?: pulumi.Input; intArray?: pulumi.Input; intValue?: pulumi.Input; - protoValue?: pulumi.Input<{[key: string]: pulumi.Input}>; + protoValue?: pulumi.Input<{[key: string]: any}>; stringArray?: pulumi.Input; stringValue?: pulumi.Input; } @@ -75031,14 +76693,14 @@ export namespace integrations { intValue?: pulumi.Input; jsonValue?: pulumi.Input; protoArray?: pulumi.Input; - protoValue?: pulumi.Input<{[key: string]: pulumi.Input}>; + protoValue?: pulumi.Input<{[key: string]: any}>; serializedObjectValue?: pulumi.Input; stringArray?: pulumi.Input; stringValue?: pulumi.Input; } export interface EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs { - protoValues?: pulumi.Input}>[]>; + protoValues?: pulumi.Input[]>; } /** @@ -75127,7 +76789,7 @@ export namespace integrations { /** * The customized parameters the user can pass to this task. */ - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. Informs the front-end application where to draw this task config on the UI. */ @@ -76075,7 +77737,7 @@ export namespace integrations { /** * Optional. The customized parameters the user can pass to this task. */ - parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. Informs the front-end application where to draw this error catcher config on the UI. */ @@ -76319,6 +77981,24 @@ export namespace jobs { minCompensation?: pulumi.Input; } + /** + * Custom attribute values that are either filterable or non-filterable. + */ + export interface CustomAttributeArgs { + /** + * Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + */ + filterable?: pulumi.Input; + /** + * Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + */ + longValues?: pulumi.Input[]>; + /** + * Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + */ + stringValues?: pulumi.Input[]>; + } + /** * Represents an amount of money with its currency type. */ @@ -76426,6 +78106,28 @@ export namespace jobs { minCompensation?: pulumi.Input; } + /** + * Custom attribute values that are either filterable or non-filterable. + */ + export interface CustomAttributeArgs { + /** + * If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + */ + filterable?: pulumi.Input; + /** + * If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + */ + keywordSearchable?: pulumi.Input; + /** + * Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + */ + longValues?: pulumi.Input[]>; + /** + * Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + */ + stringValues?: pulumi.Input[]>; + } + /** * Represents an amount of money with its currency type. */ @@ -77250,6 +78952,34 @@ export namespace metastore { logType?: pulumi.Input; } + /** + * Configuration information for the auxiliary service versions. + */ + export interface AuxiliaryVersionConfigArgs { + /** + * A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + */ + configOverrides?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + */ + version?: pulumi.Input; + } + + /** + * Represents a backend metastore for the federation. + */ + export interface BackendMetastoreArgs { + /** + * The type of the backend metastore. + */ + metastoreType?: pulumi.Input; + /** + * The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + */ + name?: pulumi.Input; + } + /** * Associates members, or principals, with a role. */ @@ -77349,7 +79079,7 @@ export namespace metastore { /** * A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. */ - auxiliaryVersions?: pulumi.Input<{[key: string]: pulumi.Input}>; + auxiliaryVersions?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. */ @@ -77485,6 +79215,34 @@ export namespace metastore { logType?: pulumi.Input; } + /** + * Configuration information for the auxiliary service versions. + */ + export interface AuxiliaryVersionConfigArgs { + /** + * A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + */ + configOverrides?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + */ + version?: pulumi.Input; + } + + /** + * Represents a backend metastore for the federation. + */ + export interface BackendMetastoreArgs { + /** + * The type of the backend metastore. + */ + metastoreType?: pulumi.Input; + /** + * The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + */ + name?: pulumi.Input; + } + /** * Associates members, or principals, with a role. */ @@ -77552,7 +79310,7 @@ export namespace metastore { /** * A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. */ - lakeResources?: pulumi.Input<{[key: string]: pulumi.Input}>; + lakeResources?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -77594,7 +79352,7 @@ export namespace metastore { /** * A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. */ - auxiliaryVersions?: pulumi.Input<{[key: string]: pulumi.Input}>; + auxiliaryVersions?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. */ @@ -77631,6 +79389,16 @@ export namespace metastore { principal?: pulumi.Input; } + /** + * Represents a Lake resource + */ + export interface LakeArgs { + /** + * The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + */ + name?: pulumi.Input; + } + /** * Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service. */ @@ -77738,6 +79506,34 @@ export namespace metastore { logType?: pulumi.Input; } + /** + * Configuration information for the auxiliary service versions. + */ + export interface AuxiliaryVersionConfigArgs { + /** + * A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + */ + configOverrides?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + */ + version?: pulumi.Input; + } + + /** + * Represents a backend metastore for the federation. + */ + export interface BackendMetastoreArgs { + /** + * The type of the backend metastore. + */ + metastoreType?: pulumi.Input; + /** + * The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + */ + name?: pulumi.Input; + } + /** * Associates members, or principals, with a role. */ @@ -77805,7 +79601,7 @@ export namespace metastore { /** * A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. */ - lakeResources?: pulumi.Input<{[key: string]: pulumi.Input}>; + lakeResources?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -77847,7 +79643,7 @@ export namespace metastore { /** * A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. */ - auxiliaryVersions?: pulumi.Input<{[key: string]: pulumi.Input}>; + auxiliaryVersions?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. */ @@ -77884,6 +79680,16 @@ export namespace metastore { principal?: pulumi.Input; } + /** + * Represents a Lake resource + */ + export interface LakeArgs { + /** + * The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + */ + name?: pulumi.Input; + } + /** * Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service. */ @@ -80988,7 +82794,7 @@ export namespace monitoring { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details?: pulumi.Input}>[]>; + details?: pulumi.Input[]>; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -86882,7 +88688,97 @@ export namespace policysimulator { /** * A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. */ - policyOverlay?: pulumi.Input<{[key: string]: pulumi.Input}>; + policyOverlay?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + */ + export interface GoogleIamV1AuditConfigArgs { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: pulumi.Input[]>; + /** + * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + */ + service?: pulumi.Input; + } + + /** + * Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + */ + export interface GoogleIamV1AuditLogConfigArgs { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers?: pulumi.Input[]>; + /** + * The log type that this config enables. + */ + logType?: pulumi.Input; + } + + /** + * Associates `members`, or principals, with a `role`. + */ + export interface GoogleIamV1BindingArgs { + /** + * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + condition?: pulumi.Input; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + */ + members?: pulumi.Input[]>; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + */ + role?: pulumi.Input; + } + + /** + * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + */ + export interface GoogleIamV1PolicyArgs { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: pulumi.Input[]>; + /** + * Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + */ + bindings?: pulumi.Input[]>; + /** + * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + */ + etag?: pulumi.Input; + /** + * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + version?: pulumi.Input; + } + + /** + * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + */ + export interface GoogleTypeExprArgs { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description?: pulumi.Input; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression?: pulumi.Input; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location?: pulumi.Input; + /** + * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + */ + title?: pulumi.Input; } } @@ -86899,7 +88795,97 @@ export namespace policysimulator { /** * A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. */ - policyOverlay?: pulumi.Input<{[key: string]: pulumi.Input}>; + policyOverlay?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + */ + export interface GoogleIamV1AuditConfigArgs { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: pulumi.Input[]>; + /** + * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + */ + service?: pulumi.Input; + } + + /** + * Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + */ + export interface GoogleIamV1AuditLogConfigArgs { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers?: pulumi.Input[]>; + /** + * The log type that this config enables. + */ + logType?: pulumi.Input; + } + + /** + * Associates `members`, or principals, with a `role`. + */ + export interface GoogleIamV1BindingArgs { + /** + * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + condition?: pulumi.Input; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + */ + members?: pulumi.Input[]>; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + */ + role?: pulumi.Input; + } + + /** + * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + */ + export interface GoogleIamV1PolicyArgs { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: pulumi.Input[]>; + /** + * Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + */ + bindings?: pulumi.Input[]>; + /** + * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + */ + etag?: pulumi.Input; + /** + * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + version?: pulumi.Input; + } + + /** + * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + */ + export interface GoogleTypeExprArgs { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description?: pulumi.Input; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression?: pulumi.Input; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location?: pulumi.Input; + /** + * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + */ + title?: pulumi.Input; } } @@ -86916,7 +88902,97 @@ export namespace policysimulator { /** * A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. */ - policyOverlay?: pulumi.Input<{[key: string]: pulumi.Input}>; + policyOverlay?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + */ + export interface GoogleIamV1AuditConfigArgs { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: pulumi.Input[]>; + /** + * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + */ + service?: pulumi.Input; + } + + /** + * Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + */ + export interface GoogleIamV1AuditLogConfigArgs { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers?: pulumi.Input[]>; + /** + * The log type that this config enables. + */ + logType?: pulumi.Input; + } + + /** + * Associates `members`, or principals, with a `role`. + */ + export interface GoogleIamV1BindingArgs { + /** + * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + condition?: pulumi.Input; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + */ + members?: pulumi.Input[]>; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + */ + role?: pulumi.Input; + } + + /** + * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + */ + export interface GoogleIamV1PolicyArgs { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: pulumi.Input[]>; + /** + * Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + */ + bindings?: pulumi.Input[]>; + /** + * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + */ + etag?: pulumi.Input; + /** + * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + version?: pulumi.Input; + } + + /** + * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + */ + export interface GoogleTypeExprArgs { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description?: pulumi.Input; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression?: pulumi.Input; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location?: pulumi.Input; + /** + * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + */ + title?: pulumi.Input; } } @@ -86933,7 +89009,97 @@ export namespace policysimulator { /** * A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. */ - policyOverlay?: pulumi.Input<{[key: string]: pulumi.Input}>; + policyOverlay?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + */ + export interface GoogleIamV1AuditConfigArgs { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs?: pulumi.Input[]>; + /** + * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + */ + service?: pulumi.Input; + } + + /** + * Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + */ + export interface GoogleIamV1AuditLogConfigArgs { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers?: pulumi.Input[]>; + /** + * The log type that this config enables. + */ + logType?: pulumi.Input; + } + + /** + * Associates `members`, or principals, with a `role`. + */ + export interface GoogleIamV1BindingArgs { + /** + * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + condition?: pulumi.Input; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + */ + members?: pulumi.Input[]>; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + */ + role?: pulumi.Input; + } + + /** + * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + */ + export interface GoogleIamV1PolicyArgs { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs?: pulumi.Input[]>; + /** + * Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + */ + bindings?: pulumi.Input[]>; + /** + * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + */ + etag?: pulumi.Input; + /** + * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + version?: pulumi.Input; + } + + /** + * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + */ + export interface GoogleTypeExprArgs { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description?: pulumi.Input; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression?: pulumi.Input; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location?: pulumi.Input; + /** + * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + */ + title?: pulumi.Input; } } @@ -88208,11 +90374,31 @@ export namespace recommendationengine { /** * Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` */ - categoricalFeatures?: pulumi.Input<{[key: string]: pulumi.Input}>; + categoricalFeatures?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` */ - numericalFeatures?: pulumi.Input<{[key: string]: pulumi.Input}>; + numericalFeatures?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + /** + * A list of float features. + */ + export interface GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs { + /** + * Float feature value. + */ + value?: pulumi.Input[]>; + } + + /** + * A list of string features. + */ + export interface GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs { + /** + * String feature value with a length limit of 128 bytes. + */ + value?: pulumi.Input[]>; } /** @@ -88248,7 +90434,7 @@ export namespace recommendationengine { /** * Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) */ - costs?: pulumi.Input<{[key: string]: pulumi.Input}>; + costs?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. */ @@ -88675,6 +90861,28 @@ export namespace retail { startTime?: pulumi.Input; } + /** + * A custom attribute that is not explicitly modeled in Product. + */ + export interface GoogleCloudRetailV2CustomAttributeArgs { + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + */ + indexable?: pulumi.Input; + /** + * The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + numbers?: pulumi.Input[]>; + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + */ + searchable?: pulumi.Input; + /** + * The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + text?: pulumi.Input[]>; + } + /** * Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. */ @@ -89074,6 +91282,28 @@ export namespace retail { startTime?: pulumi.Input; } + /** + * A custom attribute that is not explicitly modeled in Product. + */ + export interface GoogleCloudRetailV2alphaCustomAttributeArgs { + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + */ + indexable?: pulumi.Input; + /** + * The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + numbers?: pulumi.Input[]>; + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + */ + searchable?: pulumi.Input; + /** + * The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + text?: pulumi.Input[]>; + } + /** * Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. */ @@ -89605,6 +91835,28 @@ export namespace retail { startTime?: pulumi.Input; } + /** + * A custom attribute that is not explicitly modeled in Product. + */ + export interface GoogleCloudRetailV2betaCustomAttributeArgs { + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + */ + indexable?: pulumi.Input; + /** + * The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + numbers?: pulumi.Input[]>; + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + */ + searchable?: pulumi.Input; + /** + * The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + text?: pulumi.Input[]>; + } + /** * Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. */ @@ -92214,10 +94466,6 @@ export namespace servicemanagement { * The number of seconds to wait for the completion of a long running operation. The default is no deadline. */ operationDeadline?: pulumi.Input; - /** - * The map between request protocol and the backend address. - */ - overridesByRequestProtocol?: pulumi.Input<{[key: string]: pulumi.Input}>; pathTranslation?: pulumi.Input; /** * The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. @@ -93140,7 +95388,7 @@ export namespace servicemanagement { /** * The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. */ - value?: pulumi.Input<{[key: string]: pulumi.Input}>; + value?: pulumi.Input<{[key: string]: any}>; } /** @@ -93356,7 +95604,7 @@ export namespace servicemanagement { /** * Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. */ - percentages?: pulumi.Input<{[key: string]: pulumi.Input}>; + percentages?: pulumi.Input<{[key: string]: pulumi.Input}>; } /** @@ -93520,6 +95768,24 @@ export namespace sourcerepo { webhookId?: pulumi.Input; } + /** + * Configuration to publish a Cloud Pub/Sub message. + */ + export interface PubsubConfigArgs { + /** + * The format of the Cloud Pub/Sub messages. + */ + messageFormat?: pulumi.Input; + /** + * Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + */ + serviceAccountEmail?: pulumi.Input; + /** + * A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + */ + topic?: pulumi.Input; + } + } } @@ -100708,7 +102974,7 @@ export namespace vmwareengine { /** * The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). */ - nodeTypeConfigs: pulumi.Input<{[key: string]: pulumi.Input}>; + nodeTypeConfigs: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. */ @@ -100739,6 +103005,20 @@ export namespace vmwareengine { enabled?: pulumi.Input; } + /** + * Information about the type and number of nodes associated with the cluster. + */ + export interface NodeTypeConfigArgs { + /** + * Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + */ + customCoreCount?: pulumi.Input; + /** + * The number of nodes of this type in the cluster + */ + nodeCount: pulumi.Input; + } + /** * Configuration of a stretched cluster. */ diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 09b6e5f447..a54a14193a 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -598,6 +598,60 @@ export namespace aiplatform { trainingConfig: outputs.aiplatform.v1.GoogleCloudAiplatformV1TrainingConfigResponse; } + /** + * Instance of a general artifact. + */ + export interface GoogleCloudAiplatformV1ArtifactResponse { + /** + * Timestamp when this Artifact was created. + */ + createTime: string; + /** + * Description of the Artifact + */ + description: string; + /** + * User provided display name of the Artifact. May be up to 128 Unicode characters. + */ + displayName: string; + /** + * An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + */ + etag: string; + /** + * The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + */ + labels: {[key: string]: string}; + /** + * Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + */ + metadata: {[key: string]: any}; + /** + * The resource name of the Artifact. + */ + name: string; + /** + * The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + */ + schemaTitle: string; + /** + * The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + */ + schemaVersion: string; + /** + * The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + */ + state: string; + /** + * Timestamp when this Artifact was last updated. + */ + updateTime: string; + /** + * The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + */ + uri: string; + } + /** * A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. */ @@ -821,7 +875,7 @@ export namespace aiplatform { /** * Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; /** * Immutable. The resource name of the Context. */ @@ -1191,7 +1245,7 @@ export namespace aiplatform { /** * Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; /** * The resource name of the Execution. */ @@ -1214,6 +1268,130 @@ export namespace aiplatform { updateTime: string; } + /** + * Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + */ + export interface GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse { + /** + * The maximum permissible value for this feature. + */ + maxValue: number; + /** + * The minimum permissible value for this feature. + */ + minValue: number; + /** + * If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + */ + originalMean: number; + /** + * If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + */ + originalStddev: number; + } + + /** + * Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + */ + export interface GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse { + /** + * Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + */ + denseShapeTensorName: string; + /** + * A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + */ + encodedBaselines: any[]; + /** + * Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + */ + encodedTensorName: string; + /** + * Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + */ + encoding: string; + /** + * The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + */ + featureValueDomain: outputs.aiplatform.v1.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse; + /** + * Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + */ + groupName: string; + /** + * A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + */ + indexFeatureMapping: string[]; + /** + * Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + */ + indicesTensorName: string; + /** + * Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + */ + inputBaselines: any[]; + /** + * Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + */ + inputTensorName: string; + /** + * Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + */ + modality: string; + /** + * Visualization configurations for image explanation. + */ + visualization: outputs.aiplatform.v1.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse; + } + + /** + * Visualization configurations for image explanation. + */ + export interface GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse { + /** + * Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + */ + clipPercentLowerbound: number; + /** + * Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + */ + clipPercentUpperbound: number; + /** + * The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + */ + colorMap: string; + /** + * How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + */ + overlayType: string; + /** + * Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + */ + polarity: string; + /** + * Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + */ + type: string; + } + + /** + * Metadata of the prediction output to be explained. + */ + export interface GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse { + /** + * Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + */ + displayNameMappingKey: string; + /** + * Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + */ + indexDisplayNameMapping: any; + /** + * Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + */ + outputTensorName: string; + } + /** * Metadata describing the Model's input and output for explanation. */ @@ -1225,7 +1403,7 @@ export namespace aiplatform { /** * Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. */ - inputs: {[key: string]: string}; + inputs: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse}; /** * Name of the source to generate embeddings for example based explanations. */ @@ -1233,7 +1411,7 @@ export namespace aiplatform { /** * Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. */ - outputs: {[key: string]: string}; + outputs: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse}; } /** @@ -1940,7 +2118,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. */ - attributionScoreDriftThresholds: {[key: string]: string}; + attributionScoreDriftThresholds: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1ThresholdConfigResponse}; /** * Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. */ @@ -1948,7 +2126,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. */ - driftThresholds: {[key: string]: string}; + driftThresholds: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1ThresholdConfigResponse}; } /** @@ -2010,7 +2188,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. */ - attributionScoreSkewThresholds: {[key: string]: string}; + attributionScoreSkewThresholds: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1ThresholdConfigResponse}; /** * Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. */ @@ -2018,7 +2196,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. */ - skewThresholds: {[key: string]: string}; + skewThresholds: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1ThresholdConfigResponse}; } /** @@ -2446,7 +2624,7 @@ export namespace aiplatform { /** * The spec of the pipeline. */ - pipelineSpec: {[key: string]: string}; + pipelineSpec: {[key: string]: any}; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. */ @@ -2485,6 +2663,16 @@ export namespace aiplatform { updateTime: string; } + /** + * The type of an input artifact. + */ + export interface GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse { + /** + * Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + */ + artifactId: string; + } + /** * The runtime config of a PipelineJob. */ @@ -2500,17 +2688,27 @@ export namespace aiplatform { /** * The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. */ - inputArtifacts: {[key: string]: string}; + inputArtifacts: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse}; /** * The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. */ - parameterValues: {[key: string]: string}; + parameterValues: {[key: string]: any}; /** * Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. * * @deprecated Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. */ - parameters: {[key: string]: string}; + parameters: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1ValueResponse}; + } + + /** + * A list of artifact metadata. + */ + export interface GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse { + /** + * A list of artifact metadata. + */ + artifacts: outputs.aiplatform.v1.GoogleCloudAiplatformV1ArtifactResponse[]; } /** @@ -2558,11 +2756,11 @@ export namespace aiplatform { /** * The runtime input artifacts of the task. */ - inputs: {[key: string]: string}; + inputs: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse}; /** * The runtime output artifacts of the task. */ - outputs: {[key: string]: string}; + outputs: {[key: string]: outputs.aiplatform.v1.GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse}; /** * The id of the parent task if the task is within a component scope. Empty if the task is at the root level. */ @@ -3449,6 +3647,24 @@ export namespace aiplatform { predictSchemata: outputs.aiplatform.v1.GoogleCloudAiplatformV1PredictSchemataResponse; } + /** + * Value is the value of the field. + */ + export interface GoogleCloudAiplatformV1ValueResponse { + /** + * A double value. + */ + doubleValue: number; + /** + * An integer value. + */ + intValue: string; + /** + * A string value. + */ + stringValue: string; + } + /** * Represents the spec of a worker pool in a job. */ @@ -3526,7 +3742,7 @@ export namespace aiplatform { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -3598,6 +3814,60 @@ export namespace aiplatform { trainingConfig: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1TrainingConfigResponse; } + /** + * Instance of a general artifact. + */ + export interface GoogleCloudAiplatformV1beta1ArtifactResponse { + /** + * Timestamp when this Artifact was created. + */ + createTime: string; + /** + * Description of the Artifact + */ + description: string; + /** + * User provided display name of the Artifact. May be up to 128 Unicode characters. + */ + displayName: string; + /** + * An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + */ + etag: string; + /** + * The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + */ + labels: {[key: string]: string}; + /** + * Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + */ + metadata: {[key: string]: any}; + /** + * The resource name of the Artifact. + */ + name: string; + /** + * The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + */ + schemaTitle: string; + /** + * The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + */ + schemaVersion: string; + /** + * The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + */ + state: string; + /** + * Timestamp when this Artifact was last updated. + */ + updateTime: string; + /** + * The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + */ + uri: string; + } + /** * A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. */ @@ -3821,7 +4091,7 @@ export namespace aiplatform { /** * Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; /** * Immutable. The resource name of the Context. */ @@ -4207,7 +4477,7 @@ export namespace aiplatform { /** * Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; /** * The resource name of the Execution. */ @@ -4230,6 +4500,130 @@ export namespace aiplatform { updateTime: string; } + /** + * Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + */ + export interface GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse { + /** + * The maximum permissible value for this feature. + */ + maxValue: number; + /** + * The minimum permissible value for this feature. + */ + minValue: number; + /** + * If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + */ + originalMean: number; + /** + * If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + */ + originalStddev: number; + } + + /** + * Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + */ + export interface GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse { + /** + * Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + */ + denseShapeTensorName: string; + /** + * A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + */ + encodedBaselines: any[]; + /** + * Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + */ + encodedTensorName: string; + /** + * Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + */ + encoding: string; + /** + * The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + */ + featureValueDomain: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse; + /** + * Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + */ + groupName: string; + /** + * A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + */ + indexFeatureMapping: string[]; + /** + * Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + */ + indicesTensorName: string; + /** + * Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + */ + inputBaselines: any[]; + /** + * Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + */ + inputTensorName: string; + /** + * Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + */ + modality: string; + /** + * Visualization configurations for image explanation. + */ + visualization: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse; + } + + /** + * Visualization configurations for image explanation. + */ + export interface GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse { + /** + * Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + */ + clipPercentLowerbound: number; + /** + * Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + */ + clipPercentUpperbound: number; + /** + * The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + */ + colorMap: string; + /** + * How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + */ + overlayType: string; + /** + * Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + */ + polarity: string; + /** + * Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + */ + type: string; + } + + /** + * Metadata of the prediction output to be explained. + */ + export interface GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse { + /** + * Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + */ + displayNameMappingKey: string; + /** + * Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + */ + indexDisplayNameMapping: any; + /** + * Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + */ + outputTensorName: string; + } + /** * Metadata describing the Model's input and output for explanation. */ @@ -4241,7 +4635,7 @@ export namespace aiplatform { /** * Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. */ - inputs: {[key: string]: string}; + inputs: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse}; /** * Name of the source to generate embeddings for example based explanations. */ @@ -4249,7 +4643,7 @@ export namespace aiplatform { /** * Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. */ - outputs: {[key: string]: string}; + outputs: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse}; } /** @@ -5060,7 +5454,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. */ - attributionScoreDriftThresholds: {[key: string]: string}; + attributionScoreDriftThresholds: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ThresholdConfigResponse}; /** * Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. */ @@ -5068,7 +5462,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. */ - driftThresholds: {[key: string]: string}; + driftThresholds: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ThresholdConfigResponse}; } /** @@ -5130,7 +5524,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. */ - attributionScoreSkewThresholds: {[key: string]: string}; + attributionScoreSkewThresholds: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ThresholdConfigResponse}; /** * Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. */ @@ -5138,7 +5532,7 @@ export namespace aiplatform { /** * Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. */ - skewThresholds: {[key: string]: string}; + skewThresholds: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ThresholdConfigResponse}; } /** @@ -5606,7 +6000,7 @@ export namespace aiplatform { /** * The spec of the pipeline. */ - pipelineSpec: {[key: string]: string}; + pipelineSpec: {[key: string]: any}; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. */ @@ -5645,6 +6039,16 @@ export namespace aiplatform { updateTime: string; } + /** + * The type of an input artifact. + */ + export interface GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse { + /** + * Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + */ + artifactId: string; + } + /** * The runtime config of a PipelineJob. */ @@ -5660,17 +6064,27 @@ export namespace aiplatform { /** * The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. */ - inputArtifacts: {[key: string]: string}; + inputArtifacts: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse}; /** * The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. */ - parameterValues: {[key: string]: string}; + parameterValues: {[key: string]: any}; /** * Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. * * @deprecated Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. */ - parameters: {[key: string]: string}; + parameters: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ValueResponse}; + } + + /** + * A list of artifact metadata. + */ + export interface GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse { + /** + * A list of artifact metadata. + */ + artifacts: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1ArtifactResponse[]; } /** @@ -5718,11 +6132,11 @@ export namespace aiplatform { /** * The runtime input artifacts of the task. */ - inputs: {[key: string]: string}; + inputs: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse}; /** * The runtime output artifacts of the task. */ - outputs: {[key: string]: string}; + outputs: {[key: string]: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse}; /** * The id of the parent task if the task is within a component scope. Empty if the task is at the root level. */ @@ -6759,6 +7173,24 @@ export namespace aiplatform { predictSchemata: outputs.aiplatform.v1beta1.GoogleCloudAiplatformV1beta1PredictSchemataResponse; } + /** + * Value is the value of the field. + */ + export interface GoogleCloudAiplatformV1beta1ValueResponse { + /** + * A double value. + */ + doubleValue: number; + /** + * An integer value. + */ + intValue: string; + /** + * A string value. + */ + stringValue: string; + } + /** * Represents the spec of a worker pool in a job. */ @@ -6836,7 +7268,7 @@ export namespace aiplatform { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -9802,7 +10234,7 @@ export namespace appengine { /** * Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. */ - files: {[key: string]: string}; + files: {[key: string]: outputs.appengine.v1.FileInfoResponse}; /** * The zip file for this deployment, if this is a zip deployment. */ @@ -9895,6 +10327,24 @@ export namespace appengine { useContainerOptimizedOs: boolean; } + /** + * Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + */ + export interface FileInfoResponse { + /** + * The MIME type of the file.Defaults to the value from Google Cloud Storage. + */ + mimeType: string; + /** + * The SHA1 hash of the file, in hex. + */ + sha1Sum: string; + /** + * URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + */ + sourceUrl: string; + } + /** * Runtime settings for the App Engine flexible environment. */ @@ -10652,7 +11102,7 @@ export namespace appengine { /** * Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. */ - files: {[key: string]: string}; + files: {[key: string]: outputs.appengine.v1beta.FileInfoResponse}; /** * The zip file for this deployment, if this is a zip deployment. */ @@ -10745,6 +11195,24 @@ export namespace appengine { useContainerOptimizedOs: boolean; } + /** + * Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + */ + export interface FileInfoResponse { + /** + * The MIME type of the file.Defaults to the value from Google Cloud Storage. + */ + mimeType: string; + /** + * The SHA1 hash of the file, in hex. + */ + sha1Sum: string; + /** + * URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + */ + sourceUrl: string; + } + /** * Runtime settings for the App Engine flexible environment. */ @@ -11250,6 +11718,74 @@ export namespace artifactregistry { role: string; } + /** + * CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. + */ + export interface CleanupPolicyConditionResponse { + /** + * Match versions newer than a duration. + */ + newerThan: string; + /** + * Match versions older than a duration. + */ + olderThan: string; + /** + * Match versions by package prefix. Applied on any prefix match. + */ + packageNamePrefixes: string[]; + /** + * Match versions by tag prefix. Applied on any prefix match. + */ + tagPrefixes: string[]; + /** + * Match versions by tag status. + */ + tagState: string; + /** + * DEPRECATED: Use older_than. + * + * @deprecated DEPRECATED: Use older_than. + */ + versionAge: string; + /** + * Match versions by version name prefix. Applied on any prefix match. + */ + versionNamePrefixes: string[]; + } + + /** + * CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. + */ + export interface CleanupPolicyMostRecentVersionsResponse { + /** + * Minimum number of versions to keep. + */ + keepCount: number; + /** + * List of package name prefixes that will apply this rule. + */ + packageNamePrefixes: string[]; + } + + /** + * Artifact policy configuration for repository cleanup policies. + */ + export interface CleanupPolicyResponse { + /** + * Policy action. + */ + action: string; + /** + * Policy condition for matching versions. + */ + condition: outputs.artifactregistry.v1.CleanupPolicyConditionResponse; + /** + * Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + */ + mostRecentVersions: outputs.artifactregistry.v1.CleanupPolicyMostRecentVersionsResponse; + } + /** * DockerRepositoryConfig is docker related repository details. Provides additional configuration details for repositories of the docker format type. */ @@ -12546,6 +13082,28 @@ export namespace batch { reservation: string; } + /** + * VM instance status. + */ + export interface InstanceStatusResponse { + /** + * The VM boot disk. + */ + bootDisk: outputs.batch.v1.DiskResponse; + /** + * The Compute Engine machine type. + */ + machineType: string; + /** + * The VM instance provisioning model. + */ + provisioningModel: string; + /** + * The max number of tasks can be assigned to this instance type. + */ + taskPack: string; + } + /** * Notification configurations. */ @@ -12579,7 +13137,7 @@ export namespace batch { /** * Aggregated task status for each TaskGroup in the Job. The map key is TaskGroup ID. */ - taskGroups: {[key: string]: string}; + taskGroups: {[key: string]: outputs.batch.v1.TaskGroupStatusResponse}; } export interface KMSEnvMapResponse { @@ -12858,6 +13416,20 @@ export namespace batch { taskSpec: outputs.batch.v1.TaskSpecResponse; } + /** + * Aggregated task status for a TaskGroup. + */ + export interface TaskGroupStatusResponse { + /** + * Count of task in each state in the TaskGroup. The map key is task state name. + */ + counts: {[key: string]: string}; + /** + * Status of instances allocated for the TaskGroup. + */ + instances: outputs.batch.v1.InstanceStatusResponse[]; + } + /** * Spec of a task */ @@ -13010,7 +13582,7 @@ export namespace beyondcorp { /** * Specific details for the resource. This is for internal use only. */ - resource: {[key: string]: string}; + resource: {[key: string]: any}; /** * Overall health status. Overall status is derived based on the status of each sub level resources. */ @@ -13209,7 +13781,7 @@ export namespace beyondcorp { /** * Specific details for the resource. This is for internal use only. */ - resource: {[key: string]: string}; + resource: {[key: string]: any}; /** * Overall health status. Overall status is derived based on the status of each sub level resources. */ @@ -13283,7 +13855,7 @@ export namespace beyondcorp { /** * The value of the Setting. */ - value: {[key: string]: string}; + value: {[key: string]: any}; } /** @@ -13385,7 +13957,7 @@ export namespace beyondcorp { /** * Specific details for the resource. */ - resource: {[key: string]: string}; + resource: {[key: string]: any}; /** * Overall health status. Overall status is derived based on the status of each sub level resources. */ @@ -14524,7 +15096,7 @@ export namespace bigquery { /** * [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. */ - tableDefinitions: {[key: string]: string}; + tableDefinitions: {[key: string]: outputs.bigquery.v2.ExternalDataConfigurationResponse}; /** * Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. */ @@ -15082,7 +15654,7 @@ export namespace bigquery { /** * [Optional] The struct field values, in order of the struct type's declaration. */ - structValues: {[key: string]: string}; + structValues: {[key: string]: outputs.bigquery.v2.QueryParameterValueResponse}; /** * [Optional] The value of this value, if a simple scalar type. */ @@ -15901,7 +16473,7 @@ export namespace bigqueryreservation { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -15922,7 +16494,7 @@ export namespace bigqueryreservation { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -16068,6 +16640,52 @@ export namespace bigtableadmin { clusterAutoscalingConfig: outputs.bigtableadmin.v2.ClusterAutoscalingConfigResponse; } + /** + * The state of a table's data in a particular cluster. + */ + export interface ClusterStateResponse { + /** + * The encryption information for the table in this cluster. If the encryption key protecting this resource is customer managed, then its version can be rotated in Cloud Key Management Service (Cloud KMS). The primary version of the key and its status will be reflected here when changes propagate from Cloud KMS. + */ + encryptionInfo: outputs.bigtableadmin.v2.EncryptionInfoResponse[]; + /** + * The state of replication for the table in this cluster. + */ + replicationState: string; + } + + /** + * A set of columns within a table which share a common configuration. + */ + export interface ColumnFamilyResponse { + /** + * Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + */ + gcRule: outputs.bigtableadmin.v2.GcRuleResponse; + /** + * Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above. + */ + stats: outputs.bigtableadmin.v2.ColumnFamilyStatsResponse; + } + + /** + * Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified. + */ + export interface ColumnFamilyStatsResponse { + /** + * How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family "family" in a table with 3 rows: * A row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1 column in "family") * A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in "family") * A row with 3 cells in "other:col" (0 columns in "family", "family" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field. + */ + averageCellsPerColumn: number; + /** + * How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family "family" in a table with 3 rows: * A row with cells in "family:col" and "other:col" (1 column in "family") * A row with cells in "family:col", "family:other_col", and "other:data" (2 columns in "family") * A row with cells in "other:col" (0 columns in "family", "family" not present) would report (1 + 2 + 0)/3 = 1.5 in this field. + */ + averageColumnsPerRow: number; + /** + * How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out). + */ + logicalDataBytes: string; + } + /** * Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster. */ @@ -16118,6 +16736,38 @@ export namespace bigtableadmin { title: string; } + /** + * Rule for determining which cells to delete during garbage collection. + */ + export interface GcRuleResponse { + /** + * Delete cells that would be deleted by every nested rule. + */ + intersection: outputs.bigtableadmin.v2.IntersectionResponse; + /** + * Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + */ + maxAge: string; + /** + * Delete all cells in a column except the most recent N. + */ + maxNumVersions: number; + /** + * Delete cells that would be deleted by any nested rule. + */ + union: outputs.bigtableadmin.v2.UnionResponse; + } + + /** + * A GcRule which deletes cells matching all of the given rules. + */ + export interface IntersectionResponse { + /** + * Only delete cells which would be deleted by every element of `rules`. + */ + rules: outputs.bigtableadmin.v2.GcRuleResponse[]; + } + /** * Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability. */ @@ -16177,7 +16827,7 @@ export namespace bigtableadmin { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -16206,6 +16856,16 @@ export namespace bigtableadmin { rowCount: string; } + /** + * A GcRule which deletes cells matching any of the given rules. + */ + export interface UnionResponse { + /** + * Delete cells which would be deleted by any element of `rules`. + */ + rules: outputs.bigtableadmin.v2.GcRuleResponse[]; + } + } } @@ -16262,7 +16922,7 @@ export namespace billingbudgets { /** * Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ */ - labels: {[key: string]: string}; + labels: {[key: string]: any[]}; /** * Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. */ @@ -16443,7 +17103,7 @@ export namespace billingbudgets { /** * Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ */ - labels: {[key: string]: string}; + labels: {[key: string]: any[]}; /** * Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. */ @@ -17856,7 +18516,7 @@ export namespace cloudbuild { /** * Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. */ - timing: {[key: string]: string}; + timing: {[key: string]: outputs.cloudbuild.v1.TimeSpanResponse}; /** * Non-fatal problems encountered during the execution of the build. */ @@ -18600,7 +19260,7 @@ export namespace cloudbuild { /** * Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file. */ - fileHashes: {[key: string]: string}; + fileHashes: {[key: string]: outputs.cloudbuild.v1.FileHashesResponse}; /** * A copy of the build's `source.connected_repository`, if exists, with any revisions resolved. */ @@ -19465,7 +20125,7 @@ export namespace cloudchannel { /** * Represents an 'Any' proto value. */ - protoValue: {[key: string]: string}; + protoValue: {[key: string]: any}; /** * Represents a string value. */ @@ -19801,6 +20461,16 @@ export namespace clouddeploy { serviceUrls: string[]; } + /** + * CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render. + */ + export interface CloudRunRenderMetadataResponse { + /** + * The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`. + */ + service: string; + } + /** * A createChildRollout Job. */ @@ -20095,6 +20765,24 @@ export namespace clouddeploy { targetIds: string[]; } + /** + * Contains the paths to the artifacts, relative to the URI, for a phase. + */ + export interface PhaseArtifactResponse { + /** + * File path of the directory of rendered job manifests relative to the URI. This is only set if it is applicable. + */ + jobManifestsPath: string; + /** + * File path of the rendered manifest relative to the URI. + */ + manifestPath: string; + /** + * File path of the resolved Skaffold configuration relative to the URI. + */ + skaffoldConfigPath: string; + } + /** * PhaseConfig represents the configuration for a phase in the custom canary deployment. */ @@ -20283,6 +20971,16 @@ export namespace clouddeploy { status: boolean; } + /** + * RenderMetadata includes information associated with a `Release` render. + */ + export interface RenderMetadataResponse { + /** + * Metadata associated with rendering for Cloud Run. + */ + cloudRun: outputs.clouddeploy.v1.CloudRunRenderMetadataResponse; + } + /** * Configuration of the repair action. */ @@ -20465,6 +21163,28 @@ export namespace clouddeploy { standard: outputs.clouddeploy.v1.StandardResponse; } + /** + * The artifacts produced by a target render operation. + */ + export interface TargetArtifactResponse { + /** + * URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location. + */ + artifactUri: string; + /** + * File path of the rendered manifest relative to the URI. + */ + manifestPath: string; + /** + * Map from the phase ID to the phase artifacts for the `Target`. + */ + phaseArtifacts: {[key: string]: outputs.clouddeploy.v1.PhaseArtifactResponse}; + /** + * File path of the resolved Skaffold configuration relative to the URI. + */ + skaffoldConfigPath: string; + } + /** * Contains criteria for selecting Targets. Attributes provided must match the target resource in order for policy restrictions to apply. E.g. if id "prod" and labels "foo: bar" are given the target resource must match both that id and have that label in order to be selected. */ @@ -20475,6 +21195,32 @@ export namespace clouddeploy { labels: {[key: string]: string}; } + /** + * Details of rendering for a single target. + */ + export interface TargetRenderResponse { + /** + * Reason this render failed. This will always be unspecified while the render in progress. + */ + failureCause: string; + /** + * Additional information about the render failure, if available. + */ + failureMessage: string; + /** + * Metadata related to the `Release` render for this Target. + */ + metadata: outputs.clouddeploy.v1.RenderMetadataResponse; + /** + * The resource name of the Cloud Build `Build` object that is used to render the manifest for this target. Format is `projects/{project}/locations/{location}/builds/{build}`. + */ + renderingBuild: string; + /** + * Current state of the render operation for this Target. + */ + renderingState: string; + } + /** * A `Target` resource in the Cloud Deploy API. A `Target` defines a location to which a Skaffold configuration can be deployed. */ @@ -22704,7 +23450,7 @@ export namespace cloudiot { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -23565,7 +24311,7 @@ export namespace cloudscheduler { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -23736,7 +24482,7 @@ export namespace cloudscheduler { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -24354,7 +25100,7 @@ export namespace cloudtasks { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -24747,7 +25493,7 @@ export namespace cloudtasks { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -25162,7 +25908,7 @@ export namespace cloudtasks { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -26888,7 +27634,7 @@ export namespace compute { /** * Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. */ - scalingSchedules: {[key: string]: string}; + scalingSchedules: {[key: string]: outputs.compute.alpha.AutoscalingPolicyScalingScheduleResponse}; } /** @@ -26919,6 +27665,36 @@ export namespace compute { timeWindowSec: number; } + /** + * Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + */ + export interface AutoscalingPolicyScalingScheduleResponse { + /** + * A description of a scaling schedule. + */ + description: string; + /** + * A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + */ + disabled: boolean; + /** + * The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + */ + durationSec: number; + /** + * The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + */ + minRequiredReplicas: number; + /** + * The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + */ + schedule: string; + /** + * The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + */ + timeZone: string; + } + /** * Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting. */ @@ -27314,6 +28090,20 @@ export namespace compute { role: string; } + /** + * Per-instance properties to be set on individual instances. To be extended in the future. + */ + export interface BulkInsertInstanceResourcePerInstancePropertiesResponse { + /** + * Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + */ + hostname: string; + /** + * This field is only temporary. It will be removed. Do not use it. + */ + name: string; + } + /** * A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests. */ @@ -27341,7 +28131,7 @@ export namespace compute { /** * Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. */ - perInstanceProperties: {[key: string]: string}; + perInstanceProperties: {[key: string]: outputs.compute.alpha.BulkInsertInstanceResourcePerInstancePropertiesResponse}; /** * Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. */ @@ -27704,6 +28494,10 @@ export namespace compute { stateOverride: outputs.compute.alpha.RolloutPolicyResponse; } + export interface DiskAsyncReplicationListResponse { + asyncReplicationDisk: outputs.compute.alpha.DiskAsyncReplicationResponse; + } + export interface DiskAsyncReplicationResponse { /** * URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group. @@ -27764,7 +28558,7 @@ export namespace compute { /** * Key: disk, value: AsyncReplicationStatus message */ - asyncSecondaryDisks: {[key: string]: string}; + asyncSecondaryDisks: {[key: string]: outputs.compute.alpha.DiskResourceStatusAsyncReplicationStatusResponse}; /** * Space used by data stored in the disk (in bytes). Note that this field is set only when the disk is in a storage pool. */ @@ -28894,15 +29688,26 @@ export namespace compute { maxUnavailable: outputs.compute.alpha.FixedOrPercentResponse; } + export interface InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse { + /** + * Full machine-type names, e.g. "n1-standard-16". + */ + machineTypes: string[]; + /** + * Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + */ + rank: number; + } + export interface InstanceGroupManagerInstanceFlexibilityPolicyResponse { /** * Named instance selections configuring properties that the group will use when creating new VMs. */ - instanceSelectionLists: {[key: string]: string}; + instanceSelectionLists: {[key: string]: outputs.compute.alpha.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse}; /** * Named instance selections configuring properties that the group will use when creating new VMs. */ - instanceSelections: {[key: string]: string}; + instanceSelections: {[key: string]: outputs.compute.alpha.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse}; } export interface InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignalResponse { @@ -29187,7 +29992,7 @@ export namespace compute { /** * Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. */ - partnerMetadata: {[key: string]: string}; + partnerMetadata: {[key: string]: outputs.compute.alpha.StructuredEntriesResponse}; /** * PostKeyRevocationActionType of the instance. */ @@ -29223,7 +30028,7 @@ export namespace compute { /** * Mapping of user defined keys to ServiceIntegrationSpec. */ - serviceIntegrationSpecs: {[key: string]: string}; + serviceIntegrationSpecs: {[key: string]: outputs.compute.alpha.ServiceIntegrationSpecResponse}; /** * Note that for MachineImage, this is not supported yet. */ @@ -29485,6 +30290,31 @@ export namespace compute { message: string; } + /** + * Per-zone constraints on location policy for this zone. + */ + export interface LocationPolicyLocationConstraintsResponse { + /** + * Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + */ + maxCount: number; + } + + export interface LocationPolicyLocationResponse { + /** + * Constraints that the caller requires on the result distribution in this zone. + */ + constraints: outputs.compute.alpha.LocationPolicyLocationConstraintsResponse; + /** + * Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + */ + names: string[]; + /** + * Preference for a given location. Set to either ALLOW or DENY. + */ + preference: string; + } + /** * Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). */ @@ -29492,7 +30322,7 @@ export namespace compute { /** * Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. */ - locations: {[key: string]: string}; + locations: {[key: string]: outputs.compute.alpha.LocationPolicyLocationResponse}; /** * Strategy for distributing VMs across zones in a region. */ @@ -31018,7 +31848,7 @@ export namespace compute { /** * Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs. */ - serviceIntegrationStatuses: {[key: string]: string}; + serviceIntegrationStatuses: {[key: string]: outputs.compute.alpha.ResourceStatusServiceIntegrationStatusResponse}; /** * Details about stopping state of instance */ @@ -31037,6 +31867,27 @@ export namespace compute { terminationTimestamp: string; } + /** + * Message defining compute perspective of the result of integration with Backup and DR. FAILED status indicates that the operation specified did not complete correctly and should be retried with the same value. + */ + export interface ResourceStatusServiceIntegrationStatusBackupDRStatusResponse { + /** + * The PlanReference object created by Backup and DR to maintain the actual status of backups. May still be present if removing the backup plan fails. + */ + integrationDetails: string; + /** + * Enum representing the registration state of a Backup and DR backup plan for the instance. + */ + state: string; + } + + /** + * Represents the status of integration between instance and another service. See go/gce-backupdr-design for more details. + */ + export interface ResourceStatusServiceIntegrationStatusResponse { + backupDr: outputs.compute.alpha.ResourceStatusServiceIntegrationStatusBackupDRStatusResponse; + } + /** * Specifies if the instance is in `SHUTTING_DOWN` state or there is a instance stopping scheduled. */ @@ -31648,6 +32499,21 @@ export namespace compute { storageBytesStatus: string; } + export interface ScalingScheduleStatusResponse { + /** + * The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + */ + lastStartTime: string; + /** + * The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + */ + nextStartTime: string; + /** + * The current state of a scaling schedule. + */ + state: string; + } + /** * Configuration for gracefully shutting down the instance. */ @@ -32398,6 +33264,43 @@ export namespace compute { routingMode: string; } + /** + * Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. + */ + export interface ServiceIntegrationSpecBackupDRSpecResponse { + /** + * The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + */ + plan: string; + } + + /** + * Specifies the parameters to configure an integration with instances. + */ + export interface ServiceIntegrationSpecResponse { + backupDr: outputs.compute.alpha.ServiceIntegrationSpecBackupDRSpecResponse; + } + + /** + * Config for each folder in the share settings. + */ + export interface ShareSettingsFolderConfigResponse { + /** + * The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + */ + folderId: string; + } + + /** + * Config for each project in the share settings. + */ + export interface ShareSettingsProjectConfigResponse { + /** + * The project ID, should be same as the key of this project config in the parent map. + */ + project: string; + } + /** * The share setting for reservations and sole tenancy node groups. */ @@ -32405,11 +33308,11 @@ export namespace compute { /** * A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. */ - folderMap: {[key: string]: string}; + folderMap: {[key: string]: outputs.compute.alpha.ShareSettingsFolderConfigResponse}; /** * A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ - projectMap: {[key: string]: string}; + projectMap: {[key: string]: outputs.compute.alpha.ShareSettingsProjectConfigResponse}; /** * A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ @@ -32621,6 +33524,20 @@ export namespace compute { message: string; } + export interface StatefulPolicyPreservedStateDiskDeviceResponse { + /** + * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + */ + autoDelete: string; + } + + export interface StatefulPolicyPreservedStateNetworkIpResponse { + /** + * These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + */ + autoDelete: string; + } + /** * Configuration of preserved resources. */ @@ -32628,15 +33545,15 @@ export namespace compute { /** * Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. */ - disks: {[key: string]: string}; + disks: {[key: string]: outputs.compute.alpha.StatefulPolicyPreservedStateDiskDeviceResponse}; /** * External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - externalIPs: {[key: string]: string}; + externalIPs: {[key: string]: outputs.compute.alpha.StatefulPolicyPreservedStateNetworkIpResponse}; /** * Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - internalIPs: {[key: string]: string}; + internalIPs: {[key: string]: outputs.compute.alpha.StatefulPolicyPreservedStateNetworkIpResponse}; } export interface StatefulPolicyResponse { @@ -32681,6 +33598,13 @@ export namespace compute { usedThroughput: string; } + export interface StructuredEntriesResponse { + /** + * Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + */ + entries: {[key: string]: any}; + } + /** * The available logging options for this subnetwork. */ @@ -33606,7 +34530,7 @@ export namespace compute { /** * Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. */ - scalingSchedules: {[key: string]: string}; + scalingSchedules: {[key: string]: outputs.compute.beta.AutoscalingPolicyScalingScheduleResponse}; } /** @@ -33637,6 +34561,36 @@ export namespace compute { timeWindowSec: number; } + /** + * Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + */ + export interface AutoscalingPolicyScalingScheduleResponse { + /** + * A description of a scaling schedule. + */ + description: string; + /** + * A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + */ + disabled: boolean; + /** + * The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + */ + durationSec: number; + /** + * The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + */ + minRequiredReplicas: number; + /** + * The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + */ + schedule: string; + /** + * The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + */ + timeZone: string; + } + /** * Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting. */ @@ -34280,6 +35234,10 @@ export namespace compute { stateOverride: outputs.compute.beta.RolloutPolicyResponse; } + export interface DiskAsyncReplicationListResponse { + asyncReplicationDisk: outputs.compute.beta.DiskAsyncReplicationResponse; + } + export interface DiskAsyncReplicationResponse { /** * URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group. @@ -34340,7 +35298,7 @@ export namespace compute { /** * Key: disk, value: AsyncReplicationStatus message */ - asyncSecondaryDisks: {[key: string]: string}; + asyncSecondaryDisks: {[key: string]: outputs.compute.beta.DiskResourceStatusAsyncReplicationStatusResponse}; } /** @@ -35409,11 +36367,22 @@ export namespace compute { initialDelaySec: number; } + export interface InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse { + /** + * Full machine-type names, e.g. "n1-standard-16". + */ + machineTypes: string[]; + /** + * Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + */ + rank: number; + } + export interface InstanceGroupManagerInstanceFlexibilityPolicyResponse { /** * Named instance selections configuring properties that the group will use when creating new VMs. */ - instanceSelectionLists: {[key: string]: string}; + instanceSelectionLists: {[key: string]: outputs.compute.beta.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse}; } export interface InstanceGroupManagerInstanceLifecyclePolicyResponse { @@ -37657,6 +38626,21 @@ export namespace compute { storageBytesStatus: string; } + export interface ScalingScheduleStatusResponse { + /** + * The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + */ + lastStartTime: string; + /** + * The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + */ + nextStartTime: string; + /** + * The current state of a scaling schedule. + */ + state: string; + } + /** * Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. */ @@ -38277,6 +39261,16 @@ export namespace compute { routingMode: string; } + /** + * Config for each project in the share settings. + */ + export interface ShareSettingsProjectConfigResponse { + /** + * The project ID, should be same as the key of this project config in the parent map. + */ + project: string; + } + /** * The share setting for reservations and sole tenancy node groups. */ @@ -38284,7 +39278,7 @@ export namespace compute { /** * A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ - projectMap: {[key: string]: string}; + projectMap: {[key: string]: outputs.compute.beta.ShareSettingsProjectConfigResponse}; /** * A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ @@ -38496,6 +39490,20 @@ export namespace compute { message: string; } + export interface StatefulPolicyPreservedStateDiskDeviceResponse { + /** + * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + */ + autoDelete: string; + } + + export interface StatefulPolicyPreservedStateNetworkIpResponse { + /** + * These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + */ + autoDelete: string; + } + /** * Configuration of preserved resources. */ @@ -38503,15 +39511,15 @@ export namespace compute { /** * Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. */ - disks: {[key: string]: string}; + disks: {[key: string]: outputs.compute.beta.StatefulPolicyPreservedStateDiskDeviceResponse}; /** * External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - externalIPs: {[key: string]: string}; + externalIPs: {[key: string]: outputs.compute.beta.StatefulPolicyPreservedStateNetworkIpResponse}; /** * Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - internalIPs: {[key: string]: string}; + internalIPs: {[key: string]: outputs.compute.beta.StatefulPolicyPreservedStateNetworkIpResponse}; } export interface StatefulPolicyResponse { @@ -39251,7 +40259,7 @@ export namespace compute { /** * Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. */ - scalingSchedules: {[key: string]: string}; + scalingSchedules: {[key: string]: outputs.compute.v1.AutoscalingPolicyScalingScheduleResponse}; } /** @@ -39268,6 +40276,36 @@ export namespace compute { timeWindowSec: number; } + /** + * Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + */ + export interface AutoscalingPolicyScalingScheduleResponse { + /** + * A description of a scaling schedule. + */ + description: string; + /** + * A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + */ + disabled: boolean; + /** + * The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + */ + durationSec: number; + /** + * The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + */ + minRequiredReplicas: number; + /** + * The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + */ + schedule: string; + /** + * The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + */ + timeZone: string; + } + /** * Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting. */ @@ -39863,6 +40901,10 @@ export namespace compute { state: string; } + export interface DiskAsyncReplicationListResponse { + asyncReplicationDisk: outputs.compute.v1.DiskAsyncReplicationResponse; + } + export interface DiskAsyncReplicationResponse { /** * URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group. @@ -39923,7 +40965,7 @@ export namespace compute { /** * Key: disk, value: AsyncReplicationStatus message */ - asyncSecondaryDisks: {[key: string]: string}; + asyncSecondaryDisks: {[key: string]: outputs.compute.v1.DiskResourceStatusAsyncReplicationStatusResponse}; } /** @@ -42753,6 +43795,21 @@ export namespace compute { storageBytesStatus: string; } + export interface ScalingScheduleStatusResponse { + /** + * The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + */ + lastStartTime: string; + /** + * The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + */ + nextStartTime: string; + /** + * The current state of a scaling schedule. + */ + state: string; + } + /** * Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. */ @@ -43238,6 +44295,16 @@ export namespace compute { projectIdOrNum: string; } + /** + * Config for each project in the share settings. + */ + export interface ShareSettingsProjectConfigResponse { + /** + * The project ID, should be same as the key of this project config in the parent map. + */ + project: string; + } + /** * The share setting for reservations and sole tenancy node groups. */ @@ -43245,7 +44312,7 @@ export namespace compute { /** * A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. */ - projectMap: {[key: string]: string}; + projectMap: {[key: string]: outputs.compute.v1.ShareSettingsProjectConfigResponse}; /** * Type of sharing for this shared-reservation */ @@ -43421,6 +44488,20 @@ export namespace compute { message: string; } + export interface StatefulPolicyPreservedStateDiskDeviceResponse { + /** + * These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + */ + autoDelete: string; + } + + export interface StatefulPolicyPreservedStateNetworkIpResponse { + /** + * These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + */ + autoDelete: string; + } + /** * Configuration of preserved resources. */ @@ -43428,15 +44509,15 @@ export namespace compute { /** * Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. */ - disks: {[key: string]: string}; + disks: {[key: string]: outputs.compute.v1.StatefulPolicyPreservedStateDiskDeviceResponse}; /** * External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - externalIPs: {[key: string]: string}; + externalIPs: {[key: string]: outputs.compute.v1.StatefulPolicyPreservedStateNetworkIpResponse}; /** * Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. */ - internalIPs: {[key: string]: string}; + internalIPs: {[key: string]: outputs.compute.v1.StatefulPolicyPreservedStateNetworkIpResponse}; } export interface StatefulPolicyResponse { @@ -44416,11 +45497,11 @@ export namespace contactcenterinsights { /** * All the entities in the call. */ - entities: {[key: string]: string}; + entities: {[key: string]: outputs.contactcenterinsights.v1.GoogleCloudContactcenterinsightsV1EntityResponse}; /** * All the matched intents in the call. */ - intents: {[key: string]: string}; + intents: {[key: string]: outputs.contactcenterinsights.v1.GoogleCloudContactcenterinsightsV1IntentResponse}; /** * Overall conversation-level issue modeling result. */ @@ -44428,7 +45509,7 @@ export namespace contactcenterinsights { /** * All the matched phrase matchers in the call. */ - phraseMatchers: {[key: string]: string}; + phraseMatchers: {[key: string]: outputs.contactcenterinsights.v1.GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse}; /** * Overall conversation-level sentiment for each channel of the call. */ @@ -44809,6 +45890,16 @@ export namespace contactcenterinsights { word: string; } + /** + * The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. + */ + export interface GoogleCloudContactcenterinsightsV1DialogflowIntentResponse { + /** + * The human-readable name of the intent. + */ + displayName: string; + } + /** * Dialogflow interaction data. */ @@ -44855,6 +45946,32 @@ export namespace contactcenterinsights { type: string; } + /** + * The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location. + */ + export interface GoogleCloudContactcenterinsightsV1EntityResponse { + /** + * The representative name for the entity. + */ + displayName: string; + /** + * Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below. + */ + metadata: {[key: string]: string}; + /** + * The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient. + */ + salience: number; + /** + * The aggregate sentiment expressed for this entity in the conversation. + */ + sentiment: outputs.contactcenterinsights.v1.GoogleCloudContactcenterinsightsV1SentimentDataResponse; + /** + * The entity type. + */ + type: string; + } + /** * Exact match configuration. */ @@ -44925,6 +46042,16 @@ export namespace contactcenterinsights { intentUniqueId: string; } + /** + * The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE. + */ + export interface GoogleCloudContactcenterinsightsV1IntentResponse { + /** + * The human-readable name of the intent. + */ + displayName: string; + } + /** * The data for an interruption annotation. */ @@ -44977,6 +46104,24 @@ export namespace contactcenterinsights { trainingConversationsCount: string; } + /** + * Aggregated statistics about an issue. + */ + export interface GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse { + /** + * Display name of the issue. + */ + displayName: string; + /** + * Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} + */ + issue: string; + /** + * Number of conversations attached to the issue at this point in time. + */ + labeledConversationsCount: string; + } + /** * Aggregated statistics about an issue model. */ @@ -44988,7 +46133,7 @@ export namespace contactcenterinsights { /** * Statistics on each issue. Key is the issue's resource name. */ - issueStats: {[key: string]: string}; + issueStats: {[key: string]: outputs.contactcenterinsights.v1.GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse}; /** * Number of analyzed conversations for which no issue was applicable at this point in time. */ @@ -46067,7 +47212,7 @@ export namespace container { /** * Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. */ - maintenanceExclusions: {[key: string]: string}; + maintenanceExclusions: {[key: string]: outputs.container.v1.TimeWindowResponse}; /** * RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. */ @@ -47725,6 +48870,24 @@ export namespace container { state: string; } + /** + * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp + */ + export interface DateResponse { + /** + * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + */ + day: number; + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + */ + month: number; + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + */ + year: number; + } + /** * DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster. */ @@ -48182,7 +49345,7 @@ export namespace container { /** * Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. */ - maintenanceExclusions: {[key: string]: string}; + maintenanceExclusions: {[key: string]: outputs.container.v1beta1.TimeWindowResponse}; /** * RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. */ @@ -49380,6 +50543,34 @@ export namespace container { osVersion: string; } + /** + * Windows server version. + */ + export interface WindowsVersionResponse { + /** + * Windows server image type + */ + imageType: string; + /** + * Windows server build number + */ + osVersion: string; + /** + * Mainstream support end date + */ + supportEndDate: outputs.container.v1beta1.DateResponse; + } + + /** + * Windows server versions. + */ + export interface WindowsVersionsResponse { + /** + * List of Windows server versions. + */ + windowsVersions: outputs.container.v1beta1.WindowsVersionResponse[]; + } + /** * Configuration for direct-path (via ALTS) with workload identity. */ @@ -49584,8 +50775,8 @@ export namespace containeranalysis { export interface BuildDefinitionResponse { buildType: string; - externalParameters: {[key: string]: string}; - internalParameters: {[key: string]: string}; + externalParameters: {[key: string]: any}; + internalParameters: {[key: string]: any}; resolvedDependencies: outputs.containeranalysis.v1.ResourceDescriptorResponse[]; } @@ -50138,6 +51329,16 @@ export namespace containeranalysis { title: string; } + /** + * Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + */ + export interface FileHashesResponse { + /** + * Collection of file hashes. + */ + fileHash: outputs.containeranalysis.v1.HashResponse[]; + } + /** * A set of properties that uniquely identify a given Docker image. */ @@ -50231,8 +51432,8 @@ export namespace containeranalysis { */ export interface GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse { configSource: outputs.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceResponse; - environment: {[key: string]: string}; - parameters: {[key: string]: string}; + environment: {[key: string]: any}; + parameters: {[key: string]: any}; } /** @@ -50254,6 +51455,20 @@ export namespace containeranalysis { reproducible: boolean; } + /** + * Container message for hash values. + */ + export interface HashResponse { + /** + * The type of hash that was performed, e.g. "SHA-256". + */ + type: string; + /** + * The hash value. + */ + value: string; + } + /** * This submessage provides human-readable hints about the purpose of the authority. Because the name of a note acts as its resource reference, it is important to disambiguate the canonical name of the Note (which might be a UUID for security purposes) from "readable" names more suitable for debug output. Note that these hints should not be used to look up authorities in security sensitive contexts, such as when looking up attestations to verify. */ @@ -50679,7 +51894,7 @@ export namespace containeranalysis { /** * Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". */ - arguments: {[key: string]: string}[]; + arguments: {[key: string]: any}[]; /** * Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. */ @@ -50691,7 +51906,7 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". */ - environment: {[key: string]: string}[]; + environment: {[key: string]: any}[]; /** * URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. */ @@ -50745,7 +51960,7 @@ export namespace containeranalysis { } export interface ResourceDescriptorResponse { - annotations: {[key: string]: string}; + annotations: {[key: string]: any}; content: string; digest: {[key: string]: string}; downloadLocation: string; @@ -50939,7 +52154,7 @@ export namespace containeranalysis { * See full explanation of fields at slsa.dev/provenance/v0.2. */ export interface SlsaProvenanceZeroTwoResponse { - buildConfig: {[key: string]: string}; + buildConfig: {[key: string]: any}; buildType: string; builder: outputs.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaBuilderResponse; invocation: outputs.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse; @@ -50954,7 +52169,7 @@ export namespace containeranalysis { /** * Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. */ - arguments: {[key: string]: string}; + arguments: {[key: string]: any}; /** * Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. */ @@ -50966,7 +52181,7 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. */ - environment: {[key: string]: string}; + environment: {[key: string]: any}; /** * URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. */ @@ -51014,7 +52229,7 @@ export namespace containeranalysis { /** * Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. */ - fileHashes: {[key: string]: string}; + fileHashes: {[key: string]: outputs.containeranalysis.v1.FileHashesResponse}; } /** @@ -51028,7 +52243,7 @@ export namespace containeranalysis { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -51496,8 +52711,8 @@ export namespace containeranalysis { export interface BuildDefinitionResponse { buildType: string; - externalParameters: {[key: string]: string}; - internalParameters: {[key: string]: string}; + externalParameters: {[key: string]: any}; + internalParameters: {[key: string]: any}; resolvedDependencies: outputs.containeranalysis.v1alpha1.ResourceDescriptorResponse[]; } @@ -52177,6 +53392,16 @@ export namespace containeranalysis { type: string; } + /** + * Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. + */ + export interface FileHashesResponse { + /** + * Collection of file hashes. + */ + fileHash: outputs.containeranalysis.v1alpha1.HashResponse[]; + } + /** * Indicates the location at which a package was found. */ @@ -52406,11 +53631,11 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the build. */ - environment: {[key: string]: string}; + environment: {[key: string]: any}; /** * Collection of all external inputs that influenced the build on top of invocation.configSource. */ - parameters: {[key: string]: string}; + parameters: {[key: string]: any}; } /** @@ -52730,7 +53955,7 @@ export namespace containeranalysis { /** * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; /** * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. */ @@ -52738,7 +53963,7 @@ export namespace containeranalysis { /** * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. */ - response: {[key: string]: string}; + response: {[key: string]: any}; } /** @@ -52992,7 +54217,7 @@ export namespace containeranalysis { /** * Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. */ - arguments: {[key: string]: string}[]; + arguments: {[key: string]: any}[]; /** * Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. */ @@ -53004,7 +54229,7 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. */ - environment: {[key: string]: string}[]; + environment: {[key: string]: any}[]; /** * URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. */ @@ -53102,7 +54327,7 @@ export namespace containeranalysis { } export interface ResourceDescriptorResponse { - annotations: {[key: string]: string}; + annotations: {[key: string]: any}; content: string; digest: {[key: string]: string}; downloadLocation: string; @@ -53312,7 +54537,7 @@ export namespace containeranalysis { /** * Lists the steps in the build. */ - buildConfig: {[key: string]: string}; + buildConfig: {[key: string]: any}; /** * URI indicating what type of build was performed. */ @@ -53342,7 +54567,7 @@ export namespace containeranalysis { /** * Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. */ - arguments: {[key: string]: string}; + arguments: {[key: string]: any}; /** * Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. */ @@ -53354,7 +54579,7 @@ export namespace containeranalysis { /** * Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. */ - environment: {[key: string]: string}; + environment: {[key: string]: any}; /** * URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. */ @@ -53380,7 +54605,7 @@ export namespace containeranalysis { /** * Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. */ - fileHashes: {[key: string]: string}; + fileHashes: {[key: string]: outputs.containeranalysis.v1alpha1.FileHashesResponse}; /** * If provided, get source from this location in a Cloud Repo. */ @@ -53402,7 +54627,7 @@ export namespace containeranalysis { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -53860,8 +55085,8 @@ export namespace containeranalysis { export interface BuildDefinitionResponse { buildType: string; - externalParameters: {[key: string]: string}; - internalParameters: {[key: string]: string}; + externalParameters: {[key: string]: any}; + internalParameters: {[key: string]: any}; resolvedDependencies: outputs.containeranalysis.v1beta1.ResourceDescriptorResponse[]; } @@ -54421,6 +55646,16 @@ export namespace containeranalysis { type: string; } + /** + * Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + */ + export interface FileHashesResponse { + /** + * Collection of file hashes. + */ + fileHash: outputs.containeranalysis.v1beta1.HashResponse[]; + } + /** * FileNote represents an SPDX File Information section: https://spdx.github.io/spdx-spec/4-file-information/ */ @@ -55214,7 +56449,7 @@ export namespace containeranalysis { } export interface ResourceDescriptorResponse { - annotations: {[key: string]: string}; + annotations: {[key: string]: any}; content: string; digest: {[key: string]: string}; downloadLocation: string; @@ -55426,7 +56661,7 @@ export namespace containeranalysis { /** * Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. */ - fileHashes: {[key: string]: string}; + fileHashes: {[key: string]: outputs.containeranalysis.v1beta1.FileHashesResponse}; } /** @@ -55440,7 +56675,7 @@ export namespace containeranalysis { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -55777,6 +57012,16 @@ export namespace contentwarehouse { validationCheckDisabled: boolean; } + /** + * Represents the string value of the enum field. + */ + export interface GoogleCloudContentwarehouseV1EnumValueResponse { + /** + * String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + */ + value: string; + } + /** * Float values. */ @@ -55816,7 +57061,7 @@ export namespace contentwarehouse { /** * Unordered map of dynamically typed values. */ - fields: {[key: string]: string}; + fields: {[key: string]: outputs.contentwarehouse.v1.GoogleCloudContentwarehouseV1ValueResponse}; } /** @@ -56085,6 +57330,40 @@ export namespace contentwarehouse { timestampValue: string; } + /** + * `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + */ + export interface GoogleCloudContentwarehouseV1ValueResponse { + /** + * Represents a boolean value. + */ + booleanValue: boolean; + /** + * Represents a datetime value. + */ + datetimeValue: outputs.contentwarehouse.v1.GoogleTypeDateTimeResponse; + /** + * Represents an enum value. + */ + enumValue: outputs.contentwarehouse.v1.GoogleCloudContentwarehouseV1EnumValueResponse; + /** + * Represents a float value. + */ + floatValue: number; + /** + * Represents a integer value. + */ + intValue: number; + /** + * Represents a string value. + */ + stringValue: string; + /** + * Represents a timestamp value. + */ + timestampValue: outputs.contentwarehouse.v1.GoogleCloudContentwarehouseV1TimestampValueResponse; + } + /** * Encodes the detailed information of a barcode. */ @@ -57110,7 +58389,7 @@ export namespace contentwarehouse { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -57542,6 +58821,16 @@ export namespace datacatalog { type: string; } + /** + * Common statistics on the entry's usage. They can be set on any system. + */ + export interface GoogleCloudDatacatalogV1CommonUsageStatsResponse { + /** + * View count in source system. + */ + viewCount: string; + } + /** * A contact person for the entry. */ @@ -57726,6 +59015,31 @@ export namespace datacatalog { overview: string; } + export interface GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse { + /** + * The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + */ + displayName: string; + } + + export interface GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse { + /** + * The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + */ + allowedValues: outputs.datacatalog.v1.GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse[]; + } + + export interface GoogleCloudDatacatalogV1FieldTypeResponse { + /** + * An enum type. + */ + enumType: outputs.datacatalog.v1.GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse; + /** + * Primitive types, such as string, boolean, etc. + */ + primitiveType: string; + } + /** * Specification that applies to a fileset. Valid only for entries with the 'FILESET' type. */ @@ -58028,6 +59342,36 @@ export namespace datacatalog { groupedEntry: string; } + /** + * The template for an individual field within a tag template. + */ + export interface GoogleCloudDatacatalogV1TagTemplateFieldResponse { + /** + * The description for this field. Defaults to an empty string. + */ + description: string; + /** + * The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + */ + displayName: string; + /** + * If true, this field is required. Defaults to false. + */ + isRequired: boolean; + /** + * The resource name of the tag template field in URL format. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}` Note: The tag template field itself might not be stored in the location specified in its name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 64 characters. + */ + name: string; + /** + * The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + */ + order: number; + /** + * The type of value this tag field can contain. + */ + type: outputs.datacatalog.v1.GoogleCloudDatacatalogV1FieldTypeResponse; + } + /** * The source system of the Taxonomy. */ @@ -58049,7 +59393,7 @@ export namespace datacatalog { /** * Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. */ - commonUsageWithinTimeRange: {[key: string]: string}; + commonUsageWithinTimeRange: {[key: string]: outputs.datacatalog.v1.GoogleCloudDatacatalogV1CommonUsageStatsResponse}; /** * Favorite count in the source system. */ @@ -58061,7 +59405,29 @@ export namespace datacatalog { /** * BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D"}`. */ - usageWithinTimeRange: {[key: string]: string}; + usageWithinTimeRange: {[key: string]: outputs.datacatalog.v1.GoogleCloudDatacatalogV1UsageStatsResponse}; + } + + /** + * Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables) + */ + export interface GoogleCloudDatacatalogV1UsageStatsResponse { + /** + * The number of cancelled attempts to use the underlying entry. + */ + totalCancellations: number; + /** + * The number of successful uses of the underlying entry. + */ + totalCompletions: number; + /** + * Total time spent only on successful uses, in milliseconds. + */ + totalExecutionTimeForCompletionsMillis: number; + /** + * The number of failed attempts to use the underlying entry. + */ + totalFailures: number; } /** @@ -58233,6 +59599,28 @@ export namespace datacatalog { type: string; } + export interface GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse { + /** + * The display name of the enum value. Must not be an empty string. + */ + displayName: string; + } + + export interface GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse { + allowedValues: outputs.datacatalog.v1beta1.GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse[]; + } + + export interface GoogleCloudDatacatalogV1beta1FieldTypeResponse { + /** + * Represents an enum type. + */ + enumType: outputs.datacatalog.v1beta1.GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse; + /** + * Represents primitive types - string, bool etc. + */ + primitiveType: string; + } + /** * Specifications of a single file in Cloud Storage. */ @@ -58303,6 +59691,36 @@ export namespace datacatalog { groupedEntry: string; } + /** + * The template for an individual field within a tag template. + */ + export interface GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse { + /** + * The description for this field. Defaults to an empty string. + */ + description: string; + /** + * The display name for this field. Defaults to an empty string. + */ + displayName: string; + /** + * Whether this is a required field. Defaults to false. + */ + isRequired: boolean; + /** + * The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name. + */ + name: string; + /** + * The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + */ + order: number; + /** + * The type of value this tag field can contain. + */ + type: outputs.datacatalog.v1beta1.GoogleCloudDatacatalogV1beta1FieldTypeResponse; + } + /** * The source system of the Taxonomy. */ @@ -58328,7 +59746,29 @@ export namespace datacatalog { /** * Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {"24H", "7D", "30D"}. */ - usageWithinTimeRange: {[key: string]: string}; + usageWithinTimeRange: {[key: string]: outputs.datacatalog.v1beta1.GoogleCloudDatacatalogV1beta1UsageStatsResponse}; + } + + /** + * Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables + */ + export interface GoogleCloudDatacatalogV1beta1UsageStatsResponse { + /** + * The number of times that the underlying entry was attempted to be used but was cancelled by the user. + */ + totalCancellations: number; + /** + * The number of times that the underlying entry was successfully used. + */ + totalCompletions: number; + /** + * Total time spent (in milliseconds) during uses the resulted in completions. + */ + totalExecutionTimeForCompletionsMillis: number; + /** + * The number of times that the underlying entry was attempted to be used but failed. + */ + totalFailures: number; } /** @@ -58573,11 +60013,11 @@ export namespace dataflow { /** * Experimental settings. */ - internalExperiments: {[key: string]: string}; + internalExperiments: {[key: string]: any}; /** * The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. */ - sdkPipelineOptions: {[key: string]: string}; + sdkPipelineOptions: {[key: string]: any}; /** * Identity to run virtual machines as. Defaults to the default account. */ @@ -58605,11 +60045,11 @@ export namespace dataflow { /** * A description of the process that generated the request. */ - userAgent: {[key: string]: string}; + userAgent: {[key: string]: any}; /** * A structure describing which components and their versions of the service are required in order to run the job. */ - version: {[key: string]: string}; + version: {[key: string]: any}; /** * The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. */ @@ -58693,7 +60133,17 @@ export namespace dataflow { /** * A mapping from each stage to the information about that stage. */ - stages: {[key: string]: string}; + stages: {[key: string]: outputs.dataflow.v1b3.JobExecutionStageInfoResponse}; + } + + /** + * Contains information about how a particular google.dataflow.v1beta3.Step will be executed. + */ + export interface JobExecutionStageInfoResponse { + /** + * The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + */ + stepName: string[]; } /** @@ -59015,7 +60465,7 @@ export namespace dataflow { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -59037,7 +60487,7 @@ export namespace dataflow { /** * Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. */ - properties: {[key: string]: string}; + properties: {[key: string]: any}; } /** @@ -59233,7 +60683,7 @@ export namespace dataflow { /** * Extra arguments for this worker pool. */ - poolArgs: {[key: string]: string}; + poolArgs: {[key: string]: any}; /** * Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. */ @@ -59530,7 +60980,7 @@ export namespace dataform { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -60250,7 +61700,7 @@ export namespace datalabeling { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -60531,7 +61981,7 @@ export namespace datamigration { /** * Optional. Custom engine specific features. */ - customFeatures: {[key: string]: string}; + customFeatures: {[key: string]: any}; /** * Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. */ @@ -60791,7 +62241,7 @@ export namespace datamigration { /** * Optional. Custom engine specific features. */ - customFeatures: {[key: string]: string}; + customFeatures: {[key: string]: any}; /** * New data type. */ @@ -61099,7 +62549,7 @@ export namespace datamigration { /** * Optional. Custom engine specific features. */ - customFeatures: {[key: string]: string}; + customFeatures: {[key: string]: any}; /** * Optional. Column data type name. */ @@ -61301,7 +62751,7 @@ export namespace datamigration { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -61722,7 +63172,7 @@ export namespace datamigration { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -68118,6 +69568,29 @@ export namespace deploymentmanager { role: string; } + export interface BulkInsertOperationStatusResponse { + /** + * Count of VMs successfully created so far. + */ + createdVmCount: number; + /** + * Count of VMs that got deleted during rollback. + */ + deletedVmCount: number; + /** + * Count of VMs that started creating but encountered an error. + */ + failedToCreateVmCount: number; + /** + * Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + */ + status: string; + /** + * Count of VMs originally planned to be created. + */ + targetVmCount: number; + } + /** * CollectionOverride allows resource handling overrides for specific resources within a BaseType */ @@ -68306,7 +69779,7 @@ export namespace deploymentmanager { /** * Status information per location (location name is key). Example key: zones/us-central1-a */ - perLocationStatus: {[key: string]: string}; + perLocationStatus: {[key: string]: outputs.deploymentmanager.alpha.BulkInsertOperationStatusResponse}; } /** @@ -68546,6 +70019,17 @@ export namespace deploymentmanager { email: string; } + export interface SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse { + /** + * If state is `ABANDONED` or `FAILED`, this field is populated. + */ + error: outputs.deploymentmanager.alpha.StatusResponse; + /** + * Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + */ + state: string; + } + export interface SetCommonInstanceMetadataOperationMetadataResponse { /** * The client operation id. @@ -68554,7 +70038,25 @@ export namespace deploymentmanager { /** * Status information per location (location name is key). Example key: zones/us-central1-a */ - perLocationOperations: {[key: string]: string}; + perLocationOperations: {[key: string]: outputs.deploymentmanager.alpha.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse}; + } + + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface StatusResponse { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code: number; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details: {[key: string]: any}[]; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message: string; } export interface TargetConfigurationResponse { @@ -68671,6 +70173,29 @@ export namespace deploymentmanager { role: string; } + export interface BulkInsertOperationStatusResponse { + /** + * Count of VMs successfully created so far. + */ + createdVmCount: number; + /** + * Count of VMs that got deleted during rollback. + */ + deletedVmCount: number; + /** + * Count of VMs that started creating but encountered an error. + */ + failedToCreateVmCount: number; + /** + * Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + */ + status: string; + /** + * Count of VMs originally planned to be created. + */ + targetVmCount: number; + } + export interface ConfigFileResponse { /** * The contents of the file. @@ -68758,7 +70283,7 @@ export namespace deploymentmanager { /** * Status information per location (location name is key). Example key: zones/us-central1-a */ - perLocationStatus: {[key: string]: string}; + perLocationStatus: {[key: string]: outputs.deploymentmanager.v2.BulkInsertOperationStatusResponse}; } export interface OperationErrorErrorsItemResponse { @@ -68917,6 +70442,17 @@ export namespace deploymentmanager { message: string; } + export interface SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse { + /** + * If state is `ABANDONED` or `FAILED`, this field is populated. + */ + error: outputs.deploymentmanager.v2.StatusResponse; + /** + * Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + */ + state: string; + } + export interface SetCommonInstanceMetadataOperationMetadataResponse { /** * The client operation id. @@ -68925,7 +70461,25 @@ export namespace deploymentmanager { /** * Status information per location (location name is key). Example key: zones/us-central1-a */ - perLocationOperations: {[key: string]: string}; + perLocationOperations: {[key: string]: outputs.deploymentmanager.v2.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse}; + } + + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface StatusResponse { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code: number; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details: {[key: string]: any}[]; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message: string; } export interface TargetConfigurationResponse { @@ -69010,6 +70564,29 @@ export namespace deploymentmanager { role: string; } + export interface BulkInsertOperationStatusResponse { + /** + * Count of VMs successfully created so far. + */ + createdVmCount: number; + /** + * Count of VMs that got deleted during rollback. + */ + deletedVmCount: number; + /** + * Count of VMs that started creating but encountered an error. + */ + failedToCreateVmCount: number; + /** + * Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + */ + status: string; + /** + * Count of VMs originally planned to be created. + */ + targetVmCount: number; + } + /** * CollectionOverride allows resource handling overrides for specific resources within a BaseType */ @@ -69176,7 +70753,7 @@ export namespace deploymentmanager { /** * Status information per location (location name is key). Example key: zones/us-central1-a */ - perLocationStatus: {[key: string]: string}; + perLocationStatus: {[key: string]: outputs.deploymentmanager.v2beta.BulkInsertOperationStatusResponse}; } export interface OperationErrorErrorsItemResponse { @@ -69390,6 +70967,17 @@ export namespace deploymentmanager { email: string; } + export interface SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse { + /** + * If state is `ABANDONED` or `FAILED`, this field is populated. + */ + error: outputs.deploymentmanager.v2beta.StatusResponse; + /** + * Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + */ + state: string; + } + export interface SetCommonInstanceMetadataOperationMetadataResponse { /** * The client operation id. @@ -69398,7 +70986,25 @@ export namespace deploymentmanager { /** * Status information per location (location name is key). Example key: zones/us-central1-a */ - perLocationOperations: {[key: string]: string}; + perLocationOperations: {[key: string]: outputs.deploymentmanager.v2beta.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse}; + } + + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface StatusResponse { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code: number; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details: {[key: string]: any}[]; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message: string; } export interface TargetConfigurationResponse { @@ -69510,7 +71116,7 @@ export namespace dialogflow { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - parameters: {[key: string]: string}; + parameters: {[key: string]: any}; } /** @@ -70334,7 +71940,7 @@ export namespace dialogflow { /** * A custom platform-specific response. */ - payload: {[key: string]: string}; + payload: {[key: string]: any}; /** * Optional. The platform that this message is intended for. */ @@ -70708,7 +72314,7 @@ export namespace dialogflow { /** * Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. */ - synthesizeSpeechConfigs: {[key: string]: string}; + synthesizeSpeechConfigs: {[key: string]: outputs.dialogflow.v2.GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse}; } /** @@ -70736,7 +72342,7 @@ export namespace dialogflow { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -70775,7 +72381,7 @@ export namespace dialogflow { /** * Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. */ - parameters: {[key: string]: string}; + parameters: {[key: string]: any}; } /** @@ -71679,7 +73285,7 @@ export namespace dialogflow { /** * A custom platform-specific response. */ - payload: {[key: string]: string}; + payload: {[key: string]: any}; /** * Optional. The platform that this message is intended for. */ @@ -72069,7 +73675,7 @@ export namespace dialogflow { /** * Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. */ - synthesizeSpeechConfigs: {[key: string]: string}; + synthesizeSpeechConfigs: {[key: string]: outputs.dialogflow.v2beta1.GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse}; } /** @@ -72097,7 +73703,7 @@ export namespace dialogflow { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -72266,7 +73872,7 @@ export namespace dialogflow { /** * Parameters that need to be injected into the conversation during intent detection. */ - injectedParameters: {[key: string]: string}; + injectedParameters: {[key: string]: any}; /** * Supports text input, event input, dtmf input in the test case. */ @@ -72288,7 +73894,7 @@ export namespace dialogflow { /** * Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. */ - diagnosticInfo: {[key: string]: string}; + diagnosticInfo: {[key: string]: any}; /** * If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. */ @@ -72296,7 +73902,7 @@ export namespace dialogflow { /** * The session parameters available to the bot at this point. */ - sessionParameters: {[key: string]: string}; + sessionParameters: {[key: string]: any}; /** * Response error from the agent in the test result. If set, other output is empty. */ @@ -72948,7 +74554,7 @@ export namespace dialogflow { /** * Custom metadata. Dialogflow doesn't impose any structure on this. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; } /** @@ -72970,7 +74576,7 @@ export namespace dialogflow { /** * Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; } /** @@ -73068,7 +74674,7 @@ export namespace dialogflow { /** * Returns a response containing a custom, platform-specific payload. */ - payload: {[key: string]: string}; + payload: {[key: string]: any}; /** * Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. */ @@ -73207,6 +74813,32 @@ export namespace dialogflow { enableSpeechAdaptation: boolean; } + /** + * Configuration of how speech should be synthesized. + */ + export interface GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse { + /** + * Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + */ + effectsProfileId: string[]; + /** + * Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + */ + pitch: number; + /** + * Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + */ + speakingRate: number; + /** + * Optional. The desired voice of the synthesized audio. + */ + voice: outputs.dialogflow.v3.GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse; + /** + * Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + */ + volumeGainDb: number; + } + /** * Represents a result from running a test case in an agent environment. */ @@ -73282,7 +74914,7 @@ export namespace dialogflow { /** * Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. */ - synthesizeSpeechConfigs: {[key: string]: string}; + synthesizeSpeechConfigs: {[key: string]: outputs.dialogflow.v3.GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse}; } /** @@ -73361,6 +74993,20 @@ export namespace dialogflow { version: string; } + /** + * Description of which voice to use for speech synthesis. + */ + export interface GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse { + /** + * Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + */ + name: string; + /** + * Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + */ + ssmlGender: string; + } + /** * Represents configuration for a generic web service. */ @@ -73458,7 +75104,7 @@ export namespace dialogflow { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -73627,7 +75273,7 @@ export namespace dialogflow { /** * Parameters that need to be injected into the conversation during intent detection. */ - injectedParameters: {[key: string]: string}; + injectedParameters: {[key: string]: any}; /** * Supports text input, event input, dtmf input in the test case. */ @@ -73649,7 +75295,7 @@ export namespace dialogflow { /** * Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. */ - diagnosticInfo: {[key: string]: string}; + diagnosticInfo: {[key: string]: any}; /** * If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. */ @@ -73657,7 +75303,7 @@ export namespace dialogflow { /** * The session parameters available to the bot at this point. */ - sessionParameters: {[key: string]: string}; + sessionParameters: {[key: string]: any}; /** * Response error from the agent in the test result. If set, other output is empty. */ @@ -74309,7 +75955,7 @@ export namespace dialogflow { /** * Custom metadata. Dialogflow doesn't impose any structure on this. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; } /** @@ -74331,7 +75977,7 @@ export namespace dialogflow { /** * Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; } /** @@ -74429,7 +76075,7 @@ export namespace dialogflow { /** * Returns a response containing a custom, platform-specific payload. */ - payload: {[key: string]: string}; + payload: {[key: string]: any}; /** * Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. */ @@ -74564,6 +76210,32 @@ export namespace dialogflow { enableSpeechAdaptation: boolean; } + /** + * Configuration of how speech should be synthesized. + */ + export interface GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse { + /** + * Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + */ + effectsProfileId: string[]; + /** + * Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + */ + pitch: number; + /** + * Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + */ + speakingRate: number; + /** + * Optional. The desired voice of the synthesized audio. + */ + voice: outputs.dialogflow.v3beta1.GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse; + /** + * Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + */ + volumeGainDb: number; + } + /** * Represents a result from running a test case in an agent environment. */ @@ -74639,7 +76311,7 @@ export namespace dialogflow { /** * Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. */ - synthesizeSpeechConfigs: {[key: string]: string}; + synthesizeSpeechConfigs: {[key: string]: outputs.dialogflow.v3beta1.GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse}; } /** @@ -74718,6 +76390,20 @@ export namespace dialogflow { version: string; } + /** + * Description of which voice to use for speech synthesis. + */ + export interface GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse { + /** + * Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + */ + name: string; + /** + * Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + */ + ssmlGender: string; + } + /** * Represents configuration for a generic web service. */ @@ -74815,7 +76501,7 @@ export namespace dialogflow { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -77880,7 +79566,7 @@ export namespace dlp { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -79865,6 +81551,20 @@ export namespace eventarc { topic: string; } + /** + * A condition that is part of the trigger state computation. + */ + export interface StateConditionResponse { + /** + * The canonical code of the condition. + */ + code: string; + /** + * Human-readable message. + */ + message: string; + } + /** * Represents the transport intermediaries created for the trigger to deliver events. */ @@ -80600,7 +82300,7 @@ export namespace firebasehosting { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -80695,7 +82395,7 @@ export namespace firebaseml { /** * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. */ - metadata: {[key: string]: string}; + metadata: {[key: string]: any}; /** * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. */ @@ -80703,7 +82403,7 @@ export namespace firebaseml { /** * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. */ - response: {[key: string]: string}; + response: {[key: string]: any}; } /** @@ -80717,7 +82417,7 @@ export namespace firebaseml { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -81970,7 +83670,7 @@ export namespace gkehub { /** * A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. */ - ignored: {[key: string]: string}; + ignored: {[key: string]: outputs.gkehub.v1.ClusterUpgradeIgnoredMembershipResponse}; } /** @@ -82055,6 +83755,56 @@ export namespace gkehub { upgrade: outputs.gkehub.v1.ClusterUpgradeGKEUpgradeResponse; } + /** + * IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + */ + export interface ClusterUpgradeIgnoredMembershipResponse { + /** + * Time when the membership was first set to ignored. + */ + ignoredTime: string; + /** + * Reason why the membership is ignored. + */ + reason: string; + } + + /** + * ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + */ + export interface ClusterUpgradeMembershipGKEUpgradeStateResponse { + /** + * Status of the upgrade. + */ + status: outputs.gkehub.v1.ClusterUpgradeUpgradeStatusResponse; + /** + * Which upgrade to track the state. + */ + upgrade: outputs.gkehub.v1.ClusterUpgradeGKEUpgradeResponse; + } + + /** + * Per-membership state for this feature. + */ + export interface ClusterUpgradeMembershipStateResponse { + /** + * Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + */ + fleet: string; + /** + * Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + */ + ignored: outputs.gkehub.v1.ClusterUpgradeIgnoredMembershipResponse; + /** + * Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + */ + scopes: string[]; + /** + * Actual upgrade state against desired. + */ + upgrades: outputs.gkehub.v1.ClusterUpgradeMembershipGKEUpgradeStateResponse[]; + } + /** * Post conditional checks after an upgrade has been applied on all eligible clusters. */ @@ -82149,6 +83899,50 @@ export namespace gkehub { policycontroller: outputs.gkehub.v1.PolicyControllerMembershipSpecResponse; } + /** + * The state of ConfigSync's deployment on a cluster + */ + export interface ConfigManagementConfigSyncDeploymentStateResponse { + /** + * Deployment state of admission-webhook + */ + admissionWebhook: string; + /** + * Deployment state of the git-sync pod + */ + gitSync: string; + /** + * Deployment state of the importer pod + */ + importer: string; + /** + * Deployment state of the monitor pod + */ + monitor: string; + /** + * Deployment state of reconciler-manager pod + */ + reconcilerManager: string; + /** + * Deployment state of root-reconciler + */ + rootReconciler: string; + /** + * Deployment state of the syncer pod + */ + syncer: string; + } + + /** + * Errors pertaining to the installation of Config Sync + */ + export interface ConfigManagementConfigSyncErrorResponse { + /** + * A string representing the user facing error message + */ + errorMessage: string; + } + /** * Configuration for Config Sync */ @@ -82185,6 +83979,102 @@ export namespace gkehub { sourceFormat: string; } + /** + * State information for ConfigSync + */ + export interface ConfigManagementConfigSyncStateResponse { + /** + * Information about the deployment of ConfigSync, including the version of the various Pods deployed + */ + deploymentState: outputs.gkehub.v1.ConfigManagementConfigSyncDeploymentStateResponse; + /** + * Errors pertaining to the installation of Config Sync. + */ + errors: outputs.gkehub.v1.ConfigManagementConfigSyncErrorResponse[]; + /** + * The state of ConfigSync's process to sync configs to a cluster + */ + syncState: outputs.gkehub.v1.ConfigManagementSyncStateResponse; + /** + * The version of ConfigSync deployed + */ + version: outputs.gkehub.v1.ConfigManagementConfigSyncVersionResponse; + } + + /** + * Specific versioning information pertaining to ConfigSync's Pods + */ + export interface ConfigManagementConfigSyncVersionResponse { + /** + * Version of the deployed admission_webhook pod + */ + admissionWebhook: string; + /** + * Version of the deployed git-sync pod + */ + gitSync: string; + /** + * Version of the deployed importer pod + */ + importer: string; + /** + * Version of the deployed monitor pod + */ + monitor: string; + /** + * Version of the deployed reconciler-manager pod + */ + reconcilerManager: string; + /** + * Version of the deployed reconciler container in root-reconciler pod + */ + rootReconciler: string; + /** + * Version of the deployed syncer pod + */ + syncer: string; + } + + /** + * Model for a config file in the git repo with an associated Sync error + */ + export interface ConfigManagementErrorResourceResponse { + /** + * Group/version/kind of the resource that is causing an error + */ + resourceGvk: outputs.gkehub.v1.ConfigManagementGroupVersionKindResponse; + /** + * Metadata name of the resource that is causing an error + */ + resourceName: string; + /** + * Namespace of the resource that is causing an error + */ + resourceNamespace: string; + /** + * Path in the git repo of the erroneous config + */ + sourcePath: string; + } + + /** + * State of Policy Controller installation. + */ + export interface ConfigManagementGatekeeperDeploymentStateResponse { + /** + * Status of gatekeeper-audit deployment. + */ + gatekeeperAudit: string; + /** + * Status of gatekeeper-controller-manager pod. + */ + gatekeeperControllerManagerState: string; + /** + * Status of the pod serving the mutation webhook. + */ + gatekeeperMutation: string; + } + /** * Git repo configuration for a single cluster. */ @@ -82223,6 +84113,24 @@ export namespace gkehub { syncWaitSecs: string; } + /** + * A Kubernetes object's GVK + */ + export interface ConfigManagementGroupVersionKindResponse { + /** + * Kubernetes Group + */ + group: string; + /** + * Kubernetes Kind + */ + kind: string; + /** + * Kubernetes Version + */ + version: string; + } + /** * Configuration for Hierarchy Controller */ @@ -82241,6 +84149,58 @@ export namespace gkehub { enabled: boolean; } + /** + * Deployment state for Hierarchy Controller + */ + export interface ConfigManagementHierarchyControllerDeploymentStateResponse { + /** + * The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + */ + extension: string; + /** + * The deployment state for open source HNC (e.g. v0.7.0-hc.0) + */ + hnc: string; + } + + /** + * State for Hierarchy Controller + */ + export interface ConfigManagementHierarchyControllerStateResponse { + /** + * The deployment state for Hierarchy Controller + */ + state: outputs.gkehub.v1.ConfigManagementHierarchyControllerDeploymentStateResponse; + /** + * The version for Hierarchy Controller + */ + version: outputs.gkehub.v1.ConfigManagementHierarchyControllerVersionResponse; + } + + /** + * Version for Hierarchy Controller + */ + export interface ConfigManagementHierarchyControllerVersionResponse { + /** + * Version for Hierarchy Controller extension + */ + extension: string; + /** + * Version for open source HNC + */ + hnc: string; + } + + /** + * Errors pertaining to the installation of ACM + */ + export interface ConfigManagementInstallErrorResponse { + /** + * A string representing the user facing error message + */ + errorMessage: string; + } + /** * **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. */ @@ -82267,6 +84227,36 @@ export namespace gkehub { version: string; } + /** + * **Anthos Config Management**: State for a single cluster. + */ + export interface ConfigManagementMembershipStateResponse { + /** + * This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + */ + clusterName: string; + /** + * Current sync status + */ + configSyncState: outputs.gkehub.v1.ConfigManagementConfigSyncStateResponse; + /** + * Hierarchy Controller status + */ + hierarchyControllerState: outputs.gkehub.v1.ConfigManagementHierarchyControllerStateResponse; + /** + * Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + */ + membershipSpec: outputs.gkehub.v1.ConfigManagementMembershipSpecResponse; + /** + * Current install status of ACM's Operator + */ + operatorState: outputs.gkehub.v1.ConfigManagementOperatorStateResponse; + /** + * PolicyController status + */ + policyControllerState: outputs.gkehub.v1.ConfigManagementPolicyControllerStateResponse; + } + /** * OCI repo configuration for a single cluster */ @@ -82293,6 +84283,38 @@ export namespace gkehub { syncWaitSecs: string; } + /** + * State information for an ACM's Operator + */ + export interface ConfigManagementOperatorStateResponse { + /** + * The state of the Operator's deployment + */ + deploymentState: string; + /** + * Install errors. + */ + errors: outputs.gkehub.v1.ConfigManagementInstallErrorResponse[]; + /** + * The semenatic version number of the operator + */ + version: string; + } + + /** + * State for the migration of PolicyController from ACM -> PoCo Hub. + */ + export interface ConfigManagementPolicyControllerMigrationResponse { + /** + * Last time this membership spec was copied to PoCo feature. + */ + copyTime: string; + /** + * Stage of the migration. + */ + stage: string; + } + /** * PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] */ @@ -82345,6 +84367,88 @@ export namespace gkehub { updateTime: string; } + /** + * State for PolicyControllerState. + */ + export interface ConfigManagementPolicyControllerStateResponse { + /** + * The state about the policy controller installation. + */ + deploymentState: outputs.gkehub.v1.ConfigManagementGatekeeperDeploymentStateResponse; + /** + * Record state of ACM -> PoCo Hub migration for this feature. + */ + migration: outputs.gkehub.v1.ConfigManagementPolicyControllerMigrationResponse; + /** + * The version of Gatekeeper Policy Controller deployed. + */ + version: outputs.gkehub.v1.ConfigManagementPolicyControllerVersionResponse; + } + + /** + * The build version of Gatekeeper Policy Controller is using. + */ + export interface ConfigManagementPolicyControllerVersionResponse { + /** + * The gatekeeper image tag that is composed of ACM version, git tag, build number. + */ + version: string; + } + + /** + * An ACM created error representing a problem syncing configurations + */ + export interface ConfigManagementSyncErrorResponse { + /** + * An ACM defined error code + */ + code: string; + /** + * A description of the error + */ + errorMessage: string; + /** + * A list of config(s) associated with the error, if any + */ + errorResources: outputs.gkehub.v1.ConfigManagementErrorResourceResponse[]; + } + + /** + * State indicating an ACM's progress syncing configurations to a cluster + */ + export interface ConfigManagementSyncStateResponse { + /** + * Sync status code + */ + code: string; + /** + * A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + */ + errors: outputs.gkehub.v1.ConfigManagementSyncErrorResponse[]; + /** + * Token indicating the state of the importer. + */ + importToken: string; + /** + * Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + * + * @deprecated Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + */ + lastSync: string; + /** + * Timestamp type of when ACM last successfully synced the repo + */ + lastSyncTime: string; + /** + * Token indicating the state of the repo. + */ + sourceToken: string; + /** + * Token indicating the state of the syncer. + */ + syncToken: string; + } + /** * DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet. */ @@ -82519,6 +84623,18 @@ export namespace gkehub { fleetScopeLogsConfig: outputs.gkehub.v1.FleetObservabilityRoutingConfigResponse; } + /** + * **FleetObservability**: The membership-specific input for FleetObservability feature. + */ + export interface FleetObservabilityMembershipSpecResponse { + } + + /** + * **FleetObservability**: Membership-specific Feature state for fleetobservability. + */ + export interface FleetObservabilityMembershipStateResponse { + } + /** * RoutingConfig configures the behaviour of fleet logging feature. */ @@ -82615,6 +84731,28 @@ export namespace gkehub { authMethods: outputs.gkehub.v1.IdentityServiceAuthMethodResponse[]; } + /** + * **Anthos Identity Service**: State for a single Membership. + */ + export interface IdentityServiceMembershipStateResponse { + /** + * The reason of the failure. + */ + failureReason: string; + /** + * Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + */ + installedVersion: string; + /** + * Last reconciled membership configuration + */ + memberConfig: outputs.gkehub.v1.IdentityServiceMembershipSpecResponse; + /** + * Deployment state on this member + */ + state: string; + } + /** * Configuration for OIDC Auth flow. */ @@ -82777,6 +84915,74 @@ export namespace gkehub { onPremCluster: outputs.gkehub.v1.OnPremClusterResponse; } + /** + * MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + */ + export interface MembershipFeatureSpecResponse { + /** + * Config Management-specific spec. + */ + configmanagement: outputs.gkehub.v1.ConfigManagementMembershipSpecResponse; + /** + * Fleet observability membership spec + */ + fleetobservability: outputs.gkehub.v1.FleetObservabilityMembershipSpecResponse; + /** + * Identity Service-specific spec. + */ + identityservice: outputs.gkehub.v1.IdentityServiceMembershipSpecResponse; + /** + * Anthos Service Mesh-specific spec + */ + mesh: outputs.gkehub.v1.ServiceMeshMembershipSpecResponse; + /** + * Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + */ + origin: outputs.gkehub.v1.OriginResponse; + /** + * Policy Controller spec. + */ + policycontroller: outputs.gkehub.v1.PolicyControllerMembershipSpecResponse; + } + + /** + * MembershipFeatureState contains Feature status information for a single Membership. + */ + export interface MembershipFeatureStateResponse { + /** + * Appdevexperience specific state. + */ + appdevexperience: outputs.gkehub.v1.AppDevExperienceFeatureStateResponse; + /** + * ClusterUpgrade state. + */ + clusterupgrade: outputs.gkehub.v1.ClusterUpgradeMembershipStateResponse; + /** + * Config Management-specific state. + */ + configmanagement: outputs.gkehub.v1.ConfigManagementMembershipStateResponse; + /** + * Fleet observability membership state. + */ + fleetobservability: outputs.gkehub.v1.FleetObservabilityMembershipStateResponse; + /** + * Identity Service-specific state. + */ + identityservice: outputs.gkehub.v1.IdentityServiceMembershipStateResponse; + /** + * Policycontroller-specific state. + */ + policycontroller: outputs.gkehub.v1.PolicyControllerMembershipStateResponse; + /** + * Service Mesh-specific state. + */ + servicemesh: outputs.gkehub.v1.ServiceMeshMembershipStateResponse; + /** + * The high-level state of this Feature for a single membership. + */ + state: outputs.gkehub.v1.FeatureStateResponse; + } + /** * MembershipState describes the state of a Membership resource. */ @@ -82869,6 +85075,16 @@ export namespace gkehub { resourceLink: string; } + /** + * Origin defines where this MembershipFeatureSpec originated from. + */ + export interface OriginResponse { + /** + * Type specifies which type of origin is set. + */ + type: string; + } + /** * Binauthz policy that applies to this cluster. */ @@ -82879,6 +85095,16 @@ export namespace gkehub { name: string; } + /** + * BundleInstallSpec is the specification configuration for a single managed bundle. + */ + export interface PolicyControllerBundleInstallSpecResponse { + /** + * The set of namespaces to be exempted from the bundle. + */ + exemptedNamespaces: string[]; + } + /** * Configuration for Policy Controller */ @@ -82894,7 +85120,7 @@ export namespace gkehub { /** * Map of deployment configs to deployments ("admission", "audit", "mutation'). */ - deploymentConfigs: {[key: string]: string}; + deploymentConfigs: {[key: string]: outputs.gkehub.v1.PolicyControllerPolicyControllerDeploymentConfigResponse}; /** * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. */ @@ -82939,6 +85165,24 @@ export namespace gkehub { version: string; } + /** + * **Policy Controller**: State for a single cluster. + */ + export interface PolicyControllerMembershipStateResponse { + /** + * Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + */ + componentStates: {[key: string]: outputs.gkehub.v1.PolicyControllerOnClusterStateResponse}; + /** + * The overall content state observed by the Hub Feature controller. + */ + policyContentState: outputs.gkehub.v1.PolicyControllerPolicyContentStateResponse; + /** + * The overall Policy Controller lifecycle state observed by the Hub Feature controller. + */ + state: string; + } + /** * MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] */ @@ -82949,6 +85193,20 @@ export namespace gkehub { backends: string[]; } + /** + * OnClusterState represents the state of a sub-component of Policy Controller. + */ + export interface PolicyControllerOnClusterStateResponse { + /** + * Surface potential errors or information logs. + */ + details: string; + /** + * The lifecycle state of this component. + */ + state: string; + } + /** * PolicyContentSpec defines the user's desired content configuration on the cluster. */ @@ -82956,13 +85214,85 @@ export namespace gkehub { /** * map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. */ - bundles: {[key: string]: string}; + bundles: {[key: string]: outputs.gkehub.v1.PolicyControllerBundleInstallSpecResponse}; /** * Configures the installation of the Template Library. */ templateLibrary: outputs.gkehub.v1.PolicyControllerTemplateLibraryConfigResponse; } + /** + * The state of the policy controller policy content + */ + export interface PolicyControllerPolicyContentStateResponse { + /** + * The state of the any bundles included in the chosen version of the manifest + */ + bundleStates: {[key: string]: outputs.gkehub.v1.PolicyControllerOnClusterStateResponse}; + /** + * The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + */ + referentialSyncConfigState: outputs.gkehub.v1.PolicyControllerOnClusterStateResponse; + /** + * The state of the template library + */ + templateLibraryState: outputs.gkehub.v1.PolicyControllerOnClusterStateResponse; + } + + /** + * Deployment-specific configuration. + */ + export interface PolicyControllerPolicyControllerDeploymentConfigResponse { + /** + * Container resource requirements. + */ + containerResources: outputs.gkehub.v1.PolicyControllerResourceRequirementsResponse; + /** + * Pod affinity configuration. + */ + podAffinity: string; + /** + * Pod anti-affinity enablement. + */ + podAntiAffinity: boolean; + /** + * Pod tolerations of node taints. + */ + podTolerations: outputs.gkehub.v1.PolicyControllerTolerationResponse[]; + /** + * Pod replica count. + */ + replicaCount: string; + } + + /** + * ResourceList contains container resource requirements. + */ + export interface PolicyControllerResourceListResponse { + /** + * CPU requirement expressed in Kubernetes resource units. + */ + cpu: string; + /** + * Memory requirement expressed in Kubernetes resource units. + */ + memory: string; + } + + /** + * ResourceRequirements describes the compute resource requirements. + */ + export interface PolicyControllerResourceRequirementsResponse { + /** + * Limits describes the maximum amount of compute resources allowed for use by the running container. + */ + limits: outputs.gkehub.v1.PolicyControllerResourceListResponse; + /** + * Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + */ + requests: outputs.gkehub.v1.PolicyControllerResourceListResponse; + } + /** * The config specifying which default library templates to install. */ @@ -82973,6 +85303,28 @@ export namespace gkehub { installation: string; } + /** + * Toleration of a node taint. + */ + export interface PolicyControllerTolerationResponse { + /** + * Matches a taint effect. + */ + effect: string; + /** + * Matches a taint key (not necessarily unique). + */ + key: string; + /** + * Matches a taint operator. + */ + operator: string; + /** + * Matches a taint value. + */ + value: string; + } + /** * RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. */ @@ -83025,6 +85377,22 @@ export namespace gkehub { predefinedRole: string; } + /** + * ScopeFeatureSpec contains feature specs for a fleet scope. + */ + export interface ScopeFeatureSpecResponse { + } + + /** + * ScopeFeatureState contains Scope-wide Feature status information. + */ + export interface ScopeFeatureStateResponse { + /** + * The "running state" of the Feature in this Scope. + */ + state: outputs.gkehub.v1.FeatureStateResponse; + } + /** * ScopeLifecycleState describes the state of a Scope resource. */ @@ -83049,6 +85417,34 @@ export namespace gkehub { vulnerabilityMode: string; } + /** + * Status of control plane management. + */ + export interface ServiceMeshControlPlaneManagementResponse { + /** + * Explanation of state. + */ + details: outputs.gkehub.v1.ServiceMeshStatusDetailsResponse[]; + /** + * LifecycleState of control plane management. + */ + state: string; + } + + /** + * Status of data plane management. Only reported per-member. + */ + export interface ServiceMeshDataPlaneManagementResponse { + /** + * Explanation of the status. + */ + details: outputs.gkehub.v1.ServiceMeshStatusDetailsResponse[]; + /** + * Lifecycle status of data plane management. + */ + state: string; + } + /** * **Service Mesh**: Spec for a single Membership for the servicemesh feature */ @@ -83065,6 +85461,34 @@ export namespace gkehub { management: string; } + /** + * **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + */ + export interface ServiceMeshMembershipStateResponse { + /** + * Status of control plane management + */ + controlPlaneManagement: outputs.gkehub.v1.ServiceMeshControlPlaneManagementResponse; + /** + * Status of data plane management. + */ + dataPlaneManagement: outputs.gkehub.v1.ServiceMeshDataPlaneManagementResponse; + } + + /** + * Structured and human-readable details for a status. + */ + export interface ServiceMeshStatusDetailsResponse { + /** + * A machine-readable code that further describes a broad status. + */ + code: string; + /** + * Human-readable explanation of code. + */ + details: string; + } + /** * Status specifies state for the subcomponent. */ @@ -83228,6 +85652,20 @@ export namespace gkehub { allowlistedServiceAccounts: string[]; } + /** + * **Cloud Build**: Configurations for each Cloud Build enabled cluster. + */ + export interface CloudBuildMembershipSpecResponse { + /** + * Whether it is allowed to run the privileged builds on the cluster or not. + */ + securityPolicy: string; + /** + * Version of the cloud build software on the cluster. + */ + version: string; + } + /** * **ClusterUpgrade**: The configuration for the fleet-level ClusterUpgrade feature. */ @@ -83261,7 +85699,7 @@ export namespace gkehub { /** * A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. */ - ignored: {[key: string]: string}; + ignored: {[key: string]: outputs.gkehub.v1alpha.ClusterUpgradeIgnoredMembershipResponse}; } /** @@ -83346,6 +85784,56 @@ export namespace gkehub { upgrade: outputs.gkehub.v1alpha.ClusterUpgradeGKEUpgradeResponse; } + /** + * IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + */ + export interface ClusterUpgradeIgnoredMembershipResponse { + /** + * Time when the membership was first set to ignored. + */ + ignoredTime: string; + /** + * Reason why the membership is ignored. + */ + reason: string; + } + + /** + * ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + */ + export interface ClusterUpgradeMembershipGKEUpgradeStateResponse { + /** + * Status of the upgrade. + */ + status: outputs.gkehub.v1alpha.ClusterUpgradeUpgradeStatusResponse; + /** + * Which upgrade to track the state. + */ + upgrade: outputs.gkehub.v1alpha.ClusterUpgradeGKEUpgradeResponse; + } + + /** + * Per-membership state for this feature. + */ + export interface ClusterUpgradeMembershipStateResponse { + /** + * Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + */ + fleet: string; + /** + * Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + */ + ignored: outputs.gkehub.v1alpha.ClusterUpgradeIgnoredMembershipResponse; + /** + * Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + */ + scopes: string[]; + /** + * Actual upgrade state against desired. + */ + upgrades: outputs.gkehub.v1alpha.ClusterUpgradeMembershipGKEUpgradeStateResponse[]; + } + /** * Post conditional checks after an upgrade has been applied on all eligible clusters. */ @@ -83356,6 +85844,42 @@ export namespace gkehub { soaking: string; } + /** + * **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. + */ + export interface ClusterUpgradeScopeSpecResponse { + /** + * Allow users to override some properties of each GKE upgrade. + */ + gkeUpgradeOverrides: outputs.gkehub.v1alpha.ClusterUpgradeGKEUpgradeOverrideResponse[]; + /** + * Post conditions to evaluate to mark an upgrade COMPLETE. Required. + */ + postConditions: outputs.gkehub.v1alpha.ClusterUpgradePostConditionsResponse; + /** + * This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + */ + upstreamScopes: string[]; + } + + /** + * **ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature. + */ + export interface ClusterUpgradeScopeStateResponse { + /** + * This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. + */ + downstreamScopes: string[]; + /** + * Feature state for GKE clusters. + */ + gkeState: outputs.gkehub.v1alpha.ClusterUpgradeGKEUpgradeFeatureStateResponse; + /** + * A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. + */ + ignored: {[key: string]: outputs.gkehub.v1alpha.ClusterUpgradeIgnoredMembershipResponse}; + } + /** * UpgradeStatus provides status information for each upgrade. */ @@ -83474,6 +85998,74 @@ export namespace gkehub { enabled: boolean; } + /** + * State for Binauthz + */ + export interface ConfigManagementBinauthzStateResponse { + /** + * The version of binauthz that is installed. + */ + version: outputs.gkehub.v1alpha.ConfigManagementBinauthzVersionResponse; + /** + * The state of the binauthz webhook. + */ + webhook: string; + } + + /** + * The version of binauthz. + */ + export interface ConfigManagementBinauthzVersionResponse { + /** + * The version of the binauthz webhook. + */ + webhookVersion: string; + } + + /** + * The state of ConfigSync's deployment on a cluster + */ + export interface ConfigManagementConfigSyncDeploymentStateResponse { + /** + * Deployment state of admission-webhook + */ + admissionWebhook: string; + /** + * Deployment state of the git-sync pod + */ + gitSync: string; + /** + * Deployment state of the importer pod + */ + importer: string; + /** + * Deployment state of the monitor pod + */ + monitor: string; + /** + * Deployment state of reconciler-manager pod + */ + reconcilerManager: string; + /** + * Deployment state of root-reconciler + */ + rootReconciler: string; + /** + * Deployment state of the syncer pod + */ + syncer: string; + } + + /** + * Errors pertaining to the installation of Config Sync + */ + export interface ConfigManagementConfigSyncErrorResponse { + /** + * A string representing the user facing error message + */ + errorMessage: string; + } + /** * Configuration for Config Sync */ @@ -83510,6 +86102,102 @@ export namespace gkehub { sourceFormat: string; } + /** + * State information for ConfigSync + */ + export interface ConfigManagementConfigSyncStateResponse { + /** + * Information about the deployment of ConfigSync, including the version of the various Pods deployed + */ + deploymentState: outputs.gkehub.v1alpha.ConfigManagementConfigSyncDeploymentStateResponse; + /** + * Errors pertaining to the installation of Config Sync. + */ + errors: outputs.gkehub.v1alpha.ConfigManagementConfigSyncErrorResponse[]; + /** + * The state of ConfigSync's process to sync configs to a cluster + */ + syncState: outputs.gkehub.v1alpha.ConfigManagementSyncStateResponse; + /** + * The version of ConfigSync deployed + */ + version: outputs.gkehub.v1alpha.ConfigManagementConfigSyncVersionResponse; + } + + /** + * Specific versioning information pertaining to ConfigSync's Pods + */ + export interface ConfigManagementConfigSyncVersionResponse { + /** + * Version of the deployed admission_webhook pod + */ + admissionWebhook: string; + /** + * Version of the deployed git-sync pod + */ + gitSync: string; + /** + * Version of the deployed importer pod + */ + importer: string; + /** + * Version of the deployed monitor pod + */ + monitor: string; + /** + * Version of the deployed reconciler-manager pod + */ + reconcilerManager: string; + /** + * Version of the deployed reconciler container in root-reconciler pod + */ + rootReconciler: string; + /** + * Version of the deployed syncer pod + */ + syncer: string; + } + + /** + * Model for a config file in the git repo with an associated Sync error + */ + export interface ConfigManagementErrorResourceResponse { + /** + * Group/version/kind of the resource that is causing an error + */ + resourceGvk: outputs.gkehub.v1alpha.ConfigManagementGroupVersionKindResponse; + /** + * Metadata name of the resource that is causing an error + */ + resourceName: string; + /** + * Namespace of the resource that is causing an error + */ + resourceNamespace: string; + /** + * Path in the git repo of the erroneous config + */ + sourcePath: string; + } + + /** + * State of Policy Controller installation. + */ + export interface ConfigManagementGatekeeperDeploymentStateResponse { + /** + * Status of gatekeeper-audit deployment. + */ + gatekeeperAudit: string; + /** + * Status of gatekeeper-controller-manager pod. + */ + gatekeeperControllerManagerState: string; + /** + * Status of the pod serving the mutation webhook. + */ + gatekeeperMutation: string; + } + /** * Git repo configuration for a single cluster. */ @@ -83548,6 +86236,24 @@ export namespace gkehub { syncWaitSecs: string; } + /** + * A Kubernetes object's GVK + */ + export interface ConfigManagementGroupVersionKindResponse { + /** + * Kubernetes Group + */ + group: string; + /** + * Kubernetes Kind + */ + kind: string; + /** + * Kubernetes Version + */ + version: string; + } + /** * Configuration for Hierarchy Controller */ @@ -83566,6 +86272,58 @@ export namespace gkehub { enabled: boolean; } + /** + * Deployment state for Hierarchy Controller + */ + export interface ConfigManagementHierarchyControllerDeploymentStateResponse { + /** + * The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + */ + extension: string; + /** + * The deployment state for open source HNC (e.g. v0.7.0-hc.0) + */ + hnc: string; + } + + /** + * State for Hierarchy Controller + */ + export interface ConfigManagementHierarchyControllerStateResponse { + /** + * The deployment state for Hierarchy Controller + */ + state: outputs.gkehub.v1alpha.ConfigManagementHierarchyControllerDeploymentStateResponse; + /** + * The version for Hierarchy Controller + */ + version: outputs.gkehub.v1alpha.ConfigManagementHierarchyControllerVersionResponse; + } + + /** + * Version for Hierarchy Controller + */ + export interface ConfigManagementHierarchyControllerVersionResponse { + /** + * Version for Hierarchy Controller extension + */ + extension: string; + /** + * Version for open source HNC + */ + hnc: string; + } + + /** + * Errors pertaining to the installation of ACM + */ + export interface ConfigManagementInstallErrorResponse { + /** + * A string representing the user facing error message + */ + errorMessage: string; + } + /** * **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. */ @@ -83598,6 +86356,40 @@ export namespace gkehub { version: string; } + /** + * **Anthos Config Management**: State for a single cluster. + */ + export interface ConfigManagementMembershipStateResponse { + /** + * Binauthz status + */ + binauthzState: outputs.gkehub.v1alpha.ConfigManagementBinauthzStateResponse; + /** + * This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + */ + clusterName: string; + /** + * Current sync status + */ + configSyncState: outputs.gkehub.v1alpha.ConfigManagementConfigSyncStateResponse; + /** + * Hierarchy Controller status + */ + hierarchyControllerState: outputs.gkehub.v1alpha.ConfigManagementHierarchyControllerStateResponse; + /** + * Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + */ + membershipSpec: outputs.gkehub.v1alpha.ConfigManagementMembershipSpecResponse; + /** + * Current install status of ACM's Operator + */ + operatorState: outputs.gkehub.v1alpha.ConfigManagementOperatorStateResponse; + /** + * PolicyController status + */ + policyControllerState: outputs.gkehub.v1alpha.ConfigManagementPolicyControllerStateResponse; + } + /** * OCI repo configuration for a single cluster */ @@ -83624,6 +86416,38 @@ export namespace gkehub { syncWaitSecs: string; } + /** + * State information for an ACM's Operator + */ + export interface ConfigManagementOperatorStateResponse { + /** + * The state of the Operator's deployment + */ + deploymentState: string; + /** + * Install errors. + */ + errors: outputs.gkehub.v1alpha.ConfigManagementInstallErrorResponse[]; + /** + * The semenatic version number of the operator + */ + version: string; + } + + /** + * State for the migration of PolicyController from ACM -> PoCo Hub. + */ + export interface ConfigManagementPolicyControllerMigrationResponse { + /** + * Last time this membership spec was copied to PoCo feature. + */ + copyTime: string; + /** + * Stage of the migration. + */ + stage: string; + } + /** * PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] */ @@ -83676,6 +86500,88 @@ export namespace gkehub { updateTime: string; } + /** + * State for PolicyControllerState. + */ + export interface ConfigManagementPolicyControllerStateResponse { + /** + * The state about the policy controller installation. + */ + deploymentState: outputs.gkehub.v1alpha.ConfigManagementGatekeeperDeploymentStateResponse; + /** + * Record state of ACM -> PoCo Hub migration for this feature. + */ + migration: outputs.gkehub.v1alpha.ConfigManagementPolicyControllerMigrationResponse; + /** + * The version of Gatekeeper Policy Controller deployed. + */ + version: outputs.gkehub.v1alpha.ConfigManagementPolicyControllerVersionResponse; + } + + /** + * The build version of Gatekeeper Policy Controller is using. + */ + export interface ConfigManagementPolicyControllerVersionResponse { + /** + * The gatekeeper image tag that is composed of ACM version, git tag, build number. + */ + version: string; + } + + /** + * An ACM created error representing a problem syncing configurations + */ + export interface ConfigManagementSyncErrorResponse { + /** + * An ACM defined error code + */ + code: string; + /** + * A description of the error + */ + errorMessage: string; + /** + * A list of config(s) associated with the error, if any + */ + errorResources: outputs.gkehub.v1alpha.ConfigManagementErrorResourceResponse[]; + } + + /** + * State indicating an ACM's progress syncing configurations to a cluster + */ + export interface ConfigManagementSyncStateResponse { + /** + * Sync status code + */ + code: string; + /** + * A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + */ + errors: outputs.gkehub.v1alpha.ConfigManagementSyncErrorResponse[]; + /** + * Token indicating the state of the importer. + */ + importToken: string; + /** + * Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + * + * @deprecated Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + */ + lastSync: string; + /** + * Timestamp type of when ACM last successfully synced the repo + */ + lastSyncTime: string; + /** + * Token indicating the state of the repo. + */ + sourceToken: string; + /** + * Token indicating the state of the syncer. + */ + syncToken: string; + } + /** * DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet. */ @@ -83864,6 +86770,18 @@ export namespace gkehub { fleetScopeLogsConfig: outputs.gkehub.v1alpha.FleetObservabilityRoutingConfigResponse; } + /** + * **FleetObservability**: The membership-specific input for FleetObservability feature. + */ + export interface FleetObservabilityMembershipSpecResponse { + } + + /** + * **FleetObservability**: Membership-specific Feature state for fleetobservability. + */ + export interface FleetObservabilityMembershipStateResponse { + } + /** * RoutingConfig configures the behaviour of fleet logging feature. */ @@ -83960,6 +86878,28 @@ export namespace gkehub { authMethods: outputs.gkehub.v1alpha.IdentityServiceAuthMethodResponse[]; } + /** + * **Anthos Identity Service**: State for a single Membership. + */ + export interface IdentityServiceMembershipStateResponse { + /** + * The reason of the failure. + */ + failureReason: string; + /** + * Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + */ + installedVersion: string; + /** + * Last reconciled membership configuration + */ + memberConfig: outputs.gkehub.v1alpha.IdentityServiceMembershipSpecResponse; + /** + * Deployment state on this member + */ + state: string; + } + /** * Configuration for OIDC Auth flow. */ @@ -84122,6 +87062,98 @@ export namespace gkehub { onPremCluster: outputs.gkehub.v1alpha.OnPremClusterResponse; } + /** + * MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + */ + export interface MembershipFeatureSpecResponse { + /** + * Anthos Observability-specific spec + */ + anthosobservability: outputs.gkehub.v1alpha.AnthosObservabilityMembershipSpecResponse; + /** + * Cloud Build-specific spec + */ + cloudbuild: outputs.gkehub.v1alpha.CloudBuildMembershipSpecResponse; + /** + * Config Management-specific spec. + */ + configmanagement: outputs.gkehub.v1alpha.ConfigManagementMembershipSpecResponse; + /** + * Fleet observability membership spec + */ + fleetobservability: outputs.gkehub.v1alpha.FleetObservabilityMembershipSpecResponse; + /** + * Identity Service-specific spec. + */ + identityservice: outputs.gkehub.v1alpha.IdentityServiceMembershipSpecResponse; + /** + * Anthos Service Mesh-specific spec + */ + mesh: outputs.gkehub.v1alpha.ServiceMeshMembershipSpecResponse; + /** + * FNS Actuation membership spec + */ + namespaceactuation: outputs.gkehub.v1alpha.NamespaceActuationMembershipSpecResponse; + /** + * Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + */ + origin: outputs.gkehub.v1alpha.OriginResponse; + /** + * Policy Controller spec. + */ + policycontroller: outputs.gkehub.v1alpha.PolicyControllerMembershipSpecResponse; + /** + * Workload Certificate spec. + */ + workloadcertificate: outputs.gkehub.v1alpha.MembershipSpecResponse; + } + + /** + * MembershipFeatureState contains Feature status information for a single Membership. + */ + export interface MembershipFeatureStateResponse { + /** + * Appdevexperience specific state. + */ + appdevexperience: outputs.gkehub.v1alpha.AppDevExperienceFeatureStateResponse; + /** + * ClusterUpgrade state. + */ + clusterupgrade: outputs.gkehub.v1alpha.ClusterUpgradeMembershipStateResponse; + /** + * Config Management-specific state. + */ + configmanagement: outputs.gkehub.v1alpha.ConfigManagementMembershipStateResponse; + /** + * Fleet observability membership state. + */ + fleetobservability: outputs.gkehub.v1alpha.FleetObservabilityMembershipStateResponse; + /** + * Identity Service-specific state. + */ + identityservice: outputs.gkehub.v1alpha.IdentityServiceMembershipStateResponse; + /** + * Metering-specific state. + */ + metering: outputs.gkehub.v1alpha.MeteringMembershipStateResponse; + /** + * FNS Actuation membership state + */ + namespaceactuation: outputs.gkehub.v1alpha.NamespaceActuationMembershipStateResponse; + /** + * Policycontroller-specific state. + */ + policycontroller: outputs.gkehub.v1alpha.PolicyControllerMembershipStateResponse; + /** + * Service Mesh-specific state. + */ + servicemesh: outputs.gkehub.v1alpha.ServiceMeshMembershipStateResponse; + /** + * The high-level state of this Feature for a single membership. + */ + state: outputs.gkehub.v1alpha.FeatureStateResponse; + } + /** * **Workload Certificate**: The membership-specific input for WorkloadCertificate feature. */ @@ -84142,6 +87174,20 @@ export namespace gkehub { code: string; } + /** + * **Metering**: Per-Membership Feature State. + */ + export interface MeteringMembershipStateResponse { + /** + * The time stamp of the most recent measurement of the number of vCPUs in the cluster. + */ + lastMeasurementTime: string; + /** + * The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + */ + preciseLastMeasuredClusterVcpuCapacity: number; + } + /** * MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. */ @@ -84214,6 +87260,18 @@ export namespace gkehub { export interface NamespaceActuationFeatureStateResponse { } + /** + * **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. + */ + export interface NamespaceActuationMembershipSpecResponse { + } + + /** + * **Namespace Actuation**: An empty state left as an example membership-specific Feature state. + */ + export interface NamespaceActuationMembershipStateResponse { + } + /** * NamespaceLifecycleState describes the state of a Namespace resource. */ @@ -84246,6 +87304,16 @@ export namespace gkehub { resourceLink: string; } + /** + * Origin defines where this MembershipFeatureSpec originated from. + */ + export interface OriginResponse { + /** + * Type specifies which type of origin is set. + */ + type: string; + } + /** * Binauthz policy that applies to this cluster. */ @@ -84256,6 +87324,16 @@ export namespace gkehub { name: string; } + /** + * BundleInstallSpec is the specification configuration for a single managed bundle. + */ + export interface PolicyControllerBundleInstallSpecResponse { + /** + * The set of namespaces to be exempted from the bundle. + */ + exemptedNamespaces: string[]; + } + /** * Configuration for Policy Controller */ @@ -84271,7 +87349,7 @@ export namespace gkehub { /** * Map of deployment configs to deployments ("admission", "audit", "mutation'). */ - deploymentConfigs: {[key: string]: string}; + deploymentConfigs: {[key: string]: outputs.gkehub.v1alpha.PolicyControllerPolicyControllerDeploymentConfigResponse}; /** * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. */ @@ -84316,6 +87394,24 @@ export namespace gkehub { version: string; } + /** + * **Policy Controller**: State for a single cluster. + */ + export interface PolicyControllerMembershipStateResponse { + /** + * Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + */ + componentStates: {[key: string]: outputs.gkehub.v1alpha.PolicyControllerOnClusterStateResponse}; + /** + * The overall content state observed by the Hub Feature controller. + */ + policyContentState: outputs.gkehub.v1alpha.PolicyControllerPolicyContentStateResponse; + /** + * The overall Policy Controller lifecycle state observed by the Hub Feature controller. + */ + state: string; + } + /** * MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] */ @@ -84326,6 +87422,20 @@ export namespace gkehub { backends: string[]; } + /** + * OnClusterState represents the state of a sub-component of Policy Controller. + */ + export interface PolicyControllerOnClusterStateResponse { + /** + * Surface potential errors or information logs. + */ + details: string; + /** + * The lifecycle state of this component. + */ + state: string; + } + /** * PolicyContentSpec defines the user's desired content configuration on the cluster. */ @@ -84333,13 +87443,85 @@ export namespace gkehub { /** * map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. */ - bundles: {[key: string]: string}; + bundles: {[key: string]: outputs.gkehub.v1alpha.PolicyControllerBundleInstallSpecResponse}; /** * Configures the installation of the Template Library. */ templateLibrary: outputs.gkehub.v1alpha.PolicyControllerTemplateLibraryConfigResponse; } + /** + * The state of the policy controller policy content + */ + export interface PolicyControllerPolicyContentStateResponse { + /** + * The state of the any bundles included in the chosen version of the manifest + */ + bundleStates: {[key: string]: outputs.gkehub.v1alpha.PolicyControllerOnClusterStateResponse}; + /** + * The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + */ + referentialSyncConfigState: outputs.gkehub.v1alpha.PolicyControllerOnClusterStateResponse; + /** + * The state of the template library + */ + templateLibraryState: outputs.gkehub.v1alpha.PolicyControllerOnClusterStateResponse; + } + + /** + * Deployment-specific configuration. + */ + export interface PolicyControllerPolicyControllerDeploymentConfigResponse { + /** + * Container resource requirements. + */ + containerResources: outputs.gkehub.v1alpha.PolicyControllerResourceRequirementsResponse; + /** + * Pod affinity configuration. + */ + podAffinity: string; + /** + * Pod anti-affinity enablement. + */ + podAntiAffinity: boolean; + /** + * Pod tolerations of node taints. + */ + podTolerations: outputs.gkehub.v1alpha.PolicyControllerTolerationResponse[]; + /** + * Pod replica count. + */ + replicaCount: string; + } + + /** + * ResourceList contains container resource requirements. + */ + export interface PolicyControllerResourceListResponse { + /** + * CPU requirement expressed in Kubernetes resource units. + */ + cpu: string; + /** + * Memory requirement expressed in Kubernetes resource units. + */ + memory: string; + } + + /** + * ResourceRequirements describes the compute resource requirements. + */ + export interface PolicyControllerResourceRequirementsResponse { + /** + * Limits describes the maximum amount of compute resources allowed for use by the running container. + */ + limits: outputs.gkehub.v1alpha.PolicyControllerResourceListResponse; + /** + * Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + */ + requests: outputs.gkehub.v1alpha.PolicyControllerResourceListResponse; + } + /** * The config specifying which default library templates to install. */ @@ -84350,6 +87532,28 @@ export namespace gkehub { installation: string; } + /** + * Toleration of a node taint. + */ + export interface PolicyControllerTolerationResponse { + /** + * Matches a taint effect. + */ + effect: string; + /** + * Matches a taint key (not necessarily unique). + */ + key: string; + /** + * Matches a taint operator. + */ + operator: string; + /** + * Matches a taint value. + */ + value: string; + } + /** * RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. */ @@ -84402,6 +87606,30 @@ export namespace gkehub { predefinedRole: string; } + /** + * ScopeFeatureSpec contains feature specs for a fleet scope. + */ + export interface ScopeFeatureSpecResponse { + /** + * Spec for the ClusterUpgrade feature at the scope level + */ + clusterupgrade: outputs.gkehub.v1alpha.ClusterUpgradeScopeSpecResponse; + } + + /** + * ScopeFeatureState contains Scope-wide Feature status information. + */ + export interface ScopeFeatureStateResponse { + /** + * State for the ClusterUpgrade feature at the scope level + */ + clusterupgrade: outputs.gkehub.v1alpha.ClusterUpgradeScopeStateResponse; + /** + * The "running state" of the Feature in this Scope. + */ + state: outputs.gkehub.v1alpha.FeatureStateResponse; + } + /** * ScopeLifecycleState describes the state of a Scope resource. */ @@ -84451,7 +87679,7 @@ export namespace gkehub { /** * A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. */ - args: {[key: string]: string}; + args: {[key: string]: any}; /** * A human readable description of what the error means. It is suitable for non-internationalize display purposes. */ @@ -84466,6 +87694,34 @@ export namespace gkehub { resourcePaths: string[]; } + /** + * Status of control plane management. + */ + export interface ServiceMeshControlPlaneManagementResponse { + /** + * Explanation of state. + */ + details: outputs.gkehub.v1alpha.ServiceMeshStatusDetailsResponse[]; + /** + * LifecycleState of control plane management. + */ + state: string; + } + + /** + * Status of data plane management. Only reported per-member. + */ + export interface ServiceMeshDataPlaneManagementResponse { + /** + * Explanation of the status. + */ + details: outputs.gkehub.v1alpha.ServiceMeshStatusDetailsResponse[]; + /** + * Lifecycle status of data plane management. + */ + state: string; + } + /** * **Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller. */ @@ -84496,6 +87752,42 @@ export namespace gkehub { management: string; } + /** + * **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + */ + export interface ServiceMeshMembershipStateResponse { + /** + * Results of running Service Mesh analyzers. + */ + analysisMessages: outputs.gkehub.v1alpha.ServiceMeshAnalysisMessageResponse[]; + /** + * The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field. + */ + configApiVersion: string; + /** + * Status of control plane management + */ + controlPlaneManagement: outputs.gkehub.v1alpha.ServiceMeshControlPlaneManagementResponse; + /** + * Status of data plane management. + */ + dataPlaneManagement: outputs.gkehub.v1alpha.ServiceMeshDataPlaneManagementResponse; + } + + /** + * Structured and human-readable details for a status. + */ + export interface ServiceMeshStatusDetailsResponse { + /** + * A machine-readable code that further describes a broad status. + */ + code: string; + /** + * Human-readable explanation of code. + */ + details: string; + } + /** * A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type */ @@ -85013,7 +88305,7 @@ export namespace gkehub { /** * A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. */ - ignored: {[key: string]: string}; + ignored: {[key: string]: outputs.gkehub.v1beta.ClusterUpgradeIgnoredMembershipResponse}; } /** @@ -85098,6 +88390,56 @@ export namespace gkehub { upgrade: outputs.gkehub.v1beta.ClusterUpgradeGKEUpgradeResponse; } + /** + * IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + */ + export interface ClusterUpgradeIgnoredMembershipResponse { + /** + * Time when the membership was first set to ignored. + */ + ignoredTime: string; + /** + * Reason why the membership is ignored. + */ + reason: string; + } + + /** + * ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + */ + export interface ClusterUpgradeMembershipGKEUpgradeStateResponse { + /** + * Status of the upgrade. + */ + status: outputs.gkehub.v1beta.ClusterUpgradeUpgradeStatusResponse; + /** + * Which upgrade to track the state. + */ + upgrade: outputs.gkehub.v1beta.ClusterUpgradeGKEUpgradeResponse; + } + + /** + * Per-membership state for this feature. + */ + export interface ClusterUpgradeMembershipStateResponse { + /** + * Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + */ + fleet: string; + /** + * Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + */ + ignored: outputs.gkehub.v1beta.ClusterUpgradeIgnoredMembershipResponse; + /** + * Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + */ + scopes: string[]; + /** + * Actual upgrade state against desired. + */ + upgrades: outputs.gkehub.v1beta.ClusterUpgradeMembershipGKEUpgradeStateResponse[]; + } + /** * Post conditional checks after an upgrade has been applied on all eligible clusters. */ @@ -85206,6 +88548,74 @@ export namespace gkehub { enabled: boolean; } + /** + * State for Binauthz + */ + export interface ConfigManagementBinauthzStateResponse { + /** + * The version of binauthz that is installed. + */ + version: outputs.gkehub.v1beta.ConfigManagementBinauthzVersionResponse; + /** + * The state of the binauthz webhook. + */ + webhook: string; + } + + /** + * The version of binauthz. + */ + export interface ConfigManagementBinauthzVersionResponse { + /** + * The version of the binauthz webhook. + */ + webhookVersion: string; + } + + /** + * The state of ConfigSync's deployment on a cluster + */ + export interface ConfigManagementConfigSyncDeploymentStateResponse { + /** + * Deployment state of admission-webhook + */ + admissionWebhook: string; + /** + * Deployment state of the git-sync pod + */ + gitSync: string; + /** + * Deployment state of the importer pod + */ + importer: string; + /** + * Deployment state of the monitor pod + */ + monitor: string; + /** + * Deployment state of reconciler-manager pod + */ + reconcilerManager: string; + /** + * Deployment state of root-reconciler + */ + rootReconciler: string; + /** + * Deployment state of the syncer pod + */ + syncer: string; + } + + /** + * Errors pertaining to the installation of Config Sync + */ + export interface ConfigManagementConfigSyncErrorResponse { + /** + * A string representing the user facing error message + */ + errorMessage: string; + } + /** * Configuration for Config Sync */ @@ -85242,6 +88652,102 @@ export namespace gkehub { sourceFormat: string; } + /** + * State information for ConfigSync + */ + export interface ConfigManagementConfigSyncStateResponse { + /** + * Information about the deployment of ConfigSync, including the version of the various Pods deployed + */ + deploymentState: outputs.gkehub.v1beta.ConfigManagementConfigSyncDeploymentStateResponse; + /** + * Errors pertaining to the installation of Config Sync. + */ + errors: outputs.gkehub.v1beta.ConfigManagementConfigSyncErrorResponse[]; + /** + * The state of ConfigSync's process to sync configs to a cluster + */ + syncState: outputs.gkehub.v1beta.ConfigManagementSyncStateResponse; + /** + * The version of ConfigSync deployed + */ + version: outputs.gkehub.v1beta.ConfigManagementConfigSyncVersionResponse; + } + + /** + * Specific versioning information pertaining to ConfigSync's Pods + */ + export interface ConfigManagementConfigSyncVersionResponse { + /** + * Version of the deployed admission_webhook pod + */ + admissionWebhook: string; + /** + * Version of the deployed git-sync pod + */ + gitSync: string; + /** + * Version of the deployed importer pod + */ + importer: string; + /** + * Version of the deployed monitor pod + */ + monitor: string; + /** + * Version of the deployed reconciler-manager pod + */ + reconcilerManager: string; + /** + * Version of the deployed reconciler container in root-reconciler pod + */ + rootReconciler: string; + /** + * Version of the deployed syncer pod + */ + syncer: string; + } + + /** + * Model for a config file in the git repo with an associated Sync error + */ + export interface ConfigManagementErrorResourceResponse { + /** + * Group/version/kind of the resource that is causing an error + */ + resourceGvk: outputs.gkehub.v1beta.ConfigManagementGroupVersionKindResponse; + /** + * Metadata name of the resource that is causing an error + */ + resourceName: string; + /** + * Namespace of the resource that is causing an error + */ + resourceNamespace: string; + /** + * Path in the git repo of the erroneous config + */ + sourcePath: string; + } + + /** + * State of Policy Controller installation. + */ + export interface ConfigManagementGatekeeperDeploymentStateResponse { + /** + * Status of gatekeeper-audit deployment. + */ + gatekeeperAudit: string; + /** + * Status of gatekeeper-controller-manager pod. + */ + gatekeeperControllerManagerState: string; + /** + * Status of the pod serving the mutation webhook. + */ + gatekeeperMutation: string; + } + /** * Git repo configuration for a single cluster. */ @@ -85280,6 +88786,24 @@ export namespace gkehub { syncWaitSecs: string; } + /** + * A Kubernetes object's GVK + */ + export interface ConfigManagementGroupVersionKindResponse { + /** + * Kubernetes Group + */ + group: string; + /** + * Kubernetes Kind + */ + kind: string; + /** + * Kubernetes Version + */ + version: string; + } + /** * Configuration for Hierarchy Controller */ @@ -85298,6 +88822,58 @@ export namespace gkehub { enabled: boolean; } + /** + * Deployment state for Hierarchy Controller + */ + export interface ConfigManagementHierarchyControllerDeploymentStateResponse { + /** + * The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + */ + extension: string; + /** + * The deployment state for open source HNC (e.g. v0.7.0-hc.0) + */ + hnc: string; + } + + /** + * State for Hierarchy Controller + */ + export interface ConfigManagementHierarchyControllerStateResponse { + /** + * The deployment state for Hierarchy Controller + */ + state: outputs.gkehub.v1beta.ConfigManagementHierarchyControllerDeploymentStateResponse; + /** + * The version for Hierarchy Controller + */ + version: outputs.gkehub.v1beta.ConfigManagementHierarchyControllerVersionResponse; + } + + /** + * Version for Hierarchy Controller + */ + export interface ConfigManagementHierarchyControllerVersionResponse { + /** + * Version for Hierarchy Controller extension + */ + extension: string; + /** + * Version for open source HNC + */ + hnc: string; + } + + /** + * Errors pertaining to the installation of ACM + */ + export interface ConfigManagementInstallErrorResponse { + /** + * A string representing the user facing error message + */ + errorMessage: string; + } + /** * **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. */ @@ -85330,6 +88906,40 @@ export namespace gkehub { version: string; } + /** + * **Anthos Config Management**: State for a single cluster. + */ + export interface ConfigManagementMembershipStateResponse { + /** + * Binauthz status + */ + binauthzState: outputs.gkehub.v1beta.ConfigManagementBinauthzStateResponse; + /** + * This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + */ + clusterName: string; + /** + * Current sync status + */ + configSyncState: outputs.gkehub.v1beta.ConfigManagementConfigSyncStateResponse; + /** + * Hierarchy Controller status + */ + hierarchyControllerState: outputs.gkehub.v1beta.ConfigManagementHierarchyControllerStateResponse; + /** + * Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + */ + membershipSpec: outputs.gkehub.v1beta.ConfigManagementMembershipSpecResponse; + /** + * Current install status of ACM's Operator + */ + operatorState: outputs.gkehub.v1beta.ConfigManagementOperatorStateResponse; + /** + * PolicyController status + */ + policyControllerState: outputs.gkehub.v1beta.ConfigManagementPolicyControllerStateResponse; + } + /** * OCI repo configuration for a single cluster */ @@ -85356,6 +88966,38 @@ export namespace gkehub { syncWaitSecs: string; } + /** + * State information for an ACM's Operator + */ + export interface ConfigManagementOperatorStateResponse { + /** + * The state of the Operator's deployment + */ + deploymentState: string; + /** + * Install errors. + */ + errors: outputs.gkehub.v1beta.ConfigManagementInstallErrorResponse[]; + /** + * The semenatic version number of the operator + */ + version: string; + } + + /** + * State for the migration of PolicyController from ACM -> PoCo Hub. + */ + export interface ConfigManagementPolicyControllerMigrationResponse { + /** + * Last time this membership spec was copied to PoCo feature. + */ + copyTime: string; + /** + * Stage of the migration. + */ + stage: string; + } + /** * PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] */ @@ -85408,6 +89050,88 @@ export namespace gkehub { updateTime: string; } + /** + * State for PolicyControllerState. + */ + export interface ConfigManagementPolicyControllerStateResponse { + /** + * The state about the policy controller installation. + */ + deploymentState: outputs.gkehub.v1beta.ConfigManagementGatekeeperDeploymentStateResponse; + /** + * Record state of ACM -> PoCo Hub migration for this feature. + */ + migration: outputs.gkehub.v1beta.ConfigManagementPolicyControllerMigrationResponse; + /** + * The version of Gatekeeper Policy Controller deployed. + */ + version: outputs.gkehub.v1beta.ConfigManagementPolicyControllerVersionResponse; + } + + /** + * The build version of Gatekeeper Policy Controller is using. + */ + export interface ConfigManagementPolicyControllerVersionResponse { + /** + * The gatekeeper image tag that is composed of ACM version, git tag, build number. + */ + version: string; + } + + /** + * An ACM created error representing a problem syncing configurations + */ + export interface ConfigManagementSyncErrorResponse { + /** + * An ACM defined error code + */ + code: string; + /** + * A description of the error + */ + errorMessage: string; + /** + * A list of config(s) associated with the error, if any + */ + errorResources: outputs.gkehub.v1beta.ConfigManagementErrorResourceResponse[]; + } + + /** + * State indicating an ACM's progress syncing configurations to a cluster + */ + export interface ConfigManagementSyncStateResponse { + /** + * Sync status code + */ + code: string; + /** + * A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + */ + errors: outputs.gkehub.v1beta.ConfigManagementSyncErrorResponse[]; + /** + * Token indicating the state of the importer. + */ + importToken: string; + /** + * Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + * + * @deprecated Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + */ + lastSync: string; + /** + * Timestamp type of when ACM last successfully synced the repo + */ + lastSyncTime: string; + /** + * Token indicating the state of the repo. + */ + sourceToken: string; + /** + * Token indicating the state of the syncer. + */ + syncToken: string; + } + /** * DefaultClusterConfig describes the default cluster configurations to be applied to all clusters born-in-fleet. */ @@ -85582,6 +89306,18 @@ export namespace gkehub { fleetScopeLogsConfig: outputs.gkehub.v1beta.FleetObservabilityRoutingConfigResponse; } + /** + * **FleetObservability**: The membership-specific input for FleetObservability feature. + */ + export interface FleetObservabilityMembershipSpecResponse { + } + + /** + * **FleetObservability**: Membership-specific Feature state for fleetobservability. + */ + export interface FleetObservabilityMembershipStateResponse { + } + /** * RoutingConfig configures the behaviour of fleet logging feature. */ @@ -85678,6 +89414,28 @@ export namespace gkehub { authMethods: outputs.gkehub.v1beta.IdentityServiceAuthMethodResponse[]; } + /** + * **Anthos Identity Service**: State for a single Membership. + */ + export interface IdentityServiceMembershipStateResponse { + /** + * The reason of the failure. + */ + failureReason: string; + /** + * Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + */ + installedVersion: string; + /** + * Last reconciled membership configuration + */ + memberConfig: outputs.gkehub.v1beta.IdentityServiceMembershipSpecResponse; + /** + * Deployment state on this member + */ + state: string; + } + /** * Configuration for OIDC Auth flow. */ @@ -85840,6 +89598,100 @@ export namespace gkehub { onPremCluster: outputs.gkehub.v1beta.OnPremClusterResponse; } + /** + * MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + */ + export interface MembershipFeatureSpecResponse { + /** + * Anthos Observability-specific spec + */ + anthosobservability: outputs.gkehub.v1beta.AnthosObservabilityMembershipSpecResponse; + /** + * Cloud Build-specific spec + */ + cloudbuild: outputs.gkehub.v1beta.MembershipSpecResponse; + /** + * Config Management-specific spec. + */ + configmanagement: outputs.gkehub.v1beta.ConfigManagementMembershipSpecResponse; + /** + * Fleet observability membership spec + */ + fleetobservability: outputs.gkehub.v1beta.FleetObservabilityMembershipSpecResponse; + /** + * Identity Service-specific spec. + */ + identityservice: outputs.gkehub.v1beta.IdentityServiceMembershipSpecResponse; + /** + * Anthos Service Mesh-specific spec + */ + mesh: outputs.gkehub.v1beta.ServiceMeshMembershipSpecResponse; + /** + * Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + */ + origin: outputs.gkehub.v1beta.OriginResponse; + /** + * Policy Controller spec. + */ + policycontroller: outputs.gkehub.v1beta.PolicyControllerMembershipSpecResponse; + } + + /** + * MembershipFeatureState contains Feature status information for a single Membership. + */ + export interface MembershipFeatureStateResponse { + /** + * Appdevexperience specific state. + */ + appdevexperience: outputs.gkehub.v1beta.AppDevExperienceFeatureStateResponse; + /** + * ClusterUpgrade state. + */ + clusterupgrade: outputs.gkehub.v1beta.ClusterUpgradeMembershipStateResponse; + /** + * Config Management-specific state. + */ + configmanagement: outputs.gkehub.v1beta.ConfigManagementMembershipStateResponse; + /** + * Fleet observability membership state. + */ + fleetobservability: outputs.gkehub.v1beta.FleetObservabilityMembershipStateResponse; + /** + * Identity Service-specific state. + */ + identityservice: outputs.gkehub.v1beta.IdentityServiceMembershipStateResponse; + /** + * Metering-specific state. + */ + metering: outputs.gkehub.v1beta.MeteringMembershipStateResponse; + /** + * Policycontroller-specific state. + */ + policycontroller: outputs.gkehub.v1beta.PolicyControllerMembershipStateResponse; + /** + * Service Mesh-specific state. + */ + servicemesh: outputs.gkehub.v1beta.ServiceMeshMembershipStateResponse; + /** + * The high-level state of this Feature for a single membership. + */ + state: outputs.gkehub.v1beta.FeatureStateResponse; + } + + /** + * **Cloud Build**: Configurations for each Cloud Build enabled cluster. + */ + export interface MembershipSpecResponse { + /** + * Whether it is allowed to run the privileged builds on the cluster or not. + */ + securityPolicy: string; + /** + * Version of the cloud build software on the cluster. + */ + version: string; + } + /** * MembershipState describes the state of a Membership resource. */ @@ -85850,6 +89702,20 @@ export namespace gkehub { code: string; } + /** + * **Metering**: Per-Membership Feature State. + */ + export interface MeteringMembershipStateResponse { + /** + * The time stamp of the most recent measurement of the number of vCPUs in the cluster. + */ + lastMeasurementTime: string; + /** + * The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + */ + preciseLastMeasuredClusterVcpuCapacity: number; + } + /** * MonitoringConfig informs Fleet-based applications/services/UIs how the metrics for the underlying cluster is reported to cloud monitoring services. It can be set from empty to non-empty, but can't be mutated directly to prevent accidentally breaking the constinousty of metrics. */ @@ -85938,6 +89804,16 @@ export namespace gkehub { resourceLink: string; } + /** + * Origin defines where this MembershipFeatureSpec originated from. + */ + export interface OriginResponse { + /** + * Type specifies which type of origin is set. + */ + type: string; + } + /** * Binauthz policy that applies to this cluster. */ @@ -85948,6 +89824,16 @@ export namespace gkehub { name: string; } + /** + * BundleInstallSpec is the specification configuration for a single managed bundle. + */ + export interface PolicyControllerBundleInstallSpecResponse { + /** + * The set of namespaces to be exempted from the bundle. + */ + exemptedNamespaces: string[]; + } + /** * Configuration for Policy Controller */ @@ -85963,7 +89849,7 @@ export namespace gkehub { /** * Map of deployment configs to deployments ("admission", "audit", "mutation'). */ - deploymentConfigs: {[key: string]: string}; + deploymentConfigs: {[key: string]: outputs.gkehub.v1beta.PolicyControllerPolicyControllerDeploymentConfigResponse}; /** * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. */ @@ -86008,6 +89894,24 @@ export namespace gkehub { version: string; } + /** + * **Policy Controller**: State for a single cluster. + */ + export interface PolicyControllerMembershipStateResponse { + /** + * Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + */ + componentStates: {[key: string]: outputs.gkehub.v1beta.PolicyControllerOnClusterStateResponse}; + /** + * The overall content state observed by the Hub Feature controller. + */ + policyContentState: outputs.gkehub.v1beta.PolicyControllerPolicyContentStateResponse; + /** + * The overall Policy Controller lifecycle state observed by the Hub Feature controller. + */ + state: string; + } + /** * MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] */ @@ -86018,6 +89922,20 @@ export namespace gkehub { backends: string[]; } + /** + * OnClusterState represents the state of a sub-component of Policy Controller. + */ + export interface PolicyControllerOnClusterStateResponse { + /** + * Surface potential errors or information logs. + */ + details: string; + /** + * The lifecycle state of this component. + */ + state: string; + } + /** * PolicyContentSpec defines the user's desired content configuration on the cluster. */ @@ -86025,13 +89943,85 @@ export namespace gkehub { /** * map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. */ - bundles: {[key: string]: string}; + bundles: {[key: string]: outputs.gkehub.v1beta.PolicyControllerBundleInstallSpecResponse}; /** * Configures the installation of the Template Library. */ templateLibrary: outputs.gkehub.v1beta.PolicyControllerTemplateLibraryConfigResponse; } + /** + * The state of the policy controller policy content + */ + export interface PolicyControllerPolicyContentStateResponse { + /** + * The state of the any bundles included in the chosen version of the manifest + */ + bundleStates: {[key: string]: outputs.gkehub.v1beta.PolicyControllerOnClusterStateResponse}; + /** + * The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + */ + referentialSyncConfigState: outputs.gkehub.v1beta.PolicyControllerOnClusterStateResponse; + /** + * The state of the template library + */ + templateLibraryState: outputs.gkehub.v1beta.PolicyControllerOnClusterStateResponse; + } + + /** + * Deployment-specific configuration. + */ + export interface PolicyControllerPolicyControllerDeploymentConfigResponse { + /** + * Container resource requirements. + */ + containerResources: outputs.gkehub.v1beta.PolicyControllerResourceRequirementsResponse; + /** + * Pod affinity configuration. + */ + podAffinity: string; + /** + * Pod anti-affinity enablement. + */ + podAntiAffinity: boolean; + /** + * Pod tolerations of node taints. + */ + podTolerations: outputs.gkehub.v1beta.PolicyControllerTolerationResponse[]; + /** + * Pod replica count. + */ + replicaCount: string; + } + + /** + * ResourceList contains container resource requirements. + */ + export interface PolicyControllerResourceListResponse { + /** + * CPU requirement expressed in Kubernetes resource units. + */ + cpu: string; + /** + * Memory requirement expressed in Kubernetes resource units. + */ + memory: string; + } + + /** + * ResourceRequirements describes the compute resource requirements. + */ + export interface PolicyControllerResourceRequirementsResponse { + /** + * Limits describes the maximum amount of compute resources allowed for use by the running container. + */ + limits: outputs.gkehub.v1beta.PolicyControllerResourceListResponse; + /** + * Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + */ + requests: outputs.gkehub.v1beta.PolicyControllerResourceListResponse; + } + /** * The config specifying which default library templates to install. */ @@ -86042,6 +90032,28 @@ export namespace gkehub { installation: string; } + /** + * Toleration of a node taint. + */ + export interface PolicyControllerTolerationResponse { + /** + * Matches a taint effect. + */ + effect: string; + /** + * Matches a taint key (not necessarily unique). + */ + key: string; + /** + * Matches a taint operator. + */ + operator: string; + /** + * Matches a taint value. + */ + value: string; + } + /** * RBACRoleBindingLifecycleState describes the state of a RbacRoleBinding resource. */ @@ -86094,6 +90106,22 @@ export namespace gkehub { predefinedRole: string; } + /** + * ScopeFeatureSpec contains feature specs for a fleet scope. + */ + export interface ScopeFeatureSpecResponse { + } + + /** + * ScopeFeatureState contains Scope-wide Feature status information. + */ + export interface ScopeFeatureStateResponse { + /** + * The "running state" of the Feature in this Scope. + */ + state: outputs.gkehub.v1beta.FeatureStateResponse; + } + /** * ScopeLifecycleState describes the state of a Scope resource. */ @@ -86118,6 +90146,34 @@ export namespace gkehub { vulnerabilityMode: string; } + /** + * Status of control plane management. + */ + export interface ServiceMeshControlPlaneManagementResponse { + /** + * Explanation of state. + */ + details: outputs.gkehub.v1beta.ServiceMeshStatusDetailsResponse[]; + /** + * LifecycleState of control plane management. + */ + state: string; + } + + /** + * Status of data plane management. Only reported per-member. + */ + export interface ServiceMeshDataPlaneManagementResponse { + /** + * Explanation of the status. + */ + details: outputs.gkehub.v1beta.ServiceMeshStatusDetailsResponse[]; + /** + * Lifecycle status of data plane management. + */ + state: string; + } + /** * **Service Mesh**: Spec for a single Membership for the servicemesh feature */ @@ -86134,6 +90190,34 @@ export namespace gkehub { management: string; } + /** + * **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + */ + export interface ServiceMeshMembershipStateResponse { + /** + * Status of control plane management + */ + controlPlaneManagement: outputs.gkehub.v1beta.ServiceMeshControlPlaneManagementResponse; + /** + * Status of data plane management. + */ + dataPlaneManagement: outputs.gkehub.v1beta.ServiceMeshDataPlaneManagementResponse; + } + + /** + * Structured and human-readable details for a status. + */ + export interface ServiceMeshStatusDetailsResponse { + /** + * A machine-readable code that further describes a broad status. + */ + code: string; + /** + * Human-readable explanation of code. + */ + details: string; + } + /** * Status specifies state for the subcomponent. */ @@ -88233,6 +92317,14 @@ export namespace healthcare { writeDisposition: string; } + /** + * Construct representing a logical group or a segment. + */ + export interface GroupOrSegmentResponse { + group: outputs.healthcare.v1.SchemaGroupResponse; + segment: outputs.healthcare.v1.SchemaSegmentResponse; + } + /** * Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. */ @@ -88240,7 +92332,7 @@ export namespace healthcare { /** * Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. */ - messageSchemaConfigs: {[key: string]: string}; + messageSchemaConfigs: {[key: string]: outputs.healthcare.v1.SchemaGroupResponse}; /** * Each VersionSource is tested and only if they all match is the schema used for the message. */ @@ -88430,6 +92522,32 @@ export namespace healthcare { schemaType: string; } + /** + * An HL7v2 logical group construct. + */ + export interface SchemaGroupResponse { + /** + * True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + */ + choice: boolean; + /** + * The maximum number of times this group can be repeated. 0 or -1 means unbounded. + */ + maxOccurs: number; + /** + * Nested groups and/or segments. + */ + members: outputs.healthcare.v1.GroupOrSegmentResponse[]; + /** + * The minimum number of times this group must be present/repeated. + */ + minOccurs: number; + /** + * The name of this group. For example, "ORDER_DETAIL". + */ + name: string; + } + /** * A schema package contains a set of schemas and type definitions. */ @@ -88456,6 +92574,24 @@ export namespace healthcare { unexpectedSegmentHandling: string; } + /** + * An HL7v2 Segment. + */ + export interface SchemaSegmentResponse { + /** + * The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + */ + maxOccurs: number; + /** + * The minimum number of times this segment can be present in this group. + */ + minOccurs: number; + /** + * The Segment type. For example, "PID". + */ + type: string; + } + /** * The content of an HL7v2 message in a structured format as specified by a schema. */ @@ -88984,6 +93120,13 @@ export namespace healthcare { export interface DeleteTagResponse { } + /** + * Contains multiple sensitive information findings for each resource slice. + */ + export interface DetailResponse { + findings: outputs.healthcare.v1beta1.FindingResponse[]; + } + /** * Specifies the parameters needed for de-identification of DICOM stores. */ @@ -89146,6 +93289,25 @@ export namespace healthcare { type: string; } + export interface FindingResponse { + /** + * Zero-based ending index of the found text, exclusively. + */ + end: string; + /** + * The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + */ + infoType: string; + /** + * The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + */ + quote: string; + /** + * Zero-based starting index of the found text, inclusively. + */ + start: string; + } + /** * Represents a user's consent in terms of the resources that can be accessed and under what conditions. */ @@ -89270,6 +93432,14 @@ export namespace healthcare { writeDisposition: string; } + /** + * Construct representing a logical group or a segment. + */ + export interface GroupOrSegmentResponse { + group: outputs.healthcare.v1beta1.SchemaGroupResponse; + segment: outputs.healthcare.v1beta1.SchemaSegmentResponse; + } + /** * Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. */ @@ -89277,7 +93447,7 @@ export namespace healthcare { /** * Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. */ - messageSchemaConfigs: {[key: string]: string}; + messageSchemaConfigs: {[key: string]: outputs.healthcare.v1beta1.SchemaGroupResponse}; /** * Each VersionSource is tested and only if they all match is the schema used for the message. */ @@ -89565,6 +93735,32 @@ export namespace healthcare { schemaType: string; } + /** + * An HL7v2 logical group construct. + */ + export interface SchemaGroupResponse { + /** + * True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + */ + choice: boolean; + /** + * The maximum number of times this group can be repeated. 0 or -1 means unbounded. + */ + maxOccurs: number; + /** + * Nested groups and/or segments. + */ + members: outputs.healthcare.v1beta1.GroupOrSegmentResponse[]; + /** + * The minimum number of times this group must be present/repeated. + */ + minOccurs: number; + /** + * The name of this group. For example, "ORDER_DETAIL". + */ + name: string; + } + /** * A schema package contains a set of schemas and type definitions. */ @@ -89591,6 +93787,24 @@ export namespace healthcare { unexpectedSegmentHandling: string; } + /** + * An HL7v2 Segment. + */ + export interface SchemaSegmentResponse { + /** + * The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + */ + maxOccurs: number; + /** + * The minimum number of times this segment can be present in this group. + */ + minOccurs: number; + /** + * The Segment type. For example, "PID". + */ + type: string; + } + /** * The content of an HL7v2 message in a structured format as specified by a schema. */ @@ -89654,7 +93868,7 @@ export namespace healthcare { /** * Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} */ - details: {[key: string]: string}; + details: {[key: string]: outputs.healthcare.v1beta1.DetailResponse}; } /** @@ -91068,7 +95282,7 @@ export namespace integrations { intArray: outputs.integrations.v1alpha.EnterpriseCrmEventbusProtoIntParameterArrayResponse; intValue: string; protoArray: outputs.integrations.v1alpha.EnterpriseCrmEventbusProtoProtoParameterArrayResponse; - protoValue: {[key: string]: string}; + protoValue: {[key: string]: any}; serializedObjectValue: outputs.integrations.v1alpha.EnterpriseCrmEventbusProtoSerializedObjectParameterResponse; stringArray: outputs.integrations.v1alpha.EnterpriseCrmEventbusProtoStringParameterArrayResponse; stringValue: string; @@ -91089,7 +95303,7 @@ export namespace integrations { } export interface EnterpriseCrmEventbusProtoProtoParameterArrayResponse { - protoValues: {[key: string]: string}[]; + protoValues: {[key: string]: any}[]; } export interface EnterpriseCrmEventbusProtoSerializedObjectParameterResponse { @@ -91327,7 +95541,7 @@ export namespace integrations { doubleValue: number; intArray: outputs.integrations.v1alpha.EnterpriseCrmEventbusProtoIntArrayResponse; intValue: string; - protoValue: {[key: string]: string}; + protoValue: {[key: string]: any}; stringArray: outputs.integrations.v1alpha.EnterpriseCrmEventbusProtoStringArrayResponse; stringValue: string; } @@ -91533,14 +95747,14 @@ export namespace integrations { intValue: string; jsonValue: string; protoArray: outputs.integrations.v1alpha.EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse; - protoValue: {[key: string]: string}; + protoValue: {[key: string]: any}; serializedObjectValue: outputs.integrations.v1alpha.EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterResponse; stringArray: outputs.integrations.v1alpha.EnterpriseCrmFrontendsEventbusProtoStringParameterArrayResponse; stringValue: string; } export interface EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse { - protoValues: {[key: string]: string}[]; + protoValues: {[key: string]: any}[]; } /** @@ -91629,7 +95843,7 @@ export namespace integrations { /** * The customized parameters the user can pass to this task. */ - parameters: {[key: string]: string}; + parameters: {[key: string]: outputs.integrations.v1alpha.EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse}; /** * Optional. Informs the front-end application where to draw this task config on the UI. */ @@ -92577,7 +96791,7 @@ export namespace integrations { /** * Optional. The customized parameters the user can pass to this task. */ - parameters: {[key: string]: string}; + parameters: {[key: string]: outputs.integrations.v1alpha.GoogleCloudIntegrationsV1alphaEventParameterResponse}; /** * Optional. Informs the front-end application where to draw this error catcher config on the UI. */ @@ -92839,6 +97053,24 @@ export namespace jobs { minCompensation: outputs.jobs.v3.MoneyResponse; } + /** + * Custom attribute values that are either filterable or non-filterable. + */ + export interface CustomAttributeResponse { + /** + * Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + */ + filterable: boolean; + /** + * Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + */ + longValues: string[]; + /** + * Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + */ + stringValues: string[]; + } + /** * Output only. Derived details about the job posting. */ @@ -93064,6 +97296,28 @@ export namespace jobs { minCompensation: outputs.jobs.v4.MoneyResponse; } + /** + * Custom attribute values that are either filterable or non-filterable. + */ + export interface CustomAttributeResponse { + /** + * If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + */ + filterable: boolean; + /** + * If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + */ + keywordSearchable: boolean; + /** + * Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + */ + longValues: string[]; + /** + * Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + */ + stringValues: string[]; + } + /** * Derived details about the job posting. */ @@ -94300,6 +98554,38 @@ export namespace metastore { logType: string; } + /** + * Configuration information for the auxiliary service versions. + */ + export interface AuxiliaryVersionConfigResponse { + /** + * A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + */ + configOverrides: {[key: string]: string}; + /** + * The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + */ + networkConfig: outputs.metastore.v1.NetworkConfigResponse; + /** + * The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + */ + version: string; + } + + /** + * Represents a backend metastore for the federation. + */ + export interface BackendMetastoreResponse { + /** + * The type of the backend metastore. + */ + metastoreType: string; + /** + * The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + */ + name: string; + } + /** * Associates members, or principals, with a role. */ @@ -94407,7 +98693,7 @@ export namespace metastore { /** * A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. */ - auxiliaryVersions: {[key: string]: string}; + auxiliaryVersions: {[key: string]: outputs.metastore.v1.AuxiliaryVersionConfigResponse}; /** * A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. */ @@ -94711,6 +98997,38 @@ export namespace metastore { logType: string; } + /** + * Configuration information for the auxiliary service versions. + */ + export interface AuxiliaryVersionConfigResponse { + /** + * A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + */ + configOverrides: {[key: string]: string}; + /** + * The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + */ + networkConfig: outputs.metastore.v1alpha.NetworkConfigResponse; + /** + * The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + */ + version: string; + } + + /** + * Represents a backend metastore for the federation. + */ + export interface BackendMetastoreResponse { + /** + * The type of the backend metastore. + */ + metastoreType: string; + /** + * The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + */ + name: string; + } + /** * Associates members, or principals, with a role. */ @@ -94786,7 +99104,7 @@ export namespace metastore { /** * A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. */ - lakeResources: {[key: string]: string}; + lakeResources: {[key: string]: outputs.metastore.v1alpha.LakeResponse}; } /** @@ -94828,7 +99146,7 @@ export namespace metastore { /** * A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. */ - auxiliaryVersions: {[key: string]: string}; + auxiliaryVersions: {[key: string]: outputs.metastore.v1alpha.AuxiliaryVersionConfigResponse}; /** * A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. */ @@ -94865,6 +99183,16 @@ export namespace metastore { principal: string; } + /** + * Represents a Lake resource + */ + export interface LakeResponse { + /** + * The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + */ + name: string; + } + /** * Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service. */ @@ -95140,6 +99468,38 @@ export namespace metastore { logType: string; } + /** + * Configuration information for the auxiliary service versions. + */ + export interface AuxiliaryVersionConfigResponse { + /** + * A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + */ + configOverrides: {[key: string]: string}; + /** + * The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + */ + networkConfig: outputs.metastore.v1beta.NetworkConfigResponse; + /** + * The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + */ + version: string; + } + + /** + * Represents a backend metastore for the federation. + */ + export interface BackendMetastoreResponse { + /** + * The type of the backend metastore. + */ + metastoreType: string; + /** + * The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + */ + name: string; + } + /** * Associates members, or principals, with a role. */ @@ -95215,7 +99575,7 @@ export namespace metastore { /** * A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. */ - lakeResources: {[key: string]: string}; + lakeResources: {[key: string]: outputs.metastore.v1beta.LakeResponse}; } /** @@ -95257,7 +99617,7 @@ export namespace metastore { /** * A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. */ - auxiliaryVersions: {[key: string]: string}; + auxiliaryVersions: {[key: string]: outputs.metastore.v1beta.AuxiliaryVersionConfigResponse}; /** * A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. */ @@ -95294,6 +99654,16 @@ export namespace metastore { principal: string; } + /** + * Represents a Lake resource + */ + export interface LakeResponse { + /** + * The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + */ + name: string; + } + /** * Maintenance window. This specifies when Dataproc Metastore may perform system maintenance operation to the service. */ @@ -99630,7 +104000,7 @@ export namespace monitoring { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -99939,7 +104309,7 @@ export namespace networkconnectivity { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -101078,7 +105448,7 @@ export namespace networkmanagement { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -102061,7 +106431,7 @@ export namespace networkmanagement { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -107648,7 +112018,7 @@ export namespace policysimulator { /** * A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. */ - policyOverlay: {[key: string]: string}; + policyOverlay: {[key: string]: outputs.policysimulator.v1.GoogleIamV1PolicyResponse}; } /** @@ -107681,6 +112051,74 @@ export namespace policysimulator { unchangedCount: number; } + /** + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + */ + export interface GoogleIamV1AuditConfigResponse { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs: outputs.policysimulator.v1.GoogleIamV1AuditLogConfigResponse[]; + /** + * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + */ + service: string; + } + + /** + * Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + */ + export interface GoogleIamV1AuditLogConfigResponse { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers: string[]; + /** + * The log type that this config enables. + */ + logType: string; + } + + /** + * Associates `members`, or principals, with a `role`. + */ + export interface GoogleIamV1BindingResponse { + /** + * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + condition: outputs.policysimulator.v1.GoogleTypeExprResponse; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + */ + members: string[]; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + */ + role: string; + } + + /** + * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + */ + export interface GoogleIamV1PolicyResponse { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs: outputs.policysimulator.v1.GoogleIamV1AuditConfigResponse[]; + /** + * Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + */ + bindings: outputs.policysimulator.v1.GoogleIamV1BindingResponse[]; + /** + * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + */ + etag: string; + /** + * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + version: number; + } + /** * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp */ @@ -107699,6 +112137,28 @@ export namespace policysimulator { year: number; } + /** + * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + */ + export interface GoogleTypeExprResponse { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description: string; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression: string; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location: string; + /** + * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + */ + title: string; + } + } export namespace v1alpha { @@ -107713,7 +112173,7 @@ export namespace policysimulator { /** * A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. */ - policyOverlay: {[key: string]: string}; + policyOverlay: {[key: string]: outputs.policysimulator.v1alpha.GoogleIamV1PolicyResponse}; } /** @@ -107746,6 +112206,74 @@ export namespace policysimulator { unchangedCount: number; } + /** + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + */ + export interface GoogleIamV1AuditConfigResponse { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs: outputs.policysimulator.v1alpha.GoogleIamV1AuditLogConfigResponse[]; + /** + * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + */ + service: string; + } + + /** + * Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + */ + export interface GoogleIamV1AuditLogConfigResponse { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers: string[]; + /** + * The log type that this config enables. + */ + logType: string; + } + + /** + * Associates `members`, or principals, with a `role`. + */ + export interface GoogleIamV1BindingResponse { + /** + * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + condition: outputs.policysimulator.v1alpha.GoogleTypeExprResponse; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + */ + members: string[]; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + */ + role: string; + } + + /** + * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + */ + export interface GoogleIamV1PolicyResponse { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs: outputs.policysimulator.v1alpha.GoogleIamV1AuditConfigResponse[]; + /** + * Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + */ + bindings: outputs.policysimulator.v1alpha.GoogleIamV1BindingResponse[]; + /** + * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + */ + etag: string; + /** + * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + version: number; + } + /** * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp */ @@ -107764,6 +112292,28 @@ export namespace policysimulator { year: number; } + /** + * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + */ + export interface GoogleTypeExprResponse { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description: string; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression: string; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location: string; + /** + * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + */ + title: string; + } + } export namespace v1beta { @@ -107778,7 +112328,7 @@ export namespace policysimulator { /** * A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. */ - policyOverlay: {[key: string]: string}; + policyOverlay: {[key: string]: outputs.policysimulator.v1beta.GoogleIamV1PolicyResponse}; } /** @@ -107811,6 +112361,74 @@ export namespace policysimulator { unchangedCount: number; } + /** + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + */ + export interface GoogleIamV1AuditConfigResponse { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs: outputs.policysimulator.v1beta.GoogleIamV1AuditLogConfigResponse[]; + /** + * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + */ + service: string; + } + + /** + * Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + */ + export interface GoogleIamV1AuditLogConfigResponse { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers: string[]; + /** + * The log type that this config enables. + */ + logType: string; + } + + /** + * Associates `members`, or principals, with a `role`. + */ + export interface GoogleIamV1BindingResponse { + /** + * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + condition: outputs.policysimulator.v1beta.GoogleTypeExprResponse; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + */ + members: string[]; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + */ + role: string; + } + + /** + * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + */ + export interface GoogleIamV1PolicyResponse { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs: outputs.policysimulator.v1beta.GoogleIamV1AuditConfigResponse[]; + /** + * Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + */ + bindings: outputs.policysimulator.v1beta.GoogleIamV1BindingResponse[]; + /** + * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + */ + etag: string; + /** + * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + version: number; + } + /** * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp */ @@ -107829,6 +112447,28 @@ export namespace policysimulator { year: number; } + /** + * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + */ + export interface GoogleTypeExprResponse { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description: string; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression: string; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location: string; + /** + * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + */ + title: string; + } + } export namespace v1beta1 { @@ -107843,7 +112483,7 @@ export namespace policysimulator { /** * A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. */ - policyOverlay: {[key: string]: string}; + policyOverlay: {[key: string]: outputs.policysimulator.v1beta1.GoogleIamV1PolicyResponse}; } /** @@ -107876,6 +112516,74 @@ export namespace policysimulator { unchangedCount: number; } + /** + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + */ + export interface GoogleIamV1AuditConfigResponse { + /** + * The configuration for logging of each type of permission. + */ + auditLogConfigs: outputs.policysimulator.v1beta1.GoogleIamV1AuditLogConfigResponse[]; + /** + * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + */ + service: string; + } + + /** + * Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + */ + export interface GoogleIamV1AuditLogConfigResponse { + /** + * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + */ + exemptedMembers: string[]; + /** + * The log type that this config enables. + */ + logType: string; + } + + /** + * Associates `members`, or principals, with a `role`. + */ + export interface GoogleIamV1BindingResponse { + /** + * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + condition: outputs.policysimulator.v1beta1.GoogleTypeExprResponse; + /** + * Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + */ + members: string[]; + /** + * Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + */ + role: string; + } + + /** + * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + */ + export interface GoogleIamV1PolicyResponse { + /** + * Specifies cloud audit logging configuration for this policy. + */ + auditConfigs: outputs.policysimulator.v1beta1.GoogleIamV1AuditConfigResponse[]; + /** + * Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + */ + bindings: outputs.policysimulator.v1beta1.GoogleIamV1BindingResponse[]; + /** + * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + */ + etag: string; + /** + * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + version: number; + } + /** * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp */ @@ -107894,6 +112602,28 @@ export namespace policysimulator { year: number; } + /** + * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + */ + export interface GoogleTypeExprResponse { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description: string; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression: string; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location: string; + /** + * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + */ + title: string; + } + } } @@ -109307,6 +114037,16 @@ export namespace recommendationengine { categories: string[]; } + /** + * A list of float features. + */ + export interface GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse { + /** + * Float feature value. + */ + value: number[]; + } + /** * FeatureMap represents extra features that customers want to include in the recommendation model for catalogs/user events as categorical/numerical features. */ @@ -109314,11 +114054,21 @@ export namespace recommendationengine { /** * Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` */ - categoricalFeatures: {[key: string]: string}; + categoricalFeatures: {[key: string]: outputs.recommendationengine.v1beta1.GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse}; /** * Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` */ - numericalFeatures: {[key: string]: string}; + numericalFeatures: {[key: string]: outputs.recommendationengine.v1beta1.GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse}; + } + + /** + * A list of string features. + */ + export interface GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse { + /** + * String feature value with a length limit of 128 bytes. + */ + value: string[]; } /** @@ -109382,7 +114132,7 @@ export namespace recommendationengine { /** * Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) */ - costs: {[key: string]: string}; + costs: {[key: string]: number}; /** * Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. */ @@ -110065,6 +114815,28 @@ export namespace retail { startTime: string; } + /** + * A custom attribute that is not explicitly modeled in Product. + */ + export interface GoogleCloudRetailV2CustomAttributeResponse { + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + */ + indexable: boolean; + /** + * The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + numbers: number[]; + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + */ + searchable: boolean; + /** + * The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + text: string[]; + } + /** * Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. */ @@ -110126,7 +114898,7 @@ export namespace retail { /** * Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. */ - attributes: {[key: string]: string}; + attributes: {[key: string]: outputs.retail.v2.GoogleCloudRetailV2CustomAttributeResponse}; /** * Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. */ @@ -110226,7 +114998,7 @@ export namespace retail { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - attributes: {[key: string]: string}; + attributes: {[key: string]: outputs.retail.v2.GoogleCloudRetailV2CustomAttributeResponse}; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ @@ -110676,6 +115448,28 @@ export namespace retail { startTime: string; } + /** + * A custom attribute that is not explicitly modeled in Product. + */ + export interface GoogleCloudRetailV2alphaCustomAttributeResponse { + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + */ + indexable: boolean; + /** + * The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + numbers: number[]; + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + */ + searchable: boolean; + /** + * The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + text: string[]; + } + /** * Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. */ @@ -110737,7 +115531,7 @@ export namespace retail { /** * Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. */ - attributes: {[key: string]: string}; + attributes: {[key: string]: outputs.retail.v2alpha.GoogleCloudRetailV2alphaCustomAttributeResponse}; /** * Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. */ @@ -110883,7 +115677,7 @@ export namespace retail { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - attributes: {[key: string]: string}; + attributes: {[key: string]: outputs.retail.v2alpha.GoogleCloudRetailV2alphaCustomAttributeResponse}; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ @@ -111397,6 +116191,28 @@ export namespace retail { startTime: string; } + /** + * A custom attribute that is not explicitly modeled in Product. + */ + export interface GoogleCloudRetailV2betaCustomAttributeResponse { + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + */ + indexable: boolean; + /** + * The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + numbers: number[]; + /** + * This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + */ + searchable: boolean; + /** + * The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + */ + text: string[]; + } + /** * Fulfillment information, such as the store IDs for in-store pickup or region IDs for different shipping methods. */ @@ -111458,7 +116274,7 @@ export namespace retail { /** * Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. */ - attributes: {[key: string]: string}; + attributes: {[key: string]: outputs.retail.v2beta.GoogleCloudRetailV2betaCustomAttributeResponse}; /** * Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. */ @@ -111558,7 +116374,7 @@ export namespace retail { /** * Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. */ - attributes: {[key: string]: string}; + attributes: {[key: string]: outputs.retail.v2beta.GoogleCloudRetailV2betaCustomAttributeResponse}; /** * The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. */ @@ -113767,7 +118583,7 @@ export namespace runtimeconfig { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -114597,10 +119413,6 @@ export namespace servicemanagement { * The number of seconds to wait for the completion of a long running operation. The default is no deadline. */ operationDeadline: number; - /** - * The map between request protocol and the backend address. - */ - overridesByRequestProtocol: {[key: string]: string}; pathTranslation: string; /** * The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. @@ -115523,7 +120335,7 @@ export namespace servicemanagement { /** * The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. */ - value: {[key: string]: string}; + value: {[key: string]: any}; } /** @@ -115697,7 +120509,7 @@ export namespace servicemanagement { /** * All files used during config generation. */ - sourceFiles: {[key: string]: string}[]; + sourceFiles: {[key: string]: any}[]; } /** @@ -115749,7 +120561,7 @@ export namespace servicemanagement { /** * Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. */ - percentages: {[key: string]: string}; + percentages: {[key: string]: number}; } /** @@ -115913,6 +120725,24 @@ export namespace sourcerepo { webhookId: string; } + /** + * Configuration to publish a Cloud Pub/Sub message. + */ + export interface PubsubConfigResponse { + /** + * The format of the Cloud Pub/Sub messages. + */ + messageFormat: string; + /** + * Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + */ + serviceAccountEmail: string; + /** + * A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + */ + topic: string; + } + } } @@ -116116,7 +120946,7 @@ export namespace spanner { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -121067,7 +125897,7 @@ export namespace tpu { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -122034,7 +126864,7 @@ export namespace transcoder { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -122365,7 +127195,7 @@ export namespace vision { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -123454,7 +128284,7 @@ export namespace vmmigration { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -124800,7 +129630,7 @@ export namespace vmmigration { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -125297,7 +130127,7 @@ export namespace vmwareengine { /** * The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). */ - nodeTypeConfigs: {[key: string]: string}; + nodeTypeConfigs: {[key: string]: outputs.vmwareengine.v1.NodeTypeConfigResponse}; /** * Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. */ @@ -125344,6 +130174,20 @@ export namespace vmwareengine { state: string; } + /** + * Information about the type and number of nodes associated with the cluster. + */ + export interface NodeTypeConfigResponse { + /** + * Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + */ + customCoreCount: number; + /** + * The number of nodes of this type in the cluster + */ + nodeCount: number; + } + /** * Details about a NSX Manager appliance. */ @@ -126385,7 +131229,7 @@ export namespace workstations { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ @@ -126746,7 +131590,7 @@ export namespace workstations { /** * A list of messages that carry the error details. There is a common set of message types for APIs to use. */ - details: {[key: string]: string}[]; + details: {[key: string]: any}[]; /** * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ diff --git a/sdk/nodejs/vmwareengine/v1/cluster.ts b/sdk/nodejs/vmwareengine/v1/cluster.ts index 356e40e93d..fd4f7a5f02 100644 --- a/sdk/nodejs/vmwareengine/v1/cluster.ts +++ b/sdk/nodejs/vmwareengine/v1/cluster.ts @@ -58,7 +58,7 @@ export class Cluster extends pulumi.CustomResource { /** * The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). */ - public readonly nodeTypeConfigs!: pulumi.Output<{[key: string]: string}>; + public readonly nodeTypeConfigs!: pulumi.Output<{[key: string]: outputs.vmwareengine.v1.NodeTypeConfigResponse}>; public readonly privateCloudId!: pulumi.Output; public readonly project!: pulumi.Output; /** @@ -149,7 +149,7 @@ export interface ClusterArgs { /** * The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). */ - nodeTypeConfigs: pulumi.Input<{[key: string]: pulumi.Input}>; + nodeTypeConfigs: pulumi.Input<{[key: string]: pulumi.Input}>; privateCloudId: pulumi.Input; project?: pulumi.Input; /** diff --git a/sdk/nodejs/vmwareengine/v1/getCluster.ts b/sdk/nodejs/vmwareengine/v1/getCluster.ts index 868da6246c..2d8248b2d1 100644 --- a/sdk/nodejs/vmwareengine/v1/getCluster.ts +++ b/sdk/nodejs/vmwareengine/v1/getCluster.ts @@ -44,7 +44,7 @@ export interface GetClusterResult { /** * The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). */ - readonly nodeTypeConfigs: {[key: string]: string}; + readonly nodeTypeConfigs: {[key: string]: outputs.vmwareengine.v1.NodeTypeConfigResponse}; /** * State of the resource. */ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/_enums.py b/sdk/python/pulumi_google_native/aiplatform/v1/_enums.py index 3b78ff2cf9..acf4ffe643 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/_enums.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/_enums.py @@ -10,6 +10,11 @@ 'FeatureGroupFeatureValueType', 'FeatureStoreFeatureValueType', 'GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType', 'GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline', 'GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisState', 'GoogleCloudAiplatformV1MachineSpecAcceleratorType', @@ -190,6 +195,140 @@ class GoogleCloudAiplatformV1ExamplesExampleGcsSourceDataFormat(str, Enum): """ +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding(str, Enum): + """ + Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + """ + ENCODING_UNSPECIFIED = "ENCODING_UNSPECIFIED" + """ + Default value. This is the same as IDENTITY. + """ + IDENTITY = "IDENTITY" + """ + The tensor represents one feature. + """ + BAG_OF_FEATURES = "BAG_OF_FEATURES" + """ + The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = ["age", "height", "weight"] ``` + """ + BAG_OF_FEATURES_SPARSE = "BAG_OF_FEATURES_SPARSE" + """ + The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + """ + INDICATOR = "INDICATOR" + """ + The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + """ + COMBINED_EMBEDDING = "COMBINED_EMBEDDING" + """ + The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ``` + """ + CONCAT_EMBEDDING = "CONCAT_EMBEDDING" + """ + Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ``` + """ + + +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap(str, Enum): + """ + The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + """ + COLOR_MAP_UNSPECIFIED = "COLOR_MAP_UNSPECIFIED" + """ + Should not be used. + """ + PINK_GREEN = "PINK_GREEN" + """ + Positive: green. Negative: pink. + """ + VIRIDIS = "VIRIDIS" + """ + Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue. + """ + RED = "RED" + """ + Positive: red. Negative: red. + """ + GREEN = "GREEN" + """ + Positive: green. Negative: green. + """ + RED_GREEN = "RED_GREEN" + """ + Positive: green. Negative: red. + """ + PINK_WHITE_GREEN = "PINK_WHITE_GREEN" + """ + PiYG palette. + """ + + +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType(str, Enum): + """ + How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + """ + OVERLAY_TYPE_UNSPECIFIED = "OVERLAY_TYPE_UNSPECIFIED" + """ + Default value. This is the same as NONE. + """ + NONE = "NONE" + """ + No overlay. + """ + ORIGINAL = "ORIGINAL" + """ + The attributions are shown on top of the original image. + """ + GRAYSCALE = "GRAYSCALE" + """ + The attributions are shown on top of grayscaled version of the original image. + """ + MASK_BLACK = "MASK_BLACK" + """ + The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts. + """ + + +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity(str, Enum): + """ + Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + """ + POLARITY_UNSPECIFIED = "POLARITY_UNSPECIFIED" + """ + Default value. This is the same as POSITIVE. + """ + POSITIVE = "POSITIVE" + """ + Highlights the pixels/outlines that were most influential to the model's prediction. + """ + NEGATIVE = "NEGATIVE" + """ + Setting polarity to negative highlights areas that does not lead to the models's current prediction. + """ + BOTH = "BOTH" + """ + Shows both positive and negative attributions. + """ + + +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType(str, Enum): + """ + Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + TYPE_UNSPECIFIED = "TYPE_UNSPECIFIED" + """ + Should not be used. + """ + PIXELS = "PIXELS" + """ + Shows which pixel contributed to the image prediction. + """ + OUTLINES = "OUTLINES" + """ + Shows which region contributed to the image prediction by outlining the region. + """ + + class GoogleCloudAiplatformV1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline(str, Enum): """ The baseline used to do anomaly detection for the statistics generated by import features analysis. diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/_inputs.py b/sdk/python/pulumi_google_native/aiplatform/v1/_inputs.py index bda9ab1f81..107c6de75e 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/_inputs.py @@ -29,6 +29,10 @@ 'GoogleCloudAiplatformV1EnvVarArgs', 'GoogleCloudAiplatformV1ExamplesExampleGcsSourceArgs', 'GoogleCloudAiplatformV1ExamplesArgs', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs', + 'GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs', 'GoogleCloudAiplatformV1ExplanationMetadataArgs', 'GoogleCloudAiplatformV1ExplanationParametersArgs', 'GoogleCloudAiplatformV1ExplanationSpecArgs', @@ -77,6 +81,7 @@ 'GoogleCloudAiplatformV1NotebookEucConfigArgs', 'GoogleCloudAiplatformV1NotebookIdleShutdownConfigArgs', 'GoogleCloudAiplatformV1PersistentDiskSpecArgs', + 'GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs', 'GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs', 'GoogleCloudAiplatformV1PipelineJobArgs', 'GoogleCloudAiplatformV1PortArgs', @@ -117,6 +122,7 @@ 'GoogleCloudAiplatformV1TimestampSplitArgs', 'GoogleCloudAiplatformV1TrainingConfigArgs', 'GoogleCloudAiplatformV1UnmanagedContainerModelArgs', + 'GoogleCloudAiplatformV1ValueArgs', 'GoogleCloudAiplatformV1WorkerPoolSpecArgs', 'GoogleCloudAiplatformV1XraiAttributionArgs', 'GoogleIamV1BindingArgs', @@ -1148,17 +1154,449 @@ def presets(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1PresetsAr pulumi.set(self, "presets", value) +@pulumi.input_type +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs: + def __init__(__self__, *, + max_value: Optional[pulumi.Input[float]] = None, + min_value: Optional[pulumi.Input[float]] = None, + original_mean: Optional[pulumi.Input[float]] = None, + original_stddev: Optional[pulumi.Input[float]] = None): + """ + Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + :param pulumi.Input[float] max_value: The maximum permissible value for this feature. + :param pulumi.Input[float] min_value: The minimum permissible value for this feature. + :param pulumi.Input[float] original_mean: If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + :param pulumi.Input[float] original_stddev: If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + """ + if max_value is not None: + pulumi.set(__self__, "max_value", max_value) + if min_value is not None: + pulumi.set(__self__, "min_value", min_value) + if original_mean is not None: + pulumi.set(__self__, "original_mean", original_mean) + if original_stddev is not None: + pulumi.set(__self__, "original_stddev", original_stddev) + + @property + @pulumi.getter(name="maxValue") + def max_value(self) -> Optional[pulumi.Input[float]]: + """ + The maximum permissible value for this feature. + """ + return pulumi.get(self, "max_value") + + @max_value.setter + def max_value(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "max_value", value) + + @property + @pulumi.getter(name="minValue") + def min_value(self) -> Optional[pulumi.Input[float]]: + """ + The minimum permissible value for this feature. + """ + return pulumi.get(self, "min_value") + + @min_value.setter + def min_value(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "min_value", value) + + @property + @pulumi.getter(name="originalMean") + def original_mean(self) -> Optional[pulumi.Input[float]]: + """ + If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + """ + return pulumi.get(self, "original_mean") + + @original_mean.setter + def original_mean(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "original_mean", value) + + @property + @pulumi.getter(name="originalStddev") + def original_stddev(self) -> Optional[pulumi.Input[float]]: + """ + If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + """ + return pulumi.get(self, "original_stddev") + + @original_stddev.setter + def original_stddev(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "original_stddev", value) + + +@pulumi.input_type +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs: + def __init__(__self__, *, + clip_percent_lowerbound: Optional[pulumi.Input[float]] = None, + clip_percent_upperbound: Optional[pulumi.Input[float]] = None, + color_map: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap']] = None, + overlay_type: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType']] = None, + polarity: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity']] = None, + type: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType']] = None): + """ + Visualization configurations for image explanation. + :param pulumi.Input[float] clip_percent_lowerbound: Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + :param pulumi.Input[float] clip_percent_upperbound: Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + :param pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap'] color_map: The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + :param pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType'] overlay_type: How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + :param pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity'] polarity: Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + :param pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType'] type: Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + if clip_percent_lowerbound is not None: + pulumi.set(__self__, "clip_percent_lowerbound", clip_percent_lowerbound) + if clip_percent_upperbound is not None: + pulumi.set(__self__, "clip_percent_upperbound", clip_percent_upperbound) + if color_map is not None: + pulumi.set(__self__, "color_map", color_map) + if overlay_type is not None: + pulumi.set(__self__, "overlay_type", overlay_type) + if polarity is not None: + pulumi.set(__self__, "polarity", polarity) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="clipPercentLowerbound") + def clip_percent_lowerbound(self) -> Optional[pulumi.Input[float]]: + """ + Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + """ + return pulumi.get(self, "clip_percent_lowerbound") + + @clip_percent_lowerbound.setter + def clip_percent_lowerbound(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "clip_percent_lowerbound", value) + + @property + @pulumi.getter(name="clipPercentUpperbound") + def clip_percent_upperbound(self) -> Optional[pulumi.Input[float]]: + """ + Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + """ + return pulumi.get(self, "clip_percent_upperbound") + + @clip_percent_upperbound.setter + def clip_percent_upperbound(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "clip_percent_upperbound", value) + + @property + @pulumi.getter(name="colorMap") + def color_map(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap']]: + """ + The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + """ + return pulumi.get(self, "color_map") + + @color_map.setter + def color_map(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationColorMap']]): + pulumi.set(self, "color_map", value) + + @property + @pulumi.getter(name="overlayType") + def overlay_type(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType']]: + """ + How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + """ + return pulumi.get(self, "overlay_type") + + @overlay_type.setter + def overlay_type(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationOverlayType']]): + pulumi.set(self, "overlay_type", value) + + @property + @pulumi.getter + def polarity(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity']]: + """ + Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + """ + return pulumi.get(self, "polarity") + + @polarity.setter + def polarity(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationPolarity']]): + pulumi.set(self, "polarity", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType']]: + """ + Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationType']]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs: + def __init__(__self__, *, + dense_shape_tensor_name: Optional[pulumi.Input[str]] = None, + encoded_baselines: Optional[pulumi.Input[Sequence[Any]]] = None, + encoded_tensor_name: Optional[pulumi.Input[str]] = None, + encoding: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding']] = None, + feature_value_domain: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs']] = None, + group_name: Optional[pulumi.Input[str]] = None, + index_feature_mapping: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + indices_tensor_name: Optional[pulumi.Input[str]] = None, + input_baselines: Optional[pulumi.Input[Sequence[Any]]] = None, + input_tensor_name: Optional[pulumi.Input[str]] = None, + modality: Optional[pulumi.Input[str]] = None, + visualization: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs']] = None): + """ + Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + :param pulumi.Input[str] dense_shape_tensor_name: Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + :param pulumi.Input[Sequence[Any]] encoded_baselines: A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + :param pulumi.Input[str] encoded_tensor_name: Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + :param pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding'] encoding: Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + :param pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs'] feature_value_domain: The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + :param pulumi.Input[str] group_name: Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + :param pulumi.Input[Sequence[pulumi.Input[str]]] index_feature_mapping: A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + :param pulumi.Input[str] indices_tensor_name: Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + :param pulumi.Input[Sequence[Any]] input_baselines: Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + :param pulumi.Input[str] input_tensor_name: Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + :param pulumi.Input[str] modality: Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + :param pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs'] visualization: Visualization configurations for image explanation. + """ + if dense_shape_tensor_name is not None: + pulumi.set(__self__, "dense_shape_tensor_name", dense_shape_tensor_name) + if encoded_baselines is not None: + pulumi.set(__self__, "encoded_baselines", encoded_baselines) + if encoded_tensor_name is not None: + pulumi.set(__self__, "encoded_tensor_name", encoded_tensor_name) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if feature_value_domain is not None: + pulumi.set(__self__, "feature_value_domain", feature_value_domain) + if group_name is not None: + pulumi.set(__self__, "group_name", group_name) + if index_feature_mapping is not None: + pulumi.set(__self__, "index_feature_mapping", index_feature_mapping) + if indices_tensor_name is not None: + pulumi.set(__self__, "indices_tensor_name", indices_tensor_name) + if input_baselines is not None: + pulumi.set(__self__, "input_baselines", input_baselines) + if input_tensor_name is not None: + pulumi.set(__self__, "input_tensor_name", input_tensor_name) + if modality is not None: + pulumi.set(__self__, "modality", modality) + if visualization is not None: + pulumi.set(__self__, "visualization", visualization) + + @property + @pulumi.getter(name="denseShapeTensorName") + def dense_shape_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + """ + return pulumi.get(self, "dense_shape_tensor_name") + + @dense_shape_tensor_name.setter + def dense_shape_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dense_shape_tensor_name", value) + + @property + @pulumi.getter(name="encodedBaselines") + def encoded_baselines(self) -> Optional[pulumi.Input[Sequence[Any]]]: + """ + A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + """ + return pulumi.get(self, "encoded_baselines") + + @encoded_baselines.setter + def encoded_baselines(self, value: Optional[pulumi.Input[Sequence[Any]]]): + pulumi.set(self, "encoded_baselines", value) + + @property + @pulumi.getter(name="encodedTensorName") + def encoded_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + """ + return pulumi.get(self, "encoded_tensor_name") + + @encoded_tensor_name.setter + def encoded_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encoded_tensor_name", value) + + @property + @pulumi.getter + def encoding(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding']]: + """ + Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + """ + return pulumi.get(self, "encoding") + + @encoding.setter + def encoding(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataEncoding']]): + pulumi.set(self, "encoding", value) + + @property + @pulumi.getter(name="featureValueDomain") + def feature_value_domain(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs']]: + """ + The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + """ + return pulumi.get(self, "feature_value_domain") + + @feature_value_domain.setter + def feature_value_domain(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainArgs']]): + pulumi.set(self, "feature_value_domain", value) + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + """ + return pulumi.get(self, "group_name") + + @group_name.setter + def group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_name", value) + + @property + @pulumi.getter(name="indexFeatureMapping") + def index_feature_mapping(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + """ + return pulumi.get(self, "index_feature_mapping") + + @index_feature_mapping.setter + def index_feature_mapping(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "index_feature_mapping", value) + + @property + @pulumi.getter(name="indicesTensorName") + def indices_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + """ + return pulumi.get(self, "indices_tensor_name") + + @indices_tensor_name.setter + def indices_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "indices_tensor_name", value) + + @property + @pulumi.getter(name="inputBaselines") + def input_baselines(self) -> Optional[pulumi.Input[Sequence[Any]]]: + """ + Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + """ + return pulumi.get(self, "input_baselines") + + @input_baselines.setter + def input_baselines(self, value: Optional[pulumi.Input[Sequence[Any]]]): + pulumi.set(self, "input_baselines", value) + + @property + @pulumi.getter(name="inputTensorName") + def input_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + """ + return pulumi.get(self, "input_tensor_name") + + @input_tensor_name.setter + def input_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "input_tensor_name", value) + + @property + @pulumi.getter + def modality(self) -> Optional[pulumi.Input[str]]: + """ + Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + """ + return pulumi.get(self, "modality") + + @modality.setter + def modality(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "modality", value) + + @property + @pulumi.getter + def visualization(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs']]: + """ + Visualization configurations for image explanation. + """ + return pulumi.get(self, "visualization") + + @visualization.setter + def visualization(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationArgs']]): + pulumi.set(self, "visualization", value) + + +@pulumi.input_type +class GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs: + def __init__(__self__, *, + display_name_mapping_key: Optional[pulumi.Input[str]] = None, + index_display_name_mapping: Optional[Any] = None, + output_tensor_name: Optional[pulumi.Input[str]] = None): + """ + Metadata of the prediction output to be explained. + :param pulumi.Input[str] display_name_mapping_key: Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + :param Any index_display_name_mapping: Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + :param pulumi.Input[str] output_tensor_name: Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + """ + if display_name_mapping_key is not None: + pulumi.set(__self__, "display_name_mapping_key", display_name_mapping_key) + if index_display_name_mapping is not None: + pulumi.set(__self__, "index_display_name_mapping", index_display_name_mapping) + if output_tensor_name is not None: + pulumi.set(__self__, "output_tensor_name", output_tensor_name) + + @property + @pulumi.getter(name="displayNameMappingKey") + def display_name_mapping_key(self) -> Optional[pulumi.Input[str]]: + """ + Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + """ + return pulumi.get(self, "display_name_mapping_key") + + @display_name_mapping_key.setter + def display_name_mapping_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name_mapping_key", value) + + @property + @pulumi.getter(name="indexDisplayNameMapping") + def index_display_name_mapping(self) -> Optional[Any]: + """ + Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + """ + return pulumi.get(self, "index_display_name_mapping") + + @index_display_name_mapping.setter + def index_display_name_mapping(self, value: Optional[Any]): + pulumi.set(self, "index_display_name_mapping", value) + + @property + @pulumi.getter(name="outputTensorName") + def output_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + """ + return pulumi.get(self, "output_tensor_name") + + @output_tensor_name.setter + def output_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "output_tensor_name", value) + + @pulumi.input_type class GoogleCloudAiplatformV1ExplanationMetadataArgs: def __init__(__self__, *, - inputs: pulumi.Input[Mapping[str, pulumi.Input[str]]], - outputs: pulumi.Input[Mapping[str, pulumi.Input[str]]], + inputs: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs']]], + outputs: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs']]], feature_attributions_schema_uri: Optional[pulumi.Input[str]] = None, latent_space_source: Optional[pulumi.Input[str]] = None): """ Metadata describing the Model's input and output for explanation. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] inputs: Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] outputs: Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs']]] inputs: Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs']]] outputs: Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. :param pulumi.Input[str] feature_attributions_schema_uri: Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. :param pulumi.Input[str] latent_space_source: Name of the source to generate embeddings for example based explanations. """ @@ -1171,26 +1609,26 @@ def __init__(__self__, *, @property @pulumi.getter - def inputs(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def inputs(self) -> pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs']]]: """ Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. """ return pulumi.get(self, "inputs") @inputs.setter - def inputs(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def inputs(self, value: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataInputMetadataArgs']]]): pulumi.set(self, "inputs", value) @property @pulumi.getter - def outputs(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def outputs(self) -> pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs']]]: """ Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. """ return pulumi.get(self, "outputs") @outputs.setter - def outputs(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def outputs(self, value: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataArgs']]]): pulumi.set(self, "outputs", value) @property @@ -2892,14 +3330,14 @@ def explanation_baseline(self, value: Optional[pulumi.Input['GoogleCloudAiplatfo @pulumi.input_type class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs: def __init__(__self__, *, - attribution_score_drift_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attribution_score_drift_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]] = None, default_drift_threshold: Optional[pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']] = None, - drift_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + drift_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]] = None): """ The config for Prediction data drift detection. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attribution_score_drift_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]] attribution_score_drift_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. :param pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs'] default_drift_threshold: Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drift_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]] drift_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. """ if attribution_score_drift_thresholds is not None: pulumi.set(__self__, "attribution_score_drift_thresholds", attribution_score_drift_thresholds) @@ -2910,14 +3348,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="attributionScoreDriftThresholds") - def attribution_score_drift_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def attribution_score_drift_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]]: """ Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. """ return pulumi.get(self, "attribution_score_drift_thresholds") @attribution_score_drift_thresholds.setter - def attribution_score_drift_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def attribution_score_drift_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]]): pulumi.set(self, "attribution_score_drift_thresholds", value) @property @@ -2934,14 +3372,14 @@ def default_drift_threshold(self, value: Optional[pulumi.Input['GoogleCloudAipla @property @pulumi.getter(name="driftThresholds") - def drift_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def drift_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]]: """ Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. """ return pulumi.get(self, "drift_thresholds") @drift_thresholds.setter - def drift_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def drift_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]]): pulumi.set(self, "drift_thresholds", value) @@ -3052,14 +3490,14 @@ def target_field(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class GoogleCloudAiplatformV1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs: def __init__(__self__, *, - attribution_score_skew_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attribution_score_skew_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]] = None, default_skew_threshold: Optional[pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']] = None, - skew_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + skew_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]] = None): """ The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attribution_score_skew_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]] attribution_score_skew_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. :param pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs'] default_skew_threshold: Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] skew_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]] skew_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. """ if attribution_score_skew_thresholds is not None: pulumi.set(__self__, "attribution_score_skew_thresholds", attribution_score_skew_thresholds) @@ -3070,14 +3508,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="attributionScoreSkewThresholds") - def attribution_score_skew_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def attribution_score_skew_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]]: """ Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. """ return pulumi.get(self, "attribution_score_skew_thresholds") @attribution_score_skew_thresholds.setter - def attribution_score_skew_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def attribution_score_skew_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]]): pulumi.set(self, "attribution_score_skew_thresholds", value) @property @@ -3094,14 +3532,14 @@ def default_skew_threshold(self, value: Optional[pulumi.Input['GoogleCloudAiplat @property @pulumi.getter(name="skewThresholds") - def skew_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def skew_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]]: """ Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. """ return pulumi.get(self, "skew_thresholds") @skew_thresholds.setter - def skew_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def skew_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ThresholdConfigArgs']]]]): pulumi.set(self, "skew_thresholds", value) @@ -3923,21 +4361,45 @@ def disk_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "disk_type", value) +@pulumi.input_type +class GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs: + def __init__(__self__, *, + artifact_id: Optional[pulumi.Input[str]] = None): + """ + The type of an input artifact. + :param pulumi.Input[str] artifact_id: Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + """ + if artifact_id is not None: + pulumi.set(__self__, "artifact_id", artifact_id) + + @property + @pulumi.getter(name="artifactId") + def artifact_id(self) -> Optional[pulumi.Input[str]]: + """ + Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + """ + return pulumi.get(self, "artifact_id") + + @artifact_id.setter + def artifact_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "artifact_id", value) + + @pulumi.input_type class GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs: def __init__(__self__, *, gcs_output_directory: pulumi.Input[str], failure_policy: Optional[pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigFailurePolicy']] = None, - input_artifacts: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - parameter_values: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + input_artifacts: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs']]]] = None, + parameter_values: Optional[pulumi.Input[Mapping[str, Any]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ValueArgs']]]] = None): """ The runtime config of a PipelineJob. :param pulumi.Input[str] gcs_output_directory: A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. :param pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigFailurePolicy'] failure_policy: Represents the failure policy of a pipeline. Currently, the default of a pipeline is that the pipeline will continue to run until no more tasks can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks when a task has failed. Any scheduled tasks will continue to completion. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] input_artifacts: The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameter_values: The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs']]] input_artifacts: The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. + :param pulumi.Input[Mapping[str, Any]] parameter_values: The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ValueArgs']]] parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. """ pulumi.set(__self__, "gcs_output_directory", gcs_output_directory) if failure_policy is not None: @@ -3978,39 +4440,39 @@ def failure_policy(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1Pi @property @pulumi.getter(name="inputArtifacts") - def input_artifacts(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def input_artifacts(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs']]]]: """ The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. """ return pulumi.get(self, "input_artifacts") @input_artifacts.setter - def input_artifacts(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def input_artifacts(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactArgs']]]]): pulumi.set(self, "input_artifacts", value) @property @pulumi.getter(name="parameterValues") - def parameter_values(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameter_values(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. """ return pulumi.get(self, "parameter_values") @parameter_values.setter - def parameter_values(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameter_values(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "parameter_values", value) @property @pulumi.getter @_utilities.deprecated("""Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.""") - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ValueArgs']]]]: """ Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. """ return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1ValueArgs']]]]): pulumi.set(self, "parameters", value) @@ -4021,7 +4483,7 @@ def __init__(__self__, *, encryption_spec: Optional[pulumi.Input['GoogleCloudAiplatformV1EncryptionSpecArgs']] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, network: Optional[pulumi.Input[str]] = None, - pipeline_spec: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pipeline_spec: Optional[pulumi.Input[Mapping[str, Any]]] = None, reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, runtime_config: Optional[pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs']] = None, service_account: Optional[pulumi.Input[str]] = None, @@ -4032,7 +4494,7 @@ def __init__(__self__, *, :param pulumi.Input['GoogleCloudAiplatformV1EncryptionSpecArgs'] encryption_spec: Customer-managed encryption key spec for a pipelineJob. If set, this PipelineJob and all of its sub-resources will be secured by this key. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. :param pulumi.Input[str] network: The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pipeline_spec: The spec of the pipeline. + :param pulumi.Input[Mapping[str, Any]] pipeline_spec: The spec of the pipeline. :param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. :param pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs'] runtime_config: Runtime config of the pipeline. :param pulumi.Input[str] service_account: The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. @@ -4107,14 +4569,14 @@ def network(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def pipeline_spec(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The spec of the pipeline. """ return pulumi.get(self, "pipeline_spec") @pipeline_spec.setter - def pipeline_spec(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def pipeline_spec(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "pipeline_spec", value) @property @@ -6125,6 +6587,62 @@ def predict_schemata(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1 pulumi.set(self, "predict_schemata", value) +@pulumi.input_type +class GoogleCloudAiplatformV1ValueArgs: + def __init__(__self__, *, + double_value: Optional[pulumi.Input[float]] = None, + int_value: Optional[pulumi.Input[str]] = None, + string_value: Optional[pulumi.Input[str]] = None): + """ + Value is the value of the field. + :param pulumi.Input[float] double_value: A double value. + :param pulumi.Input[str] int_value: An integer value. + :param pulumi.Input[str] string_value: A string value. + """ + if double_value is not None: + pulumi.set(__self__, "double_value", double_value) + if int_value is not None: + pulumi.set(__self__, "int_value", int_value) + if string_value is not None: + pulumi.set(__self__, "string_value", string_value) + + @property + @pulumi.getter(name="doubleValue") + def double_value(self) -> Optional[pulumi.Input[float]]: + """ + A double value. + """ + return pulumi.get(self, "double_value") + + @double_value.setter + def double_value(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "double_value", value) + + @property + @pulumi.getter(name="intValue") + def int_value(self) -> Optional[pulumi.Input[str]]: + """ + An integer value. + """ + return pulumi.get(self, "int_value") + + @int_value.setter + def int_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "int_value", value) + + @property + @pulumi.getter(name="stringValue") + def string_value(self) -> Optional[pulumi.Input[str]]: + """ + A string value. + """ + return pulumi.get(self, "string_value") + + @string_value.setter + def string_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "string_value", value) + + @pulumi.input_type class GoogleCloudAiplatformV1WorkerPoolSpecArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/artifact.py b/sdk/python/pulumi_google_native/aiplatform/v1/artifact.py index bb0fd5a007..228aa38bbe 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/artifact.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/artifact.py @@ -22,7 +22,7 @@ def __init__(__self__, *, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, schema_version: Optional[pulumi.Input[str]] = None, @@ -35,7 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[str] display_name: User provided display name of the Artifact. May be up to 128 Unicode characters. :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input['ArtifactState'] state: The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. @@ -147,14 +147,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @property @@ -226,7 +226,7 @@ def __init__(__self__, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -245,7 +245,7 @@ def __init__(__self__, :param pulumi.Input[str] display_name: User provided display name of the Artifact. May be up to 128 Unicode characters. :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input['ArtifactState'] state: The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. @@ -282,7 +282,7 @@ def _internal_init(__self__, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -413,7 +413,7 @@ def location(self) -> pulumi.Output[str]: @property @pulumi.getter - def metadata(self) -> pulumi.Output[Mapping[str, str]]: + def metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/context.py b/sdk/python/pulumi_google_native/aiplatform/v1/context.py index 7b64adf668..9ec22e22cb 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/context.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/context.py @@ -21,7 +21,7 @@ def __init__(__self__, *, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -33,7 +33,7 @@ def __init__(__self__, *, :param pulumi.Input[str] display_name: User provided display name of the Context. May be up to 128 Unicode characters. :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] name: Immutable. The resource name of the Context. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -142,14 +142,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @property @@ -209,7 +209,7 @@ def __init__(__self__, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, @@ -226,7 +226,7 @@ def __init__(__self__, :param pulumi.Input[str] display_name: User provided display name of the Context. May be up to 128 Unicode characters. :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] name: Immutable. The resource name of the Context. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -261,7 +261,7 @@ def _internal_init(__self__, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, @@ -389,7 +389,7 @@ def location(self) -> pulumi.Output[str]: @property @pulumi.getter - def metadata(self) -> pulumi.Output[Mapping[str, str]]: + def metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/endpoint.py b/sdk/python/pulumi_google_native/aiplatform/v1/endpoint.py index df54ff071e..3688f766a2 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/endpoint.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/endpoint.py @@ -27,7 +27,7 @@ def __init__(__self__, *, network: Optional[pulumi.Input[str]] = None, predict_request_response_logging_config: Optional[pulumi.Input['GoogleCloudAiplatformV1PredictRequestResponseLoggingConfigArgs']] = None, project: Optional[pulumi.Input[str]] = None, - traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None): """ The set of arguments for constructing a Endpoint resource. :param pulumi.Input[str] display_name: The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -39,7 +39,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. :param pulumi.Input[str] network: Optional. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enable_private_service_connect, can be set. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is network name. :param pulumi.Input['GoogleCloudAiplatformV1PredictRequestResponseLoggingConfigArgs'] predict_request_response_logging_config: Configures the request-response logging for online prediction. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] traffic_split: A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. + :param pulumi.Input[Mapping[str, pulumi.Input[int]]] traffic_split: A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ pulumi.set(__self__, "display_name", display_name) if description is not None: @@ -197,14 +197,14 @@ def project(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="trafficSplit") - def traffic_split(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def traffic_split(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]: """ A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ return pulumi.get(self, "traffic_split") @traffic_split.setter - def traffic_split(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def traffic_split(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]): pulumi.set(self, "traffic_split", value) @@ -224,7 +224,7 @@ def __init__(__self__, network: Optional[pulumi.Input[str]] = None, predict_request_response_logging_config: Optional[pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1PredictRequestResponseLoggingConfigArgs']]] = None, project: Optional[pulumi.Input[str]] = None, - traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None, __props__=None): """ Creates an Endpoint. @@ -241,7 +241,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. :param pulumi.Input[str] network: Optional. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enable_private_service_connect, can be set. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is network name. :param pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1PredictRequestResponseLoggingConfigArgs']] predict_request_response_logging_config: Configures the request-response logging for online prediction. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] traffic_split: A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. + :param pulumi.Input[Mapping[str, pulumi.Input[int]]] traffic_split: A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ ... @overload @@ -279,7 +279,7 @@ def _internal_init(__self__, network: Optional[pulumi.Input[str]] = None, predict_request_response_logging_config: Optional[pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1PredictRequestResponseLoggingConfigArgs']]] = None, project: Optional[pulumi.Input[str]] = None, - traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -468,7 +468,7 @@ def project(self) -> pulumi.Output[str]: @property @pulumi.getter(name="trafficSplit") - def traffic_split(self) -> pulumi.Output[Mapping[str, str]]: + def traffic_split(self) -> pulumi.Output[Mapping[str, int]]: """ A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/execution.py b/sdk/python/pulumi_google_native/aiplatform/v1/execution.py index f9f2de5d61..3e39b01e1a 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/execution.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/execution.py @@ -22,7 +22,7 @@ def __init__(__self__, *, execution_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, schema_version: Optional[pulumi.Input[str]] = None, @@ -34,7 +34,7 @@ def __init__(__self__, *, :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[str] execution_id: The {execution} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` If not provided, the Execution's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Executions in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Execution.) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input['ExecutionState'] state: The state of this Execution. This is a property of the Execution, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines) and the system does not prescribe or check the validity of state transitions. @@ -143,14 +143,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @property @@ -210,7 +210,7 @@ def __init__(__self__, execution_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -228,7 +228,7 @@ def __init__(__self__, :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[str] execution_id: The {execution} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` If not provided, the Execution's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Executions in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Execution.) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input['ExecutionState'] state: The state of this Execution. This is a property of the Execution, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines) and the system does not prescribe or check the validity of state transitions. @@ -264,7 +264,7 @@ def _internal_init(__self__, execution_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -392,7 +392,7 @@ def location(self) -> pulumi.Output[str]: @property @pulumi.getter - def metadata(self) -> pulumi.Output[Mapping[str, str]]: + def metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/get_artifact.py b/sdk/python/pulumi_google_native/aiplatform/v1/get_artifact.py index ca38fe9ea9..48a46b7b6b 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/get_artifact.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/get_artifact.py @@ -98,7 +98,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/get_context.py b/sdk/python/pulumi_google_native/aiplatform/v1/get_context.py index e37dc282e9..f4a12d887a 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/get_context.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/get_context.py @@ -95,7 +95,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/get_endpoint.py b/sdk/python/pulumi_google_native/aiplatform/v1/get_endpoint.py index c3622feb6d..ae16b01a1f 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/get_endpoint.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/get_endpoint.py @@ -162,7 +162,7 @@ def predict_request_response_logging_config(self) -> 'outputs.GoogleCloudAiplatf @property @pulumi.getter(name="trafficSplit") - def traffic_split(self) -> Mapping[str, str]: + def traffic_split(self) -> Mapping[str, int]: """ A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/get_execution.py b/sdk/python/pulumi_google_native/aiplatform/v1/get_execution.py index 1e3158fbe2..f0b5c84a26 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/get_execution.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/get_execution.py @@ -95,7 +95,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/get_pipeline_job.py b/sdk/python/pulumi_google_native/aiplatform/v1/get_pipeline_job.py index ddd3d41f80..056537022b 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/get_pipeline_job.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/get_pipeline_job.py @@ -152,7 +152,7 @@ def network(self) -> str: @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> Mapping[str, str]: + def pipeline_spec(self) -> Mapping[str, Any]: """ The spec of the pipeline. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/outputs.py b/sdk/python/pulumi_google_native/aiplatform/v1/outputs.py index 3a5ed267b0..256089a27b 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/outputs.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/outputs.py @@ -13,6 +13,7 @@ __all__ = [ 'GoogleCloudAiplatformV1ActiveLearningConfigResponse', + 'GoogleCloudAiplatformV1ArtifactResponse', 'GoogleCloudAiplatformV1AutomaticResourcesResponse', 'GoogleCloudAiplatformV1AutoscalingMetricSpecResponse', 'GoogleCloudAiplatformV1BatchDedicatedResourcesResponse', @@ -41,6 +42,10 @@ 'GoogleCloudAiplatformV1ExamplesExampleGcsSourceResponse', 'GoogleCloudAiplatformV1ExamplesResponse', 'GoogleCloudAiplatformV1ExecutionResponse', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse', + 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse', + 'GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse', 'GoogleCloudAiplatformV1ExplanationMetadataResponse', 'GoogleCloudAiplatformV1ExplanationParametersResponse', 'GoogleCloudAiplatformV1ExplanationSpecResponse', @@ -106,7 +111,9 @@ 'GoogleCloudAiplatformV1PersistentDiskSpecResponse', 'GoogleCloudAiplatformV1PipelineJobDetailResponse', 'GoogleCloudAiplatformV1PipelineJobResponse', + 'GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse', 'GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse', + 'GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse', 'GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatusResponse', 'GoogleCloudAiplatformV1PipelineTaskDetailResponse', 'GoogleCloudAiplatformV1PipelineTaskExecutorDetailContainerDetailResponse', @@ -157,6 +164,7 @@ 'GoogleCloudAiplatformV1TrialParameterResponse', 'GoogleCloudAiplatformV1TrialResponse', 'GoogleCloudAiplatformV1UnmanagedContainerModelResponse', + 'GoogleCloudAiplatformV1ValueResponse', 'GoogleCloudAiplatformV1WorkerPoolSpecResponse', 'GoogleCloudAiplatformV1XraiAttributionResponse', 'GoogleIamV1BindingResponse', @@ -243,6 +251,174 @@ def training_config(self) -> 'outputs.GoogleCloudAiplatformV1TrainingConfigRespo return pulumi.get(self, "training_config") +@pulumi.output_type +class GoogleCloudAiplatformV1ArtifactResponse(dict): + """ + Instance of a general artifact. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createTime": + suggest = "create_time" + elif key == "displayName": + suggest = "display_name" + elif key == "schemaTitle": + suggest = "schema_title" + elif key == "schemaVersion": + suggest = "schema_version" + elif key == "updateTime": + suggest = "update_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1ArtifactResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1ArtifactResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1ArtifactResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_time: str, + description: str, + display_name: str, + etag: str, + labels: Mapping[str, str], + metadata: Mapping[str, Any], + name: str, + schema_title: str, + schema_version: str, + state: str, + update_time: str, + uri: str): + """ + Instance of a general artifact. + :param str create_time: Timestamp when this Artifact was created. + :param str description: Description of the Artifact + :param str display_name: User provided display name of the Artifact. May be up to 128 Unicode characters. + :param str etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + :param Mapping[str, str] labels: The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + :param Mapping[str, Any] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param str name: The resource name of the Artifact. + :param str schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + :param str schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + :param str state: The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + :param str update_time: Timestamp when this Artifact was last updated. + :param str uri: The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + """ + pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "metadata", metadata) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "schema_title", schema_title) + pulumi.set(__self__, "schema_version", schema_version) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "update_time", update_time) + pulumi.set(__self__, "uri", uri) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> str: + """ + Timestamp when this Artifact was created. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the Artifact + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + User provided display name of the Artifact. May be up to 128 Unicode characters. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def etag(self) -> str: + """ + An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter + def labels(self) -> Mapping[str, str]: + """ + The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter + def metadata(self) -> Mapping[str, Any]: + """ + Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + """ + return pulumi.get(self, "metadata") + + @property + @pulumi.getter + def name(self) -> str: + """ + The resource name of the Artifact. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="schemaTitle") + def schema_title(self) -> str: + """ + The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + """ + return pulumi.get(self, "schema_title") + + @property + @pulumi.getter(name="schemaVersion") + def schema_version(self) -> str: + """ + The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + """ + return pulumi.get(self, "schema_version") + + @property + @pulumi.getter + def state(self) -> str: + """ + The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> str: + """ + Timestamp when this Artifact was last updated. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter + def uri(self) -> str: + """ + The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + """ + return pulumi.get(self, "uri") + + @pulumi.output_type class GoogleCloudAiplatformV1AutomaticResourcesResponse(dict): """ @@ -988,7 +1164,7 @@ def __init__(__self__, *, display_name: str, etag: str, labels: Mapping[str, str], - metadata: Mapping[str, str], + metadata: Mapping[str, Any], name: str, parent_contexts: Sequence[str], schema_title: str, @@ -1001,7 +1177,7 @@ def __init__(__self__, *, :param str display_name: User provided display name of the Context. May be up to 128 Unicode characters. :param str etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param Mapping[str, str] labels: The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). - :param Mapping[str, str] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param Mapping[str, Any] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param str name: Immutable. The resource name of the Context. :param Sequence[str] parent_contexts: A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts. :param str schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -1062,7 +1238,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ @@ -2237,7 +2413,7 @@ def __init__(__self__, *, display_name: str, etag: str, labels: Mapping[str, str], - metadata: Mapping[str, str], + metadata: Mapping[str, Any], name: str, schema_title: str, schema_version: str, @@ -2250,7 +2426,7 @@ def __init__(__self__, *, :param str display_name: User provided display name of the Execution. May be up to 128 Unicode characters. :param str etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param Mapping[str, str] labels: The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). - :param Mapping[str, str] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param Mapping[str, Any] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param str name: The resource name of the Execution. :param str schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param str schema_version: The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -2311,7 +2487,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ @@ -2358,6 +2534,425 @@ def update_time(self) -> str: return pulumi.get(self, "update_time") +@pulumi.output_type +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse(dict): + """ + Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxValue": + suggest = "max_value" + elif key == "minValue": + suggest = "min_value" + elif key == "originalMean": + suggest = "original_mean" + elif key == "originalStddev": + suggest = "original_stddev" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_value: float, + min_value: float, + original_mean: float, + original_stddev: float): + """ + Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + :param float max_value: The maximum permissible value for this feature. + :param float min_value: The minimum permissible value for this feature. + :param float original_mean: If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + :param float original_stddev: If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + """ + pulumi.set(__self__, "max_value", max_value) + pulumi.set(__self__, "min_value", min_value) + pulumi.set(__self__, "original_mean", original_mean) + pulumi.set(__self__, "original_stddev", original_stddev) + + @property + @pulumi.getter(name="maxValue") + def max_value(self) -> float: + """ + The maximum permissible value for this feature. + """ + return pulumi.get(self, "max_value") + + @property + @pulumi.getter(name="minValue") + def min_value(self) -> float: + """ + The minimum permissible value for this feature. + """ + return pulumi.get(self, "min_value") + + @property + @pulumi.getter(name="originalMean") + def original_mean(self) -> float: + """ + If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + """ + return pulumi.get(self, "original_mean") + + @property + @pulumi.getter(name="originalStddev") + def original_stddev(self) -> float: + """ + If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + """ + return pulumi.get(self, "original_stddev") + + +@pulumi.output_type +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse(dict): + """ + Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "denseShapeTensorName": + suggest = "dense_shape_tensor_name" + elif key == "encodedBaselines": + suggest = "encoded_baselines" + elif key == "encodedTensorName": + suggest = "encoded_tensor_name" + elif key == "featureValueDomain": + suggest = "feature_value_domain" + elif key == "groupName": + suggest = "group_name" + elif key == "indexFeatureMapping": + suggest = "index_feature_mapping" + elif key == "indicesTensorName": + suggest = "indices_tensor_name" + elif key == "inputBaselines": + suggest = "input_baselines" + elif key == "inputTensorName": + suggest = "input_tensor_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dense_shape_tensor_name: str, + encoded_baselines: Sequence[Any], + encoded_tensor_name: str, + encoding: str, + feature_value_domain: 'outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse', + group_name: str, + index_feature_mapping: Sequence[str], + indices_tensor_name: str, + input_baselines: Sequence[Any], + input_tensor_name: str, + modality: str, + visualization: 'outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse'): + """ + Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + :param str dense_shape_tensor_name: Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + :param Sequence[Any] encoded_baselines: A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + :param str encoded_tensor_name: Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + :param str encoding: Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + :param 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse' feature_value_domain: The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + :param str group_name: Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + :param Sequence[str] index_feature_mapping: A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + :param str indices_tensor_name: Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + :param Sequence[Any] input_baselines: Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + :param str input_tensor_name: Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + :param str modality: Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + :param 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse' visualization: Visualization configurations for image explanation. + """ + pulumi.set(__self__, "dense_shape_tensor_name", dense_shape_tensor_name) + pulumi.set(__self__, "encoded_baselines", encoded_baselines) + pulumi.set(__self__, "encoded_tensor_name", encoded_tensor_name) + pulumi.set(__self__, "encoding", encoding) + pulumi.set(__self__, "feature_value_domain", feature_value_domain) + pulumi.set(__self__, "group_name", group_name) + pulumi.set(__self__, "index_feature_mapping", index_feature_mapping) + pulumi.set(__self__, "indices_tensor_name", indices_tensor_name) + pulumi.set(__self__, "input_baselines", input_baselines) + pulumi.set(__self__, "input_tensor_name", input_tensor_name) + pulumi.set(__self__, "modality", modality) + pulumi.set(__self__, "visualization", visualization) + + @property + @pulumi.getter(name="denseShapeTensorName") + def dense_shape_tensor_name(self) -> str: + """ + Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + """ + return pulumi.get(self, "dense_shape_tensor_name") + + @property + @pulumi.getter(name="encodedBaselines") + def encoded_baselines(self) -> Sequence[Any]: + """ + A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + """ + return pulumi.get(self, "encoded_baselines") + + @property + @pulumi.getter(name="encodedTensorName") + def encoded_tensor_name(self) -> str: + """ + Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + """ + return pulumi.get(self, "encoded_tensor_name") + + @property + @pulumi.getter + def encoding(self) -> str: + """ + Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + """ + return pulumi.get(self, "encoding") + + @property + @pulumi.getter(name="featureValueDomain") + def feature_value_domain(self) -> 'outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataFeatureValueDomainResponse': + """ + The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + """ + return pulumi.get(self, "feature_value_domain") + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> str: + """ + Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + """ + return pulumi.get(self, "group_name") + + @property + @pulumi.getter(name="indexFeatureMapping") + def index_feature_mapping(self) -> Sequence[str]: + """ + A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + """ + return pulumi.get(self, "index_feature_mapping") + + @property + @pulumi.getter(name="indicesTensorName") + def indices_tensor_name(self) -> str: + """ + Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + """ + return pulumi.get(self, "indices_tensor_name") + + @property + @pulumi.getter(name="inputBaselines") + def input_baselines(self) -> Sequence[Any]: + """ + Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + """ + return pulumi.get(self, "input_baselines") + + @property + @pulumi.getter(name="inputTensorName") + def input_tensor_name(self) -> str: + """ + Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + """ + return pulumi.get(self, "input_tensor_name") + + @property + @pulumi.getter + def modality(self) -> str: + """ + Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + """ + return pulumi.get(self, "modality") + + @property + @pulumi.getter + def visualization(self) -> 'outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse': + """ + Visualization configurations for image explanation. + """ + return pulumi.get(self, "visualization") + + +@pulumi.output_type +class GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse(dict): + """ + Visualization configurations for image explanation. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clipPercentLowerbound": + suggest = "clip_percent_lowerbound" + elif key == "clipPercentUpperbound": + suggest = "clip_percent_upperbound" + elif key == "colorMap": + suggest = "color_map" + elif key == "overlayType": + suggest = "overlay_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1ExplanationMetadataInputMetadataVisualizationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + clip_percent_lowerbound: float, + clip_percent_upperbound: float, + color_map: str, + overlay_type: str, + polarity: str, + type: str): + """ + Visualization configurations for image explanation. + :param float clip_percent_lowerbound: Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + :param float clip_percent_upperbound: Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + :param str color_map: The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + :param str overlay_type: How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + :param str polarity: Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + :param str type: Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + pulumi.set(__self__, "clip_percent_lowerbound", clip_percent_lowerbound) + pulumi.set(__self__, "clip_percent_upperbound", clip_percent_upperbound) + pulumi.set(__self__, "color_map", color_map) + pulumi.set(__self__, "overlay_type", overlay_type) + pulumi.set(__self__, "polarity", polarity) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="clipPercentLowerbound") + def clip_percent_lowerbound(self) -> float: + """ + Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + """ + return pulumi.get(self, "clip_percent_lowerbound") + + @property + @pulumi.getter(name="clipPercentUpperbound") + def clip_percent_upperbound(self) -> float: + """ + Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + """ + return pulumi.get(self, "clip_percent_upperbound") + + @property + @pulumi.getter(name="colorMap") + def color_map(self) -> str: + """ + The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + """ + return pulumi.get(self, "color_map") + + @property + @pulumi.getter(name="overlayType") + def overlay_type(self) -> str: + """ + How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + """ + return pulumi.get(self, "overlay_type") + + @property + @pulumi.getter + def polarity(self) -> str: + """ + Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + """ + return pulumi.get(self, "polarity") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse(dict): + """ + Metadata of the prediction output to be explained. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayNameMappingKey": + suggest = "display_name_mapping_key" + elif key == "indexDisplayNameMapping": + suggest = "index_display_name_mapping" + elif key == "outputTensorName": + suggest = "output_tensor_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + display_name_mapping_key: str, + index_display_name_mapping: Any, + output_tensor_name: str): + """ + Metadata of the prediction output to be explained. + :param str display_name_mapping_key: Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + :param Any index_display_name_mapping: Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + :param str output_tensor_name: Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + """ + pulumi.set(__self__, "display_name_mapping_key", display_name_mapping_key) + pulumi.set(__self__, "index_display_name_mapping", index_display_name_mapping) + pulumi.set(__self__, "output_tensor_name", output_tensor_name) + + @property + @pulumi.getter(name="displayNameMappingKey") + def display_name_mapping_key(self) -> str: + """ + Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + """ + return pulumi.get(self, "display_name_mapping_key") + + @property + @pulumi.getter(name="indexDisplayNameMapping") + def index_display_name_mapping(self) -> Any: + """ + Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + """ + return pulumi.get(self, "index_display_name_mapping") + + @property + @pulumi.getter(name="outputTensorName") + def output_tensor_name(self) -> str: + """ + Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + """ + return pulumi.get(self, "output_tensor_name") + + @pulumi.output_type class GoogleCloudAiplatformV1ExplanationMetadataResponse(dict): """ @@ -2384,15 +2979,15 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, feature_attributions_schema_uri: str, - inputs: Mapping[str, str], + inputs: Mapping[str, 'outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse'], latent_space_source: str, - outputs: Mapping[str, str]): + outputs: Mapping[str, 'outputs.GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse']): """ Metadata describing the Model's input and output for explanation. :param str feature_attributions_schema_uri: Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. - :param Mapping[str, str] inputs: Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. + :param Mapping[str, 'GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse'] inputs: Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. :param str latent_space_source: Name of the source to generate embeddings for example based explanations. - :param Mapping[str, str] outputs: Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. + :param Mapping[str, 'GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse'] outputs: Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. """ pulumi.set(__self__, "feature_attributions_schema_uri", feature_attributions_schema_uri) pulumi.set(__self__, "inputs", inputs) @@ -2409,7 +3004,7 @@ def feature_attributions_schema_uri(self) -> str: @property @pulumi.getter - def inputs(self) -> Mapping[str, str]: + def inputs(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1ExplanationMetadataInputMetadataResponse']: """ Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. """ @@ -2425,7 +3020,7 @@ def latent_space_source(self) -> str: @property @pulumi.getter - def outputs(self) -> Mapping[str, str]: + def outputs(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1ExplanationMetadataOutputMetadataResponse']: """ Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. """ @@ -4905,14 +5500,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attribution_score_drift_thresholds: Mapping[str, str], + attribution_score_drift_thresholds: Mapping[str, 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse'], default_drift_threshold: 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse', - drift_thresholds: Mapping[str, str]): + drift_thresholds: Mapping[str, 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse']): """ The config for Prediction data drift detection. - :param Mapping[str, str] attribution_score_drift_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. + :param Mapping[str, 'GoogleCloudAiplatformV1ThresholdConfigResponse'] attribution_score_drift_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. :param 'GoogleCloudAiplatformV1ThresholdConfigResponse' default_drift_threshold: Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. - :param Mapping[str, str] drift_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. + :param Mapping[str, 'GoogleCloudAiplatformV1ThresholdConfigResponse'] drift_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. """ pulumi.set(__self__, "attribution_score_drift_thresholds", attribution_score_drift_thresholds) pulumi.set(__self__, "default_drift_threshold", default_drift_threshold) @@ -4920,7 +5515,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="attributionScoreDriftThresholds") - def attribution_score_drift_thresholds(self) -> Mapping[str, str]: + def attribution_score_drift_thresholds(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse']: """ Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. """ @@ -4936,7 +5531,7 @@ def default_drift_threshold(self) -> 'outputs.GoogleCloudAiplatformV1ThresholdCo @property @pulumi.getter(name="driftThresholds") - def drift_thresholds(self) -> Mapping[str, str]: + def drift_thresholds(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse']: """ Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. """ @@ -5150,14 +5745,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attribution_score_skew_thresholds: Mapping[str, str], + attribution_score_skew_thresholds: Mapping[str, 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse'], default_skew_threshold: 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse', - skew_thresholds: Mapping[str, str]): + skew_thresholds: Mapping[str, 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse']): """ The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. - :param Mapping[str, str] attribution_score_skew_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. + :param Mapping[str, 'GoogleCloudAiplatformV1ThresholdConfigResponse'] attribution_score_skew_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. :param 'GoogleCloudAiplatformV1ThresholdConfigResponse' default_skew_threshold: Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. - :param Mapping[str, str] skew_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. + :param Mapping[str, 'GoogleCloudAiplatformV1ThresholdConfigResponse'] skew_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. """ pulumi.set(__self__, "attribution_score_skew_thresholds", attribution_score_skew_thresholds) pulumi.set(__self__, "default_skew_threshold", default_skew_threshold) @@ -5165,7 +5760,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="attributionScoreSkewThresholds") - def attribution_score_skew_thresholds(self) -> Mapping[str, str]: + def attribution_score_skew_thresholds(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse']: """ Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. """ @@ -5181,7 +5776,7 @@ def default_skew_threshold(self) -> 'outputs.GoogleCloudAiplatformV1ThresholdCon @property @pulumi.getter(name="skewThresholds") - def skew_thresholds(self) -> Mapping[str, str]: + def skew_thresholds(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1ThresholdConfigResponse']: """ Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. """ @@ -6553,7 +7148,7 @@ def __init__(__self__, *, labels: Mapping[str, str], name: str, network: str, - pipeline_spec: Mapping[str, str], + pipeline_spec: Mapping[str, Any], reserved_ip_ranges: Sequence[str], runtime_config: 'outputs.GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse', schedule_name: str, @@ -6574,7 +7169,7 @@ def __init__(__self__, *, :param Mapping[str, str] labels: The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. :param str name: The resource name of the PipelineJob. :param str network: The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. - :param Mapping[str, str] pipeline_spec: The spec of the pipeline. + :param Mapping[str, Any] pipeline_spec: The spec of the pipeline. :param Sequence[str] reserved_ip_ranges: A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. :param 'GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse' runtime_config: Runtime config of the pipeline. :param str schedule_name: The schedule resource name. Only returned if the Pipeline is created by Schedule API. @@ -6679,7 +7274,7 @@ def network(self) -> str: @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> Mapping[str, str]: + def pipeline_spec(self) -> Mapping[str, Any]: """ The spec of the pipeline. """ @@ -6758,6 +7353,45 @@ def update_time(self) -> str: return pulumi.get(self, "update_time") +@pulumi.output_type +class GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse(dict): + """ + The type of an input artifact. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "artifactId": + suggest = "artifact_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + artifact_id: str): + """ + The type of an input artifact. + :param str artifact_id: Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + """ + pulumi.set(__self__, "artifact_id", artifact_id) + + @property + @pulumi.getter(name="artifactId") + def artifact_id(self) -> str: + """ + Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + """ + return pulumi.get(self, "artifact_id") + + @pulumi.output_type class GoogleCloudAiplatformV1PipelineJobRuntimeConfigResponse(dict): """ @@ -6789,16 +7423,16 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, failure_policy: str, gcs_output_directory: str, - input_artifacts: Mapping[str, str], - parameter_values: Mapping[str, str], - parameters: Mapping[str, str]): + input_artifacts: Mapping[str, 'outputs.GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse'], + parameter_values: Mapping[str, Any], + parameters: Mapping[str, 'outputs.GoogleCloudAiplatformV1ValueResponse']): """ The runtime config of a PipelineJob. :param str failure_policy: Represents the failure policy of a pipeline. Currently, the default of a pipeline is that the pipeline will continue to run until no more tasks can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks when a task has failed. Any scheduled tasks will continue to completion. :param str gcs_output_directory: A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. - :param Mapping[str, str] input_artifacts: The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - :param Mapping[str, str] parameter_values: The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - :param Mapping[str, str] parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. + :param Mapping[str, 'GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse'] input_artifacts: The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. + :param Mapping[str, Any] parameter_values: The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. + :param Mapping[str, 'GoogleCloudAiplatformV1ValueResponse'] parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. """ pulumi.set(__self__, "failure_policy", failure_policy) pulumi.set(__self__, "gcs_output_directory", gcs_output_directory) @@ -6824,7 +7458,7 @@ def gcs_output_directory(self) -> str: @property @pulumi.getter(name="inputArtifacts") - def input_artifacts(self) -> Mapping[str, str]: + def input_artifacts(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1PipelineJobRuntimeConfigInputArtifactResponse']: """ The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. """ @@ -6832,7 +7466,7 @@ def input_artifacts(self) -> Mapping[str, str]: @property @pulumi.getter(name="parameterValues") - def parameter_values(self) -> Mapping[str, str]: + def parameter_values(self) -> Mapping[str, Any]: """ The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. """ @@ -6841,13 +7475,35 @@ def parameter_values(self) -> Mapping[str, str]: @property @pulumi.getter @_utilities.deprecated("""Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.""") - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1ValueResponse']: """ Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. """ return pulumi.get(self, "parameters") +@pulumi.output_type +class GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse(dict): + """ + A list of artifact metadata. + """ + def __init__(__self__, *, + artifacts: Sequence['outputs.GoogleCloudAiplatformV1ArtifactResponse']): + """ + A list of artifact metadata. + :param Sequence['GoogleCloudAiplatformV1ArtifactResponse'] artifacts: A list of artifact metadata. + """ + pulumi.set(__self__, "artifacts", artifacts) + + @property + @pulumi.getter + def artifacts(self) -> Sequence['outputs.GoogleCloudAiplatformV1ArtifactResponse']: + """ + A list of artifact metadata. + """ + return pulumi.get(self, "artifacts") + + @pulumi.output_type class GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatusResponse(dict): """ @@ -6951,8 +7607,8 @@ def __init__(__self__, *, error: 'outputs.GoogleRpcStatusResponse', execution: 'outputs.GoogleCloudAiplatformV1ExecutionResponse', executor_detail: 'outputs.GoogleCloudAiplatformV1PipelineTaskExecutorDetailResponse', - inputs: Mapping[str, str], - outputs: Mapping[str, str], + inputs: Mapping[str, 'outputs.GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse'], + outputs: Mapping[str, 'outputs.GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse'], parent_task_id: str, pipeline_task_status: Sequence['outputs.GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatusResponse'], start_time: str, @@ -6966,8 +7622,8 @@ def __init__(__self__, *, :param 'GoogleRpcStatusResponse' error: The error that occurred during task execution. Only populated when the task's state is FAILED or CANCELLED. :param 'GoogleCloudAiplatformV1ExecutionResponse' execution: The execution metadata of the task. :param 'GoogleCloudAiplatformV1PipelineTaskExecutorDetailResponse' executor_detail: The detailed execution info. - :param Mapping[str, str] inputs: The runtime input artifacts of the task. - :param Mapping[str, str] outputs: The runtime output artifacts of the task. + :param Mapping[str, 'GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse'] inputs: The runtime input artifacts of the task. + :param Mapping[str, 'GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse'] outputs: The runtime output artifacts of the task. :param str parent_task_id: The id of the parent task if the task is within a component scope. Empty if the task is at the root level. :param Sequence['GoogleCloudAiplatformV1PipelineTaskDetailPipelineTaskStatusResponse'] pipeline_task_status: A list of task status. This field keeps a record of task status evolving over time. :param str start_time: Task start time. @@ -7031,7 +7687,7 @@ def executor_detail(self) -> 'outputs.GoogleCloudAiplatformV1PipelineTaskExecuto @property @pulumi.getter - def inputs(self) -> Mapping[str, str]: + def inputs(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse']: """ The runtime input artifacts of the task. """ @@ -7039,7 +7695,7 @@ def inputs(self) -> Mapping[str, str]: @property @pulumi.getter - def outputs(self) -> Mapping[str, str]: + def outputs(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1PipelineTaskDetailArtifactListResponse']: """ The runtime output artifacts of the task. """ @@ -10021,6 +10677,71 @@ def predict_schemata(self) -> 'outputs.GoogleCloudAiplatformV1PredictSchemataRes return pulumi.get(self, "predict_schemata") +@pulumi.output_type +class GoogleCloudAiplatformV1ValueResponse(dict): + """ + Value is the value of the field. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "doubleValue": + suggest = "double_value" + elif key == "intValue": + suggest = "int_value" + elif key == "stringValue": + suggest = "string_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1ValueResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1ValueResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1ValueResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + double_value: float, + int_value: str, + string_value: str): + """ + Value is the value of the field. + :param float double_value: A double value. + :param str int_value: An integer value. + :param str string_value: A string value. + """ + pulumi.set(__self__, "double_value", double_value) + pulumi.set(__self__, "int_value", int_value) + pulumi.set(__self__, "string_value", string_value) + + @property + @pulumi.getter(name="doubleValue") + def double_value(self) -> float: + """ + A double value. + """ + return pulumi.get(self, "double_value") + + @property + @pulumi.getter(name="intValue") + def int_value(self) -> str: + """ + An integer value. + """ + return pulumi.get(self, "int_value") + + @property + @pulumi.getter(name="stringValue") + def string_value(self) -> str: + """ + A string value. + """ + return pulumi.get(self, "string_value") + + @pulumi.output_type class GoogleCloudAiplatformV1WorkerPoolSpecResponse(dict): """ @@ -10241,12 +10962,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -10263,7 +10984,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1/pipeline_job.py b/sdk/python/pulumi_google_native/aiplatform/v1/pipeline_job.py index 5e54a16627..fba8c2af23 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1/pipeline_job.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1/pipeline_job.py @@ -23,7 +23,7 @@ def __init__(__self__, *, location: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input[str]] = None, pipeline_job_id: Optional[pulumi.Input[str]] = None, - pipeline_spec: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pipeline_spec: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, runtime_config: Optional[pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs']] = None, @@ -36,7 +36,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. :param pulumi.Input[str] network: The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. :param pulumi.Input[str] pipeline_job_id: The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pipeline_spec: The spec of the pipeline. + :param pulumi.Input[Mapping[str, Any]] pipeline_spec: The spec of the pipeline. :param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. :param pulumi.Input['GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs'] runtime_config: Runtime config of the pipeline. :param pulumi.Input[str] service_account: The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. @@ -138,14 +138,14 @@ def pipeline_job_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def pipeline_spec(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The spec of the pipeline. """ return pulumi.get(self, "pipeline_spec") @pipeline_spec.setter - def pipeline_spec(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def pipeline_spec(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "pipeline_spec", value) @property @@ -217,7 +217,7 @@ def __init__(__self__, location: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input[str]] = None, pipeline_job_id: Optional[pulumi.Input[str]] = None, - pipeline_spec: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pipeline_spec: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, runtime_config: Optional[pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs']]] = None, @@ -235,7 +235,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. :param pulumi.Input[str] network: The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. :param pulumi.Input[str] pipeline_job_id: The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pipeline_spec: The spec of the pipeline. + :param pulumi.Input[Mapping[str, Any]] pipeline_spec: The spec of the pipeline. :param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. :param pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs']] runtime_config: Runtime config of the pipeline. :param pulumi.Input[str] service_account: The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. @@ -272,7 +272,7 @@ def _internal_init(__self__, location: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input[str]] = None, pipeline_job_id: Optional[pulumi.Input[str]] = None, - pipeline_spec: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pipeline_spec: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, runtime_config: Optional[pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1PipelineJobRuntimeConfigArgs']]] = None, @@ -444,7 +444,7 @@ def pipeline_job_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> pulumi.Output[Mapping[str, str]]: + def pipeline_spec(self) -> pulumi.Output[Mapping[str, Any]]: """ The spec of the pipeline. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/_enums.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/_enums.py index c42efab2fa..dac2b05350 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/_enums.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/_enums.py @@ -10,6 +10,11 @@ 'FeatureGroupFeatureValueType', 'FeatureStoreFeatureValueType', 'GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType', 'GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureType', 'GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigImportFeaturesAnalysisAnomalyDetectionBaseline', 'GoogleCloudAiplatformV1beta1FeaturestoreMonitoringConfigImportFeaturesAnalysisState', @@ -192,6 +197,140 @@ class GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceDataFormat(str, Enum): """ +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding(str, Enum): + """ + Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + """ + ENCODING_UNSPECIFIED = "ENCODING_UNSPECIFIED" + """ + Default value. This is the same as IDENTITY. + """ + IDENTITY = "IDENTITY" + """ + The tensor represents one feature. + """ + BAG_OF_FEATURES = "BAG_OF_FEATURES" + """ + The tensor represents a bag of features where each index maps to a feature. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [27, 6.0, 150] index_feature_mapping = ["age", "height", "weight"] ``` + """ + BAG_OF_FEATURES_SPARSE = "BAG_OF_FEATURES_SPARSE" + """ + The tensor represents a bag of features where each index maps to a feature. Zero values in the tensor indicates feature being non-existent. InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [2, 0, 5, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + """ + INDICATOR = "INDICATOR" + """ + The tensor is a list of binaries representing whether a feature exists or not (1 indicates existence). InputMetadata.index_feature_mapping must be provided for this encoding. For example: ``` input = [1, 0, 1, 0, 1] index_feature_mapping = ["a", "b", "c", "d", "e"] ``` + """ + COMBINED_EMBEDDING = "COMBINED_EMBEDDING" + """ + The tensor is encoded into a 1-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [0.1, 0.2, 0.3, 0.4, 0.5] ``` + """ + CONCAT_EMBEDDING = "CONCAT_EMBEDDING" + """ + Select this encoding when the input tensor is encoded into a 2-dimensional array represented by an encoded tensor. InputMetadata.encoded_tensor_name must be provided for this encoding. The first dimension of the encoded tensor's shape is the same as the input tensor's shape. For example: ``` input = ["This", "is", "a", "test", "."] encoded = [[0.1, 0.2, 0.3, 0.4, 0.5], [0.2, 0.1, 0.4, 0.3, 0.5], [0.5, 0.1, 0.3, 0.5, 0.4], [0.5, 0.3, 0.1, 0.2, 0.4], [0.4, 0.3, 0.2, 0.5, 0.1]] ``` + """ + + +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap(str, Enum): + """ + The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + """ + COLOR_MAP_UNSPECIFIED = "COLOR_MAP_UNSPECIFIED" + """ + Should not be used. + """ + PINK_GREEN = "PINK_GREEN" + """ + Positive: green. Negative: pink. + """ + VIRIDIS = "VIRIDIS" + """ + Viridis color map: A perceptually uniform color mapping which is easier to see by those with colorblindness and progresses from yellow to green to blue. Positive: yellow. Negative: blue. + """ + RED = "RED" + """ + Positive: red. Negative: red. + """ + GREEN = "GREEN" + """ + Positive: green. Negative: green. + """ + RED_GREEN = "RED_GREEN" + """ + Positive: green. Negative: red. + """ + PINK_WHITE_GREEN = "PINK_WHITE_GREEN" + """ + PiYG palette. + """ + + +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType(str, Enum): + """ + How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + """ + OVERLAY_TYPE_UNSPECIFIED = "OVERLAY_TYPE_UNSPECIFIED" + """ + Default value. This is the same as NONE. + """ + NONE = "NONE" + """ + No overlay. + """ + ORIGINAL = "ORIGINAL" + """ + The attributions are shown on top of the original image. + """ + GRAYSCALE = "GRAYSCALE" + """ + The attributions are shown on top of grayscaled version of the original image. + """ + MASK_BLACK = "MASK_BLACK" + """ + The attributions are used as a mask to reveal predictive parts of the image and hide the un-predictive parts. + """ + + +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity(str, Enum): + """ + Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + """ + POLARITY_UNSPECIFIED = "POLARITY_UNSPECIFIED" + """ + Default value. This is the same as POSITIVE. + """ + POSITIVE = "POSITIVE" + """ + Highlights the pixels/outlines that were most influential to the model's prediction. + """ + NEGATIVE = "NEGATIVE" + """ + Setting polarity to negative highlights areas that does not lead to the models's current prediction. + """ + BOTH = "BOTH" + """ + Shows both positive and negative attributions. + """ + + +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType(str, Enum): + """ + Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + TYPE_UNSPECIFIED = "TYPE_UNSPECIFIED" + """ + Should not be used. + """ + PIXELS = "PIXELS" + """ + Shows which pixel contributed to the image prediction. + """ + OUTLINES = "OUTLINES" + """ + Shows which region contributed to the image prediction by outlining the region. + """ + + class GoogleCloudAiplatformV1beta1FeatureViewVectorSearchConfigDistanceMeasureType(str, Enum): """ Optional. The distance measure used in nearest neighbor search. diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/_inputs.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/_inputs.py index 644993026e..ac02a02378 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/_inputs.py @@ -29,6 +29,10 @@ 'GoogleCloudAiplatformV1beta1EnvVarArgs', 'GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceArgs', 'GoogleCloudAiplatformV1beta1ExamplesArgs', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs', 'GoogleCloudAiplatformV1beta1ExplanationMetadataArgs', 'GoogleCloudAiplatformV1beta1ExplanationParametersArgs', 'GoogleCloudAiplatformV1beta1ExplanationSpecArgs', @@ -87,6 +91,7 @@ 'GoogleCloudAiplatformV1beta1NotebookEucConfigArgs', 'GoogleCloudAiplatformV1beta1NotebookIdleShutdownConfigArgs', 'GoogleCloudAiplatformV1beta1PersistentDiskSpecArgs', + 'GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs', 'GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs', 'GoogleCloudAiplatformV1beta1PipelineJobArgs', 'GoogleCloudAiplatformV1beta1PortArgs', @@ -134,6 +139,7 @@ 'GoogleCloudAiplatformV1beta1TimestampSplitArgs', 'GoogleCloudAiplatformV1beta1TrainingConfigArgs', 'GoogleCloudAiplatformV1beta1UnmanagedContainerModelArgs', + 'GoogleCloudAiplatformV1beta1ValueArgs', 'GoogleCloudAiplatformV1beta1WorkerPoolSpecArgs', 'GoogleCloudAiplatformV1beta1XraiAttributionArgs', 'GoogleIamV1BindingArgs', @@ -1197,17 +1203,449 @@ def presets(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1Pres pulumi.set(self, "presets", value) +@pulumi.input_type +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs: + def __init__(__self__, *, + max_value: Optional[pulumi.Input[float]] = None, + min_value: Optional[pulumi.Input[float]] = None, + original_mean: Optional[pulumi.Input[float]] = None, + original_stddev: Optional[pulumi.Input[float]] = None): + """ + Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + :param pulumi.Input[float] max_value: The maximum permissible value for this feature. + :param pulumi.Input[float] min_value: The minimum permissible value for this feature. + :param pulumi.Input[float] original_mean: If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + :param pulumi.Input[float] original_stddev: If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + """ + if max_value is not None: + pulumi.set(__self__, "max_value", max_value) + if min_value is not None: + pulumi.set(__self__, "min_value", min_value) + if original_mean is not None: + pulumi.set(__self__, "original_mean", original_mean) + if original_stddev is not None: + pulumi.set(__self__, "original_stddev", original_stddev) + + @property + @pulumi.getter(name="maxValue") + def max_value(self) -> Optional[pulumi.Input[float]]: + """ + The maximum permissible value for this feature. + """ + return pulumi.get(self, "max_value") + + @max_value.setter + def max_value(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "max_value", value) + + @property + @pulumi.getter(name="minValue") + def min_value(self) -> Optional[pulumi.Input[float]]: + """ + The minimum permissible value for this feature. + """ + return pulumi.get(self, "min_value") + + @min_value.setter + def min_value(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "min_value", value) + + @property + @pulumi.getter(name="originalMean") + def original_mean(self) -> Optional[pulumi.Input[float]]: + """ + If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + """ + return pulumi.get(self, "original_mean") + + @original_mean.setter + def original_mean(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "original_mean", value) + + @property + @pulumi.getter(name="originalStddev") + def original_stddev(self) -> Optional[pulumi.Input[float]]: + """ + If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + """ + return pulumi.get(self, "original_stddev") + + @original_stddev.setter + def original_stddev(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "original_stddev", value) + + +@pulumi.input_type +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs: + def __init__(__self__, *, + clip_percent_lowerbound: Optional[pulumi.Input[float]] = None, + clip_percent_upperbound: Optional[pulumi.Input[float]] = None, + color_map: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap']] = None, + overlay_type: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType']] = None, + polarity: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity']] = None, + type: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType']] = None): + """ + Visualization configurations for image explanation. + :param pulumi.Input[float] clip_percent_lowerbound: Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + :param pulumi.Input[float] clip_percent_upperbound: Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + :param pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap'] color_map: The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + :param pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType'] overlay_type: How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + :param pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity'] polarity: Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + :param pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType'] type: Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + if clip_percent_lowerbound is not None: + pulumi.set(__self__, "clip_percent_lowerbound", clip_percent_lowerbound) + if clip_percent_upperbound is not None: + pulumi.set(__self__, "clip_percent_upperbound", clip_percent_upperbound) + if color_map is not None: + pulumi.set(__self__, "color_map", color_map) + if overlay_type is not None: + pulumi.set(__self__, "overlay_type", overlay_type) + if polarity is not None: + pulumi.set(__self__, "polarity", polarity) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="clipPercentLowerbound") + def clip_percent_lowerbound(self) -> Optional[pulumi.Input[float]]: + """ + Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + """ + return pulumi.get(self, "clip_percent_lowerbound") + + @clip_percent_lowerbound.setter + def clip_percent_lowerbound(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "clip_percent_lowerbound", value) + + @property + @pulumi.getter(name="clipPercentUpperbound") + def clip_percent_upperbound(self) -> Optional[pulumi.Input[float]]: + """ + Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + """ + return pulumi.get(self, "clip_percent_upperbound") + + @clip_percent_upperbound.setter + def clip_percent_upperbound(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "clip_percent_upperbound", value) + + @property + @pulumi.getter(name="colorMap") + def color_map(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap']]: + """ + The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + """ + return pulumi.get(self, "color_map") + + @color_map.setter + def color_map(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationColorMap']]): + pulumi.set(self, "color_map", value) + + @property + @pulumi.getter(name="overlayType") + def overlay_type(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType']]: + """ + How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + """ + return pulumi.get(self, "overlay_type") + + @overlay_type.setter + def overlay_type(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationOverlayType']]): + pulumi.set(self, "overlay_type", value) + + @property + @pulumi.getter + def polarity(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity']]: + """ + Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + """ + return pulumi.get(self, "polarity") + + @polarity.setter + def polarity(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationPolarity']]): + pulumi.set(self, "polarity", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType']]: + """ + Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationType']]): + pulumi.set(self, "type", value) + + +@pulumi.input_type +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs: + def __init__(__self__, *, + dense_shape_tensor_name: Optional[pulumi.Input[str]] = None, + encoded_baselines: Optional[pulumi.Input[Sequence[Any]]] = None, + encoded_tensor_name: Optional[pulumi.Input[str]] = None, + encoding: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding']] = None, + feature_value_domain: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs']] = None, + group_name: Optional[pulumi.Input[str]] = None, + index_feature_mapping: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + indices_tensor_name: Optional[pulumi.Input[str]] = None, + input_baselines: Optional[pulumi.Input[Sequence[Any]]] = None, + input_tensor_name: Optional[pulumi.Input[str]] = None, + modality: Optional[pulumi.Input[str]] = None, + visualization: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs']] = None): + """ + Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + :param pulumi.Input[str] dense_shape_tensor_name: Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + :param pulumi.Input[Sequence[Any]] encoded_baselines: A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + :param pulumi.Input[str] encoded_tensor_name: Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + :param pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding'] encoding: Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + :param pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs'] feature_value_domain: The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + :param pulumi.Input[str] group_name: Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + :param pulumi.Input[Sequence[pulumi.Input[str]]] index_feature_mapping: A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + :param pulumi.Input[str] indices_tensor_name: Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + :param pulumi.Input[Sequence[Any]] input_baselines: Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + :param pulumi.Input[str] input_tensor_name: Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + :param pulumi.Input[str] modality: Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + :param pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs'] visualization: Visualization configurations for image explanation. + """ + if dense_shape_tensor_name is not None: + pulumi.set(__self__, "dense_shape_tensor_name", dense_shape_tensor_name) + if encoded_baselines is not None: + pulumi.set(__self__, "encoded_baselines", encoded_baselines) + if encoded_tensor_name is not None: + pulumi.set(__self__, "encoded_tensor_name", encoded_tensor_name) + if encoding is not None: + pulumi.set(__self__, "encoding", encoding) + if feature_value_domain is not None: + pulumi.set(__self__, "feature_value_domain", feature_value_domain) + if group_name is not None: + pulumi.set(__self__, "group_name", group_name) + if index_feature_mapping is not None: + pulumi.set(__self__, "index_feature_mapping", index_feature_mapping) + if indices_tensor_name is not None: + pulumi.set(__self__, "indices_tensor_name", indices_tensor_name) + if input_baselines is not None: + pulumi.set(__self__, "input_baselines", input_baselines) + if input_tensor_name is not None: + pulumi.set(__self__, "input_tensor_name", input_tensor_name) + if modality is not None: + pulumi.set(__self__, "modality", modality) + if visualization is not None: + pulumi.set(__self__, "visualization", visualization) + + @property + @pulumi.getter(name="denseShapeTensorName") + def dense_shape_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + """ + return pulumi.get(self, "dense_shape_tensor_name") + + @dense_shape_tensor_name.setter + def dense_shape_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dense_shape_tensor_name", value) + + @property + @pulumi.getter(name="encodedBaselines") + def encoded_baselines(self) -> Optional[pulumi.Input[Sequence[Any]]]: + """ + A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + """ + return pulumi.get(self, "encoded_baselines") + + @encoded_baselines.setter + def encoded_baselines(self, value: Optional[pulumi.Input[Sequence[Any]]]): + pulumi.set(self, "encoded_baselines", value) + + @property + @pulumi.getter(name="encodedTensorName") + def encoded_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + """ + return pulumi.get(self, "encoded_tensor_name") + + @encoded_tensor_name.setter + def encoded_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encoded_tensor_name", value) + + @property + @pulumi.getter + def encoding(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding']]: + """ + Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + """ + return pulumi.get(self, "encoding") + + @encoding.setter + def encoding(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataEncoding']]): + pulumi.set(self, "encoding", value) + + @property + @pulumi.getter(name="featureValueDomain") + def feature_value_domain(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs']]: + """ + The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + """ + return pulumi.get(self, "feature_value_domain") + + @feature_value_domain.setter + def feature_value_domain(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainArgs']]): + pulumi.set(self, "feature_value_domain", value) + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + """ + return pulumi.get(self, "group_name") + + @group_name.setter + def group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group_name", value) + + @property + @pulumi.getter(name="indexFeatureMapping") + def index_feature_mapping(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + """ + return pulumi.get(self, "index_feature_mapping") + + @index_feature_mapping.setter + def index_feature_mapping(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "index_feature_mapping", value) + + @property + @pulumi.getter(name="indicesTensorName") + def indices_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + """ + return pulumi.get(self, "indices_tensor_name") + + @indices_tensor_name.setter + def indices_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "indices_tensor_name", value) + + @property + @pulumi.getter(name="inputBaselines") + def input_baselines(self) -> Optional[pulumi.Input[Sequence[Any]]]: + """ + Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + """ + return pulumi.get(self, "input_baselines") + + @input_baselines.setter + def input_baselines(self, value: Optional[pulumi.Input[Sequence[Any]]]): + pulumi.set(self, "input_baselines", value) + + @property + @pulumi.getter(name="inputTensorName") + def input_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + """ + return pulumi.get(self, "input_tensor_name") + + @input_tensor_name.setter + def input_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "input_tensor_name", value) + + @property + @pulumi.getter + def modality(self) -> Optional[pulumi.Input[str]]: + """ + Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + """ + return pulumi.get(self, "modality") + + @modality.setter + def modality(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "modality", value) + + @property + @pulumi.getter + def visualization(self) -> Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs']]: + """ + Visualization configurations for image explanation. + """ + return pulumi.get(self, "visualization") + + @visualization.setter + def visualization(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationArgs']]): + pulumi.set(self, "visualization", value) + + +@pulumi.input_type +class GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs: + def __init__(__self__, *, + display_name_mapping_key: Optional[pulumi.Input[str]] = None, + index_display_name_mapping: Optional[Any] = None, + output_tensor_name: Optional[pulumi.Input[str]] = None): + """ + Metadata of the prediction output to be explained. + :param pulumi.Input[str] display_name_mapping_key: Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + :param Any index_display_name_mapping: Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + :param pulumi.Input[str] output_tensor_name: Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + """ + if display_name_mapping_key is not None: + pulumi.set(__self__, "display_name_mapping_key", display_name_mapping_key) + if index_display_name_mapping is not None: + pulumi.set(__self__, "index_display_name_mapping", index_display_name_mapping) + if output_tensor_name is not None: + pulumi.set(__self__, "output_tensor_name", output_tensor_name) + + @property + @pulumi.getter(name="displayNameMappingKey") + def display_name_mapping_key(self) -> Optional[pulumi.Input[str]]: + """ + Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + """ + return pulumi.get(self, "display_name_mapping_key") + + @display_name_mapping_key.setter + def display_name_mapping_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name_mapping_key", value) + + @property + @pulumi.getter(name="indexDisplayNameMapping") + def index_display_name_mapping(self) -> Optional[Any]: + """ + Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + """ + return pulumi.get(self, "index_display_name_mapping") + + @index_display_name_mapping.setter + def index_display_name_mapping(self, value: Optional[Any]): + pulumi.set(self, "index_display_name_mapping", value) + + @property + @pulumi.getter(name="outputTensorName") + def output_tensor_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + """ + return pulumi.get(self, "output_tensor_name") + + @output_tensor_name.setter + def output_tensor_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "output_tensor_name", value) + + @pulumi.input_type class GoogleCloudAiplatformV1beta1ExplanationMetadataArgs: def __init__(__self__, *, - inputs: pulumi.Input[Mapping[str, pulumi.Input[str]]], - outputs: pulumi.Input[Mapping[str, pulumi.Input[str]]], + inputs: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs']]], + outputs: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs']]], feature_attributions_schema_uri: Optional[pulumi.Input[str]] = None, latent_space_source: Optional[pulumi.Input[str]] = None): """ Metadata describing the Model's input and output for explanation. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] inputs: Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] outputs: Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs']]] inputs: Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs']]] outputs: Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. :param pulumi.Input[str] feature_attributions_schema_uri: Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. :param pulumi.Input[str] latent_space_source: Name of the source to generate embeddings for example based explanations. """ @@ -1220,26 +1658,26 @@ def __init__(__self__, *, @property @pulumi.getter - def inputs(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def inputs(self) -> pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs']]]: """ Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. """ return pulumi.get(self, "inputs") @inputs.setter - def inputs(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def inputs(self, value: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataArgs']]]): pulumi.set(self, "inputs", value) @property @pulumi.getter - def outputs(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def outputs(self) -> pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs']]]: """ Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. """ return pulumi.get(self, "outputs") @outputs.setter - def outputs(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def outputs(self, value: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataArgs']]]): pulumi.set(self, "outputs", value) @property @@ -3355,14 +3793,14 @@ def explanation_baseline(self, value: Optional[pulumi.Input['GoogleCloudAiplatfo @pulumi.input_type class GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigPredictionDriftDetectionConfigArgs: def __init__(__self__, *, - attribution_score_drift_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attribution_score_drift_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]] = None, default_drift_threshold: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']] = None, - drift_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + drift_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]] = None): """ The config for Prediction data drift detection. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attribution_score_drift_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]] attribution_score_drift_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. :param pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs'] default_drift_threshold: Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] drift_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]] drift_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. """ if attribution_score_drift_thresholds is not None: pulumi.set(__self__, "attribution_score_drift_thresholds", attribution_score_drift_thresholds) @@ -3373,14 +3811,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="attributionScoreDriftThresholds") - def attribution_score_drift_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def attribution_score_drift_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]]: """ Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. """ return pulumi.get(self, "attribution_score_drift_thresholds") @attribution_score_drift_thresholds.setter - def attribution_score_drift_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def attribution_score_drift_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]]): pulumi.set(self, "attribution_score_drift_thresholds", value) @property @@ -3397,14 +3835,14 @@ def default_drift_threshold(self, value: Optional[pulumi.Input['GoogleCloudAipla @property @pulumi.getter(name="driftThresholds") - def drift_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def drift_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]]: """ Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. """ return pulumi.get(self, "drift_thresholds") @drift_thresholds.setter - def drift_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def drift_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]]): pulumi.set(self, "drift_thresholds", value) @@ -3515,14 +3953,14 @@ def target_field(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class GoogleCloudAiplatformV1beta1ModelMonitoringObjectiveConfigTrainingPredictionSkewDetectionConfigArgs: def __init__(__self__, *, - attribution_score_skew_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attribution_score_skew_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]] = None, default_skew_threshold: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']] = None, - skew_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + skew_thresholds: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]] = None): """ The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attribution_score_skew_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]] attribution_score_skew_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. :param pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs'] default_skew_threshold: Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] skew_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]] skew_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. """ if attribution_score_skew_thresholds is not None: pulumi.set(__self__, "attribution_score_skew_thresholds", attribution_score_skew_thresholds) @@ -3533,14 +3971,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="attributionScoreSkewThresholds") - def attribution_score_skew_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def attribution_score_skew_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]]: """ Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. """ return pulumi.get(self, "attribution_score_skew_thresholds") @attribution_score_skew_thresholds.setter - def attribution_score_skew_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def attribution_score_skew_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]]): pulumi.set(self, "attribution_score_skew_thresholds", value) @property @@ -3557,14 +3995,14 @@ def default_skew_threshold(self, value: Optional[pulumi.Input['GoogleCloudAiplat @property @pulumi.getter(name="skewThresholds") - def skew_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def skew_thresholds(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]]: """ Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. """ return pulumi.get(self, "skew_thresholds") @skew_thresholds.setter - def skew_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def skew_thresholds(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ThresholdConfigArgs']]]]): pulumi.set(self, "skew_thresholds", value) @@ -4514,21 +4952,45 @@ def disk_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "disk_type", value) +@pulumi.input_type +class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs: + def __init__(__self__, *, + artifact_id: Optional[pulumi.Input[str]] = None): + """ + The type of an input artifact. + :param pulumi.Input[str] artifact_id: Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + """ + if artifact_id is not None: + pulumi.set(__self__, "artifact_id", artifact_id) + + @property + @pulumi.getter(name="artifactId") + def artifact_id(self) -> Optional[pulumi.Input[str]]: + """ + Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + """ + return pulumi.get(self, "artifact_id") + + @artifact_id.setter + def artifact_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "artifact_id", value) + + @pulumi.input_type class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs: def __init__(__self__, *, gcs_output_directory: pulumi.Input[str], failure_policy: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigFailurePolicy']] = None, - input_artifacts: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - parameter_values: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + input_artifacts: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs']]]] = None, + parameter_values: Optional[pulumi.Input[Mapping[str, Any]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ValueArgs']]]] = None): """ The runtime config of a PipelineJob. :param pulumi.Input[str] gcs_output_directory: A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. :param pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigFailurePolicy'] failure_policy: Represents the failure policy of a pipeline. Currently, the default of a pipeline is that the pipeline will continue to run until no more tasks can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks when a task has failed. Any scheduled tasks will continue to completion. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] input_artifacts: The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameter_values: The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs']]] input_artifacts: The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. + :param pulumi.Input[Mapping[str, Any]] parameter_values: The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ValueArgs']]] parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. """ pulumi.set(__self__, "gcs_output_directory", gcs_output_directory) if failure_policy is not None: @@ -4569,39 +5031,39 @@ def failure_policy(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1be @property @pulumi.getter(name="inputArtifacts") - def input_artifacts(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def input_artifacts(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs']]]]: """ The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. """ return pulumi.get(self, "input_artifacts") @input_artifacts.setter - def input_artifacts(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def input_artifacts(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactArgs']]]]): pulumi.set(self, "input_artifacts", value) @property @pulumi.getter(name="parameterValues") - def parameter_values(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameter_values(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. """ return pulumi.get(self, "parameter_values") @parameter_values.setter - def parameter_values(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameter_values(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "parameter_values", value) @property @pulumi.getter @_utilities.deprecated("""Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.""") - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ValueArgs']]]]: """ Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. """ return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudAiplatformV1beta1ValueArgs']]]]): pulumi.set(self, "parameters", value) @@ -4612,7 +5074,7 @@ def __init__(__self__, *, encryption_spec: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1EncryptionSpecArgs']] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, network: Optional[pulumi.Input[str]] = None, - pipeline_spec: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pipeline_spec: Optional[pulumi.Input[Mapping[str, Any]]] = None, reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, runtime_config: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs']] = None, service_account: Optional[pulumi.Input[str]] = None, @@ -4623,7 +5085,7 @@ def __init__(__self__, *, :param pulumi.Input['GoogleCloudAiplatformV1beta1EncryptionSpecArgs'] encryption_spec: Customer-managed encryption key spec for a pipelineJob. If set, this PipelineJob and all of its sub-resources will be secured by this key. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. :param pulumi.Input[str] network: The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pipeline_spec: The spec of the pipeline. + :param pulumi.Input[Mapping[str, Any]] pipeline_spec: The spec of the pipeline. :param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. :param pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs'] runtime_config: Runtime config of the pipeline. :param pulumi.Input[str] service_account: The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. @@ -4698,14 +5160,14 @@ def network(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def pipeline_spec(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The spec of the pipeline. """ return pulumi.get(self, "pipeline_spec") @pipeline_spec.setter - def pipeline_spec(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def pipeline_spec(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "pipeline_spec", value) @property @@ -7126,6 +7588,62 @@ def predict_schemata(self, value: Optional[pulumi.Input['GoogleCloudAiplatformV1 pulumi.set(self, "predict_schemata", value) +@pulumi.input_type +class GoogleCloudAiplatformV1beta1ValueArgs: + def __init__(__self__, *, + double_value: Optional[pulumi.Input[float]] = None, + int_value: Optional[pulumi.Input[str]] = None, + string_value: Optional[pulumi.Input[str]] = None): + """ + Value is the value of the field. + :param pulumi.Input[float] double_value: A double value. + :param pulumi.Input[str] int_value: An integer value. + :param pulumi.Input[str] string_value: A string value. + """ + if double_value is not None: + pulumi.set(__self__, "double_value", double_value) + if int_value is not None: + pulumi.set(__self__, "int_value", int_value) + if string_value is not None: + pulumi.set(__self__, "string_value", string_value) + + @property + @pulumi.getter(name="doubleValue") + def double_value(self) -> Optional[pulumi.Input[float]]: + """ + A double value. + """ + return pulumi.get(self, "double_value") + + @double_value.setter + def double_value(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "double_value", value) + + @property + @pulumi.getter(name="intValue") + def int_value(self) -> Optional[pulumi.Input[str]]: + """ + An integer value. + """ + return pulumi.get(self, "int_value") + + @int_value.setter + def int_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "int_value", value) + + @property + @pulumi.getter(name="stringValue") + def string_value(self) -> Optional[pulumi.Input[str]]: + """ + A string value. + """ + return pulumi.get(self, "string_value") + + @string_value.setter + def string_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "string_value", value) + + @pulumi.input_type class GoogleCloudAiplatformV1beta1WorkerPoolSpecArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/artifact.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/artifact.py index ceffd44172..7d695a98bc 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/artifact.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/artifact.py @@ -22,7 +22,7 @@ def __init__(__self__, *, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, schema_version: Optional[pulumi.Input[str]] = None, @@ -35,7 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[str] display_name: User provided display name of the Artifact. May be up to 128 Unicode characters. :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input['ArtifactState'] state: The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. @@ -147,14 +147,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @property @@ -226,7 +226,7 @@ def __init__(__self__, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -245,7 +245,7 @@ def __init__(__self__, :param pulumi.Input[str] display_name: User provided display name of the Artifact. May be up to 128 Unicode characters. :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input['ArtifactState'] state: The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. @@ -282,7 +282,7 @@ def _internal_init(__self__, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -413,7 +413,7 @@ def location(self) -> pulumi.Output[str]: @property @pulumi.getter - def metadata(self) -> pulumi.Output[Mapping[str, str]]: + def metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/context.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/context.py index cb2aeb9221..0a94295747 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/context.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/context.py @@ -21,7 +21,7 @@ def __init__(__self__, *, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -33,7 +33,7 @@ def __init__(__self__, *, :param pulumi.Input[str] display_name: User provided display name of the Context. May be up to 128 Unicode characters. :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] name: Immutable. The resource name of the Context. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -142,14 +142,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @property @@ -209,7 +209,7 @@ def __init__(__self__, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, @@ -226,7 +226,7 @@ def __init__(__self__, :param pulumi.Input[str] display_name: User provided display name of the Context. May be up to 128 Unicode characters. :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] name: Immutable. The resource name of the Context. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -261,7 +261,7 @@ def _internal_init(__self__, etag: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, @@ -389,7 +389,7 @@ def location(self) -> pulumi.Output[str]: @property @pulumi.getter - def metadata(self) -> pulumi.Output[Mapping[str, str]]: + def metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/endpoint.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/endpoint.py index 7b7c77ede5..13d6a7a99e 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/endpoint.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/endpoint.py @@ -27,7 +27,7 @@ def __init__(__self__, *, network: Optional[pulumi.Input[str]] = None, predict_request_response_logging_config: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfigArgs']] = None, project: Optional[pulumi.Input[str]] = None, - traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None): """ The set of arguments for constructing a Endpoint resource. :param pulumi.Input[str] display_name: The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters. @@ -39,7 +39,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. :param pulumi.Input[str] network: Optional. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enable_private_service_connect, can be set. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is network name. :param pulumi.Input['GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfigArgs'] predict_request_response_logging_config: Configures the request-response logging for online prediction. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] traffic_split: A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. + :param pulumi.Input[Mapping[str, pulumi.Input[int]]] traffic_split: A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ pulumi.set(__self__, "display_name", display_name) if description is not None: @@ -197,14 +197,14 @@ def project(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="trafficSplit") - def traffic_split(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def traffic_split(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]: """ A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ return pulumi.get(self, "traffic_split") @traffic_split.setter - def traffic_split(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def traffic_split(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]]): pulumi.set(self, "traffic_split", value) @@ -224,7 +224,7 @@ def __init__(__self__, network: Optional[pulumi.Input[str]] = None, predict_request_response_logging_config: Optional[pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfigArgs']]] = None, project: Optional[pulumi.Input[str]] = None, - traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None, __props__=None): """ Creates an Endpoint. @@ -241,7 +241,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. :param pulumi.Input[str] network: Optional. The full name of the Google Compute Engine [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks) to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enable_private_service_connect, can be set. [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert): `projects/{project}/global/networks/{network}`. Where `{project}` is a project number, as in `12345`, and `{network}` is network name. :param pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfigArgs']] predict_request_response_logging_config: Configures the request-response logging for online prediction. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] traffic_split: A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. + :param pulumi.Input[Mapping[str, pulumi.Input[int]]] traffic_split: A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ ... @overload @@ -279,7 +279,7 @@ def _internal_init(__self__, network: Optional[pulumi.Input[str]] = None, predict_request_response_logging_config: Optional[pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1beta1PredictRequestResponseLoggingConfigArgs']]] = None, project: Optional[pulumi.Input[str]] = None, - traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + traffic_split: Optional[pulumi.Input[Mapping[str, pulumi.Input[int]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -468,7 +468,7 @@ def project(self) -> pulumi.Output[str]: @property @pulumi.getter(name="trafficSplit") - def traffic_split(self) -> pulumi.Output[Mapping[str, str]]: + def traffic_split(self) -> pulumi.Output[Mapping[str, int]]: """ A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/execution.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/execution.py index 504c8738fe..9321c5124e 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/execution.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/execution.py @@ -22,7 +22,7 @@ def __init__(__self__, *, execution_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, schema_version: Optional[pulumi.Input[str]] = None, @@ -34,7 +34,7 @@ def __init__(__self__, *, :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[str] execution_id: The {execution} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` If not provided, the Execution's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Executions in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Execution.) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input['ExecutionState'] state: The state of this Execution. This is a property of the Execution, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines) and the system does not prescribe or check the validity of state transitions. @@ -143,14 +143,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @property @@ -210,7 +210,7 @@ def __init__(__self__, execution_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -228,7 +228,7 @@ def __init__(__self__, :param pulumi.Input[str] etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param pulumi.Input[str] execution_id: The {execution} portion of the resource name with the format: `projects/{project}/locations/{location}/metadataStores/{metadatastore}/executions/{execution}` If not provided, the Execution's ID will be a UUID generated by the service. Must be 4-128 characters in length. Valid characters are `/a-z-/`. Must be unique across all Executions in the parent MetadataStore. (Otherwise the request will fail with ALREADY_EXISTS, or PERMISSION_DENIED if the caller can't view the preexisting Execution.) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param pulumi.Input[Mapping[str, Any]] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param pulumi.Input[str] schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input[str] schema_version: The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param pulumi.Input['ExecutionState'] state: The state of this Execution. This is a property of the Execution, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines) and the system does not prescribe or check the validity of state transitions. @@ -264,7 +264,7 @@ def _internal_init(__self__, execution_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, metadata_store_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_title: Optional[pulumi.Input[str]] = None, @@ -392,7 +392,7 @@ def location(self) -> pulumi.Output[str]: @property @pulumi.getter - def metadata(self) -> pulumi.Output[Mapping[str, str]]: + def metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_artifact.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_artifact.py index c0ccd02a26..036477a076 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_artifact.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_artifact.py @@ -98,7 +98,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_context.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_context.py index 0df12cdad1..fef69e0a2f 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_context.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_context.py @@ -95,7 +95,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_endpoint.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_endpoint.py index efd086a556..36c6db7153 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_endpoint.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_endpoint.py @@ -162,7 +162,7 @@ def predict_request_response_logging_config(self) -> 'outputs.GoogleCloudAiplatf @property @pulumi.getter(name="trafficSplit") - def traffic_split(self) -> Mapping[str, str]: + def traffic_split(self) -> Mapping[str, int]: """ A map from a DeployedModel's ID to the percentage of this Endpoint's traffic that should be forwarded to that DeployedModel. If a DeployedModel's ID is not listed in this map, then it receives no traffic. The traffic percentage values must add up to 100, or map must be empty if the Endpoint is to not accept any traffic at a moment. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_execution.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_execution.py index aa3a3bbbb7..65bf354c9c 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_execution.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_execution.py @@ -95,7 +95,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_pipeline_job.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_pipeline_job.py index e358d3cfe1..6482eeec8a 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_pipeline_job.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/get_pipeline_job.py @@ -152,7 +152,7 @@ def network(self) -> str: @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> Mapping[str, str]: + def pipeline_spec(self) -> Mapping[str, Any]: """ The spec of the pipeline. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/outputs.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/outputs.py index b080cb9539..53a36e6407 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/outputs.py @@ -13,6 +13,7 @@ __all__ = [ 'GoogleCloudAiplatformV1beta1ActiveLearningConfigResponse', + 'GoogleCloudAiplatformV1beta1ArtifactResponse', 'GoogleCloudAiplatformV1beta1AutomaticResourcesResponse', 'GoogleCloudAiplatformV1beta1AutoscalingMetricSpecResponse', 'GoogleCloudAiplatformV1beta1BatchDedicatedResourcesResponse', @@ -41,6 +42,10 @@ 'GoogleCloudAiplatformV1beta1ExamplesExampleGcsSourceResponse', 'GoogleCloudAiplatformV1beta1ExamplesResponse', 'GoogleCloudAiplatformV1beta1ExecutionResponse', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse', + 'GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse', 'GoogleCloudAiplatformV1beta1ExplanationMetadataResponse', 'GoogleCloudAiplatformV1beta1ExplanationParametersResponse', 'GoogleCloudAiplatformV1beta1ExplanationSpecResponse', @@ -115,7 +120,9 @@ 'GoogleCloudAiplatformV1beta1PersistentDiskSpecResponse', 'GoogleCloudAiplatformV1beta1PipelineJobDetailResponse', 'GoogleCloudAiplatformV1beta1PipelineJobResponse', + 'GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse', 'GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse', + 'GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse', 'GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatusResponse', 'GoogleCloudAiplatformV1beta1PipelineTaskDetailResponse', 'GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailContainerDetailResponse', @@ -174,6 +181,7 @@ 'GoogleCloudAiplatformV1beta1TrialParameterResponse', 'GoogleCloudAiplatformV1beta1TrialResponse', 'GoogleCloudAiplatformV1beta1UnmanagedContainerModelResponse', + 'GoogleCloudAiplatformV1beta1ValueResponse', 'GoogleCloudAiplatformV1beta1WorkerPoolSpecResponse', 'GoogleCloudAiplatformV1beta1XraiAttributionResponse', 'GoogleIamV1BindingResponse', @@ -260,6 +268,174 @@ def training_config(self) -> 'outputs.GoogleCloudAiplatformV1beta1TrainingConfig return pulumi.get(self, "training_config") +@pulumi.output_type +class GoogleCloudAiplatformV1beta1ArtifactResponse(dict): + """ + Instance of a general artifact. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createTime": + suggest = "create_time" + elif key == "displayName": + suggest = "display_name" + elif key == "schemaTitle": + suggest = "schema_title" + elif key == "schemaVersion": + suggest = "schema_version" + elif key == "updateTime": + suggest = "update_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1beta1ArtifactResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1beta1ArtifactResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1beta1ArtifactResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + create_time: str, + description: str, + display_name: str, + etag: str, + labels: Mapping[str, str], + metadata: Mapping[str, Any], + name: str, + schema_title: str, + schema_version: str, + state: str, + update_time: str, + uri: str): + """ + Instance of a general artifact. + :param str create_time: Timestamp when this Artifact was created. + :param str description: Description of the Artifact + :param str display_name: User provided display name of the Artifact. May be up to 128 Unicode characters. + :param str etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + :param Mapping[str, str] labels: The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + :param Mapping[str, Any] metadata: Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param str name: The resource name of the Artifact. + :param str schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + :param str schema_version: The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + :param str state: The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + :param str update_time: Timestamp when this Artifact was last updated. + :param str uri: The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + """ + pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "metadata", metadata) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "schema_title", schema_title) + pulumi.set(__self__, "schema_version", schema_version) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "update_time", update_time) + pulumi.set(__self__, "uri", uri) + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> str: + """ + Timestamp when this Artifact was created. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the Artifact + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + User provided display name of the Artifact. May be up to 128 Unicode characters. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def etag(self) -> str: + """ + An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter + def labels(self) -> Mapping[str, str]: + """ + The labels with user-defined metadata to organize your Artifacts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Artifact (System labels are excluded). + """ + return pulumi.get(self, "labels") + + @property + @pulumi.getter + def metadata(self) -> Mapping[str, Any]: + """ + Properties of the Artifact. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + """ + return pulumi.get(self, "metadata") + + @property + @pulumi.getter + def name(self) -> str: + """ + The resource name of the Artifact. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="schemaTitle") + def schema_title(self) -> str: + """ + The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + """ + return pulumi.get(self, "schema_title") + + @property + @pulumi.getter(name="schemaVersion") + def schema_version(self) -> str: + """ + The version of the schema in schema_name to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. + """ + return pulumi.get(self, "schema_version") + + @property + @pulumi.getter + def state(self) -> str: + """ + The state of this Artifact. This is a property of the Artifact, and does not imply or capture any ongoing process. This property is managed by clients (such as Vertex AI Pipelines), and the system does not prescribe or check the validity of state transitions. + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> str: + """ + Timestamp when this Artifact was last updated. + """ + return pulumi.get(self, "update_time") + + @property + @pulumi.getter + def uri(self) -> str: + """ + The uniform resource identifier of the artifact file. May be empty if there is no actual artifact file. + """ + return pulumi.get(self, "uri") + + @pulumi.output_type class GoogleCloudAiplatformV1beta1AutomaticResourcesResponse(dict): """ @@ -1005,7 +1181,7 @@ def __init__(__self__, *, display_name: str, etag: str, labels: Mapping[str, str], - metadata: Mapping[str, str], + metadata: Mapping[str, Any], name: str, parent_contexts: Sequence[str], schema_title: str, @@ -1018,7 +1194,7 @@ def __init__(__self__, *, :param str display_name: User provided display name of the Context. May be up to 128 Unicode characters. :param str etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param Mapping[str, str] labels: The labels with user-defined metadata to organize your Contexts. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Context (System labels are excluded). - :param Mapping[str, str] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param Mapping[str, Any] metadata: Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param str name: Immutable. The resource name of the Context. :param Sequence[str] parent_contexts: A list of resource names of Contexts that are parents of this Context. A Context may have at most 10 parent_contexts. :param str schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -1079,7 +1255,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Context. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ @@ -2306,7 +2482,7 @@ def __init__(__self__, *, display_name: str, etag: str, labels: Mapping[str, str], - metadata: Mapping[str, str], + metadata: Mapping[str, Any], name: str, schema_title: str, schema_version: str, @@ -2319,7 +2495,7 @@ def __init__(__self__, *, :param str display_name: User provided display name of the Execution. May be up to 128 Unicode characters. :param str etag: An eTag used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. :param Mapping[str, str] labels: The labels with user-defined metadata to organize your Executions. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one Execution (System labels are excluded). - :param Mapping[str, str] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. + :param Mapping[str, Any] metadata: Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. :param str name: The resource name of the Execution. :param str schema_title: The title of the schema describing the metadata. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. :param str schema_version: The version of the schema in `schema_title` to use. Schema title and version is expected to be registered in earlier Create Schema calls. And both are used together as unique identifiers to identify schemas within the local metadata store. @@ -2380,7 +2556,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Properties of the Execution. Top level metadata keys' heading and trailing spaces will be trimmed. The size of this field should not exceed 200KB. """ @@ -2427,6 +2603,425 @@ def update_time(self) -> str: return pulumi.get(self, "update_time") +@pulumi.output_type +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse(dict): + """ + Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxValue": + suggest = "max_value" + elif key == "minValue": + suggest = "min_value" + elif key == "originalMean": + suggest = "original_mean" + elif key == "originalStddev": + suggest = "original_stddev" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_value: float, + min_value: float, + original_mean: float, + original_stddev: float): + """ + Domain details of the input feature value. Provides numeric information about the feature, such as its range (min, max). If the feature has been pre-processed, for example with z-scoring, then it provides information about how to recover the original feature. For example, if the input feature is an image and it has been pre-processed to obtain 0-mean and stddev = 1 values, then original_mean, and original_stddev refer to the mean and stddev of the original feature (e.g. image tensor) from which input feature (with mean = 0 and stddev = 1) was obtained. + :param float max_value: The maximum permissible value for this feature. + :param float min_value: The minimum permissible value for this feature. + :param float original_mean: If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + :param float original_stddev: If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + """ + pulumi.set(__self__, "max_value", max_value) + pulumi.set(__self__, "min_value", min_value) + pulumi.set(__self__, "original_mean", original_mean) + pulumi.set(__self__, "original_stddev", original_stddev) + + @property + @pulumi.getter(name="maxValue") + def max_value(self) -> float: + """ + The maximum permissible value for this feature. + """ + return pulumi.get(self, "max_value") + + @property + @pulumi.getter(name="minValue") + def min_value(self) -> float: + """ + The minimum permissible value for this feature. + """ + return pulumi.get(self, "min_value") + + @property + @pulumi.getter(name="originalMean") + def original_mean(self) -> float: + """ + If this input feature has been normalized to a mean value of 0, the original_mean specifies the mean value of the domain prior to normalization. + """ + return pulumi.get(self, "original_mean") + + @property + @pulumi.getter(name="originalStddev") + def original_stddev(self) -> float: + """ + If this input feature has been normalized to a standard deviation of 1.0, the original_stddev specifies the standard deviation of the domain prior to normalization. + """ + return pulumi.get(self, "original_stddev") + + +@pulumi.output_type +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse(dict): + """ + Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "denseShapeTensorName": + suggest = "dense_shape_tensor_name" + elif key == "encodedBaselines": + suggest = "encoded_baselines" + elif key == "encodedTensorName": + suggest = "encoded_tensor_name" + elif key == "featureValueDomain": + suggest = "feature_value_domain" + elif key == "groupName": + suggest = "group_name" + elif key == "indexFeatureMapping": + suggest = "index_feature_mapping" + elif key == "indicesTensorName": + suggest = "indices_tensor_name" + elif key == "inputBaselines": + suggest = "input_baselines" + elif key == "inputTensorName": + suggest = "input_tensor_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + dense_shape_tensor_name: str, + encoded_baselines: Sequence[Any], + encoded_tensor_name: str, + encoding: str, + feature_value_domain: 'outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse', + group_name: str, + index_feature_mapping: Sequence[str], + indices_tensor_name: str, + input_baselines: Sequence[Any], + input_tensor_name: str, + modality: str, + visualization: 'outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse'): + """ + Metadata of the input of a feature. Fields other than InputMetadata.input_baselines are applicable only for Models that are using Vertex AI-provided images for Tensorflow. + :param str dense_shape_tensor_name: Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + :param Sequence[Any] encoded_baselines: A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + :param str encoded_tensor_name: Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + :param str encoding: Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + :param 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse' feature_value_domain: The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + :param str group_name: Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + :param Sequence[str] index_feature_mapping: A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + :param str indices_tensor_name: Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + :param Sequence[Any] input_baselines: Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + :param str input_tensor_name: Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + :param str modality: Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + :param 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse' visualization: Visualization configurations for image explanation. + """ + pulumi.set(__self__, "dense_shape_tensor_name", dense_shape_tensor_name) + pulumi.set(__self__, "encoded_baselines", encoded_baselines) + pulumi.set(__self__, "encoded_tensor_name", encoded_tensor_name) + pulumi.set(__self__, "encoding", encoding) + pulumi.set(__self__, "feature_value_domain", feature_value_domain) + pulumi.set(__self__, "group_name", group_name) + pulumi.set(__self__, "index_feature_mapping", index_feature_mapping) + pulumi.set(__self__, "indices_tensor_name", indices_tensor_name) + pulumi.set(__self__, "input_baselines", input_baselines) + pulumi.set(__self__, "input_tensor_name", input_tensor_name) + pulumi.set(__self__, "modality", modality) + pulumi.set(__self__, "visualization", visualization) + + @property + @pulumi.getter(name="denseShapeTensorName") + def dense_shape_tensor_name(self) -> str: + """ + Specifies the shape of the values of the input if the input is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + """ + return pulumi.get(self, "dense_shape_tensor_name") + + @property + @pulumi.getter(name="encodedBaselines") + def encoded_baselines(self) -> Sequence[Any]: + """ + A list of baselines for the encoded tensor. The shape of each baseline should match the shape of the encoded tensor. If a scalar is provided, Vertex AI broadcasts to the same shape as the encoded tensor. + """ + return pulumi.get(self, "encoded_baselines") + + @property + @pulumi.getter(name="encodedTensorName") + def encoded_tensor_name(self) -> str: + """ + Encoded tensor is a transformation of the input tensor. Must be provided if choosing Integrated Gradients attribution or XRAI attribution and the input tensor is not differentiable. An encoded tensor is generated if the input tensor is encoded by a lookup table. + """ + return pulumi.get(self, "encoded_tensor_name") + + @property + @pulumi.getter + def encoding(self) -> str: + """ + Defines how the feature is encoded into the input tensor. Defaults to IDENTITY. + """ + return pulumi.get(self, "encoding") + + @property + @pulumi.getter(name="featureValueDomain") + def feature_value_domain(self) -> 'outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataFeatureValueDomainResponse': + """ + The domain details of the input feature value. Like min/max, original mean or standard deviation if normalized. + """ + return pulumi.get(self, "feature_value_domain") + + @property + @pulumi.getter(name="groupName") + def group_name(self) -> str: + """ + Name of the group that the input belongs to. Features with the same group name will be treated as one feature when computing attributions. Features grouped together can have different shapes in value. If provided, there will be one single attribution generated in Attribution.feature_attributions, keyed by the group name. + """ + return pulumi.get(self, "group_name") + + @property + @pulumi.getter(name="indexFeatureMapping") + def index_feature_mapping(self) -> Sequence[str]: + """ + A list of feature names for each index in the input tensor. Required when the input InputMetadata.encoding is BAG_OF_FEATURES, BAG_OF_FEATURES_SPARSE, INDICATOR. + """ + return pulumi.get(self, "index_feature_mapping") + + @property + @pulumi.getter(name="indicesTensorName") + def indices_tensor_name(self) -> str: + """ + Specifies the index of the values of the input tensor. Required when the input tensor is a sparse representation. Refer to Tensorflow documentation for more details: https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor. + """ + return pulumi.get(self, "indices_tensor_name") + + @property + @pulumi.getter(name="inputBaselines") + def input_baselines(self) -> Sequence[Any]: + """ + Baseline inputs for this feature. If no baseline is specified, Vertex AI chooses the baseline for this feature. If multiple baselines are specified, Vertex AI returns the average attributions across them in Attribution.feature_attributions. For Vertex AI-provided Tensorflow images (both 1.x and 2.x), the shape of each baseline must match the shape of the input tensor. If a scalar is provided, we broadcast to the same shape as the input tensor. For custom images, the element of the baselines must be in the same format as the feature's input in the instance[]. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + """ + return pulumi.get(self, "input_baselines") + + @property + @pulumi.getter(name="inputTensorName") + def input_tensor_name(self) -> str: + """ + Name of the input tensor for this feature. Required and is only applicable to Vertex AI-provided images for Tensorflow. + """ + return pulumi.get(self, "input_tensor_name") + + @property + @pulumi.getter + def modality(self) -> str: + """ + Modality of the feature. Valid values are: numeric, image. Defaults to numeric. + """ + return pulumi.get(self, "modality") + + @property + @pulumi.getter + def visualization(self) -> 'outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse': + """ + Visualization configurations for image explanation. + """ + return pulumi.get(self, "visualization") + + +@pulumi.output_type +class GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse(dict): + """ + Visualization configurations for image explanation. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clipPercentLowerbound": + suggest = "clip_percent_lowerbound" + elif key == "clipPercentUpperbound": + suggest = "clip_percent_upperbound" + elif key == "colorMap": + suggest = "color_map" + elif key == "overlayType": + suggest = "overlay_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataVisualizationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + clip_percent_lowerbound: float, + clip_percent_upperbound: float, + color_map: str, + overlay_type: str, + polarity: str, + type: str): + """ + Visualization configurations for image explanation. + :param float clip_percent_lowerbound: Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + :param float clip_percent_upperbound: Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + :param str color_map: The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + :param str overlay_type: How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + :param str polarity: Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + :param str type: Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + pulumi.set(__self__, "clip_percent_lowerbound", clip_percent_lowerbound) + pulumi.set(__self__, "clip_percent_upperbound", clip_percent_upperbound) + pulumi.set(__self__, "color_map", color_map) + pulumi.set(__self__, "overlay_type", overlay_type) + pulumi.set(__self__, "polarity", polarity) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="clipPercentLowerbound") + def clip_percent_lowerbound(self) -> float: + """ + Excludes attributions below the specified percentile, from the highlighted areas. Defaults to 62. + """ + return pulumi.get(self, "clip_percent_lowerbound") + + @property + @pulumi.getter(name="clipPercentUpperbound") + def clip_percent_upperbound(self) -> float: + """ + Excludes attributions above the specified percentile from the highlighted areas. Using the clip_percent_upperbound and clip_percent_lowerbound together can be useful for filtering out noise and making it easier to see areas of strong attribution. Defaults to 99.9. + """ + return pulumi.get(self, "clip_percent_upperbound") + + @property + @pulumi.getter(name="colorMap") + def color_map(self) -> str: + """ + The color scheme used for the highlighted areas. Defaults to PINK_GREEN for Integrated Gradients attribution, which shows positive attributions in green and negative in pink. Defaults to VIRIDIS for XRAI attribution, which highlights the most influential regions in yellow and the least influential in blue. + """ + return pulumi.get(self, "color_map") + + @property + @pulumi.getter(name="overlayType") + def overlay_type(self) -> str: + """ + How the original image is displayed in the visualization. Adjusting the overlay can help increase visual clarity if the original image makes it difficult to view the visualization. Defaults to NONE. + """ + return pulumi.get(self, "overlay_type") + + @property + @pulumi.getter + def polarity(self) -> str: + """ + Whether to only highlight pixels with positive contributions, negative or both. Defaults to POSITIVE. + """ + return pulumi.get(self, "polarity") + + @property + @pulumi.getter + def type(self) -> str: + """ + Type of the image visualization. Only applicable to Integrated Gradients attribution. OUTLINES shows regions of attribution, while PIXELS shows per-pixel attribution. Defaults to OUTLINES. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse(dict): + """ + Metadata of the prediction output to be explained. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayNameMappingKey": + suggest = "display_name_mapping_key" + elif key == "indexDisplayNameMapping": + suggest = "index_display_name_mapping" + elif key == "outputTensorName": + suggest = "output_tensor_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + display_name_mapping_key: str, + index_display_name_mapping: Any, + output_tensor_name: str): + """ + Metadata of the prediction output to be explained. + :param str display_name_mapping_key: Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + :param Any index_display_name_mapping: Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + :param str output_tensor_name: Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + """ + pulumi.set(__self__, "display_name_mapping_key", display_name_mapping_key) + pulumi.set(__self__, "index_display_name_mapping", index_display_name_mapping) + pulumi.set(__self__, "output_tensor_name", output_tensor_name) + + @property + @pulumi.getter(name="displayNameMappingKey") + def display_name_mapping_key(self) -> str: + """ + Specify a field name in the prediction to look for the display name. Use this if the prediction contains the display names for the outputs. The display names in the prediction must have the same shape of the outputs, so that it can be located by Attribution.output_index for a specific output. + """ + return pulumi.get(self, "display_name_mapping_key") + + @property + @pulumi.getter(name="indexDisplayNameMapping") + def index_display_name_mapping(self) -> Any: + """ + Static mapping between the index and display name. Use this if the outputs are a deterministic n-dimensional array, e.g. a list of scores of all the classes in a pre-defined order for a multi-classification Model. It's not feasible if the outputs are non-deterministic, e.g. the Model produces top-k classes or sort the outputs by their values. The shape of the value must be an n-dimensional array of strings. The number of dimensions must match that of the outputs to be explained. The Attribution.output_display_name is populated by locating in the mapping with Attribution.output_index. + """ + return pulumi.get(self, "index_display_name_mapping") + + @property + @pulumi.getter(name="outputTensorName") + def output_tensor_name(self) -> str: + """ + Name of the output tensor. Required and is only applicable to Vertex AI provided images for Tensorflow. + """ + return pulumi.get(self, "output_tensor_name") + + @pulumi.output_type class GoogleCloudAiplatformV1beta1ExplanationMetadataResponse(dict): """ @@ -2453,15 +3048,15 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, feature_attributions_schema_uri: str, - inputs: Mapping[str, str], + inputs: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse'], latent_space_source: str, - outputs: Mapping[str, str]): + outputs: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse']): """ Metadata describing the Model's input and output for explanation. :param str feature_attributions_schema_uri: Points to a YAML file stored on Google Cloud Storage describing the format of the feature attributions. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). AutoML tabular Models always have this field populated by Vertex AI. Note: The URI given on output may be different, including the URI scheme, than the one given on input. The output URI will point to a location where the user only has a read access. - :param Mapping[str, str] inputs: Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse'] inputs: Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. :param str latent_space_source: Name of the source to generate embeddings for example based explanations. - :param Mapping[str, str] outputs: Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse'] outputs: Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. """ pulumi.set(__self__, "feature_attributions_schema_uri", feature_attributions_schema_uri) pulumi.set(__self__, "inputs", inputs) @@ -2478,7 +3073,7 @@ def feature_attributions_schema_uri(self) -> str: @property @pulumi.getter - def inputs(self) -> Mapping[str, str]: + def inputs(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataInputMetadataResponse']: """ Map from feature names to feature input metadata. Keys are the name of the features. Values are the specification of the feature. An empty InputMetadata is valid. It describes a text feature which has the name specified as the key in ExplanationMetadata.inputs. The baseline of the empty feature is chosen by Vertex AI. For Vertex AI-provided Tensorflow images, the key can be any friendly name of the feature. Once specified, featureAttributions are keyed by this key (if not grouped with another feature). For custom images, the key must match with the key in instance. """ @@ -2494,7 +3089,7 @@ def latent_space_source(self) -> str: @property @pulumi.getter - def outputs(self) -> Mapping[str, str]: + def outputs(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ExplanationMetadataOutputMetadataResponse']: """ Map from output names to output metadata. For Vertex AI-provided Tensorflow images, keys can be any user defined string that consists of any UTF-8 characters. For custom images, keys are the name of the output field in the prediction to be explained. Currently only one key is allowed. """ @@ -5322,14 +5917,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attribution_score_drift_thresholds: Mapping[str, str], + attribution_score_drift_thresholds: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse'], default_drift_threshold: 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse', - drift_thresholds: Mapping[str, str]): + drift_thresholds: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse']): """ The config for Prediction data drift detection. - :param Mapping[str, str] attribution_score_drift_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1ThresholdConfigResponse'] attribution_score_drift_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. :param 'GoogleCloudAiplatformV1beta1ThresholdConfigResponse' default_drift_threshold: Drift anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. - :param Mapping[str, str] drift_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1ThresholdConfigResponse'] drift_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. """ pulumi.set(__self__, "attribution_score_drift_thresholds", attribution_score_drift_thresholds) pulumi.set(__self__, "default_drift_threshold", default_drift_threshold) @@ -5337,7 +5932,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="attributionScoreDriftThresholds") - def attribution_score_drift_thresholds(self) -> Mapping[str, str]: + def attribution_score_drift_thresholds(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse']: """ Key is the feature name and value is the threshold. The threshold here is against attribution score distance between different time windows. """ @@ -5353,7 +5948,7 @@ def default_drift_threshold(self) -> 'outputs.GoogleCloudAiplatformV1beta1Thresh @property @pulumi.getter(name="driftThresholds") - def drift_thresholds(self) -> Mapping[str, str]: + def drift_thresholds(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse']: """ Key is the feature name and value is the threshold. If a feature needs to be monitored for drift, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between different time windws. """ @@ -5567,14 +6162,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attribution_score_skew_thresholds: Mapping[str, str], + attribution_score_skew_thresholds: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse'], default_skew_threshold: 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse', - skew_thresholds: Mapping[str, str]): + skew_thresholds: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse']): """ The config for Training & Prediction data skew detection. It specifies the training dataset sources and the skew detection parameters. - :param Mapping[str, str] attribution_score_skew_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1ThresholdConfigResponse'] attribution_score_skew_thresholds: Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. :param 'GoogleCloudAiplatformV1beta1ThresholdConfigResponse' default_skew_threshold: Skew anomaly detection threshold used by all features. When the per-feature thresholds are not set, this field can be used to specify a threshold for all features. - :param Mapping[str, str] skew_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1ThresholdConfigResponse'] skew_thresholds: Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. """ pulumi.set(__self__, "attribution_score_skew_thresholds", attribution_score_skew_thresholds) pulumi.set(__self__, "default_skew_threshold", default_skew_threshold) @@ -5582,7 +6177,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="attributionScoreSkewThresholds") - def attribution_score_skew_thresholds(self) -> Mapping[str, str]: + def attribution_score_skew_thresholds(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse']: """ Key is the feature name and value is the threshold. The threshold here is against attribution score distance between the training and prediction feature. """ @@ -5598,7 +6193,7 @@ def default_skew_threshold(self) -> 'outputs.GoogleCloudAiplatformV1beta1Thresho @property @pulumi.getter(name="skewThresholds") - def skew_thresholds(self) -> Mapping[str, str]: + def skew_thresholds(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ThresholdConfigResponse']: """ Key is the feature name and value is the threshold. If a feature needs to be monitored for skew, a value threshold must be configured for that feature. The threshold here is against feature distribution distance between the training and prediction feature. """ @@ -7109,7 +7704,7 @@ def __init__(__self__, *, labels: Mapping[str, str], name: str, network: str, - pipeline_spec: Mapping[str, str], + pipeline_spec: Mapping[str, Any], reserved_ip_ranges: Sequence[str], runtime_config: 'outputs.GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse', schedule_name: str, @@ -7130,7 +7725,7 @@ def __init__(__self__, *, :param Mapping[str, str] labels: The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. :param str name: The resource name of the PipelineJob. :param str network: The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. - :param Mapping[str, str] pipeline_spec: The spec of the pipeline. + :param Mapping[str, Any] pipeline_spec: The spec of the pipeline. :param Sequence[str] reserved_ip_ranges: A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. :param 'GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse' runtime_config: Runtime config of the pipeline. :param str schedule_name: The schedule resource name. Only returned if the Pipeline is created by Schedule API. @@ -7235,7 +7830,7 @@ def network(self) -> str: @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> Mapping[str, str]: + def pipeline_spec(self) -> Mapping[str, Any]: """ The spec of the pipeline. """ @@ -7314,6 +7909,45 @@ def update_time(self) -> str: return pulumi.get(self, "update_time") +@pulumi.output_type +class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse(dict): + """ + The type of an input artifact. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "artifactId": + suggest = "artifact_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + artifact_id: str): + """ + The type of an input artifact. + :param str artifact_id: Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + """ + pulumi.set(__self__, "artifact_id", artifact_id) + + @property + @pulumi.getter(name="artifactId") + def artifact_id(self) -> str: + """ + Artifact resource id from MLMD. Which is the last portion of an artifact resource name: `projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}`. The artifact must stay within the same project, location and default metadatastore as the pipeline. + """ + return pulumi.get(self, "artifact_id") + + @pulumi.output_type class GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigResponse(dict): """ @@ -7345,16 +7979,16 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, failure_policy: str, gcs_output_directory: str, - input_artifacts: Mapping[str, str], - parameter_values: Mapping[str, str], - parameters: Mapping[str, str]): + input_artifacts: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse'], + parameter_values: Mapping[str, Any], + parameters: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ValueResponse']): """ The runtime config of a PipelineJob. :param str failure_policy: Represents the failure policy of a pipeline. Currently, the default of a pipeline is that the pipeline will continue to run until no more tasks can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks when a task has failed. Any scheduled tasks will continue to completion. :param str gcs_output_directory: A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern `{job_id}/{task_id}/{output_key}` under the specified output directory. The service account specified in this pipeline must have the `storage.objects.get` and `storage.objects.create` permissions for this bucket. - :param Mapping[str, str] input_artifacts: The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. - :param Mapping[str, str] parameter_values: The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. - :param Mapping[str, str] parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse'] input_artifacts: The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. + :param Mapping[str, Any] parameter_values: The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1ValueResponse'] parameters: Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. """ pulumi.set(__self__, "failure_policy", failure_policy) pulumi.set(__self__, "gcs_output_directory", gcs_output_directory) @@ -7380,7 +8014,7 @@ def gcs_output_directory(self) -> str: @property @pulumi.getter(name="inputArtifacts") - def input_artifacts(self) -> Mapping[str, str]: + def input_artifacts(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifactResponse']: """ The runtime artifacts of the PipelineJob. The key will be the input artifact name and the value would be one of the InputArtifact. """ @@ -7388,7 +8022,7 @@ def input_artifacts(self) -> Mapping[str, str]: @property @pulumi.getter(name="parameterValues") - def parameter_values(self) -> Mapping[str, str]: + def parameter_values(self) -> Mapping[str, Any]: """ The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL. """ @@ -7397,13 +8031,35 @@ def parameter_values(self) -> Mapping[str, str]: @property @pulumi.getter @_utilities.deprecated("""Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower.""") - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1ValueResponse']: """ Deprecated. Use RuntimeConfig.parameter_values instead. The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using `PipelineJob.pipeline_spec.schema_version` 2.0.0 or lower, such as pipelines built using Kubeflow Pipelines SDK 1.8 or lower. """ return pulumi.get(self, "parameters") +@pulumi.output_type +class GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse(dict): + """ + A list of artifact metadata. + """ + def __init__(__self__, *, + artifacts: Sequence['outputs.GoogleCloudAiplatformV1beta1ArtifactResponse']): + """ + A list of artifact metadata. + :param Sequence['GoogleCloudAiplatformV1beta1ArtifactResponse'] artifacts: A list of artifact metadata. + """ + pulumi.set(__self__, "artifacts", artifacts) + + @property + @pulumi.getter + def artifacts(self) -> Sequence['outputs.GoogleCloudAiplatformV1beta1ArtifactResponse']: + """ + A list of artifact metadata. + """ + return pulumi.get(self, "artifacts") + + @pulumi.output_type class GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatusResponse(dict): """ @@ -7507,8 +8163,8 @@ def __init__(__self__, *, error: 'outputs.GoogleRpcStatusResponse', execution: 'outputs.GoogleCloudAiplatformV1beta1ExecutionResponse', executor_detail: 'outputs.GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailResponse', - inputs: Mapping[str, str], - outputs: Mapping[str, str], + inputs: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse'], + outputs: Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse'], parent_task_id: str, pipeline_task_status: Sequence['outputs.GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatusResponse'], start_time: str, @@ -7522,8 +8178,8 @@ def __init__(__self__, *, :param 'GoogleRpcStatusResponse' error: The error that occurred during task execution. Only populated when the task's state is FAILED or CANCELLED. :param 'GoogleCloudAiplatformV1beta1ExecutionResponse' execution: The execution metadata of the task. :param 'GoogleCloudAiplatformV1beta1PipelineTaskExecutorDetailResponse' executor_detail: The detailed execution info. - :param Mapping[str, str] inputs: The runtime input artifacts of the task. - :param Mapping[str, str] outputs: The runtime output artifacts of the task. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse'] inputs: The runtime input artifacts of the task. + :param Mapping[str, 'GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse'] outputs: The runtime output artifacts of the task. :param str parent_task_id: The id of the parent task if the task is within a component scope. Empty if the task is at the root level. :param Sequence['GoogleCloudAiplatformV1beta1PipelineTaskDetailPipelineTaskStatusResponse'] pipeline_task_status: A list of task status. This field keeps a record of task status evolving over time. :param str start_time: Task start time. @@ -7587,7 +8243,7 @@ def executor_detail(self) -> 'outputs.GoogleCloudAiplatformV1beta1PipelineTaskEx @property @pulumi.getter - def inputs(self) -> Mapping[str, str]: + def inputs(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse']: """ The runtime input artifacts of the task. """ @@ -7595,7 +8251,7 @@ def inputs(self) -> Mapping[str, str]: @property @pulumi.getter - def outputs(self) -> Mapping[str, str]: + def outputs(self) -> Mapping[str, 'outputs.GoogleCloudAiplatformV1beta1PipelineTaskDetailArtifactListResponse']: """ The runtime output artifacts of the task. """ @@ -11111,6 +11767,71 @@ def predict_schemata(self) -> 'outputs.GoogleCloudAiplatformV1beta1PredictSchema return pulumi.get(self, "predict_schemata") +@pulumi.output_type +class GoogleCloudAiplatformV1beta1ValueResponse(dict): + """ + Value is the value of the field. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "doubleValue": + suggest = "double_value" + elif key == "intValue": + suggest = "int_value" + elif key == "stringValue": + suggest = "string_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudAiplatformV1beta1ValueResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudAiplatformV1beta1ValueResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudAiplatformV1beta1ValueResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + double_value: float, + int_value: str, + string_value: str): + """ + Value is the value of the field. + :param float double_value: A double value. + :param str int_value: An integer value. + :param str string_value: A string value. + """ + pulumi.set(__self__, "double_value", double_value) + pulumi.set(__self__, "int_value", int_value) + pulumi.set(__self__, "string_value", string_value) + + @property + @pulumi.getter(name="doubleValue") + def double_value(self) -> float: + """ + A double value. + """ + return pulumi.get(self, "double_value") + + @property + @pulumi.getter(name="intValue") + def int_value(self) -> str: + """ + An integer value. + """ + return pulumi.get(self, "int_value") + + @property + @pulumi.getter(name="stringValue") + def string_value(self) -> str: + """ + A string value. + """ + return pulumi.get(self, "string_value") + + @pulumi.output_type class GoogleCloudAiplatformV1beta1WorkerPoolSpecResponse(dict): """ @@ -11331,12 +12052,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -11353,7 +12074,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/aiplatform/v1beta1/pipeline_job.py b/sdk/python/pulumi_google_native/aiplatform/v1beta1/pipeline_job.py index e6d81c56ff..707786e04c 100644 --- a/sdk/python/pulumi_google_native/aiplatform/v1beta1/pipeline_job.py +++ b/sdk/python/pulumi_google_native/aiplatform/v1beta1/pipeline_job.py @@ -23,7 +23,7 @@ def __init__(__self__, *, location: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input[str]] = None, pipeline_job_id: Optional[pulumi.Input[str]] = None, - pipeline_spec: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pipeline_spec: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, runtime_config: Optional[pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs']] = None, @@ -36,7 +36,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. :param pulumi.Input[str] network: The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. :param pulumi.Input[str] pipeline_job_id: The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pipeline_spec: The spec of the pipeline. + :param pulumi.Input[Mapping[str, Any]] pipeline_spec: The spec of the pipeline. :param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. :param pulumi.Input['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs'] runtime_config: Runtime config of the pipeline. :param pulumi.Input[str] service_account: The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. @@ -138,14 +138,14 @@ def pipeline_job_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def pipeline_spec(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The spec of the pipeline. """ return pulumi.get(self, "pipeline_spec") @pipeline_spec.setter - def pipeline_spec(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def pipeline_spec(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "pipeline_spec", value) @property @@ -217,7 +217,7 @@ def __init__(__self__, location: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input[str]] = None, pipeline_job_id: Optional[pulumi.Input[str]] = None, - pipeline_spec: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pipeline_spec: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, runtime_config: Optional[pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs']]] = None, @@ -235,7 +235,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - `vertex-ai-pipelines-run-billing-id`, user set value will get overrided. :param pulumi.Input[str] network: The full name of the Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the Pipeline Job's workload should be peered. For example, `projects/12345/global/networks/myVPC`. [Format](/compute/docs/reference/rest/v1/networks/insert) is of the form `projects/{project}/global/networks/{network}`. Where {project} is a project number, as in `12345`, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network. :param pulumi.Input[str] pipeline_job_id: The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are `/a-z-/`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pipeline_spec: The spec of the pipeline. + :param pulumi.Input[Mapping[str, Any]] pipeline_spec: The spec of the pipeline. :param pulumi.Input[Sequence[pulumi.Input[str]]] reserved_ip_ranges: A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. :param pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs']] runtime_config: Runtime config of the pipeline. :param pulumi.Input[str] service_account: The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. @@ -272,7 +272,7 @@ def _internal_init(__self__, location: Optional[pulumi.Input[str]] = None, network: Optional[pulumi.Input[str]] = None, pipeline_job_id: Optional[pulumi.Input[str]] = None, - pipeline_spec: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pipeline_spec: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, reserved_ip_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, runtime_config: Optional[pulumi.Input[pulumi.InputType['GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigArgs']]] = None, @@ -444,7 +444,7 @@ def pipeline_job_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="pipelineSpec") - def pipeline_spec(self) -> pulumi.Output[Mapping[str, str]]: + def pipeline_spec(self) -> pulumi.Output[Mapping[str, Any]]: """ The spec of the pipeline. """ diff --git a/sdk/python/pulumi_google_native/apigee/v1/alias.py b/sdk/python/pulumi_google_native/apigee/v1/alias.py index d0f79d4412..3cf2868492 100644 --- a/sdk/python/pulumi_google_native/apigee/v1/alias.py +++ b/sdk/python/pulumi_google_native/apigee/v1/alias.py @@ -22,7 +22,7 @@ def __init__(__self__, *, alias: Optional[pulumi.Input[str]] = None, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, file: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None, ignore_expiry_validation: Optional[pulumi.Input[bool]] = None, ignore_newline_validation: Optional[pulumi.Input[bool]] = None, @@ -33,7 +33,7 @@ def __init__(__self__, *, :param pulumi.Input[str] alias: Alias for the key/certificate pair. Values must match the regular expression `[\\w\\s-.]{1,255}`. This must be provided for all formats except `selfsignedcert`; self-signed certs may specify the alias in either this parameter or the JSON body. :param pulumi.Input[str] content_type: The HTTP Content-Type header value specifying the content type of the body. :param pulumi.Input[str] data: The HTTP request/response body as raw binary. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] file: File to upload. :param pulumi.Input[bool] ignore_expiry_validation: Flag that specifies whether to ignore expiry validation. If set to `true`, no expiry validation will be performed. :param pulumi.Input[bool] ignore_newline_validation: Flag that specifies whether to ignore newline validation. If set to `true`, no error is thrown when the file contains a certificate chain with no newline between each certificate. Defaults to `false`. @@ -137,14 +137,14 @@ def data(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ Application specific response metadata. Must be set in the first response for streaming APIs. """ return pulumi.get(self, "extensions") @extensions.setter - def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "extensions", value) @property @@ -205,7 +205,7 @@ def __init__(__self__, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, environment_id: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, file: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None, format: Optional[pulumi.Input[str]] = None, ignore_expiry_validation: Optional[pulumi.Input[bool]] = None, @@ -223,7 +223,7 @@ def __init__(__self__, :param pulumi.Input[str] alias: Alias for the key/certificate pair. Values must match the regular expression `[\\w\\s-.]{1,255}`. This must be provided for all formats except `selfsignedcert`; self-signed certs may specify the alias in either this parameter or the JSON body. :param pulumi.Input[str] content_type: The HTTP Content-Type header value specifying the content type of the body. :param pulumi.Input[str] data: The HTTP request/response body as raw binary. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] file: File to upload. :param pulumi.Input[str] format: Required. Format of the data. Valid values include: `selfsignedcert`, `keycertfile`, or `pkcs12` :param pulumi.Input[bool] ignore_expiry_validation: Flag that specifies whether to ignore expiry validation. If set to `true`, no expiry validation will be performed. @@ -259,7 +259,7 @@ def _internal_init(__self__, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, environment_id: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, file: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None, format: Optional[pulumi.Input[str]] = None, ignore_expiry_validation: Optional[pulumi.Input[bool]] = None, diff --git a/sdk/python/pulumi_google_native/apigee/v1/api.py b/sdk/python/pulumi_google_native/apigee/v1/api.py index 9cc3ddfbdf..a65e0479a8 100644 --- a/sdk/python/pulumi_google_native/apigee/v1/api.py +++ b/sdk/python/pulumi_google_native/apigee/v1/api.py @@ -19,7 +19,7 @@ def __init__(__self__, *, action: Optional[pulumi.Input[str]] = None, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, file: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None, name: Optional[pulumi.Input[str]] = None, validate: Optional[pulumi.Input[bool]] = None): @@ -28,7 +28,7 @@ def __init__(__self__, *, :param pulumi.Input[str] action: Action to perform when importing an API proxy configuration bundle. Set this parameter to one of the following values: * `import` to import the API proxy configuration bundle. * `validate` to validate the API proxy configuration bundle without importing it. :param pulumi.Input[str] content_type: The HTTP Content-Type header value specifying the content type of the body. :param pulumi.Input[str] data: The HTTP request/response body as raw binary. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] file: File to upload. :param pulumi.Input[str] name: Name of the API proxy. Restrict the characters used to: A-Za-z0-9._- :param pulumi.Input[bool] validate: Ignored. All uploads are validated regardless of the value of this field. Maintained for compatibility with Apigee Edge API. @@ -96,14 +96,14 @@ def data(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ Application specific response metadata. Must be set in the first response for streaming APIs. """ return pulumi.get(self, "extensions") @extensions.setter - def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "extensions", value) @property @@ -151,7 +151,7 @@ def __init__(__self__, action: Optional[pulumi.Input[str]] = None, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, file: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None, name: Optional[pulumi.Input[str]] = None, organization_id: Optional[pulumi.Input[str]] = None, @@ -165,7 +165,7 @@ def __init__(__self__, :param pulumi.Input[str] action: Action to perform when importing an API proxy configuration bundle. Set this parameter to one of the following values: * `import` to import the API proxy configuration bundle. * `validate` to validate the API proxy configuration bundle without importing it. :param pulumi.Input[str] content_type: The HTTP Content-Type header value specifying the content type of the body. :param pulumi.Input[str] data: The HTTP request/response body as raw binary. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] file: File to upload. :param pulumi.Input[str] name: Name of the API proxy. Restrict the characters used to: A-Za-z0-9._- :param pulumi.Input[bool] validate: Ignored. All uploads are validated regardless of the value of this field. Maintained for compatibility with Apigee Edge API. @@ -197,7 +197,7 @@ def _internal_init(__self__, action: Optional[pulumi.Input[str]] = None, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, file: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None, name: Optional[pulumi.Input[str]] = None, organization_id: Optional[pulumi.Input[str]] = None, diff --git a/sdk/python/pulumi_google_native/apigee/v1/get_resourcefile.py b/sdk/python/pulumi_google_native/apigee/v1/get_resourcefile.py index ac52968f01..55247c104f 100644 --- a/sdk/python/pulumi_google_native/apigee/v1/get_resourcefile.py +++ b/sdk/python/pulumi_google_native/apigee/v1/get_resourcefile.py @@ -47,7 +47,7 @@ def data(self) -> str: @property @pulumi.getter - def extensions(self) -> Sequence[Mapping[str, str]]: + def extensions(self) -> Sequence[Mapping[str, Any]]: """ Application specific response metadata. Must be set in the first response for streaming APIs. """ diff --git a/sdk/python/pulumi_google_native/apigee/v1/resourcefile.py b/sdk/python/pulumi_google_native/apigee/v1/resourcefile.py index 1b54669200..3f47799d05 100644 --- a/sdk/python/pulumi_google_native/apigee/v1/resourcefile.py +++ b/sdk/python/pulumi_google_native/apigee/v1/resourcefile.py @@ -20,7 +20,7 @@ def __init__(__self__, *, type: pulumi.Input[str], content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, file: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None): """ The set of arguments for constructing a Resourcefile resource. @@ -28,7 +28,7 @@ def __init__(__self__, *, :param pulumi.Input[str] type: Required. Resource file type. {{ resource_file_type }} :param pulumi.Input[str] content_type: The HTTP Content-Type header value specifying the content type of the body. :param pulumi.Input[str] data: The HTTP request/response body as raw binary. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] file: File to upload. """ pulumi.set(__self__, "environment_id", environment_id) @@ -112,14 +112,14 @@ def data(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ Application specific response metadata. Must be set in the first response for streaming APIs. """ return pulumi.get(self, "extensions") @extensions.setter - def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "extensions", value) @property @@ -143,7 +143,7 @@ def __init__(__self__, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, environment_id: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, file: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None, name: Optional[pulumi.Input[str]] = None, organization_id: Optional[pulumi.Input[str]] = None, @@ -157,7 +157,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] content_type: The HTTP Content-Type header value specifying the content type of the body. :param pulumi.Input[str] data: The HTTP request/response body as raw binary. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. :param pulumi.Input[Union[pulumi.Asset, pulumi.Archive]] file: File to upload. :param pulumi.Input[str] name: Required. Name of the resource file. Must match the regular expression: [a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()+\\-=,.~'` ]{1,255} :param pulumi.Input[str] type: Required. Resource file type. {{ resource_file_type }} @@ -190,7 +190,7 @@ def _internal_init(__self__, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, environment_id: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, file: Optional[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]] = None, name: Optional[pulumi.Input[str]] = None, organization_id: Optional[pulumi.Input[str]] = None, @@ -276,7 +276,7 @@ def environment_id(self) -> pulumi.Output[str]: @property @pulumi.getter - def extensions(self) -> pulumi.Output[Sequence[Mapping[str, str]]]: + def extensions(self) -> pulumi.Output[Sequence[Mapping[str, Any]]]: """ Application specific response metadata. Must be set in the first response for streaming APIs. """ diff --git a/sdk/python/pulumi_google_native/apigee/v1/sharedflow.py b/sdk/python/pulumi_google_native/apigee/v1/sharedflow.py index 32b494dc7c..9ca03268d8 100644 --- a/sdk/python/pulumi_google_native/apigee/v1/sharedflow.py +++ b/sdk/python/pulumi_google_native/apigee/v1/sharedflow.py @@ -19,14 +19,14 @@ def __init__(__self__, *, organization_id: pulumi.Input[str], content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Sharedflow resource. :param pulumi.Input[str] action: Required. Must be set to either `import` or `validate`. :param pulumi.Input[str] content_type: The HTTP Content-Type header value specifying the content type of the body. :param pulumi.Input[str] data: The HTTP request/response body as raw binary. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. :param pulumi.Input[str] name: Required. The name to give the shared flow """ pulumi.set(__self__, "action", action) @@ -87,14 +87,14 @@ def data(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ Application specific response metadata. Must be set in the first response for streaming APIs. """ return pulumi.get(self, "extensions") @extensions.setter - def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "extensions", value) @property @@ -118,7 +118,7 @@ def __init__(__self__, action: Optional[pulumi.Input[str]] = None, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, name: Optional[pulumi.Input[str]] = None, organization_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -130,7 +130,7 @@ def __init__(__self__, :param pulumi.Input[str] action: Required. Must be set to either `import` or `validate`. :param pulumi.Input[str] content_type: The HTTP Content-Type header value specifying the content type of the body. :param pulumi.Input[str] data: The HTTP request/response body as raw binary. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] extensions: Application specific response metadata. Must be set in the first response for streaming APIs. :param pulumi.Input[str] name: Required. The name to give the shared flow """ ... @@ -160,7 +160,7 @@ def _internal_init(__self__, action: Optional[pulumi.Input[str]] = None, content_type: Optional[pulumi.Input[str]] = None, data: Optional[pulumi.Input[str]] = None, - extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + extensions: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, name: Optional[pulumi.Input[str]] = None, organization_id: Optional[pulumi.Input[str]] = None, __props__=None): diff --git a/sdk/python/pulumi_google_native/appengine/v1/_inputs.py b/sdk/python/pulumi_google_native/appengine/v1/_inputs.py index ec103bdcf0..0cfeeb793e 100644 --- a/sdk/python/pulumi_google_native/appengine/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/appengine/v1/_inputs.py @@ -25,6 +25,7 @@ 'EntrypointArgs', 'ErrorHandlerArgs', 'FeatureSettingsArgs', + 'FileInfoArgs', 'FlexibleRuntimeSettingsArgs', 'HealthCheckArgs', 'IdentityAwareProxyArgs', @@ -564,13 +565,13 @@ class DeploymentArgs: def __init__(__self__, *, cloud_build_options: Optional[pulumi.Input['CloudBuildOptionsArgs']] = None, container: Optional[pulumi.Input['ContainerInfoArgs']] = None, - files: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + files: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileInfoArgs']]]] = None, zip: Optional[pulumi.Input['ZipInfoArgs']] = None): """ Code and application artifacts used to deploy a version to App Engine. :param pulumi.Input['CloudBuildOptionsArgs'] cloud_build_options: Options for any Google Cloud Build builds created as a part of this deployment.These options will only be used if a new build is created, such as when deploying to the App Engine flexible environment using files or zip. :param pulumi.Input['ContainerInfoArgs'] container: The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] files: Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. + :param pulumi.Input[Mapping[str, pulumi.Input['FileInfoArgs']]] files: Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. :param pulumi.Input['ZipInfoArgs'] zip: The zip file for this deployment, if this is a zip deployment. """ if cloud_build_options is not None: @@ -608,14 +609,14 @@ def container(self, value: Optional[pulumi.Input['ContainerInfoArgs']]): @property @pulumi.getter - def files(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def files(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['FileInfoArgs']]]]: """ Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. """ return pulumi.get(self, "files") @files.setter - def files(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def files(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileInfoArgs']]]]): pulumi.set(self, "files", value) @property @@ -895,6 +896,62 @@ def use_container_optimized_os(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "use_container_optimized_os", value) +@pulumi.input_type +class FileInfoArgs: + def __init__(__self__, *, + mime_type: Optional[pulumi.Input[str]] = None, + sha1_sum: Optional[pulumi.Input[str]] = None, + source_url: Optional[pulumi.Input[str]] = None): + """ + Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + :param pulumi.Input[str] mime_type: The MIME type of the file.Defaults to the value from Google Cloud Storage. + :param pulumi.Input[str] sha1_sum: The SHA1 hash of the file, in hex. + :param pulumi.Input[str] source_url: URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + """ + if mime_type is not None: + pulumi.set(__self__, "mime_type", mime_type) + if sha1_sum is not None: + pulumi.set(__self__, "sha1_sum", sha1_sum) + if source_url is not None: + pulumi.set(__self__, "source_url", source_url) + + @property + @pulumi.getter(name="mimeType") + def mime_type(self) -> Optional[pulumi.Input[str]]: + """ + The MIME type of the file.Defaults to the value from Google Cloud Storage. + """ + return pulumi.get(self, "mime_type") + + @mime_type.setter + def mime_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mime_type", value) + + @property + @pulumi.getter(name="sha1Sum") + def sha1_sum(self) -> Optional[pulumi.Input[str]]: + """ + The SHA1 hash of the file, in hex. + """ + return pulumi.get(self, "sha1_sum") + + @sha1_sum.setter + def sha1_sum(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sha1_sum", value) + + @property + @pulumi.getter(name="sourceUrl") + def source_url(self) -> Optional[pulumi.Input[str]]: + """ + URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + """ + return pulumi.get(self, "source_url") + + @source_url.setter + def source_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_url", value) + + @pulumi.input_type class FlexibleRuntimeSettingsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/appengine/v1/app.py b/sdk/python/pulumi_google_native/appengine/v1/app.py index c29d868c1e..970c9350d4 100644 --- a/sdk/python/pulumi_google_native/appengine/v1/app.py +++ b/sdk/python/pulumi_google_native/appengine/v1/app.py @@ -22,7 +22,7 @@ def __init__(__self__, *, default_cookie_expiration: Optional[pulumi.Input[str]] = None, dispatch_rules: Optional[pulumi.Input[Sequence[pulumi.Input['UrlDispatchRuleArgs']]]] = None, feature_settings: Optional[pulumi.Input['FeatureSettingsArgs']] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, iap: Optional[pulumi.Input['IdentityAwareProxyArgs']] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -35,7 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[str] default_cookie_expiration: Cookie expiration policy for this application. :param pulumi.Input[Sequence[pulumi.Input['UrlDispatchRuleArgs']]] dispatch_rules: HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent. Up to 20 dispatch rules can be supported. :param pulumi.Input['FeatureSettingsArgs'] feature_settings: The feature specific settings to be used in the application. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest + :param pulumi.Input[Mapping[str, Any]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest :param pulumi.Input[str] id: Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. :param pulumi.Input[str] location: Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). :param pulumi.Input[str] service_account: The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one. @@ -126,14 +126,14 @@ def feature_settings(self, value: Optional[pulumi.Input['FeatureSettingsArgs']]) @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def generated_customer_metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest """ return pulumi.get(self, "generated_customer_metadata") @generated_customer_metadata.setter - def generated_customer_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def generated_customer_metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "generated_customer_metadata", value) @property @@ -204,7 +204,7 @@ def __init__(__self__, default_cookie_expiration: Optional[pulumi.Input[str]] = None, dispatch_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlDispatchRuleArgs']]]]] = None, feature_settings: Optional[pulumi.Input[pulumi.InputType['FeatureSettingsArgs']]] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, iap: Optional[pulumi.Input[pulumi.InputType['IdentityAwareProxyArgs']]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -224,7 +224,7 @@ def __init__(__self__, :param pulumi.Input[str] default_cookie_expiration: Cookie expiration policy for this application. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlDispatchRuleArgs']]]] dispatch_rules: HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent. Up to 20 dispatch rules can be supported. :param pulumi.Input[pulumi.InputType['FeatureSettingsArgs']] feature_settings: The feature specific settings to be used in the application. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest + :param pulumi.Input[Mapping[str, Any]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest :param pulumi.Input[str] id: Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. :param pulumi.Input[str] location: Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). :param pulumi.Input[str] service_account: The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one. @@ -262,7 +262,7 @@ def _internal_init(__self__, default_cookie_expiration: Optional[pulumi.Input[str]] = None, dispatch_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlDispatchRuleArgs']]]]] = None, feature_settings: Optional[pulumi.Input[pulumi.InputType['FeatureSettingsArgs']]] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, iap: Optional[pulumi.Input[pulumi.InputType['IdentityAwareProxyArgs']]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -406,7 +406,7 @@ def gcr_domain(self) -> pulumi.Output[str]: @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> pulumi.Output[Mapping[str, str]]: + def generated_customer_metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest """ diff --git a/sdk/python/pulumi_google_native/appengine/v1/get_app.py b/sdk/python/pulumi_google_native/appengine/v1/get_app.py index e2d139c8b1..1b5dce208a 100644 --- a/sdk/python/pulumi_google_native/appengine/v1/get_app.py +++ b/sdk/python/pulumi_google_native/appengine/v1/get_app.py @@ -140,7 +140,7 @@ def gcr_domain(self) -> str: @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> Mapping[str, str]: + def generated_customer_metadata(self) -> Mapping[str, Any]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest """ diff --git a/sdk/python/pulumi_google_native/appengine/v1/get_version.py b/sdk/python/pulumi_google_native/appengine/v1/get_version.py index c967fd4f01..76cba7303e 100644 --- a/sdk/python/pulumi_google_native/appengine/v1/get_version.py +++ b/sdk/python/pulumi_google_native/appengine/v1/get_version.py @@ -282,7 +282,7 @@ def flexible_runtime_settings(self) -> 'outputs.FlexibleRuntimeSettingsResponse' @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> Mapping[str, str]: + def generated_customer_metadata(self) -> Mapping[str, Any]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest """ diff --git a/sdk/python/pulumi_google_native/appengine/v1/outputs.py b/sdk/python/pulumi_google_native/appengine/v1/outputs.py index a0ae8b952b..3e57e7d273 100644 --- a/sdk/python/pulumi_google_native/appengine/v1/outputs.py +++ b/sdk/python/pulumi_google_native/appengine/v1/outputs.py @@ -26,6 +26,7 @@ 'EntrypointResponse', 'ErrorHandlerResponse', 'FeatureSettingsResponse', + 'FileInfoResponse', 'FlexibleRuntimeSettingsResponse', 'HealthCheckResponse', 'IdentityAwareProxyResponse', @@ -624,13 +625,13 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, cloud_build_options: 'outputs.CloudBuildOptionsResponse', container: 'outputs.ContainerInfoResponse', - files: Mapping[str, str], + files: Mapping[str, 'outputs.FileInfoResponse'], zip: 'outputs.ZipInfoResponse'): """ Code and application artifacts used to deploy a version to App Engine. :param 'CloudBuildOptionsResponse' cloud_build_options: Options for any Google Cloud Build builds created as a part of this deployment.These options will only be used if a new build is created, such as when deploying to the App Engine flexible environment using files or zip. :param 'ContainerInfoResponse' container: The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. - :param Mapping[str, str] files: Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. + :param Mapping[str, 'FileInfoResponse'] files: Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. :param 'ZipInfoResponse' zip: The zip file for this deployment, if this is a zip deployment. """ pulumi.set(__self__, "cloud_build_options", cloud_build_options) @@ -656,7 +657,7 @@ def container(self) -> 'outputs.ContainerInfoResponse': @property @pulumi.getter - def files(self) -> Mapping[str, str]: + def files(self) -> Mapping[str, 'outputs.FileInfoResponse']: """ Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. """ @@ -964,6 +965,71 @@ def use_container_optimized_os(self) -> bool: return pulumi.get(self, "use_container_optimized_os") +@pulumi.output_type +class FileInfoResponse(dict): + """ + Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "mimeType": + suggest = "mime_type" + elif key == "sha1Sum": + suggest = "sha1_sum" + elif key == "sourceUrl": + suggest = "source_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FileInfoResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FileInfoResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FileInfoResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + mime_type: str, + sha1_sum: str, + source_url: str): + """ + Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + :param str mime_type: The MIME type of the file.Defaults to the value from Google Cloud Storage. + :param str sha1_sum: The SHA1 hash of the file, in hex. + :param str source_url: URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + """ + pulumi.set(__self__, "mime_type", mime_type) + pulumi.set(__self__, "sha1_sum", sha1_sum) + pulumi.set(__self__, "source_url", source_url) + + @property + @pulumi.getter(name="mimeType") + def mime_type(self) -> str: + """ + The MIME type of the file.Defaults to the value from Google Cloud Storage. + """ + return pulumi.get(self, "mime_type") + + @property + @pulumi.getter(name="sha1Sum") + def sha1_sum(self) -> str: + """ + The SHA1 hash of the file, in hex. + """ + return pulumi.get(self, "sha1_sum") + + @property + @pulumi.getter(name="sourceUrl") + def source_url(self) -> str: + """ + URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + """ + return pulumi.get(self, "source_url") + + @pulumi.output_type class FlexibleRuntimeSettingsResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/appengine/v1/version.py b/sdk/python/pulumi_google_native/appengine/v1/version.py index fb5708a7fe..fdb9eb4780 100644 --- a/sdk/python/pulumi_google_native/appengine/v1/version.py +++ b/sdk/python/pulumi_google_native/appengine/v1/version.py @@ -33,7 +33,7 @@ def __init__(__self__, *, env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, error_handlers: Optional[pulumi.Input[Sequence[pulumi.Input['ErrorHandlerArgs']]]] = None, flexible_runtime_settings: Optional[pulumi.Input['FlexibleRuntimeSettingsArgs']] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, handlers: Optional[pulumi.Input[Sequence[pulumi.Input['UrlMapArgs']]]] = None, health_check: Optional[pulumi.Input['HealthCheckArgs']] = None, id: Optional[pulumi.Input[str]] = None, @@ -72,7 +72,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.Only returned in GET requests if view=FULL is set. :param pulumi.Input[Sequence[pulumi.Input['ErrorHandlerArgs']]] error_handlers: Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set. :param pulumi.Input['FlexibleRuntimeSettingsArgs'] flexible_runtime_settings: Settings for App Engine flexible runtimes. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest + :param pulumi.Input[Mapping[str, Any]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest :param pulumi.Input[Sequence[pulumi.Input['UrlMapArgs']]] handlers: An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. :param pulumi.Input['HealthCheckArgs'] health_check: Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. :param pulumi.Input[str] id: Relative name of the version within the service. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: "default", "latest", and any name with the prefix "ah-". @@ -364,14 +364,14 @@ def flexible_runtime_settings(self, value: Optional[pulumi.Input['FlexibleRuntim @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def generated_customer_metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest """ return pulumi.get(self, "generated_customer_metadata") @generated_customer_metadata.setter - def generated_customer_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def generated_customer_metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "generated_customer_metadata", value) @property @@ -660,7 +660,7 @@ def __init__(__self__, env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, error_handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ErrorHandlerArgs']]]]] = None, flexible_runtime_settings: Optional[pulumi.Input[pulumi.InputType['FlexibleRuntimeSettingsArgs']]] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlMapArgs']]]]] = None, health_check: Optional[pulumi.Input[pulumi.InputType['HealthCheckArgs']]] = None, id: Optional[pulumi.Input[str]] = None, @@ -705,7 +705,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.Only returned in GET requests if view=FULL is set. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ErrorHandlerArgs']]]] error_handlers: Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set. :param pulumi.Input[pulumi.InputType['FlexibleRuntimeSettingsArgs']] flexible_runtime_settings: Settings for App Engine flexible runtimes. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest + :param pulumi.Input[Mapping[str, Any]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlMapArgs']]]] handlers: An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. :param pulumi.Input[pulumi.InputType['HealthCheckArgs']] health_check: Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. :param pulumi.Input[str] id: Relative name of the version within the service. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: "default", "latest", and any name with the prefix "ah-". @@ -769,7 +769,7 @@ def _internal_init(__self__, env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, error_handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ErrorHandlerArgs']]]]] = None, flexible_runtime_settings: Optional[pulumi.Input[pulumi.InputType['FlexibleRuntimeSettingsArgs']]] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlMapArgs']]]]] = None, health_check: Optional[pulumi.Input[pulumi.InputType['HealthCheckArgs']]] = None, id: Optional[pulumi.Input[str]] = None, @@ -1062,7 +1062,7 @@ def flexible_runtime_settings(self) -> pulumi.Output['outputs.FlexibleRuntimeSet @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> pulumi.Output[Mapping[str, str]]: + def generated_customer_metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest """ diff --git a/sdk/python/pulumi_google_native/appengine/v1beta/_inputs.py b/sdk/python/pulumi_google_native/appengine/v1beta/_inputs.py index def9fe08d3..de0fe3f3bd 100644 --- a/sdk/python/pulumi_google_native/appengine/v1beta/_inputs.py +++ b/sdk/python/pulumi_google_native/appengine/v1beta/_inputs.py @@ -27,6 +27,7 @@ 'EntrypointArgs', 'ErrorHandlerArgs', 'FeatureSettingsArgs', + 'FileInfoArgs', 'FlexibleRuntimeSettingsArgs', 'HealthCheckArgs', 'IdentityAwareProxyArgs', @@ -695,14 +696,14 @@ def __init__(__self__, *, build: Optional[pulumi.Input['BuildInfoArgs']] = None, cloud_build_options: Optional[pulumi.Input['CloudBuildOptionsArgs']] = None, container: Optional[pulumi.Input['ContainerInfoArgs']] = None, - files: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + files: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileInfoArgs']]]] = None, zip: Optional[pulumi.Input['ZipInfoArgs']] = None): """ Code and application artifacts used to deploy a version to App Engine. :param pulumi.Input['BuildInfoArgs'] build: Google Cloud Build build information. Only applicable for instances running in the App Engine flexible environment. :param pulumi.Input['CloudBuildOptionsArgs'] cloud_build_options: Options for any Google Cloud Build builds created as a part of this deployment.These options will only be used if a new build is created, such as when deploying to the App Engine flexible environment using files or zip. :param pulumi.Input['ContainerInfoArgs'] container: The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] files: Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. + :param pulumi.Input[Mapping[str, pulumi.Input['FileInfoArgs']]] files: Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. :param pulumi.Input['ZipInfoArgs'] zip: The zip file for this deployment, if this is a zip deployment. """ if build is not None: @@ -754,14 +755,14 @@ def container(self, value: Optional[pulumi.Input['ContainerInfoArgs']]): @property @pulumi.getter - def files(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def files(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['FileInfoArgs']]]]: """ Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. """ return pulumi.get(self, "files") @files.setter - def files(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def files(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileInfoArgs']]]]): pulumi.set(self, "files", value) @property @@ -1041,6 +1042,62 @@ def use_container_optimized_os(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "use_container_optimized_os", value) +@pulumi.input_type +class FileInfoArgs: + def __init__(__self__, *, + mime_type: Optional[pulumi.Input[str]] = None, + sha1_sum: Optional[pulumi.Input[str]] = None, + source_url: Optional[pulumi.Input[str]] = None): + """ + Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + :param pulumi.Input[str] mime_type: The MIME type of the file.Defaults to the value from Google Cloud Storage. + :param pulumi.Input[str] sha1_sum: The SHA1 hash of the file, in hex. + :param pulumi.Input[str] source_url: URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + """ + if mime_type is not None: + pulumi.set(__self__, "mime_type", mime_type) + if sha1_sum is not None: + pulumi.set(__self__, "sha1_sum", sha1_sum) + if source_url is not None: + pulumi.set(__self__, "source_url", source_url) + + @property + @pulumi.getter(name="mimeType") + def mime_type(self) -> Optional[pulumi.Input[str]]: + """ + The MIME type of the file.Defaults to the value from Google Cloud Storage. + """ + return pulumi.get(self, "mime_type") + + @mime_type.setter + def mime_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mime_type", value) + + @property + @pulumi.getter(name="sha1Sum") + def sha1_sum(self) -> Optional[pulumi.Input[str]]: + """ + The SHA1 hash of the file, in hex. + """ + return pulumi.get(self, "sha1_sum") + + @sha1_sum.setter + def sha1_sum(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sha1_sum", value) + + @property + @pulumi.getter(name="sourceUrl") + def source_url(self) -> Optional[pulumi.Input[str]]: + """ + URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + """ + return pulumi.get(self, "source_url") + + @source_url.setter + def source_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "source_url", value) + + @pulumi.input_type class FlexibleRuntimeSettingsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/appengine/v1beta/app.py b/sdk/python/pulumi_google_native/appengine/v1beta/app.py index 95b9ce8623..9482796bb7 100644 --- a/sdk/python/pulumi_google_native/appengine/v1beta/app.py +++ b/sdk/python/pulumi_google_native/appengine/v1beta/app.py @@ -22,7 +22,7 @@ def __init__(__self__, *, default_cookie_expiration: Optional[pulumi.Input[str]] = None, dispatch_rules: Optional[pulumi.Input[Sequence[pulumi.Input['UrlDispatchRuleArgs']]]] = None, feature_settings: Optional[pulumi.Input['FeatureSettingsArgs']] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, iap: Optional[pulumi.Input['IdentityAwareProxyArgs']] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -35,7 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[str] default_cookie_expiration: Cookie expiration policy for this application. :param pulumi.Input[Sequence[pulumi.Input['UrlDispatchRuleArgs']]] dispatch_rules: HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent. Up to 20 dispatch rules can be supported. :param pulumi.Input['FeatureSettingsArgs'] feature_settings: The feature specific settings to be used in the application. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest + :param pulumi.Input[Mapping[str, Any]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest :param pulumi.Input[str] id: Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. :param pulumi.Input[str] location: Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). :param pulumi.Input[str] service_account: The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one. @@ -126,14 +126,14 @@ def feature_settings(self, value: Optional[pulumi.Input['FeatureSettingsArgs']]) @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def generated_customer_metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest """ return pulumi.get(self, "generated_customer_metadata") @generated_customer_metadata.setter - def generated_customer_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def generated_customer_metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "generated_customer_metadata", value) @property @@ -204,7 +204,7 @@ def __init__(__self__, default_cookie_expiration: Optional[pulumi.Input[str]] = None, dispatch_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlDispatchRuleArgs']]]]] = None, feature_settings: Optional[pulumi.Input[pulumi.InputType['FeatureSettingsArgs']]] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, iap: Optional[pulumi.Input[pulumi.InputType['IdentityAwareProxyArgs']]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -224,7 +224,7 @@ def __init__(__self__, :param pulumi.Input[str] default_cookie_expiration: Cookie expiration policy for this application. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlDispatchRuleArgs']]]] dispatch_rules: HTTP path dispatch rules for requests to the application that do not explicitly target a service or version. Rules are order-dependent. Up to 20 dispatch rules can be supported. :param pulumi.Input[pulumi.InputType['FeatureSettingsArgs']] feature_settings: The feature specific settings to be used in the application. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest + :param pulumi.Input[Mapping[str, Any]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest :param pulumi.Input[str] id: Identifier of the Application resource. This identifier is equivalent to the project ID of the Google Cloud Platform project where you want to deploy your application. Example: myapp. :param pulumi.Input[str] location: Location from which this application runs. Application instances run out of the data centers in the specified location, which is also where all of the application's end user content is stored.Defaults to us-central.View the list of supported locations (https://cloud.google.com/appengine/docs/locations). :param pulumi.Input[str] service_account: The service account associated with the application. This is the app-level default identity. If no identity provided during create version, Admin API will fallback to this one. @@ -262,7 +262,7 @@ def _internal_init(__self__, default_cookie_expiration: Optional[pulumi.Input[str]] = None, dispatch_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlDispatchRuleArgs']]]]] = None, feature_settings: Optional[pulumi.Input[pulumi.InputType['FeatureSettingsArgs']]] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, iap: Optional[pulumi.Input[pulumi.InputType['IdentityAwareProxyArgs']]] = None, id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -406,7 +406,7 @@ def gcr_domain(self) -> pulumi.Output[str]: @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> pulumi.Output[Mapping[str, str]]: + def generated_customer_metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest """ diff --git a/sdk/python/pulumi_google_native/appengine/v1beta/get_app.py b/sdk/python/pulumi_google_native/appengine/v1beta/get_app.py index fd2a713116..99cb2efccc 100644 --- a/sdk/python/pulumi_google_native/appengine/v1beta/get_app.py +++ b/sdk/python/pulumi_google_native/appengine/v1beta/get_app.py @@ -140,7 +140,7 @@ def gcr_domain(self) -> str: @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> Mapping[str, str]: + def generated_customer_metadata(self) -> Mapping[str, Any]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetApplicationRequest """ diff --git a/sdk/python/pulumi_google_native/appengine/v1beta/get_version.py b/sdk/python/pulumi_google_native/appengine/v1beta/get_version.py index 686b49c7ec..e1a14322d7 100644 --- a/sdk/python/pulumi_google_native/appengine/v1beta/get_version.py +++ b/sdk/python/pulumi_google_native/appengine/v1beta/get_version.py @@ -282,7 +282,7 @@ def flexible_runtime_settings(self) -> 'outputs.FlexibleRuntimeSettingsResponse' @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> Mapping[str, str]: + def generated_customer_metadata(self) -> Mapping[str, Any]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest """ diff --git a/sdk/python/pulumi_google_native/appengine/v1beta/outputs.py b/sdk/python/pulumi_google_native/appengine/v1beta/outputs.py index 0b6d95e0a6..5016e1466a 100644 --- a/sdk/python/pulumi_google_native/appengine/v1beta/outputs.py +++ b/sdk/python/pulumi_google_native/appengine/v1beta/outputs.py @@ -28,6 +28,7 @@ 'EntrypointResponse', 'ErrorHandlerResponse', 'FeatureSettingsResponse', + 'FileInfoResponse', 'FlexibleRuntimeSettingsResponse', 'HealthCheckResponse', 'IdentityAwareProxyResponse', @@ -768,14 +769,14 @@ def __init__(__self__, *, build: 'outputs.BuildInfoResponse', cloud_build_options: 'outputs.CloudBuildOptionsResponse', container: 'outputs.ContainerInfoResponse', - files: Mapping[str, str], + files: Mapping[str, 'outputs.FileInfoResponse'], zip: 'outputs.ZipInfoResponse'): """ Code and application artifacts used to deploy a version to App Engine. :param 'BuildInfoResponse' build: Google Cloud Build build information. Only applicable for instances running in the App Engine flexible environment. :param 'CloudBuildOptionsResponse' cloud_build_options: Options for any Google Cloud Build builds created as a part of this deployment.These options will only be used if a new build is created, such as when deploying to the App Engine flexible environment using files or zip. :param 'ContainerInfoResponse' container: The Docker image for the container that runs the version. Only applicable for instances running in the App Engine flexible environment. - :param Mapping[str, str] files: Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. + :param Mapping[str, 'FileInfoResponse'] files: Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. :param 'ZipInfoResponse' zip: The zip file for this deployment, if this is a zip deployment. """ pulumi.set(__self__, "build", build) @@ -810,7 +811,7 @@ def container(self) -> 'outputs.ContainerInfoResponse': @property @pulumi.getter - def files(self) -> Mapping[str, str]: + def files(self) -> Mapping[str, 'outputs.FileInfoResponse']: """ Manifest of the files stored in Google Cloud Storage that are included as part of this version. All files must be readable using the credentials supplied with this call. """ @@ -1118,6 +1119,71 @@ def use_container_optimized_os(self) -> bool: return pulumi.get(self, "use_container_optimized_os") +@pulumi.output_type +class FileInfoResponse(dict): + """ + Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "mimeType": + suggest = "mime_type" + elif key == "sha1Sum": + suggest = "sha1_sum" + elif key == "sourceUrl": + suggest = "source_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FileInfoResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FileInfoResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FileInfoResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + mime_type: str, + sha1_sum: str, + source_url: str): + """ + Single source file that is part of the version to be deployed. Each source file that is deployed must be specified separately. + :param str mime_type: The MIME type of the file.Defaults to the value from Google Cloud Storage. + :param str sha1_sum: The SHA1 hash of the file, in hex. + :param str source_url: URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + """ + pulumi.set(__self__, "mime_type", mime_type) + pulumi.set(__self__, "sha1_sum", sha1_sum) + pulumi.set(__self__, "source_url", source_url) + + @property + @pulumi.getter(name="mimeType") + def mime_type(self) -> str: + """ + The MIME type of the file.Defaults to the value from Google Cloud Storage. + """ + return pulumi.get(self, "mime_type") + + @property + @pulumi.getter(name="sha1Sum") + def sha1_sum(self) -> str: + """ + The SHA1 hash of the file, in hex. + """ + return pulumi.get(self, "sha1_sum") + + @property + @pulumi.getter(name="sourceUrl") + def source_url(self) -> str: + """ + URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com//'. + """ + return pulumi.get(self, "source_url") + + @pulumi.output_type class FlexibleRuntimeSettingsResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/appengine/v1beta/version.py b/sdk/python/pulumi_google_native/appengine/v1beta/version.py index 07ff8871eb..7fe4ef9d8b 100644 --- a/sdk/python/pulumi_google_native/appengine/v1beta/version.py +++ b/sdk/python/pulumi_google_native/appengine/v1beta/version.py @@ -33,7 +33,7 @@ def __init__(__self__, *, env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, error_handlers: Optional[pulumi.Input[Sequence[pulumi.Input['ErrorHandlerArgs']]]] = None, flexible_runtime_settings: Optional[pulumi.Input['FlexibleRuntimeSettingsArgs']] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, handlers: Optional[pulumi.Input[Sequence[pulumi.Input['UrlMapArgs']]]] = None, health_check: Optional[pulumi.Input['HealthCheckArgs']] = None, id: Optional[pulumi.Input[str]] = None, @@ -72,7 +72,7 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.Only returned in GET requests if view=FULL is set. :param pulumi.Input[Sequence[pulumi.Input['ErrorHandlerArgs']]] error_handlers: Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set. :param pulumi.Input['FlexibleRuntimeSettingsArgs'] flexible_runtime_settings: Settings for App Engine flexible runtimes. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest + :param pulumi.Input[Mapping[str, Any]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest :param pulumi.Input[Sequence[pulumi.Input['UrlMapArgs']]] handlers: An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. :param pulumi.Input['HealthCheckArgs'] health_check: Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. :param pulumi.Input[str] id: Relative name of the version within the service. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: "default", "latest", and any name with the prefix "ah-". @@ -364,14 +364,14 @@ def flexible_runtime_settings(self, value: Optional[pulumi.Input['FlexibleRuntim @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def generated_customer_metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest """ return pulumi.get(self, "generated_customer_metadata") @generated_customer_metadata.setter - def generated_customer_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def generated_customer_metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "generated_customer_metadata", value) @property @@ -660,7 +660,7 @@ def __init__(__self__, env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, error_handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ErrorHandlerArgs']]]]] = None, flexible_runtime_settings: Optional[pulumi.Input[pulumi.InputType['FlexibleRuntimeSettingsArgs']]] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlMapArgs']]]]] = None, health_check: Optional[pulumi.Input[pulumi.InputType['HealthCheckArgs']]] = None, id: Optional[pulumi.Input[str]] = None, @@ -705,7 +705,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] env_variables: Environment variables available to the application.Only returned in GET requests if view=FULL is set. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ErrorHandlerArgs']]]] error_handlers: Custom static error pages. Limited to 10KB per page.Only returned in GET requests if view=FULL is set. :param pulumi.Input[pulumi.InputType['FlexibleRuntimeSettingsArgs']] flexible_runtime_settings: Settings for App Engine flexible runtimes. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest + :param pulumi.Input[Mapping[str, Any]] generated_customer_metadata: Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlMapArgs']]]] handlers: An ordered list of URL-matching patterns that should be applied to incoming requests. The first matching URL handles the request and other request handlers are not attempted.Only returned in GET requests if view=FULL is set. :param pulumi.Input[pulumi.InputType['HealthCheckArgs']] health_check: Configures health checking for instances. Unhealthy instances are stopped and replaced with new instances. Only applicable in the App Engine flexible environment. :param pulumi.Input[str] id: Relative name of the version within the service. Example: v1. Version names can contain only lowercase letters, numbers, or hyphens. Reserved names: "default", "latest", and any name with the prefix "ah-". @@ -769,7 +769,7 @@ def _internal_init(__self__, env_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, error_handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ErrorHandlerArgs']]]]] = None, flexible_runtime_settings: Optional[pulumi.Input[pulumi.InputType['FlexibleRuntimeSettingsArgs']]] = None, - generated_customer_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + generated_customer_metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None, handlers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['UrlMapArgs']]]]] = None, health_check: Optional[pulumi.Input[pulumi.InputType['HealthCheckArgs']]] = None, id: Optional[pulumi.Input[str]] = None, @@ -1062,7 +1062,7 @@ def flexible_runtime_settings(self) -> pulumi.Output['outputs.FlexibleRuntimeSet @property @pulumi.getter(name="generatedCustomerMetadata") - def generated_customer_metadata(self) -> pulumi.Output[Mapping[str, str]]: + def generated_customer_metadata(self) -> pulumi.Output[Mapping[str, Any]]: """ Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetVersionRequest """ diff --git a/sdk/python/pulumi_google_native/artifactregistry/v1/_enums.py b/sdk/python/pulumi_google_native/artifactregistry/v1/_enums.py index 2bc50fbd60..dd464708ce 100644 --- a/sdk/python/pulumi_google_native/artifactregistry/v1/_enums.py +++ b/sdk/python/pulumi_google_native/artifactregistry/v1/_enums.py @@ -5,6 +5,8 @@ from enum import Enum __all__ = [ + 'CleanupPolicyAction', + 'CleanupPolicyConditionTagState', 'DockerRepositoryPublicRepository', 'GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigAptRepositoryPublicRepositoryRepositoryBase', 'GoogleDevtoolsArtifactregistryV1RemoteRepositoryConfigYumRepositoryPublicRepositoryRepositoryBase', @@ -17,6 +19,46 @@ ] +class CleanupPolicyAction(str, Enum): + """ + Policy action. + """ + ACTION_UNSPECIFIED = "ACTION_UNSPECIFIED" + """ + Action not specified. + """ + DELETE = "DELETE" + """ + Delete action. + """ + KEEP = "KEEP" + """ + Keep action. + """ + + +class CleanupPolicyConditionTagState(str, Enum): + """ + Match versions by tag status. + """ + TAG_STATE_UNSPECIFIED = "TAG_STATE_UNSPECIFIED" + """ + Tag status not specified. + """ + TAGGED = "TAGGED" + """ + Applies to tagged versions only. + """ + UNTAGGED = "UNTAGGED" + """ + Applies to untagged versions only. + """ + ANY = "ANY" + """ + Applies to all versions. + """ + + class DockerRepositoryPublicRepository(str, Enum): """ One of the publicly available Docker repositories supported by Artifact Registry. diff --git a/sdk/python/pulumi_google_native/artifactregistry/v1/_inputs.py b/sdk/python/pulumi_google_native/artifactregistry/v1/_inputs.py index 05eac55e43..a5b884a2c3 100644 --- a/sdk/python/pulumi_google_native/artifactregistry/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/artifactregistry/v1/_inputs.py @@ -13,6 +13,9 @@ __all__ = [ 'AptRepositoryArgs', 'BindingArgs', + 'CleanupPolicyConditionArgs', + 'CleanupPolicyMostRecentVersionsArgs', + 'CleanupPolicyArgs', 'DockerRepositoryConfigArgs', 'DockerRepositoryArgs', 'ExprArgs', @@ -110,6 +113,242 @@ def role(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "role", value) +@pulumi.input_type +class CleanupPolicyConditionArgs: + def __init__(__self__, *, + newer_than: Optional[pulumi.Input[str]] = None, + older_than: Optional[pulumi.Input[str]] = None, + package_name_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tag_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tag_state: Optional[pulumi.Input['CleanupPolicyConditionTagState']] = None, + version_age: Optional[pulumi.Input[str]] = None, + version_name_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. + :param pulumi.Input[str] newer_than: Match versions newer than a duration. + :param pulumi.Input[str] older_than: Match versions older than a duration. + :param pulumi.Input[Sequence[pulumi.Input[str]]] package_name_prefixes: Match versions by package prefix. Applied on any prefix match. + :param pulumi.Input[Sequence[pulumi.Input[str]]] tag_prefixes: Match versions by tag prefix. Applied on any prefix match. + :param pulumi.Input['CleanupPolicyConditionTagState'] tag_state: Match versions by tag status. + :param pulumi.Input[str] version_age: DEPRECATED: Use older_than. + :param pulumi.Input[Sequence[pulumi.Input[str]]] version_name_prefixes: Match versions by version name prefix. Applied on any prefix match. + """ + if newer_than is not None: + pulumi.set(__self__, "newer_than", newer_than) + if older_than is not None: + pulumi.set(__self__, "older_than", older_than) + if package_name_prefixes is not None: + pulumi.set(__self__, "package_name_prefixes", package_name_prefixes) + if tag_prefixes is not None: + pulumi.set(__self__, "tag_prefixes", tag_prefixes) + if tag_state is not None: + pulumi.set(__self__, "tag_state", tag_state) + if version_age is not None: + warnings.warn("""DEPRECATED: Use older_than.""", DeprecationWarning) + pulumi.log.warn("""version_age is deprecated: DEPRECATED: Use older_than.""") + if version_age is not None: + pulumi.set(__self__, "version_age", version_age) + if version_name_prefixes is not None: + pulumi.set(__self__, "version_name_prefixes", version_name_prefixes) + + @property + @pulumi.getter(name="newerThan") + def newer_than(self) -> Optional[pulumi.Input[str]]: + """ + Match versions newer than a duration. + """ + return pulumi.get(self, "newer_than") + + @newer_than.setter + def newer_than(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "newer_than", value) + + @property + @pulumi.getter(name="olderThan") + def older_than(self) -> Optional[pulumi.Input[str]]: + """ + Match versions older than a duration. + """ + return pulumi.get(self, "older_than") + + @older_than.setter + def older_than(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "older_than", value) + + @property + @pulumi.getter(name="packageNamePrefixes") + def package_name_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match versions by package prefix. Applied on any prefix match. + """ + return pulumi.get(self, "package_name_prefixes") + + @package_name_prefixes.setter + def package_name_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "package_name_prefixes", value) + + @property + @pulumi.getter(name="tagPrefixes") + def tag_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match versions by tag prefix. Applied on any prefix match. + """ + return pulumi.get(self, "tag_prefixes") + + @tag_prefixes.setter + def tag_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "tag_prefixes", value) + + @property + @pulumi.getter(name="tagState") + def tag_state(self) -> Optional[pulumi.Input['CleanupPolicyConditionTagState']]: + """ + Match versions by tag status. + """ + return pulumi.get(self, "tag_state") + + @tag_state.setter + def tag_state(self, value: Optional[pulumi.Input['CleanupPolicyConditionTagState']]): + pulumi.set(self, "tag_state", value) + + @property + @pulumi.getter(name="versionAge") + @_utilities.deprecated("""DEPRECATED: Use older_than.""") + def version_age(self) -> Optional[pulumi.Input[str]]: + """ + DEPRECATED: Use older_than. + """ + return pulumi.get(self, "version_age") + + @version_age.setter + def version_age(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version_age", value) + + @property + @pulumi.getter(name="versionNamePrefixes") + def version_name_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match versions by version name prefix. Applied on any prefix match. + """ + return pulumi.get(self, "version_name_prefixes") + + @version_name_prefixes.setter + def version_name_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "version_name_prefixes", value) + + +@pulumi.input_type +class CleanupPolicyMostRecentVersionsArgs: + def __init__(__self__, *, + keep_count: Optional[pulumi.Input[int]] = None, + package_name_prefixes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. + :param pulumi.Input[int] keep_count: Minimum number of versions to keep. + :param pulumi.Input[Sequence[pulumi.Input[str]]] package_name_prefixes: List of package name prefixes that will apply this rule. + """ + if keep_count is not None: + pulumi.set(__self__, "keep_count", keep_count) + if package_name_prefixes is not None: + pulumi.set(__self__, "package_name_prefixes", package_name_prefixes) + + @property + @pulumi.getter(name="keepCount") + def keep_count(self) -> Optional[pulumi.Input[int]]: + """ + Minimum number of versions to keep. + """ + return pulumi.get(self, "keep_count") + + @keep_count.setter + def keep_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "keep_count", value) + + @property + @pulumi.getter(name="packageNamePrefixes") + def package_name_prefixes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of package name prefixes that will apply this rule. + """ + return pulumi.get(self, "package_name_prefixes") + + @package_name_prefixes.setter + def package_name_prefixes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "package_name_prefixes", value) + + +@pulumi.input_type +class CleanupPolicyArgs: + def __init__(__self__, *, + action: Optional[pulumi.Input['CleanupPolicyAction']] = None, + condition: Optional[pulumi.Input['CleanupPolicyConditionArgs']] = None, + id: Optional[pulumi.Input[str]] = None, + most_recent_versions: Optional[pulumi.Input['CleanupPolicyMostRecentVersionsArgs']] = None): + """ + Artifact policy configuration for repository cleanup policies. + :param pulumi.Input['CleanupPolicyAction'] action: Policy action. + :param pulumi.Input['CleanupPolicyConditionArgs'] condition: Policy condition for matching versions. + :param pulumi.Input[str] id: The user-provided ID of the cleanup policy. + :param pulumi.Input['CleanupPolicyMostRecentVersionsArgs'] most_recent_versions: Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + """ + if action is not None: + pulumi.set(__self__, "action", action) + if condition is not None: + pulumi.set(__self__, "condition", condition) + if id is not None: + pulumi.set(__self__, "id", id) + if most_recent_versions is not None: + pulumi.set(__self__, "most_recent_versions", most_recent_versions) + + @property + @pulumi.getter + def action(self) -> Optional[pulumi.Input['CleanupPolicyAction']]: + """ + Policy action. + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: Optional[pulumi.Input['CleanupPolicyAction']]): + pulumi.set(self, "action", value) + + @property + @pulumi.getter + def condition(self) -> Optional[pulumi.Input['CleanupPolicyConditionArgs']]: + """ + Policy condition for matching versions. + """ + return pulumi.get(self, "condition") + + @condition.setter + def condition(self, value: Optional[pulumi.Input['CleanupPolicyConditionArgs']]): + pulumi.set(self, "condition", value) + + @property + @pulumi.getter + def id(self) -> Optional[pulumi.Input[str]]: + """ + The user-provided ID of the cleanup policy. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter(name="mostRecentVersions") + def most_recent_versions(self) -> Optional[pulumi.Input['CleanupPolicyMostRecentVersionsArgs']]: + """ + Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + """ + return pulumi.get(self, "most_recent_versions") + + @most_recent_versions.setter + def most_recent_versions(self, value: Optional[pulumi.Input['CleanupPolicyMostRecentVersionsArgs']]): + pulumi.set(self, "most_recent_versions", value) + + @pulumi.input_type class DockerRepositoryConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/artifactregistry/v1/get_repository.py b/sdk/python/pulumi_google_native/artifactregistry/v1/get_repository.py index 42c72544e4..b9d4122fe6 100644 --- a/sdk/python/pulumi_google_native/artifactregistry/v1/get_repository.py +++ b/sdk/python/pulumi_google_native/artifactregistry/v1/get_repository.py @@ -71,7 +71,7 @@ def __init__(__self__, cleanup_policies=None, cleanup_policy_dry_run=None, creat @property @pulumi.getter(name="cleanupPolicies") - def cleanup_policies(self) -> Mapping[str, str]: + def cleanup_policies(self) -> Mapping[str, 'outputs.CleanupPolicyResponse']: """ Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. """ diff --git a/sdk/python/pulumi_google_native/artifactregistry/v1/outputs.py b/sdk/python/pulumi_google_native/artifactregistry/v1/outputs.py index e137a373a9..c4430520c2 100644 --- a/sdk/python/pulumi_google_native/artifactregistry/v1/outputs.py +++ b/sdk/python/pulumi_google_native/artifactregistry/v1/outputs.py @@ -14,6 +14,9 @@ __all__ = [ 'AptRepositoryResponse', 'BindingResponse', + 'CleanupPolicyConditionResponse', + 'CleanupPolicyMostRecentVersionsResponse', + 'CleanupPolicyResponse', 'DockerRepositoryConfigResponse', 'DockerRepositoryResponse', 'ExprResponse', @@ -114,6 +117,237 @@ def role(self) -> str: return pulumi.get(self, "role") +@pulumi.output_type +class CleanupPolicyConditionResponse(dict): + """ + CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "newerThan": + suggest = "newer_than" + elif key == "olderThan": + suggest = "older_than" + elif key == "packageNamePrefixes": + suggest = "package_name_prefixes" + elif key == "tagPrefixes": + suggest = "tag_prefixes" + elif key == "tagState": + suggest = "tag_state" + elif key == "versionAge": + suggest = "version_age" + elif key == "versionNamePrefixes": + suggest = "version_name_prefixes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CleanupPolicyConditionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CleanupPolicyConditionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CleanupPolicyConditionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + newer_than: str, + older_than: str, + package_name_prefixes: Sequence[str], + tag_prefixes: Sequence[str], + tag_state: str, + version_age: str, + version_name_prefixes: Sequence[str]): + """ + CleanupPolicyCondition is a set of conditions attached to a CleanupPolicy. If multiple entries are set, all must be satisfied for the condition to be satisfied. + :param str newer_than: Match versions newer than a duration. + :param str older_than: Match versions older than a duration. + :param Sequence[str] package_name_prefixes: Match versions by package prefix. Applied on any prefix match. + :param Sequence[str] tag_prefixes: Match versions by tag prefix. Applied on any prefix match. + :param str tag_state: Match versions by tag status. + :param str version_age: DEPRECATED: Use older_than. + :param Sequence[str] version_name_prefixes: Match versions by version name prefix. Applied on any prefix match. + """ + pulumi.set(__self__, "newer_than", newer_than) + pulumi.set(__self__, "older_than", older_than) + pulumi.set(__self__, "package_name_prefixes", package_name_prefixes) + pulumi.set(__self__, "tag_prefixes", tag_prefixes) + pulumi.set(__self__, "tag_state", tag_state) + pulumi.set(__self__, "version_age", version_age) + pulumi.set(__self__, "version_name_prefixes", version_name_prefixes) + + @property + @pulumi.getter(name="newerThan") + def newer_than(self) -> str: + """ + Match versions newer than a duration. + """ + return pulumi.get(self, "newer_than") + + @property + @pulumi.getter(name="olderThan") + def older_than(self) -> str: + """ + Match versions older than a duration. + """ + return pulumi.get(self, "older_than") + + @property + @pulumi.getter(name="packageNamePrefixes") + def package_name_prefixes(self) -> Sequence[str]: + """ + Match versions by package prefix. Applied on any prefix match. + """ + return pulumi.get(self, "package_name_prefixes") + + @property + @pulumi.getter(name="tagPrefixes") + def tag_prefixes(self) -> Sequence[str]: + """ + Match versions by tag prefix. Applied on any prefix match. + """ + return pulumi.get(self, "tag_prefixes") + + @property + @pulumi.getter(name="tagState") + def tag_state(self) -> str: + """ + Match versions by tag status. + """ + return pulumi.get(self, "tag_state") + + @property + @pulumi.getter(name="versionAge") + @_utilities.deprecated("""DEPRECATED: Use older_than.""") + def version_age(self) -> str: + """ + DEPRECATED: Use older_than. + """ + return pulumi.get(self, "version_age") + + @property + @pulumi.getter(name="versionNamePrefixes") + def version_name_prefixes(self) -> Sequence[str]: + """ + Match versions by version name prefix. Applied on any prefix match. + """ + return pulumi.get(self, "version_name_prefixes") + + +@pulumi.output_type +class CleanupPolicyMostRecentVersionsResponse(dict): + """ + CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keepCount": + suggest = "keep_count" + elif key == "packageNamePrefixes": + suggest = "package_name_prefixes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CleanupPolicyMostRecentVersionsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CleanupPolicyMostRecentVersionsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CleanupPolicyMostRecentVersionsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + keep_count: int, + package_name_prefixes: Sequence[str]): + """ + CleanupPolicyMostRecentVersions is an alternate condition of a CleanupPolicy for retaining a minimum number of versions. + :param int keep_count: Minimum number of versions to keep. + :param Sequence[str] package_name_prefixes: List of package name prefixes that will apply this rule. + """ + pulumi.set(__self__, "keep_count", keep_count) + pulumi.set(__self__, "package_name_prefixes", package_name_prefixes) + + @property + @pulumi.getter(name="keepCount") + def keep_count(self) -> int: + """ + Minimum number of versions to keep. + """ + return pulumi.get(self, "keep_count") + + @property + @pulumi.getter(name="packageNamePrefixes") + def package_name_prefixes(self) -> Sequence[str]: + """ + List of package name prefixes that will apply this rule. + """ + return pulumi.get(self, "package_name_prefixes") + + +@pulumi.output_type +class CleanupPolicyResponse(dict): + """ + Artifact policy configuration for repository cleanup policies. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "mostRecentVersions": + suggest = "most_recent_versions" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CleanupPolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CleanupPolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CleanupPolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + action: str, + condition: 'outputs.CleanupPolicyConditionResponse', + most_recent_versions: 'outputs.CleanupPolicyMostRecentVersionsResponse'): + """ + Artifact policy configuration for repository cleanup policies. + :param str action: Policy action. + :param 'CleanupPolicyConditionResponse' condition: Policy condition for matching versions. + :param 'CleanupPolicyMostRecentVersionsResponse' most_recent_versions: Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "condition", condition) + pulumi.set(__self__, "most_recent_versions", most_recent_versions) + + @property + @pulumi.getter + def action(self) -> str: + """ + Policy action. + """ + return pulumi.get(self, "action") + + @property + @pulumi.getter + def condition(self) -> 'outputs.CleanupPolicyConditionResponse': + """ + Policy condition for matching versions. + """ + return pulumi.get(self, "condition") + + @property + @pulumi.getter(name="mostRecentVersions") + def most_recent_versions(self) -> 'outputs.CleanupPolicyMostRecentVersionsResponse': + """ + Policy condition for retaining a minimum number of versions. May only be specified with a Keep action. + """ + return pulumi.get(self, "most_recent_versions") + + @pulumi.output_type class DockerRepositoryConfigResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/artifactregistry/v1/repository.py b/sdk/python/pulumi_google_native/artifactregistry/v1/repository.py index 461f10624a..4e363df3a2 100644 --- a/sdk/python/pulumi_google_native/artifactregistry/v1/repository.py +++ b/sdk/python/pulumi_google_native/artifactregistry/v1/repository.py @@ -18,7 +18,7 @@ class RepositoryArgs: def __init__(__self__, *, repository_id: pulumi.Input[str], - cleanup_policies: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + cleanup_policies: Optional[pulumi.Input[Mapping[str, pulumi.Input['CleanupPolicyArgs']]]] = None, cleanup_policy_dry_run: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, docker_config: Optional[pulumi.Input['DockerRepositoryConfigArgs']] = None, @@ -35,7 +35,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a Repository resource. :param pulumi.Input[str] repository_id: Required. The repository id to use for this repository. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] cleanup_policies: Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. + :param pulumi.Input[Mapping[str, pulumi.Input['CleanupPolicyArgs']]] cleanup_policies: Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. :param pulumi.Input[bool] cleanup_policy_dry_run: Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. :param pulumi.Input[str] description: The user-provided description of the repository. :param pulumi.Input['DockerRepositoryConfigArgs'] docker_config: Docker repository config contains repository level configuration for the repositories of docker type. @@ -92,14 +92,14 @@ def repository_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="cleanupPolicies") - def cleanup_policies(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def cleanup_policies(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['CleanupPolicyArgs']]]]: """ Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. """ return pulumi.get(self, "cleanup_policies") @cleanup_policies.setter - def cleanup_policies(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def cleanup_policies(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['CleanupPolicyArgs']]]]): pulumi.set(self, "cleanup_policies", value) @property @@ -258,7 +258,7 @@ class Repository(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - cleanup_policies: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + cleanup_policies: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['CleanupPolicyArgs']]]]] = None, cleanup_policy_dry_run: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, docker_config: Optional[pulumi.Input[pulumi.InputType['DockerRepositoryConfigArgs']]] = None, @@ -279,7 +279,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] cleanup_policies: Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['CleanupPolicyArgs']]]] cleanup_policies: Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. :param pulumi.Input[bool] cleanup_policy_dry_run: Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository. :param pulumi.Input[str] description: The user-provided description of the repository. :param pulumi.Input[pulumi.InputType['DockerRepositoryConfigArgs']] docker_config: Docker repository config contains repository level configuration for the repositories of docker type. @@ -317,7 +317,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - cleanup_policies: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + cleanup_policies: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['CleanupPolicyArgs']]]]] = None, cleanup_policy_dry_run: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, docker_config: Optional[pulumi.Input[pulumi.InputType['DockerRepositoryConfigArgs']]] = None, @@ -409,7 +409,7 @@ def get(resource_name: str, @property @pulumi.getter(name="cleanupPolicies") - def cleanup_policies(self) -> pulumi.Output[Mapping[str, str]]: + def cleanup_policies(self) -> pulumi.Output[Mapping[str, 'outputs.CleanupPolicyResponse']]: """ Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length. """ diff --git a/sdk/python/pulumi_google_native/batch/v1/outputs.py b/sdk/python/pulumi_google_native/batch/v1/outputs.py index b28445ea63..fffa3d1612 100644 --- a/sdk/python/pulumi_google_native/batch/v1/outputs.py +++ b/sdk/python/pulumi_google_native/batch/v1/outputs.py @@ -25,6 +25,7 @@ 'GCSResponse', 'InstancePolicyOrTemplateResponse', 'InstancePolicyResponse', + 'InstanceStatusResponse', 'JobNotificationResponse', 'JobStatusResponse', 'KMSEnvMapResponse', @@ -42,6 +43,7 @@ 'StatusEventResponse', 'TaskExecutionResponse', 'TaskGroupResponse', + 'TaskGroupStatusResponse', 'TaskSpecResponse', 'VolumeResponse', ] @@ -893,6 +895,84 @@ def reservation(self) -> str: return pulumi.get(self, "reservation") +@pulumi.output_type +class InstanceStatusResponse(dict): + """ + VM instance status. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bootDisk": + suggest = "boot_disk" + elif key == "machineType": + suggest = "machine_type" + elif key == "provisioningModel": + suggest = "provisioning_model" + elif key == "taskPack": + suggest = "task_pack" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + boot_disk: 'outputs.DiskResponse', + machine_type: str, + provisioning_model: str, + task_pack: str): + """ + VM instance status. + :param 'DiskResponse' boot_disk: The VM boot disk. + :param str machine_type: The Compute Engine machine type. + :param str provisioning_model: The VM instance provisioning model. + :param str task_pack: The max number of tasks can be assigned to this instance type. + """ + pulumi.set(__self__, "boot_disk", boot_disk) + pulumi.set(__self__, "machine_type", machine_type) + pulumi.set(__self__, "provisioning_model", provisioning_model) + pulumi.set(__self__, "task_pack", task_pack) + + @property + @pulumi.getter(name="bootDisk") + def boot_disk(self) -> 'outputs.DiskResponse': + """ + The VM boot disk. + """ + return pulumi.get(self, "boot_disk") + + @property + @pulumi.getter(name="machineType") + def machine_type(self) -> str: + """ + The Compute Engine machine type. + """ + return pulumi.get(self, "machine_type") + + @property + @pulumi.getter(name="provisioningModel") + def provisioning_model(self) -> str: + """ + The VM instance provisioning model. + """ + return pulumi.get(self, "provisioning_model") + + @property + @pulumi.getter(name="taskPack") + def task_pack(self) -> str: + """ + The max number of tasks can be assigned to this instance type. + """ + return pulumi.get(self, "task_pack") + + @pulumi.output_type class JobNotificationResponse(dict): """ @@ -973,13 +1053,13 @@ def __init__(__self__, *, run_duration: str, state: str, status_events: Sequence['outputs.StatusEventResponse'], - task_groups: Mapping[str, str]): + task_groups: Mapping[str, 'outputs.TaskGroupStatusResponse']): """ Job status. :param str run_duration: The duration of time that the Job spent in status RUNNING. :param str state: Job state :param Sequence['StatusEventResponse'] status_events: Job status events - :param Mapping[str, str] task_groups: Aggregated task status for each TaskGroup in the Job. The map key is TaskGroup ID. + :param Mapping[str, 'TaskGroupStatusResponse'] task_groups: Aggregated task status for each TaskGroup in the Job. The map key is TaskGroup ID. """ pulumi.set(__self__, "run_duration", run_duration) pulumi.set(__self__, "state", state) @@ -1012,7 +1092,7 @@ def status_events(self) -> Sequence['outputs.StatusEventResponse']: @property @pulumi.getter(name="taskGroups") - def task_groups(self) -> Mapping[str, str]: + def task_groups(self) -> Mapping[str, 'outputs.TaskGroupStatusResponse']: """ Aggregated task status for each TaskGroup in the Job. The map key is TaskGroup ID. """ @@ -1951,6 +2031,39 @@ def task_spec(self) -> 'outputs.TaskSpecResponse': return pulumi.get(self, "task_spec") +@pulumi.output_type +class TaskGroupStatusResponse(dict): + """ + Aggregated task status for a TaskGroup. + """ + def __init__(__self__, *, + counts: Mapping[str, str], + instances: Sequence['outputs.InstanceStatusResponse']): + """ + Aggregated task status for a TaskGroup. + :param Mapping[str, str] counts: Count of task in each state in the TaskGroup. The map key is task state name. + :param Sequence['InstanceStatusResponse'] instances: Status of instances allocated for the TaskGroup. + """ + pulumi.set(__self__, "counts", counts) + pulumi.set(__self__, "instances", instances) + + @property + @pulumi.getter + def counts(self) -> Mapping[str, str]: + """ + Count of task in each state in the TaskGroup. The map key is task state name. + """ + return pulumi.get(self, "counts") + + @property + @pulumi.getter + def instances(self) -> Sequence['outputs.InstanceStatusResponse']: + """ + Status of instances allocated for the TaskGroup. + """ + return pulumi.get(self, "instances") + + @pulumi.output_type class TaskSpecResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/beyondcorp/v1/_inputs.py b/sdk/python/pulumi_google_native/beyondcorp/v1/_inputs.py index adfedd4189..2fba309104 100644 --- a/sdk/python/pulumi_google_native/beyondcorp/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/beyondcorp/v1/_inputs.py @@ -150,14 +150,14 @@ def service_account(self, value: Optional[pulumi.Input['GoogleCloudBeyondcorpApp class GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArgs: def __init__(__self__, *, id: pulumi.Input[str], - resource: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + resource: Optional[pulumi.Input[Mapping[str, Any]]] = None, status: Optional[pulumi.Input['GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoStatus']] = None, sub: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArgs']]]] = None, time: Optional[pulumi.Input[str]] = None): """ ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent :param pulumi.Input[str] id: Unique Id for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource: Specific details for the resource. This is for internal use only. + :param pulumi.Input[Mapping[str, Any]] resource: Specific details for the resource. This is for internal use only. :param pulumi.Input['GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoStatus'] status: Overall health status. Overall status is derived based on the status of each sub level resources. :param pulumi.Input[Sequence[pulumi.Input['GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoArgs']]] sub: List of Info for the sub level resources. :param pulumi.Input[str] time: The timestamp to collect the info. It is suggested to be set by the topmost level resource only. @@ -186,14 +186,14 @@ def id(self, value: pulumi.Input[str]): @property @pulumi.getter - def resource(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def resource(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Specific details for the resource. This is for internal use only. """ return pulumi.get(self, "resource") @resource.setter - def resource(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def resource(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "resource", value) @property diff --git a/sdk/python/pulumi_google_native/beyondcorp/v1/outputs.py b/sdk/python/pulumi_google_native/beyondcorp/v1/outputs.py index 0f3ce5a9b6..aaa20d80ab 100644 --- a/sdk/python/pulumi_google_native/beyondcorp/v1/outputs.py +++ b/sdk/python/pulumi_google_native/beyondcorp/v1/outputs.py @@ -261,13 +261,13 @@ class GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse(dict): ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent """ def __init__(__self__, *, - resource: Mapping[str, str], + resource: Mapping[str, Any], status: str, sub: Sequence['outputs.GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse'], time: str): """ ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent - :param Mapping[str, str] resource: Specific details for the resource. This is for internal use only. + :param Mapping[str, Any] resource: Specific details for the resource. This is for internal use only. :param str status: Overall health status. Overall status is derived based on the status of each sub level resources. :param Sequence['GoogleCloudBeyondcorpAppconnectorsV1ResourceInfoResponse'] sub: List of Info for the sub level resources. :param str time: The timestamp to collect the info. It is suggested to be set by the topmost level resource only. @@ -279,7 +279,7 @@ def __init__(__self__, *, @property @pulumi.getter - def resource(self) -> Mapping[str, str]: + def resource(self) -> Mapping[str, Any]: """ Specific details for the resource. This is for internal use only. """ diff --git a/sdk/python/pulumi_google_native/beyondcorp/v1alpha/_inputs.py b/sdk/python/pulumi_google_native/beyondcorp/v1alpha/_inputs.py index 8e4c7ad131..0e56a51cd6 100644 --- a/sdk/python/pulumi_google_native/beyondcorp/v1alpha/_inputs.py +++ b/sdk/python/pulumi_google_native/beyondcorp/v1alpha/_inputs.py @@ -222,14 +222,14 @@ def service_account(self, value: Optional[pulumi.Input['GoogleCloudBeyondcorpApp class GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArgs: def __init__(__self__, *, id: pulumi.Input[str], - resource: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + resource: Optional[pulumi.Input[Mapping[str, Any]]] = None, status: Optional[pulumi.Input['GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoStatus']] = None, sub: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArgs']]]] = None, time: Optional[pulumi.Input[str]] = None): """ ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent :param pulumi.Input[str] id: Unique Id for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource: Specific details for the resource. This is for internal use only. + :param pulumi.Input[Mapping[str, Any]] resource: Specific details for the resource. This is for internal use only. :param pulumi.Input['GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoStatus'] status: Overall health status. Overall status is derived based on the status of each sub level resources. :param pulumi.Input[Sequence[pulumi.Input['GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoArgs']]] sub: List of Info for the sub level resources. :param pulumi.Input[str] time: The timestamp to collect the info. It is suggested to be set by the topmost level resource only. @@ -258,14 +258,14 @@ def id(self, value: pulumi.Input[str]): @property @pulumi.getter - def resource(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def resource(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Specific details for the resource. This is for internal use only. """ return pulumi.get(self, "resource") @resource.setter - def resource(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def resource(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "resource", value) @property @@ -452,11 +452,11 @@ def pac_uri(self, value: pulumi.Input[str]): class GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingArgs: def __init__(__self__, *, type: pulumi.Input[str], - value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + value: pulumi.Input[Mapping[str, Any]]): """ Message to capture settings for a BrowserDlpRule :param pulumi.Input[str] type: Immutable. The type of the Setting. . - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] value: The value of the Setting. + :param pulumi.Input[Mapping[str, Any]] value: The value of the Setting. """ pulumi.set(__self__, "type", type) pulumi.set(__self__, "value", value) @@ -475,14 +475,14 @@ def type(self, value: pulumi.Input[str]): @property @pulumi.getter - def value(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def value(self) -> pulumi.Input[Mapping[str, Any]]: """ The value of the Setting. """ return pulumi.get(self, "value") @value.setter - def value(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def value(self, value: pulumi.Input[Mapping[str, Any]]): pulumi.set(self, "value", value) @@ -761,14 +761,14 @@ def service_account(self, value: Optional[pulumi.Input['ServiceAccountArgs']]): class ResourceInfoArgs: def __init__(__self__, *, id: pulumi.Input[str], - resource: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + resource: Optional[pulumi.Input[Mapping[str, Any]]] = None, status: Optional[pulumi.Input['ResourceInfoStatus']] = None, sub: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceInfoArgs']]]] = None, time: Optional[pulumi.Input[str]] = None): """ ResourceInfo represents the information/status of the associated resource. :param pulumi.Input[str] id: Unique Id for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource: Specific details for the resource. + :param pulumi.Input[Mapping[str, Any]] resource: Specific details for the resource. :param pulumi.Input['ResourceInfoStatus'] status: Overall health status. Overall status is derived based on the status of each sub level resources. :param pulumi.Input[Sequence[pulumi.Input['ResourceInfoArgs']]] sub: List of Info for the sub level resources. :param pulumi.Input[str] time: The timestamp to collect the info. It is suggested to be set by the topmost level resource only. @@ -797,14 +797,14 @@ def id(self, value: pulumi.Input[str]): @property @pulumi.getter - def resource(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def resource(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Specific details for the resource. """ return pulumi.get(self, "resource") @resource.setter - def resource(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def resource(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "resource", value) @property diff --git a/sdk/python/pulumi_google_native/beyondcorp/v1alpha/outputs.py b/sdk/python/pulumi_google_native/beyondcorp/v1alpha/outputs.py index 69e6e5e8e4..e101334ca7 100644 --- a/sdk/python/pulumi_google_native/beyondcorp/v1alpha/outputs.py +++ b/sdk/python/pulumi_google_native/beyondcorp/v1alpha/outputs.py @@ -366,13 +366,13 @@ class GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse(dict): ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent """ def __init__(__self__, *, - resource: Mapping[str, str], + resource: Mapping[str, Any], status: str, sub: Sequence['outputs.GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse'], time: str): """ ResourceInfo represents the information/status of an app connector resource. Such as: - remote_agent - container - runtime - appgateway - appconnector - appconnection - tunnel - logagent - :param Mapping[str, str] resource: Specific details for the resource. This is for internal use only. + :param Mapping[str, Any] resource: Specific details for the resource. This is for internal use only. :param str status: Overall health status. Overall status is derived based on the status of each sub level resources. :param Sequence['GoogleCloudBeyondcorpAppconnectorsV1alphaResourceInfoResponse'] sub: List of Info for the sub level resources. :param str time: The timestamp to collect the info. It is suggested to be set by the topmost level resource only. @@ -384,7 +384,7 @@ def __init__(__self__, *, @property @pulumi.getter - def resource(self) -> Mapping[str, str]: + def resource(self) -> Mapping[str, Any]: """ Specific details for the resource. This is for internal use only. """ @@ -585,11 +585,11 @@ class GoogleCloudBeyondcorpPartnerservicesV1alphaRuleSettingResponse(dict): """ def __init__(__self__, *, type: str, - value: Mapping[str, str]): + value: Mapping[str, Any]): """ Message to capture settings for a BrowserDlpRule :param str type: Immutable. The type of the Setting. . - :param Mapping[str, str] value: The value of the Setting. + :param Mapping[str, Any] value: The value of the Setting. """ pulumi.set(__self__, "type", type) pulumi.set(__self__, "value", value) @@ -604,7 +604,7 @@ def type(self) -> str: @property @pulumi.getter - def value(self) -> Mapping[str, str]: + def value(self) -> Mapping[str, Any]: """ The value of the Setting. """ @@ -909,13 +909,13 @@ class ResourceInfoResponse(dict): ResourceInfo represents the information/status of the associated resource. """ def __init__(__self__, *, - resource: Mapping[str, str], + resource: Mapping[str, Any], status: str, sub: Sequence['outputs.ResourceInfoResponse'], time: str): """ ResourceInfo represents the information/status of the associated resource. - :param Mapping[str, str] resource: Specific details for the resource. + :param Mapping[str, Any] resource: Specific details for the resource. :param str status: Overall health status. Overall status is derived based on the status of each sub level resources. :param Sequence['ResourceInfoResponse'] sub: List of Info for the sub level resources. :param str time: The timestamp to collect the info. It is suggested to be set by the topmost level resource only. @@ -927,7 +927,7 @@ def __init__(__self__, *, @property @pulumi.getter - def resource(self) -> Mapping[str, str]: + def resource(self) -> Mapping[str, Any]: """ Specific details for the resource. """ diff --git a/sdk/python/pulumi_google_native/bigquery/v2/_inputs.py b/sdk/python/pulumi_google_native/bigquery/v2/_inputs.py index 9b0b3fb8bb..743fb0b0e8 100644 --- a/sdk/python/pulumi_google_native/bigquery/v2/_inputs.py +++ b/sdk/python/pulumi_google_native/bigquery/v2/_inputs.py @@ -2746,7 +2746,7 @@ def __init__(__self__, *, query_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['QueryParameterArgs']]]] = None, range_partitioning: Optional[pulumi.Input['RangePartitioningArgs']] = None, schema_update_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - table_definitions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + table_definitions: Optional[pulumi.Input[Mapping[str, pulumi.Input['ExternalDataConfigurationArgs']]]] = None, time_partitioning: Optional[pulumi.Input['TimePartitioningArgs']] = None, use_legacy_sql: Optional[pulumi.Input[bool]] = None, use_query_cache: Optional[pulumi.Input[bool]] = None, @@ -2772,7 +2772,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['QueryParameterArgs']]] query_parameters: Query parameters for standard SQL queries. :param pulumi.Input['RangePartitioningArgs'] range_partitioning: [TrustedTester] Range partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. :param pulumi.Input[Sequence[pulumi.Input[str]]] schema_update_options: Allows the schema of the destination table to be updated as a side effect of the query job. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] table_definitions: [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. + :param pulumi.Input[Mapping[str, pulumi.Input['ExternalDataConfigurationArgs']]] table_definitions: [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. :param pulumi.Input['TimePartitioningArgs'] time_partitioning: Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. :param pulumi.Input[bool] use_legacy_sql: Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the value of flattenResults is ignored; query will be run as if flattenResults is false. :param pulumi.Input[bool] use_query_cache: [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified. The default value is true. @@ -3064,14 +3064,14 @@ def schema_update_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Inp @property @pulumi.getter(name="tableDefinitions") - def table_definitions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def table_definitions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ExternalDataConfigurationArgs']]]]: """ [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. """ return pulumi.get(self, "table_definitions") @table_definitions.setter - def table_definitions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def table_definitions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ExternalDataConfigurationArgs']]]]): pulumi.set(self, "table_definitions", value) @property @@ -3842,11 +3842,11 @@ def type(self, value: Optional[pulumi.Input[str]]): class QueryParameterValueArgs: def __init__(__self__, *, array_values: Optional[pulumi.Input[Sequence[pulumi.Input['QueryParameterValueArgs']]]] = None, - struct_values: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + struct_values: Optional[pulumi.Input[Mapping[str, pulumi.Input['QueryParameterValueArgs']]]] = None, value: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[Sequence[pulumi.Input['QueryParameterValueArgs']]] array_values: [Optional] The array values, if this is an array type. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] struct_values: [Optional] The struct field values, in order of the struct type's declaration. + :param pulumi.Input[Mapping[str, pulumi.Input['QueryParameterValueArgs']]] struct_values: [Optional] The struct field values, in order of the struct type's declaration. :param pulumi.Input[str] value: [Optional] The value of this value, if a simple scalar type. """ if array_values is not None: @@ -3870,14 +3870,14 @@ def array_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Query @property @pulumi.getter(name="structValues") - def struct_values(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def struct_values(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['QueryParameterValueArgs']]]]: """ [Optional] The struct field values, in order of the struct type's declaration. """ return pulumi.get(self, "struct_values") @struct_values.setter - def struct_values(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def struct_values(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['QueryParameterValueArgs']]]]): pulumi.set(self, "struct_values", value) @property diff --git a/sdk/python/pulumi_google_native/bigquery/v2/outputs.py b/sdk/python/pulumi_google_native/bigquery/v2/outputs.py index b6da2e1843..0eeb6cb19e 100644 --- a/sdk/python/pulumi_google_native/bigquery/v2/outputs.py +++ b/sdk/python/pulumi_google_native/bigquery/v2/outputs.py @@ -3595,7 +3595,7 @@ def __init__(__self__, *, query_parameters: Sequence['outputs.QueryParameterResponse'], range_partitioning: 'outputs.RangePartitioningResponse', schema_update_options: Sequence[str], - table_definitions: Mapping[str, str], + table_definitions: Mapping[str, 'outputs.ExternalDataConfigurationResponse'], time_partitioning: 'outputs.TimePartitioningResponse', use_legacy_sql: bool, use_query_cache: bool, @@ -3621,7 +3621,7 @@ def __init__(__self__, *, :param Sequence['QueryParameterResponse'] query_parameters: Query parameters for standard SQL queries. :param 'RangePartitioningResponse' range_partitioning: [TrustedTester] Range partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified. :param Sequence[str] schema_update_options: Allows the schema of the destination table to be updated as a side effect of the query job. Schema update options are supported in two cases: when writeDisposition is WRITE_APPEND; when writeDisposition is WRITE_TRUNCATE and the destination table is a partition of a table, specified by partition decorators. For normal tables, WRITE_TRUNCATE will always overwrite the schema. One or more of the following values are specified: ALLOW_FIELD_ADDITION: allow adding a nullable field to the schema. ALLOW_FIELD_RELAXATION: allow relaxing a required field in the original schema to nullable. - :param Mapping[str, str] table_definitions: [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. + :param Mapping[str, 'ExternalDataConfigurationResponse'] table_definitions: [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. :param 'TimePartitioningResponse' time_partitioning: Time-based partitioning specification for the destination table. Only one of timePartitioning and rangePartitioning should be specified. :param bool use_legacy_sql: Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the value of flattenResults is ignored; query will be run as if flattenResults is false. :param bool use_query_cache: [Optional] Whether to look for the result in the query cache. The query cache is a best-effort cache that will be flushed whenever tables in the query are modified. Moreover, the query cache is only available when a query does not have a destination table specified. The default value is true. @@ -3809,7 +3809,7 @@ def schema_update_options(self) -> Sequence[str]: @property @pulumi.getter(name="tableDefinitions") - def table_definitions(self) -> Mapping[str, str]: + def table_definitions(self) -> Mapping[str, 'outputs.ExternalDataConfigurationResponse']: """ [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. """ @@ -5762,11 +5762,11 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, array_values: Sequence['outputs.QueryParameterValueResponse'], - struct_values: Mapping[str, str], + struct_values: Mapping[str, 'outputs.QueryParameterValueResponse'], value: str): """ :param Sequence['QueryParameterValueResponse'] array_values: [Optional] The array values, if this is an array type. - :param Mapping[str, str] struct_values: [Optional] The struct field values, in order of the struct type's declaration. + :param Mapping[str, 'QueryParameterValueResponse'] struct_values: [Optional] The struct field values, in order of the struct type's declaration. :param str value: [Optional] The value of this value, if a simple scalar type. """ pulumi.set(__self__, "array_values", array_values) @@ -5783,7 +5783,7 @@ def array_values(self) -> Sequence['outputs.QueryParameterValueResponse']: @property @pulumi.getter(name="structValues") - def struct_values(self) -> Mapping[str, str]: + def struct_values(self) -> Mapping[str, 'outputs.QueryParameterValueResponse']: """ [Optional] The struct field values, in order of the struct type's declaration. """ diff --git a/sdk/python/pulumi_google_native/bigquerydatatransfer/v1/get_transfer_config.py b/sdk/python/pulumi_google_native/bigquerydatatransfer/v1/get_transfer_config.py index bbf3c3ab77..05fdb114ad 100644 --- a/sdk/python/pulumi_google_native/bigquerydatatransfer/v1/get_transfer_config.py +++ b/sdk/python/pulumi_google_native/bigquerydatatransfer/v1/get_transfer_config.py @@ -173,7 +173,7 @@ def owner_info(self) -> 'outputs.UserInfoResponse': @property @pulumi.getter - def params(self) -> Mapping[str, str]: + def params(self) -> Mapping[str, Any]: """ Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq """ diff --git a/sdk/python/pulumi_google_native/bigquerydatatransfer/v1/transfer_config.py b/sdk/python/pulumi_google_native/bigquerydatatransfer/v1/transfer_config.py index 1ccb06000a..5035b3e780 100644 --- a/sdk/python/pulumi_google_native/bigquerydatatransfer/v1/transfer_config.py +++ b/sdk/python/pulumi_google_native/bigquerydatatransfer/v1/transfer_config.py @@ -27,7 +27,7 @@ def __init__(__self__, *, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, notification_pubsub_topic: Optional[pulumi.Input[str]] = None, - params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + params: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, schedule: Optional[pulumi.Input[str]] = None, schedule_options: Optional[pulumi.Input['ScheduleOptionsArgs']] = None, @@ -46,7 +46,7 @@ def __init__(__self__, *, :param pulumi.Input['EncryptionConfigurationArgs'] encryption_configuration: The encryption configuration part. Currently, it is only used for the optional KMS key name. The BigQuery service account of your project must be granted permissions to use the key. Read methods will return the key name applied in effect. Write methods will apply the key if it is present, or otherwise try to apply project default keys if it is absent. :param pulumi.Input[str] name: The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. :param pulumi.Input[str] notification_pubsub_topic: Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project}/topics/{topic}` - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] params: Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq + :param pulumi.Input[Mapping[str, Any]] params: Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq :param pulumi.Input[str] schedule: Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. :param pulumi.Input['ScheduleOptionsArgs'] schedule_options: Options customizing the data transfer schedule. :param pulumi.Input[str] service_account_name: Optional service account email. If this field is set, the transfer config will be created with this service account's credentials. It requires that the requesting user calling this API has permissions to act as this service account. Note that not all data sources support service account credentials when creating a transfer config. For the latest list of data sources, read about [using service accounts](https://cloud.google.com/bigquery-transfer/docs/use-service-accounts). @@ -224,14 +224,14 @@ def notification_pubsub_topic(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def params(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def params(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq """ return pulumi.get(self, "params") @params.setter - def params(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def params(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "params", value) @property @@ -321,7 +321,7 @@ def __init__(__self__, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, notification_pubsub_topic: Optional[pulumi.Input[str]] = None, - params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + params: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, schedule: Optional[pulumi.Input[str]] = None, schedule_options: Optional[pulumi.Input[pulumi.InputType['ScheduleOptionsArgs']]] = None, @@ -345,7 +345,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['EncryptionConfigurationArgs']] encryption_configuration: The encryption configuration part. Currently, it is only used for the optional KMS key name. The BigQuery service account of your project must be granted permissions to use the key. Read methods will return the key name applied in effect. Write methods will apply the key if it is present, or otherwise try to apply project default keys if it is absent. :param pulumi.Input[str] name: The resource name of the transfer config. Transfer config names have the form either `projects/{project_id}/locations/{region}/transferConfigs/{config_id}` or `projects/{project_id}/transferConfigs/{config_id}`, where `config_id` is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config. :param pulumi.Input[str] notification_pubsub_topic: Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish. The format for specifying a pubsub topic is: `projects/{project}/topics/{topic}` - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] params: Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq + :param pulumi.Input[Mapping[str, Any]] params: Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq :param pulumi.Input[str] schedule: Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: `1st,3rd monday of month 15:30`, `every wed,fri of jan,jun 13:15`, and `first sunday of quarter 00:00`. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. :param pulumi.Input[pulumi.InputType['ScheduleOptionsArgs']] schedule_options: Options customizing the data transfer schedule. :param pulumi.Input[str] service_account_name: Optional service account email. If this field is set, the transfer config will be created with this service account's credentials. It requires that the requesting user calling this API has permissions to act as this service account. Note that not all data sources support service account credentials when creating a transfer config. For the latest list of data sources, read about [using service accounts](https://cloud.google.com/bigquery-transfer/docs/use-service-accounts). @@ -388,7 +388,7 @@ def _internal_init(__self__, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, notification_pubsub_topic: Optional[pulumi.Input[str]] = None, - params: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + params: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, schedule: Optional[pulumi.Input[str]] = None, schedule_options: Optional[pulumi.Input[pulumi.InputType['ScheduleOptionsArgs']]] = None, @@ -587,7 +587,7 @@ def owner_info(self) -> pulumi.Output['outputs.UserInfoResponse']: @property @pulumi.getter - def params(self) -> pulumi.Output[Mapping[str, str]]: + def params(self) -> pulumi.Output[Mapping[str, Any]]: """ Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq """ diff --git a/sdk/python/pulumi_google_native/bigqueryreservation/v1/outputs.py b/sdk/python/pulumi_google_native/bigqueryreservation/v1/outputs.py index e51b92bddd..452f9572f4 100644 --- a/sdk/python/pulumi_google_native/bigqueryreservation/v1/outputs.py +++ b/sdk/python/pulumi_google_native/bigqueryreservation/v1/outputs.py @@ -74,12 +74,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -96,7 +96,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/bigqueryreservation/v1beta1/outputs.py b/sdk/python/pulumi_google_native/bigqueryreservation/v1beta1/outputs.py index 97e2df633d..3bc2725acb 100644 --- a/sdk/python/pulumi_google_native/bigqueryreservation/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/bigqueryreservation/v1beta1/outputs.py @@ -21,12 +21,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -43,7 +43,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/bigtableadmin/v2/_inputs.py b/sdk/python/pulumi_google_native/bigtableadmin/v2/_inputs.py index 29a633bb16..84c045d222 100644 --- a/sdk/python/pulumi_google_native/bigtableadmin/v2/_inputs.py +++ b/sdk/python/pulumi_google_native/bigtableadmin/v2/_inputs.py @@ -19,12 +19,17 @@ 'ChangeStreamConfigArgs', 'ClusterAutoscalingConfigArgs', 'ClusterConfigArgs', + 'ClusterArgs', + 'ColumnFamilyArgs', 'EncryptionConfigArgs', 'ExprArgs', + 'GcRuleArgs', + 'IntersectionArgs', 'MultiClusterRoutingUseAnyArgs', 'SingleClusterRoutingArgs', 'SplitArgs', 'StandardIsolationArgs', + 'UnionArgs', ] @pulumi.input_type @@ -327,6 +332,134 @@ def cluster_autoscaling_config(self, value: Optional[pulumi.Input['ClusterAutosc pulumi.set(self, "cluster_autoscaling_config", value) +@pulumi.input_type +class ClusterArgs: + def __init__(__self__, *, + cluster_config: Optional[pulumi.Input['ClusterConfigArgs']] = None, + default_storage_type: Optional[pulumi.Input['ClusterDefaultStorageType']] = None, + encryption_config: Optional[pulumi.Input['EncryptionConfigArgs']] = None, + location: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + serve_nodes: Optional[pulumi.Input[int]] = None): + """ + A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance. + :param pulumi.Input['ClusterConfigArgs'] cluster_config: Configuration for this cluster. + :param pulumi.Input['ClusterDefaultStorageType'] default_storage_type: Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. + :param pulumi.Input['EncryptionConfigArgs'] encryption_config: Immutable. The encryption configuration for CMEK-protected clusters. + :param pulumi.Input[str] location: Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. + :param pulumi.Input[str] name: The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. + :param pulumi.Input[int] serve_nodes: The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. + """ + if cluster_config is not None: + pulumi.set(__self__, "cluster_config", cluster_config) + if default_storage_type is not None: + pulumi.set(__self__, "default_storage_type", default_storage_type) + if encryption_config is not None: + pulumi.set(__self__, "encryption_config", encryption_config) + if location is not None: + pulumi.set(__self__, "location", location) + if name is not None: + pulumi.set(__self__, "name", name) + if serve_nodes is not None: + pulumi.set(__self__, "serve_nodes", serve_nodes) + + @property + @pulumi.getter(name="clusterConfig") + def cluster_config(self) -> Optional[pulumi.Input['ClusterConfigArgs']]: + """ + Configuration for this cluster. + """ + return pulumi.get(self, "cluster_config") + + @cluster_config.setter + def cluster_config(self, value: Optional[pulumi.Input['ClusterConfigArgs']]): + pulumi.set(self, "cluster_config", value) + + @property + @pulumi.getter(name="defaultStorageType") + def default_storage_type(self) -> Optional[pulumi.Input['ClusterDefaultStorageType']]: + """ + Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden. + """ + return pulumi.get(self, "default_storage_type") + + @default_storage_type.setter + def default_storage_type(self, value: Optional[pulumi.Input['ClusterDefaultStorageType']]): + pulumi.set(self, "default_storage_type", value) + + @property + @pulumi.getter(name="encryptionConfig") + def encryption_config(self) -> Optional[pulumi.Input['EncryptionConfigArgs']]: + """ + Immutable. The encryption configuration for CMEK-protected clusters. + """ + return pulumi.get(self, "encryption_config") + + @encryption_config.setter + def encryption_config(self, value: Optional[pulumi.Input['EncryptionConfigArgs']]): + pulumi.set(self, "encryption_config", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form `projects/{project}/locations/{zone}`. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The unique name of the cluster. Values are of the form `projects/{project}/instances/{instance}/clusters/a-z*`. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="serveNodes") + def serve_nodes(self) -> Optional[pulumi.Input[int]]: + """ + The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization. + """ + return pulumi.get(self, "serve_nodes") + + @serve_nodes.setter + def serve_nodes(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "serve_nodes", value) + + +@pulumi.input_type +class ColumnFamilyArgs: + def __init__(__self__, *, + gc_rule: Optional[pulumi.Input['GcRuleArgs']] = None): + """ + A set of columns within a table which share a common configuration. + :param pulumi.Input['GcRuleArgs'] gc_rule: Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + """ + if gc_rule is not None: + pulumi.set(__self__, "gc_rule", gc_rule) + + @property + @pulumi.getter(name="gcRule") + def gc_rule(self) -> Optional[pulumi.Input['GcRuleArgs']]: + """ + Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + """ + return pulumi.get(self, "gc_rule") + + @gc_rule.setter + def gc_rule(self, value: Optional[pulumi.Input['GcRuleArgs']]): + pulumi.set(self, "gc_rule", value) + + @pulumi.input_type class EncryptionConfigArgs: def __init__(__self__, *, @@ -423,6 +556,102 @@ def title(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "title", value) +@pulumi.input_type +class GcRuleArgs: + def __init__(__self__, *, + intersection: Optional[pulumi.Input['IntersectionArgs']] = None, + max_age: Optional[pulumi.Input[str]] = None, + max_num_versions: Optional[pulumi.Input[int]] = None, + union: Optional[pulumi.Input['UnionArgs']] = None): + """ + Rule for determining which cells to delete during garbage collection. + :param pulumi.Input['IntersectionArgs'] intersection: Delete cells that would be deleted by every nested rule. + :param pulumi.Input[str] max_age: Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + :param pulumi.Input[int] max_num_versions: Delete all cells in a column except the most recent N. + :param pulumi.Input['UnionArgs'] union: Delete cells that would be deleted by any nested rule. + """ + if intersection is not None: + pulumi.set(__self__, "intersection", intersection) + if max_age is not None: + pulumi.set(__self__, "max_age", max_age) + if max_num_versions is not None: + pulumi.set(__self__, "max_num_versions", max_num_versions) + if union is not None: + pulumi.set(__self__, "union", union) + + @property + @pulumi.getter + def intersection(self) -> Optional[pulumi.Input['IntersectionArgs']]: + """ + Delete cells that would be deleted by every nested rule. + """ + return pulumi.get(self, "intersection") + + @intersection.setter + def intersection(self, value: Optional[pulumi.Input['IntersectionArgs']]): + pulumi.set(self, "intersection", value) + + @property + @pulumi.getter(name="maxAge") + def max_age(self) -> Optional[pulumi.Input[str]]: + """ + Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + """ + return pulumi.get(self, "max_age") + + @max_age.setter + def max_age(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "max_age", value) + + @property + @pulumi.getter(name="maxNumVersions") + def max_num_versions(self) -> Optional[pulumi.Input[int]]: + """ + Delete all cells in a column except the most recent N. + """ + return pulumi.get(self, "max_num_versions") + + @max_num_versions.setter + def max_num_versions(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_num_versions", value) + + @property + @pulumi.getter + def union(self) -> Optional[pulumi.Input['UnionArgs']]: + """ + Delete cells that would be deleted by any nested rule. + """ + return pulumi.get(self, "union") + + @union.setter + def union(self, value: Optional[pulumi.Input['UnionArgs']]): + pulumi.set(self, "union", value) + + +@pulumi.input_type +class IntersectionArgs: + def __init__(__self__, *, + rules: Optional[pulumi.Input[Sequence[pulumi.Input['GcRuleArgs']]]] = None): + """ + A GcRule which deletes cells matching all of the given rules. + :param pulumi.Input[Sequence[pulumi.Input['GcRuleArgs']]] rules: Only delete cells which would be deleted by every element of `rules`. + """ + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter + def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GcRuleArgs']]]]: + """ + Only delete cells which would be deleted by every element of `rules`. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GcRuleArgs']]]]): + pulumi.set(self, "rules", value) + + @pulumi.input_type class MultiClusterRoutingUseAnyArgs: def __init__(__self__, *, @@ -535,3 +764,27 @@ def priority(self, value: Optional[pulumi.Input['StandardIsolationPriority']]): pulumi.set(self, "priority", value) +@pulumi.input_type +class UnionArgs: + def __init__(__self__, *, + rules: Optional[pulumi.Input[Sequence[pulumi.Input['GcRuleArgs']]]] = None): + """ + A GcRule which deletes cells matching any of the given rules. + :param pulumi.Input[Sequence[pulumi.Input['GcRuleArgs']]] rules: Delete cells which would be deleted by any element of `rules`. + """ + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter + def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GcRuleArgs']]]]: + """ + Delete cells which would be deleted by any element of `rules`. + """ + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GcRuleArgs']]]]): + pulumi.set(self, "rules", value) + + diff --git a/sdk/python/pulumi_google_native/bigtableadmin/v2/cluster.py b/sdk/python/pulumi_google_native/bigtableadmin/v2/cluster.py index 624597d2ad..42dd7bb753 100644 --- a/sdk/python/pulumi_google_native/bigtableadmin/v2/cluster.py +++ b/sdk/python/pulumi_google_native/bigtableadmin/v2/cluster.py @@ -12,10 +12,10 @@ from ._enums import * from ._inputs import * -__all__ = ['ClusterArgs', 'Cluster'] +__all__ = ['ClusterInitArgs', 'Cluster'] @pulumi.input_type -class ClusterArgs: +class ClusterInitArgs: def __init__(__self__, *, cluster_id: pulumi.Input[str], instance_id: pulumi.Input[str], @@ -188,18 +188,18 @@ def __init__(__self__, @overload def __init__(__self__, resource_name: str, - args: ClusterArgs, + args: ClusterInitArgs, opts: Optional[pulumi.ResourceOptions] = None): """ Creates a cluster within an instance. Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled. :param str resource_name: The name of the resource. - :param ClusterArgs args: The arguments to use to populate this resource's properties. + :param ClusterInitArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. """ ... def __init__(__self__, resource_name: str, *args, **kwargs): - resource_args, opts = _utilities.get_resource_args_opts(ClusterArgs, pulumi.ResourceOptions, *args, **kwargs) + resource_args, opts = _utilities.get_resource_args_opts(ClusterInitArgs, pulumi.ResourceOptions, *args, **kwargs) if resource_args is not None: __self__._internal_init(resource_name, opts, **resource_args.__dict__) else: @@ -224,7 +224,7 @@ def _internal_init(__self__, if opts.id is None: if __props__ is not None: raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') - __props__ = ClusterArgs.__new__(ClusterArgs) + __props__ = ClusterInitArgs.__new__(ClusterInitArgs) __props__.__dict__["cluster_config"] = cluster_config if cluster_id is None and not opts.urn: @@ -262,7 +262,7 @@ def get(resource_name: str, """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) - __props__ = ClusterArgs.__new__(ClusterArgs) + __props__ = ClusterInitArgs.__new__(ClusterInitArgs) __props__.__dict__["cluster_config"] = None __props__.__dict__["cluster_id"] = None diff --git a/sdk/python/pulumi_google_native/bigtableadmin/v2/get_table.py b/sdk/python/pulumi_google_native/bigtableadmin/v2/get_table.py index f9a748ee74..21bfc4ead3 100644 --- a/sdk/python/pulumi_google_native/bigtableadmin/v2/get_table.py +++ b/sdk/python/pulumi_google_native/bigtableadmin/v2/get_table.py @@ -55,7 +55,7 @@ def change_stream_config(self) -> 'outputs.ChangeStreamConfigResponse': @property @pulumi.getter(name="clusterStates") - def cluster_states(self) -> Mapping[str, str]: + def cluster_states(self) -> Mapping[str, 'outputs.ClusterStateResponse']: """ Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` """ @@ -63,7 +63,7 @@ def cluster_states(self) -> Mapping[str, str]: @property @pulumi.getter(name="columnFamilies") - def column_families(self) -> Mapping[str, str]: + def column_families(self) -> Mapping[str, 'outputs.ColumnFamilyResponse']: """ The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` """ diff --git a/sdk/python/pulumi_google_native/bigtableadmin/v2/instance.py b/sdk/python/pulumi_google_native/bigtableadmin/v2/instance.py index 890e9cd165..ba0627da0d 100644 --- a/sdk/python/pulumi_google_native/bigtableadmin/v2/instance.py +++ b/sdk/python/pulumi_google_native/bigtableadmin/v2/instance.py @@ -9,13 +9,14 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities from ._enums import * +from ._inputs import * __all__ = ['InstanceArgs', 'Instance'] @pulumi.input_type class InstanceArgs: def __init__(__self__, *, - clusters: pulumi.Input[Mapping[str, pulumi.Input[str]]], + clusters: pulumi.Input[Mapping[str, pulumi.Input['ClusterArgs']]], display_name: pulumi.Input[str], instance_id: pulumi.Input[str], parent: pulumi.Input[str], @@ -25,7 +26,7 @@ def __init__(__self__, *, type: Optional[pulumi.Input['InstanceType']] = None): """ The set of arguments for constructing a Instance resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] clusters: The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. + :param pulumi.Input[Mapping[str, pulumi.Input['ClusterArgs']]] clusters: The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. :param pulumi.Input[str] display_name: The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion. :param pulumi.Input[str] instance_id: The ID to be used when referring to the new instance within its project, e.g., just `myinstance` rather than `projects/myproject/instances/myinstance`. :param pulumi.Input[str] parent: The unique name of the project in which to create the new instance. Values are of the form `projects/{project}`. @@ -48,14 +49,14 @@ def __init__(__self__, *, @property @pulumi.getter - def clusters(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def clusters(self) -> pulumi.Input[Mapping[str, pulumi.Input['ClusterArgs']]]: """ The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. """ return pulumi.get(self, "clusters") @clusters.setter - def clusters(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def clusters(self, value: pulumi.Input[Mapping[str, pulumi.Input['ClusterArgs']]]): pulumi.set(self, "clusters", value) @property @@ -145,7 +146,7 @@ class Instance(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - clusters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + clusters: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ClusterArgs']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -159,7 +160,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] clusters: The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ClusterArgs']]]] clusters: The clusters to be created within the instance, mapped by desired cluster ID, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. Fields marked `OutputOnly` must be left blank. :param pulumi.Input[str] display_name: The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion. :param pulumi.Input[str] instance_id: The ID to be used when referring to the new instance within its project, e.g., just `myinstance` rather than `projects/myproject/instances/myinstance`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics. * Label keys must be between 1 and 63 characters long and must conform to the regular expression: `\\p{Ll}\\p{Lo}{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}`. * No more than 64 labels can be associated with a given resource. * Keys and values must both be under 128 bytes. @@ -191,7 +192,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - clusters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + clusters: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ClusterArgs']]]]] = None, display_name: Optional[pulumi.Input[str]] = None, instance_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, diff --git a/sdk/python/pulumi_google_native/bigtableadmin/v2/outputs.py b/sdk/python/pulumi_google_native/bigtableadmin/v2/outputs.py index fb0f19ad26..67f7210dec 100644 --- a/sdk/python/pulumi_google_native/bigtableadmin/v2/outputs.py +++ b/sdk/python/pulumi_google_native/bigtableadmin/v2/outputs.py @@ -21,15 +21,21 @@ 'ChangeStreamConfigResponse', 'ClusterAutoscalingConfigResponse', 'ClusterConfigResponse', + 'ClusterStateResponse', + 'ColumnFamilyResponse', + 'ColumnFamilyStatsResponse', 'EncryptionConfigResponse', 'EncryptionInfoResponse', 'ExprResponse', + 'GcRuleResponse', + 'IntersectionResponse', 'MultiClusterRoutingUseAnyResponse', 'RestoreInfoResponse', 'SingleClusterRoutingResponse', 'StandardIsolationResponse', 'StatusResponse', 'TableStatsResponse', + 'UnionResponse', ] @pulumi.output_type @@ -501,6 +507,173 @@ def cluster_autoscaling_config(self) -> 'outputs.ClusterAutoscalingConfigRespons return pulumi.get(self, "cluster_autoscaling_config") +@pulumi.output_type +class ClusterStateResponse(dict): + """ + The state of a table's data in a particular cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "encryptionInfo": + suggest = "encryption_info" + elif key == "replicationState": + suggest = "replication_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + encryption_info: Sequence['outputs.EncryptionInfoResponse'], + replication_state: str): + """ + The state of a table's data in a particular cluster. + :param Sequence['EncryptionInfoResponse'] encryption_info: The encryption information for the table in this cluster. If the encryption key protecting this resource is customer managed, then its version can be rotated in Cloud Key Management Service (Cloud KMS). The primary version of the key and its status will be reflected here when changes propagate from Cloud KMS. + :param str replication_state: The state of replication for the table in this cluster. + """ + pulumi.set(__self__, "encryption_info", encryption_info) + pulumi.set(__self__, "replication_state", replication_state) + + @property + @pulumi.getter(name="encryptionInfo") + def encryption_info(self) -> Sequence['outputs.EncryptionInfoResponse']: + """ + The encryption information for the table in this cluster. If the encryption key protecting this resource is customer managed, then its version can be rotated in Cloud Key Management Service (Cloud KMS). The primary version of the key and its status will be reflected here when changes propagate from Cloud KMS. + """ + return pulumi.get(self, "encryption_info") + + @property + @pulumi.getter(name="replicationState") + def replication_state(self) -> str: + """ + The state of replication for the table in this cluster. + """ + return pulumi.get(self, "replication_state") + + +@pulumi.output_type +class ColumnFamilyResponse(dict): + """ + A set of columns within a table which share a common configuration. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "gcRule": + suggest = "gc_rule" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ColumnFamilyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ColumnFamilyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ColumnFamilyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + gc_rule: 'outputs.GcRuleResponse', + stats: 'outputs.ColumnFamilyStatsResponse'): + """ + A set of columns within a table which share a common configuration. + :param 'GcRuleResponse' gc_rule: Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + :param 'ColumnFamilyStatsResponse' stats: Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above. + """ + pulumi.set(__self__, "gc_rule", gc_rule) + pulumi.set(__self__, "stats", stats) + + @property + @pulumi.getter(name="gcRule") + def gc_rule(self) -> 'outputs.GcRuleResponse': + """ + Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes. NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. + """ + return pulumi.get(self, "gc_rule") + + @property + @pulumi.getter + def stats(self) -> 'outputs.ColumnFamilyStatsResponse': + """ + Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above. + """ + return pulumi.get(self, "stats") + + +@pulumi.output_type +class ColumnFamilyStatsResponse(dict): + """ + Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "averageCellsPerColumn": + suggest = "average_cells_per_column" + elif key == "averageColumnsPerRow": + suggest = "average_columns_per_row" + elif key == "logicalDataBytes": + suggest = "logical_data_bytes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ColumnFamilyStatsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ColumnFamilyStatsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ColumnFamilyStatsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + average_cells_per_column: float, + average_columns_per_row: float, + logical_data_bytes: str): + """ + Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified. + :param float average_cells_per_column: How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family "family" in a table with 3 rows: * A row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1 column in "family") * A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in "family") * A row with 3 cells in "other:col" (0 columns in "family", "family" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field. + :param float average_columns_per_row: How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family "family" in a table with 3 rows: * A row with cells in "family:col" and "other:col" (1 column in "family") * A row with cells in "family:col", "family:other_col", and "other:data" (2 columns in "family") * A row with cells in "other:col" (0 columns in "family", "family" not present) would report (1 + 2 + 0)/3 = 1.5 in this field. + :param str logical_data_bytes: How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out). + """ + pulumi.set(__self__, "average_cells_per_column", average_cells_per_column) + pulumi.set(__self__, "average_columns_per_row", average_columns_per_row) + pulumi.set(__self__, "logical_data_bytes", logical_data_bytes) + + @property + @pulumi.getter(name="averageCellsPerColumn") + def average_cells_per_column(self) -> float: + """ + How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family "family" in a table with 3 rows: * A row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1 column in "family") * A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in "family") * A row with 3 cells in "other:col" (0 columns in "family", "family" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field. + """ + return pulumi.get(self, "average_cells_per_column") + + @property + @pulumi.getter(name="averageColumnsPerRow") + def average_columns_per_row(self) -> float: + """ + How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family "family" in a table with 3 rows: * A row with cells in "family:col" and "other:col" (1 column in "family") * A row with cells in "family:col", "family:other_col", and "other:data" (2 columns in "family") * A row with cells in "other:col" (0 columns in "family", "family" not present) would report (1 + 2 + 0)/3 = 1.5 in this field. + """ + return pulumi.get(self, "average_columns_per_row") + + @property + @pulumi.getter(name="logicalDataBytes") + def logical_data_bytes(self) -> str: + """ + How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out). + """ + return pulumi.get(self, "logical_data_bytes") + + @pulumi.output_type class EncryptionConfigResponse(dict): """ @@ -660,6 +833,102 @@ def title(self) -> str: return pulumi.get(self, "title") +@pulumi.output_type +class GcRuleResponse(dict): + """ + Rule for determining which cells to delete during garbage collection. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxAge": + suggest = "max_age" + elif key == "maxNumVersions": + suggest = "max_num_versions" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GcRuleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GcRuleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GcRuleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + intersection: 'outputs.IntersectionResponse', + max_age: str, + max_num_versions: int, + union: 'outputs.UnionResponse'): + """ + Rule for determining which cells to delete during garbage collection. + :param 'IntersectionResponse' intersection: Delete cells that would be deleted by every nested rule. + :param str max_age: Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + :param int max_num_versions: Delete all cells in a column except the most recent N. + :param 'UnionResponse' union: Delete cells that would be deleted by any nested rule. + """ + pulumi.set(__self__, "intersection", intersection) + pulumi.set(__self__, "max_age", max_age) + pulumi.set(__self__, "max_num_versions", max_num_versions) + pulumi.set(__self__, "union", union) + + @property + @pulumi.getter + def intersection(self) -> 'outputs.IntersectionResponse': + """ + Delete cells that would be deleted by every nested rule. + """ + return pulumi.get(self, "intersection") + + @property + @pulumi.getter(name="maxAge") + def max_age(self) -> str: + """ + Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity. + """ + return pulumi.get(self, "max_age") + + @property + @pulumi.getter(name="maxNumVersions") + def max_num_versions(self) -> int: + """ + Delete all cells in a column except the most recent N. + """ + return pulumi.get(self, "max_num_versions") + + @property + @pulumi.getter + def union(self) -> 'outputs.UnionResponse': + """ + Delete cells that would be deleted by any nested rule. + """ + return pulumi.get(self, "union") + + +@pulumi.output_type +class IntersectionResponse(dict): + """ + A GcRule which deletes cells matching all of the given rules. + """ + def __init__(__self__, *, + rules: Sequence['outputs.GcRuleResponse']): + """ + A GcRule which deletes cells matching all of the given rules. + :param Sequence['GcRuleResponse'] rules: Only delete cells which would be deleted by every element of `rules`. + """ + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter + def rules(self) -> Sequence['outputs.GcRuleResponse']: + """ + Only delete cells which would be deleted by every element of `rules`. + """ + return pulumi.get(self, "rules") + + @pulumi.output_type class MultiClusterRoutingUseAnyResponse(dict): """ @@ -832,12 +1101,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -854,7 +1123,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ @@ -947,3 +1216,25 @@ def row_count(self) -> str: return pulumi.get(self, "row_count") +@pulumi.output_type +class UnionResponse(dict): + """ + A GcRule which deletes cells matching any of the given rules. + """ + def __init__(__self__, *, + rules: Sequence['outputs.GcRuleResponse']): + """ + A GcRule which deletes cells matching any of the given rules. + :param Sequence['GcRuleResponse'] rules: Delete cells which would be deleted by any element of `rules`. + """ + pulumi.set(__self__, "rules", rules) + + @property + @pulumi.getter + def rules(self) -> Sequence['outputs.GcRuleResponse']: + """ + Delete cells which would be deleted by any element of `rules`. + """ + return pulumi.get(self, "rules") + + diff --git a/sdk/python/pulumi_google_native/bigtableadmin/v2/table.py b/sdk/python/pulumi_google_native/bigtableadmin/v2/table.py index 7058f9390d..149cda21e0 100644 --- a/sdk/python/pulumi_google_native/bigtableadmin/v2/table.py +++ b/sdk/python/pulumi_google_native/bigtableadmin/v2/table.py @@ -20,7 +20,7 @@ def __init__(__self__, *, instance_id: pulumi.Input[str], table_id: pulumi.Input[str], change_stream_config: Optional[pulumi.Input['ChangeStreamConfigArgs']] = None, - column_families: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + column_families: Optional[pulumi.Input[Mapping[str, pulumi.Input['ColumnFamilyArgs']]]] = None, deletion_protection: Optional[pulumi.Input[bool]] = None, granularity: Optional[pulumi.Input['TableGranularity']] = None, initial_splits: Optional[pulumi.Input[Sequence[pulumi.Input['SplitArgs']]]] = None, @@ -30,7 +30,7 @@ def __init__(__self__, *, The set of arguments for constructing a Table resource. :param pulumi.Input[str] table_id: The name by which the new table should be referred to within the parent instance, e.g., `foobar` rather than `{parent}/tables/foobar`. Maximum 50 characters. :param pulumi.Input['ChangeStreamConfigArgs'] change_stream_config: If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] column_families: The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` + :param pulumi.Input[Mapping[str, pulumi.Input['ColumnFamilyArgs']]] column_families: The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` :param pulumi.Input[bool] deletion_protection: Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. :param pulumi.Input['TableGranularity'] granularity: Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. :param pulumi.Input[Sequence[pulumi.Input['SplitArgs']]] initial_splits: The optional list of row keys that will be used to initially split the table into several tablets (tablets are similar to HBase regions). Given two split keys, `s1` and `s2`, three tablets will be created, spanning the key ranges: `[, s1), [s1, s2), [s2, )`. Example: * Row keys := `["a", "apple", "custom", "customer_1", "customer_2",` `"other", "zz"]` * initial_split_keys := `["apple", "customer_1", "customer_2", "other"]` * Key assignment: - Tablet 1 `[, apple) => {"a"}.` - Tablet 2 `[apple, customer_1) => {"apple", "custom"}.` - Tablet 3 `[customer_1, customer_2) => {"customer_1"}.` - Tablet 4 `[customer_2, other) => {"customer_2"}.` - Tablet 5 `[other, ) => {"other", "zz"}.` @@ -88,14 +88,14 @@ def change_stream_config(self, value: Optional[pulumi.Input['ChangeStreamConfigA @property @pulumi.getter(name="columnFamilies") - def column_families(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def column_families(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ColumnFamilyArgs']]]]: """ The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` """ return pulumi.get(self, "column_families") @column_families.setter - def column_families(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def column_families(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ColumnFamilyArgs']]]]): pulumi.set(self, "column_families", value) @property @@ -162,7 +162,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, change_stream_config: Optional[pulumi.Input[pulumi.InputType['ChangeStreamConfigArgs']]] = None, - column_families: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + column_families: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ColumnFamilyArgs']]]]] = None, deletion_protection: Optional[pulumi.Input[bool]] = None, granularity: Optional[pulumi.Input['TableGranularity']] = None, initial_splits: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SplitArgs']]]]] = None, @@ -177,7 +177,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['ChangeStreamConfigArgs']] change_stream_config: If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] column_families: The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ColumnFamilyArgs']]]] column_families: The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` :param pulumi.Input[bool] deletion_protection: Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * The table. * The column families in the table. * The instance containing the table. Note one can still delete the data stored in the table through Data APIs. :param pulumi.Input['TableGranularity'] granularity: Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to `MILLIS`. Views: `SCHEMA_VIEW`, `FULL`. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SplitArgs']]]] initial_splits: The optional list of row keys that will be used to initially split the table into several tablets (tablets are similar to HBase regions). Given two split keys, `s1` and `s2`, three tablets will be created, spanning the key ranges: `[, s1), [s1, s2), [s2, )`. Example: * Row keys := `["a", "apple", "custom", "customer_1", "customer_2",` `"other", "zz"]` * initial_split_keys := `["apple", "customer_1", "customer_2", "other"]` * Key assignment: - Tablet 1 `[, apple) => {"a"}.` - Tablet 2 `[apple, customer_1) => {"apple", "custom"}.` - Tablet 3 `[customer_1, customer_2) => {"customer_1"}.` - Tablet 4 `[customer_2, other) => {"customer_2"}.` - Tablet 5 `[other, ) => {"other", "zz"}.` @@ -209,7 +209,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, change_stream_config: Optional[pulumi.Input[pulumi.InputType['ChangeStreamConfigArgs']]] = None, - column_families: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + column_families: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ColumnFamilyArgs']]]]] = None, deletion_protection: Optional[pulumi.Input[bool]] = None, granularity: Optional[pulumi.Input['TableGranularity']] = None, initial_splits: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SplitArgs']]]]] = None, @@ -288,7 +288,7 @@ def change_stream_config(self) -> pulumi.Output['outputs.ChangeStreamConfigRespo @property @pulumi.getter(name="clusterStates") - def cluster_states(self) -> pulumi.Output[Mapping[str, str]]: + def cluster_states(self) -> pulumi.Output[Mapping[str, 'outputs.ClusterStateResponse']]: """ Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN `replication_status`. Views: `REPLICATION_VIEW`, `ENCRYPTION_VIEW`, `FULL` """ @@ -296,7 +296,7 @@ def cluster_states(self) -> pulumi.Output[Mapping[str, str]]: @property @pulumi.getter(name="columnFamilies") - def column_families(self) -> pulumi.Output[Mapping[str, str]]: + def column_families(self) -> pulumi.Output[Mapping[str, 'outputs.ColumnFamilyResponse']]: """ The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL` """ diff --git a/sdk/python/pulumi_google_native/billingbudgets/v1/_inputs.py b/sdk/python/pulumi_google_native/billingbudgets/v1/_inputs.py index 2aed2c4a85..b50815ad17 100644 --- a/sdk/python/pulumi_google_native/billingbudgets/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/billingbudgets/v1/_inputs.py @@ -107,7 +107,7 @@ def __init__(__self__, *, credit_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, credit_types_treatment: Optional[pulumi.Input['GoogleCloudBillingBudgetsV1FilterCreditTypesTreatment']] = None, custom_period: Optional[pulumi.Input['GoogleCloudBillingBudgetsV1CustomPeriodArgs']] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[Sequence[Any]]]]] = None, projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, resource_ancestors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -118,7 +118,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] credit_types: Optional. If Filter.credit_types_treatment is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See [a list of acceptable credit type values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type). If Filter.credit_types_treatment is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty. :param pulumi.Input['GoogleCloudBillingBudgetsV1FilterCreditTypesTreatment'] credit_types_treatment: Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`. :param pulumi.Input['GoogleCloudBillingBudgetsV1CustomPeriodArgs'] custom_period: Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ + :param pulumi.Input[Mapping[str, pulumi.Input[Sequence[Any]]]] labels: Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ :param pulumi.Input[Sequence[pulumi.Input[str]]] projects: Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_ancestors: Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. :param pulumi.Input[Sequence[pulumi.Input[str]]] services: Optional. A set of services of the form `services/{service_id}`, specifying that usage from only this set of services should be included in the budget. If omitted, the report includes usage for all the services. The service names are available through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api. @@ -193,14 +193,14 @@ def custom_period(self, value: Optional[pulumi.Input['GoogleCloudBillingBudgetsV @property @pulumi.getter - def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[Sequence[Any]]]]]: """ Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ """ return pulumi.get(self, "labels") @labels.setter - def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[Sequence[Any]]]]]): pulumi.set(self, "labels", value) @property diff --git a/sdk/python/pulumi_google_native/billingbudgets/v1/outputs.py b/sdk/python/pulumi_google_native/billingbudgets/v1/outputs.py index 1be7ba406b..87e5ce23de 100644 --- a/sdk/python/pulumi_google_native/billingbudgets/v1/outputs.py +++ b/sdk/python/pulumi_google_native/billingbudgets/v1/outputs.py @@ -161,7 +161,7 @@ def __init__(__self__, *, credit_types: Sequence[str], credit_types_treatment: str, custom_period: 'outputs.GoogleCloudBillingBudgetsV1CustomPeriodResponse', - labels: Mapping[str, str], + labels: Mapping[str, Sequence[Any]], projects: Sequence[str], resource_ancestors: Sequence[str], services: Sequence[str], @@ -172,7 +172,7 @@ def __init__(__self__, *, :param Sequence[str] credit_types: Optional. If Filter.credit_types_treatment is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See [a list of acceptable credit type values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type). If Filter.credit_types_treatment is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty. :param str credit_types_treatment: Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`. :param 'GoogleCloudBillingBudgetsV1CustomPeriodResponse' custom_period: Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. - :param Mapping[str, str] labels: Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ + :param Mapping[str, Sequence[Any]] labels: Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ :param Sequence[str] projects: Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report includes all usage for the billing account, regardless of which project the usage occurred on. :param Sequence[str] resource_ancestors: Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. :param Sequence[str] services: Optional. A set of services of the form `services/{service_id}`, specifying that usage from only this set of services should be included in the budget. If omitted, the report includes usage for all the services. The service names are available through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api. @@ -222,7 +222,7 @@ def custom_period(self) -> 'outputs.GoogleCloudBillingBudgetsV1CustomPeriodRespo @property @pulumi.getter - def labels(self) -> Mapping[str, str]: + def labels(self) -> Mapping[str, Sequence[Any]]: """ Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report includes all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ """ diff --git a/sdk/python/pulumi_google_native/billingbudgets/v1beta1/_inputs.py b/sdk/python/pulumi_google_native/billingbudgets/v1beta1/_inputs.py index d7a8d76952..8df51ae326 100644 --- a/sdk/python/pulumi_google_native/billingbudgets/v1beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/billingbudgets/v1beta1/_inputs.py @@ -195,7 +195,7 @@ def __init__(__self__, *, credit_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, credit_types_treatment: Optional[pulumi.Input['GoogleCloudBillingBudgetsV1beta1FilterCreditTypesTreatment']] = None, custom_period: Optional[pulumi.Input['GoogleCloudBillingBudgetsV1beta1CustomPeriodArgs']] = None, - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[Sequence[Any]]]]] = None, projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, resource_ancestors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, services: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -206,7 +206,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] credit_types: Optional. If Filter.credit_types_treatment is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See [a list of acceptable credit type values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type). If Filter.credit_types_treatment is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty. :param pulumi.Input['GoogleCloudBillingBudgetsV1beta1FilterCreditTypesTreatment'] credit_types_treatment: Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`. :param pulumi.Input['GoogleCloudBillingBudgetsV1beta1CustomPeriodArgs'] custom_period: Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ + :param pulumi.Input[Mapping[str, pulumi.Input[Sequence[Any]]]] labels: Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ :param pulumi.Input[Sequence[pulumi.Input[str]]] projects: Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_ancestors: Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. :param pulumi.Input[Sequence[pulumi.Input[str]]] services: Optional. A set of services of the form `services/{service_id}`, specifying that usage from only this set of services should be included in the budget. If omitted, the report will include usage for all the services. The service names are available through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api. @@ -281,14 +281,14 @@ def custom_period(self, value: Optional[pulumi.Input['GoogleCloudBillingBudgetsV @property @pulumi.getter - def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[Sequence[Any]]]]]: """ Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ """ return pulumi.get(self, "labels") @labels.setter - def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[Sequence[Any]]]]]): pulumi.set(self, "labels", value) @property diff --git a/sdk/python/pulumi_google_native/billingbudgets/v1beta1/outputs.py b/sdk/python/pulumi_google_native/billingbudgets/v1beta1/outputs.py index c7d1bdaf92..82d5dfb7ad 100644 --- a/sdk/python/pulumi_google_native/billingbudgets/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/billingbudgets/v1beta1/outputs.py @@ -252,7 +252,7 @@ def __init__(__self__, *, credit_types: Sequence[str], credit_types_treatment: str, custom_period: 'outputs.GoogleCloudBillingBudgetsV1beta1CustomPeriodResponse', - labels: Mapping[str, str], + labels: Mapping[str, Sequence[Any]], projects: Sequence[str], resource_ancestors: Sequence[str], services: Sequence[str], @@ -263,7 +263,7 @@ def __init__(__self__, *, :param Sequence[str] credit_types: Optional. If Filter.credit_types_treatment is INCLUDE_SPECIFIED_CREDITS, this is a list of credit types to be subtracted from gross cost to determine the spend for threshold calculations. See [a list of acceptable credit type values](https://cloud.google.com/billing/docs/how-to/export-data-bigquery-tables#credits-type). If Filter.credit_types_treatment is **not** INCLUDE_SPECIFIED_CREDITS, this field must be empty. :param str credit_types_treatment: Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`. :param 'GoogleCloudBillingBudgetsV1beta1CustomPeriodResponse' custom_period: Optional. Specifies to track usage from any start date (required) to any end date (optional). This time period is static, it does not recur. - :param Mapping[str, str] labels: Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ + :param Mapping[str, Sequence[Any]] labels: Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ :param Sequence[str] projects: Optional. A set of projects of the form `projects/{project}`, specifying that usage from only this set of projects should be included in the budget. If omitted, the report will include all usage for the billing account, regardless of which project the usage occurred on. :param Sequence[str] resource_ancestors: Optional. A set of folder and organization names of the form `folders/{folderId}` or `organizations/{organizationId}`, specifying that usage from only this set of folders and organizations should be included in the budget. If omitted, the budget includes all usage that the billing account pays for. If the folder or organization contains projects that are paid for by a different Cloud Billing account, the budget *doesn't* apply to those projects. :param Sequence[str] services: Optional. A set of services of the form `services/{service_id}`, specifying that usage from only this set of services should be included in the budget. If omitted, the report will include usage for all the services. The service names are available through the Catalog API: https://cloud.google.com/billing/v1/how-tos/catalog-api. @@ -313,7 +313,7 @@ def custom_period(self) -> 'outputs.GoogleCloudBillingBudgetsV1beta1CustomPeriod @property @pulumi.getter - def labels(self) -> Mapping[str, str]: + def labels(self) -> Mapping[str, Sequence[Any]]: """ Optional. A single label and value pair specifying that usage from only this set of labeled resources should be included in the budget. If omitted, the report will include all labeled and unlabeled usage. An object containing a single `"key": value` pair. Example: `{ "name": "wrench" }`. _Currently, multiple entries or multiple values per entry are not allowed._ """ diff --git a/sdk/python/pulumi_google_native/cloudbuild/v1/build.py b/sdk/python/pulumi_google_native/cloudbuild/v1/build.py index 4a3ef2854f..ec9e553303 100644 --- a/sdk/python/pulumi_google_native/cloudbuild/v1/build.py +++ b/sdk/python/pulumi_google_native/cloudbuild/v1/build.py @@ -675,7 +675,7 @@ def timeout(self) -> pulumi.Output[str]: @property @pulumi.getter - def timing(self) -> pulumi.Output[Mapping[str, str]]: + def timing(self) -> pulumi.Output[Mapping[str, 'outputs.TimeSpanResponse']]: """ Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. """ diff --git a/sdk/python/pulumi_google_native/cloudbuild/v1/get_build.py b/sdk/python/pulumi_google_native/cloudbuild/v1/get_build.py index cbc8e237cb..92e8e986af 100644 --- a/sdk/python/pulumi_google_native/cloudbuild/v1/get_build.py +++ b/sdk/python/pulumi_google_native/cloudbuild/v1/get_build.py @@ -315,7 +315,7 @@ def timeout(self) -> str: @property @pulumi.getter - def timing(self) -> Mapping[str, str]: + def timing(self) -> Mapping[str, 'outputs.TimeSpanResponse']: """ Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. """ diff --git a/sdk/python/pulumi_google_native/cloudbuild/v1/outputs.py b/sdk/python/pulumi_google_native/cloudbuild/v1/outputs.py index 9367786fa1..c588ee3947 100644 --- a/sdk/python/pulumi_google_native/cloudbuild/v1/outputs.py +++ b/sdk/python/pulumi_google_native/cloudbuild/v1/outputs.py @@ -1048,7 +1048,7 @@ def __init__(__self__, *, substitutions: Mapping[str, str], tags: Sequence[str], timeout: str, - timing: Mapping[str, str], + timing: Mapping[str, 'outputs.TimeSpanResponse'], warnings: Sequence['outputs.WarningResponse']): """ A build resource in the Cloud Build API. At a high level, a `Build` describes where to find source code, how to build it (for example, the builder image to run on the source), and where to store the built artifacts. Fields can include the following variables, which will be expanded when the build is created: - $PROJECT_ID: the project ID of the build. - $PROJECT_NUMBER: the project number of the build. - $LOCATION: the location/region of the build. - $BUILD_ID: the autogenerated ID of the build. - $REPO_NAME: the source repository name specified by RepoSource. - $BRANCH_NAME: the branch name specified by RepoSource. - $TAG_NAME: the tag name specified by RepoSource. - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or resolved from the specified branch or tag. - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA. @@ -1078,7 +1078,7 @@ def __init__(__self__, *, :param Mapping[str, str] substitutions: Substitutions data for `Build` resource. :param Sequence[str] tags: Tags for annotation of a `Build`. These are not docker tags. :param str timeout: Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be `TIMEOUT`. `timeout` starts ticking from `startTime`. Default time is 60 minutes. - :param Mapping[str, str] timing: Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. + :param Mapping[str, 'TimeSpanResponse'] timing: Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. :param Sequence['WarningResponse'] warnings: Non-fatal problems encountered during the execution of the build. """ pulumi.set(__self__, "approval", approval) @@ -1320,7 +1320,7 @@ def timeout(self) -> str: @property @pulumi.getter - def timing(self) -> Mapping[str, str]: + def timing(self) -> Mapping[str, 'outputs.TimeSpanResponse']: """ Stores timing information for phases of the build. Valid keys are: * BUILD: time to execute all build steps. * PUSH: time to push all artifacts including docker images and non docker artifacts. * FETCHSOURCE: time to fetch source. * SETUPBUILD: time to set up build. If the build does not specify source or images, these keys will not be included. """ @@ -3734,7 +3734,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - file_hashes: Mapping[str, str], + file_hashes: Mapping[str, 'outputs.FileHashesResponse'], resolved_connected_repository: 'outputs.ConnectedRepositoryResponse', resolved_git_source: 'outputs.GitSourceResponse', resolved_repo_source: 'outputs.RepoSourceResponse', @@ -3742,7 +3742,7 @@ def __init__(__self__, *, resolved_storage_source_manifest: 'outputs.StorageSourceManifestResponse'): """ Provenance of the source. Ways to find the original source, or verify that some source was used for this build. - :param Mapping[str, str] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file. + :param Mapping[str, 'FileHashesResponse'] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file. :param 'ConnectedRepositoryResponse' resolved_connected_repository: A copy of the build's `source.connected_repository`, if exists, with any revisions resolved. :param 'GitSourceResponse' resolved_git_source: A copy of the build's `source.git_source`, if exists, with any revisions resolved. :param 'RepoSourceResponse' resolved_repo_source: A copy of the build's `source.repo_source`, if exists, with any revisions resolved. @@ -3758,7 +3758,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="fileHashes") - def file_hashes(self) -> Mapping[str, str]: + def file_hashes(self) -> Mapping[str, 'outputs.FileHashesResponse']: """ Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. Note that `FileHashes` will only be populated if `BuildOptions` has requested a `SourceProvenanceHash`. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (`.tar.gz`), the `FileHash` will be for the single path to that file. """ diff --git a/sdk/python/pulumi_google_native/cloudchannel/v1/_inputs.py b/sdk/python/pulumi_google_native/cloudchannel/v1/_inputs.py index d82d101129..bd09a3c5b9 100644 --- a/sdk/python/pulumi_google_native/cloudchannel/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/cloudchannel/v1/_inputs.py @@ -612,14 +612,14 @@ def __init__(__self__, *, bool_value: Optional[pulumi.Input[bool]] = None, double_value: Optional[pulumi.Input[float]] = None, int64_value: Optional[pulumi.Input[str]] = None, - proto_value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + proto_value: Optional[pulumi.Input[Mapping[str, Any]]] = None, string_value: Optional[pulumi.Input[str]] = None): """ Data type and value of a parameter. :param pulumi.Input[bool] bool_value: Represents a boolean value. :param pulumi.Input[float] double_value: Represents a double value. :param pulumi.Input[str] int64_value: Represents an int64 value. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] proto_value: Represents an 'Any' proto value. + :param pulumi.Input[Mapping[str, Any]] proto_value: Represents an 'Any' proto value. :param pulumi.Input[str] string_value: Represents a string value. """ if bool_value is not None: @@ -671,14 +671,14 @@ def int64_value(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="protoValue") - def proto_value(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def proto_value(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Represents an 'Any' proto value. """ return pulumi.get(self, "proto_value") @proto_value.setter - def proto_value(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def proto_value(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "proto_value", value) @property diff --git a/sdk/python/pulumi_google_native/cloudchannel/v1/outputs.py b/sdk/python/pulumi_google_native/cloudchannel/v1/outputs.py index 8dd23d51f7..586d34ec18 100644 --- a/sdk/python/pulumi_google_native/cloudchannel/v1/outputs.py +++ b/sdk/python/pulumi_google_native/cloudchannel/v1/outputs.py @@ -1091,14 +1091,14 @@ def __init__(__self__, *, bool_value: bool, double_value: float, int64_value: str, - proto_value: Mapping[str, str], + proto_value: Mapping[str, Any], string_value: str): """ Data type and value of a parameter. :param bool bool_value: Represents a boolean value. :param float double_value: Represents a double value. :param str int64_value: Represents an int64 value. - :param Mapping[str, str] proto_value: Represents an 'Any' proto value. + :param Mapping[str, Any] proto_value: Represents an 'Any' proto value. :param str string_value: Represents a string value. """ pulumi.set(__self__, "bool_value", bool_value) @@ -1133,7 +1133,7 @@ def int64_value(self) -> str: @property @pulumi.getter(name="protoValue") - def proto_value(self) -> Mapping[str, str]: + def proto_value(self) -> Mapping[str, Any]: """ Represents an 'Any' proto value. """ diff --git a/sdk/python/pulumi_google_native/clouddeploy/v1/get_release.py b/sdk/python/pulumi_google_native/clouddeploy/v1/get_release.py index 4cdc137af2..0f8fb81b35 100644 --- a/sdk/python/pulumi_google_native/clouddeploy/v1/get_release.py +++ b/sdk/python/pulumi_google_native/clouddeploy/v1/get_release.py @@ -222,7 +222,7 @@ def skaffold_version(self) -> str: @property @pulumi.getter(name="targetArtifacts") - def target_artifacts(self) -> Mapping[str, str]: + def target_artifacts(self) -> Mapping[str, 'outputs.TargetArtifactResponse']: """ Map from target ID to the target artifacts created during the render operation. """ @@ -230,7 +230,7 @@ def target_artifacts(self) -> Mapping[str, str]: @property @pulumi.getter(name="targetRenders") - def target_renders(self) -> Mapping[str, str]: + def target_renders(self) -> Mapping[str, 'outputs.TargetRenderResponse']: """ Map from target ID to details of the render operation for that target. """ diff --git a/sdk/python/pulumi_google_native/clouddeploy/v1/outputs.py b/sdk/python/pulumi_google_native/clouddeploy/v1/outputs.py index e92175a359..1800044dcc 100644 --- a/sdk/python/pulumi_google_native/clouddeploy/v1/outputs.py +++ b/sdk/python/pulumi_google_native/clouddeploy/v1/outputs.py @@ -29,6 +29,7 @@ 'CloudRunConfigResponse', 'CloudRunLocationResponse', 'CloudRunMetadataResponse', + 'CloudRunRenderMetadataResponse', 'CreateChildRolloutJobResponse', 'CustomCanaryDeploymentResponse', 'DefaultPoolResponse', @@ -44,6 +45,7 @@ 'KubernetesConfigResponse', 'MetadataResponse', 'MultiTargetResponse', + 'PhaseArtifactResponse', 'PhaseConfigResponse', 'PhaseResponse', 'PipelineConditionResponse', @@ -56,6 +58,7 @@ 'PromoteReleaseRuleResponse', 'ReleaseConditionResponse', 'ReleaseReadyConditionResponse', + 'RenderMetadataResponse', 'RepairModeResponse', 'RepairRolloutRuleResponse', 'RetryResponse', @@ -67,7 +70,9 @@ 'StageResponse', 'StandardResponse', 'StrategyResponse', + 'TargetArtifactResponse', 'TargetAttributeResponse', + 'TargetRenderResponse', 'TargetResponse', 'TargetsPresentConditionResponse', 'TargetsTypeConditionResponse', @@ -844,6 +849,28 @@ def service_urls(self) -> Sequence[str]: return pulumi.get(self, "service_urls") +@pulumi.output_type +class CloudRunRenderMetadataResponse(dict): + """ + CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render. + """ + def __init__(__self__, *, + service: str): + """ + CloudRunRenderMetadata contains Cloud Run information associated with a `Release` render. + :param str service: The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`. + """ + pulumi.set(__self__, "service", service) + + @property + @pulumi.getter + def service(self) -> str: + """ + The name of the Cloud Run Service in the rendered manifest. Format is `projects/{project}/locations/{location}/services/{service}`. + """ + return pulumi.get(self, "service") + + @pulumi.output_type class CreateChildRolloutJobResponse(dict): """ @@ -1816,6 +1843,71 @@ def target_ids(self) -> Sequence[str]: return pulumi.get(self, "target_ids") +@pulumi.output_type +class PhaseArtifactResponse(dict): + """ + Contains the paths to the artifacts, relative to the URI, for a phase. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jobManifestsPath": + suggest = "job_manifests_path" + elif key == "manifestPath": + suggest = "manifest_path" + elif key == "skaffoldConfigPath": + suggest = "skaffold_config_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PhaseArtifactResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PhaseArtifactResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PhaseArtifactResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + job_manifests_path: str, + manifest_path: str, + skaffold_config_path: str): + """ + Contains the paths to the artifacts, relative to the URI, for a phase. + :param str job_manifests_path: File path of the directory of rendered job manifests relative to the URI. This is only set if it is applicable. + :param str manifest_path: File path of the rendered manifest relative to the URI. + :param str skaffold_config_path: File path of the resolved Skaffold configuration relative to the URI. + """ + pulumi.set(__self__, "job_manifests_path", job_manifests_path) + pulumi.set(__self__, "manifest_path", manifest_path) + pulumi.set(__self__, "skaffold_config_path", skaffold_config_path) + + @property + @pulumi.getter(name="jobManifestsPath") + def job_manifests_path(self) -> str: + """ + File path of the directory of rendered job manifests relative to the URI. This is only set if it is applicable. + """ + return pulumi.get(self, "job_manifests_path") + + @property + @pulumi.getter(name="manifestPath") + def manifest_path(self) -> str: + """ + File path of the rendered manifest relative to the URI. + """ + return pulumi.get(self, "manifest_path") + + @property + @pulumi.getter(name="skaffoldConfigPath") + def skaffold_config_path(self) -> str: + """ + File path of the resolved Skaffold configuration relative to the URI. + """ + return pulumi.get(self, "skaffold_config_path") + + @pulumi.output_type class PhaseConfigResponse(dict): """ @@ -2402,6 +2494,45 @@ def status(self) -> bool: return pulumi.get(self, "status") +@pulumi.output_type +class RenderMetadataResponse(dict): + """ + RenderMetadata includes information associated with a `Release` render. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cloudRun": + suggest = "cloud_run" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RenderMetadataResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RenderMetadataResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RenderMetadataResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cloud_run: 'outputs.CloudRunRenderMetadataResponse'): + """ + RenderMetadata includes information associated with a `Release` render. + :param 'CloudRunRenderMetadataResponse' cloud_run: Metadata associated with rendering for Cloud Run. + """ + pulumi.set(__self__, "cloud_run", cloud_run) + + @property + @pulumi.getter(name="cloudRun") + def cloud_run(self) -> 'outputs.CloudRunRenderMetadataResponse': + """ + Metadata associated with rendering for Cloud Run. + """ + return pulumi.get(self, "cloud_run") + + @pulumi.output_type class RepairModeResponse(dict): """ @@ -2969,6 +3100,84 @@ def standard(self) -> 'outputs.StandardResponse': return pulumi.get(self, "standard") +@pulumi.output_type +class TargetArtifactResponse(dict): + """ + The artifacts produced by a target render operation. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "artifactUri": + suggest = "artifact_uri" + elif key == "manifestPath": + suggest = "manifest_path" + elif key == "phaseArtifacts": + suggest = "phase_artifacts" + elif key == "skaffoldConfigPath": + suggest = "skaffold_config_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TargetArtifactResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TargetArtifactResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TargetArtifactResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + artifact_uri: str, + manifest_path: str, + phase_artifacts: Mapping[str, 'outputs.PhaseArtifactResponse'], + skaffold_config_path: str): + """ + The artifacts produced by a target render operation. + :param str artifact_uri: URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location. + :param str manifest_path: File path of the rendered manifest relative to the URI. + :param Mapping[str, 'PhaseArtifactResponse'] phase_artifacts: Map from the phase ID to the phase artifacts for the `Target`. + :param str skaffold_config_path: File path of the resolved Skaffold configuration relative to the URI. + """ + pulumi.set(__self__, "artifact_uri", artifact_uri) + pulumi.set(__self__, "manifest_path", manifest_path) + pulumi.set(__self__, "phase_artifacts", phase_artifacts) + pulumi.set(__self__, "skaffold_config_path", skaffold_config_path) + + @property + @pulumi.getter(name="artifactUri") + def artifact_uri(self) -> str: + """ + URI of a directory containing the artifacts. This contains deployment configuration used by Skaffold during a rollout, and all paths are relative to this location. + """ + return pulumi.get(self, "artifact_uri") + + @property + @pulumi.getter(name="manifestPath") + def manifest_path(self) -> str: + """ + File path of the rendered manifest relative to the URI. + """ + return pulumi.get(self, "manifest_path") + + @property + @pulumi.getter(name="phaseArtifacts") + def phase_artifacts(self) -> Mapping[str, 'outputs.PhaseArtifactResponse']: + """ + Map from the phase ID to the phase artifacts for the `Target`. + """ + return pulumi.get(self, "phase_artifacts") + + @property + @pulumi.getter(name="skaffoldConfigPath") + def skaffold_config_path(self) -> str: + """ + File path of the resolved Skaffold configuration relative to the URI. + """ + return pulumi.get(self, "skaffold_config_path") + + @pulumi.output_type class TargetAttributeResponse(dict): """ @@ -2991,6 +3200,95 @@ def labels(self) -> Mapping[str, str]: return pulumi.get(self, "labels") +@pulumi.output_type +class TargetRenderResponse(dict): + """ + Details of rendering for a single target. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "failureCause": + suggest = "failure_cause" + elif key == "failureMessage": + suggest = "failure_message" + elif key == "renderingBuild": + suggest = "rendering_build" + elif key == "renderingState": + suggest = "rendering_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TargetRenderResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TargetRenderResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TargetRenderResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + failure_cause: str, + failure_message: str, + metadata: 'outputs.RenderMetadataResponse', + rendering_build: str, + rendering_state: str): + """ + Details of rendering for a single target. + :param str failure_cause: Reason this render failed. This will always be unspecified while the render in progress. + :param str failure_message: Additional information about the render failure, if available. + :param 'RenderMetadataResponse' metadata: Metadata related to the `Release` render for this Target. + :param str rendering_build: The resource name of the Cloud Build `Build` object that is used to render the manifest for this target. Format is `projects/{project}/locations/{location}/builds/{build}`. + :param str rendering_state: Current state of the render operation for this Target. + """ + pulumi.set(__self__, "failure_cause", failure_cause) + pulumi.set(__self__, "failure_message", failure_message) + pulumi.set(__self__, "metadata", metadata) + pulumi.set(__self__, "rendering_build", rendering_build) + pulumi.set(__self__, "rendering_state", rendering_state) + + @property + @pulumi.getter(name="failureCause") + def failure_cause(self) -> str: + """ + Reason this render failed. This will always be unspecified while the render in progress. + """ + return pulumi.get(self, "failure_cause") + + @property + @pulumi.getter(name="failureMessage") + def failure_message(self) -> str: + """ + Additional information about the render failure, if available. + """ + return pulumi.get(self, "failure_message") + + @property + @pulumi.getter + def metadata(self) -> 'outputs.RenderMetadataResponse': + """ + Metadata related to the `Release` render for this Target. + """ + return pulumi.get(self, "metadata") + + @property + @pulumi.getter(name="renderingBuild") + def rendering_build(self) -> str: + """ + The resource name of the Cloud Build `Build` object that is used to render the manifest for this target. Format is `projects/{project}/locations/{location}/builds/{build}`. + """ + return pulumi.get(self, "rendering_build") + + @property + @pulumi.getter(name="renderingState") + def rendering_state(self) -> str: + """ + Current state of the render operation for this Target. + """ + return pulumi.get(self, "rendering_state") + + @pulumi.output_type class TargetResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/clouddeploy/v1/release.py b/sdk/python/pulumi_google_native/clouddeploy/v1/release.py index 51defd471f..93e3cd22f6 100644 --- a/sdk/python/pulumi_google_native/clouddeploy/v1/release.py +++ b/sdk/python/pulumi_google_native/clouddeploy/v1/release.py @@ -589,7 +589,7 @@ def skaffold_version(self) -> pulumi.Output[str]: @property @pulumi.getter(name="targetArtifacts") - def target_artifacts(self) -> pulumi.Output[Mapping[str, str]]: + def target_artifacts(self) -> pulumi.Output[Mapping[str, 'outputs.TargetArtifactResponse']]: """ Map from target ID to the target artifacts created during the render operation. """ @@ -597,7 +597,7 @@ def target_artifacts(self) -> pulumi.Output[Mapping[str, str]]: @property @pulumi.getter(name="targetRenders") - def target_renders(self) -> pulumi.Output[Mapping[str, str]]: + def target_renders(self) -> pulumi.Output[Mapping[str, 'outputs.TargetRenderResponse']]: """ Map from target ID to details of the render operation for that target. """ diff --git a/sdk/python/pulumi_google_native/cloudiot/v1/outputs.py b/sdk/python/pulumi_google_native/cloudiot/v1/outputs.py index fd0f559347..21d842255f 100644 --- a/sdk/python/pulumi_google_native/cloudiot/v1/outputs.py +++ b/sdk/python/pulumi_google_native/cloudiot/v1/outputs.py @@ -695,12 +695,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -717,7 +717,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/cloudscheduler/v1/outputs.py b/sdk/python/pulumi_google_native/cloudscheduler/v1/outputs.py index fc0295e0b0..caf68bb7b0 100644 --- a/sdk/python/pulumi_google_native/cloudscheduler/v1/outputs.py +++ b/sdk/python/pulumi_google_native/cloudscheduler/v1/outputs.py @@ -521,12 +521,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -543,7 +543,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/cloudscheduler/v1beta1/outputs.py b/sdk/python/pulumi_google_native/cloudscheduler/v1beta1/outputs.py index fc0295e0b0..caf68bb7b0 100644 --- a/sdk/python/pulumi_google_native/cloudscheduler/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/cloudscheduler/v1beta1/outputs.py @@ -521,12 +521,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -543,7 +543,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/cloudtasks/v2/outputs.py b/sdk/python/pulumi_google_native/cloudtasks/v2/outputs.py index fbcdadf423..7b697f69c3 100644 --- a/sdk/python/pulumi_google_native/cloudtasks/v2/outputs.py +++ b/sdk/python/pulumi_google_native/cloudtasks/v2/outputs.py @@ -958,12 +958,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -980,7 +980,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/cloudtasks/v2beta2/outputs.py b/sdk/python/pulumi_google_native/cloudtasks/v2beta2/outputs.py index 6e1bb05064..668bb37a8e 100644 --- a/sdk/python/pulumi_google_native/cloudtasks/v2beta2/outputs.py +++ b/sdk/python/pulumi_google_native/cloudtasks/v2beta2/outputs.py @@ -1111,12 +1111,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -1133,7 +1133,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/cloudtasks/v2beta3/outputs.py b/sdk/python/pulumi_google_native/cloudtasks/v2beta3/outputs.py index 4bbf23685f..85f92a5f8e 100644 --- a/sdk/python/pulumi_google_native/cloudtasks/v2beta3/outputs.py +++ b/sdk/python/pulumi_google_native/cloudtasks/v2beta3/outputs.py @@ -1124,12 +1124,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -1146,7 +1146,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/_enums.py b/sdk/python/pulumi_google_native/compute/alpha/_enums.py index 3251c07dda..1e893916cb 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/_enums.py +++ b/sdk/python/pulumi_google_native/compute/alpha/_enums.py @@ -129,6 +129,7 @@ 'InterconnectInterconnectType', 'InterconnectLinkType', 'InterconnectRequestedFeaturesItem', + 'LocationPolicyLocationPreference', 'LocationPolicyTargetShape', 'LogConfigCloudAuditOptionsLogName', 'LogConfigDataAccessOptionsLogMode', @@ -247,6 +248,8 @@ 'SslCertificateType', 'SslPolicyMinTlsVersion', 'SslPolicyProfile', + 'StatefulPolicyPreservedStateDiskDeviceAutoDelete', + 'StatefulPolicyPreservedStateNetworkIpAutoDelete', 'StoragePoolCapacityProvisioningType', 'StoragePoolPerformanceProvisioningType', 'SubnetworkAggregationInterval', @@ -2452,6 +2455,24 @@ class InterconnectRequestedFeaturesItem(str, Enum): """ +class LocationPolicyLocationPreference(str, Enum): + """ + Preference for a given location. Set to either ALLOW or DENY. + """ + ALLOW = "ALLOW" + """ + Location is allowed for use. + """ + DENY = "DENY" + """ + Location is prohibited. + """ + PREFERENCE_UNSPECIFIED = "PREFERENCE_UNSPECIFIED" + """ + Default value, unused. + """ + + class LocationPolicyTargetShape(str, Enum): """ Strategy for distributing VMs across zones in a region. @@ -4183,6 +4204,22 @@ class SslPolicyProfile(str, Enum): """ +class StatefulPolicyPreservedStateDiskDeviceAutoDelete(str, Enum): + """ + These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + NEVER = "NEVER" + ON_PERMANENT_INSTANCE_DELETION = "ON_PERMANENT_INSTANCE_DELETION" + + +class StatefulPolicyPreservedStateNetworkIpAutoDelete(str, Enum): + """ + These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + NEVER = "NEVER" + ON_PERMANENT_INSTANCE_DELETION = "ON_PERMANENT_INSTANCE_DELETION" + + class StoragePoolCapacityProvisioningType(str, Enum): """ Provisioning type of the byte capacity of the pool. diff --git a/sdk/python/pulumi_google_native/compute/alpha/_inputs.py b/sdk/python/pulumi_google_native/compute/alpha/_inputs.py index 76e424022b..711d78edb2 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/_inputs.py +++ b/sdk/python/pulumi_google_native/compute/alpha/_inputs.py @@ -34,6 +34,7 @@ 'AutoscalingPolicyLoadBalancingUtilizationArgs', 'AutoscalingPolicyScaleDownControlArgs', 'AutoscalingPolicyScaleInControlArgs', + 'AutoscalingPolicyScalingScheduleArgs', 'AutoscalingPolicyArgs', 'BackendBucketCdnPolicyBypassCacheOnRequestHeaderArgs', 'BackendBucketCdnPolicyCacheKeyPolicyArgs', @@ -53,6 +54,7 @@ 'BackendServiceUsedByArgs', 'BackendArgs', 'BindingArgs', + 'BulkInsertInstanceResourcePerInstancePropertiesArgs', 'BulkInsertInstanceResourceArgs', 'CacheKeyPolicyArgs', 'CallCredentialsArgs', @@ -117,6 +119,7 @@ 'InstanceGroupManagerAllInstancesConfigArgs', 'InstanceGroupManagerAutoHealingPolicyAutoHealingTriggersArgs', 'InstanceGroupManagerAutoHealingPolicyArgs', + 'InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs', 'InstanceGroupManagerInstanceFlexibilityPolicyArgs', 'InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignalArgs', 'InstanceGroupManagerInstanceLifecyclePolicyArgs', @@ -135,6 +138,8 @@ 'LicenseResourceCommitmentArgs', 'LicenseResourceRequirementsArgs', 'LocalDiskArgs', + 'LocationPolicyLocationConstraintsArgs', + 'LocationPolicyLocationArgs', 'LocationPolicyArgs', 'LogConfigCloudAuditOptionsArgs', 'LogConfigCounterOptionsCustomFieldArgs', @@ -254,6 +259,10 @@ 'ServiceAccountArgs', 'ServiceAttachmentConsumerProjectLimitArgs', 'ServiceAttachmentTunnelingConfigArgs', + 'ServiceIntegrationSpecBackupDRSpecArgs', + 'ServiceIntegrationSpecArgs', + 'ShareSettingsFolderConfigArgs', + 'ShareSettingsProjectConfigArgs', 'ShareSettingsArgs', 'ShieldedInstanceConfigArgs', 'ShieldedInstanceIntegrityPolicyArgs', @@ -263,8 +272,11 @@ 'SourceInstanceParamsArgs', 'SslCertificateManagedSslCertificateArgs', 'SslCertificateSelfManagedSslCertificateArgs', + 'StatefulPolicyPreservedStateDiskDeviceArgs', + 'StatefulPolicyPreservedStateNetworkIpArgs', 'StatefulPolicyPreservedStateArgs', 'StatefulPolicyArgs', + 'StructuredEntriesArgs', 'SubnetworkLogConfigArgs', 'SubnetworkSecondaryRangeArgs', 'SubsettingArgs', @@ -2099,6 +2111,110 @@ def time_window_sec(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "time_window_sec", value) +@pulumi.input_type +class AutoscalingPolicyScalingScheduleArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + disabled: Optional[pulumi.Input[bool]] = None, + duration_sec: Optional[pulumi.Input[int]] = None, + min_required_replicas: Optional[pulumi.Input[int]] = None, + schedule: Optional[pulumi.Input[str]] = None, + time_zone: Optional[pulumi.Input[str]] = None): + """ + Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + :param pulumi.Input[str] description: A description of a scaling schedule. + :param pulumi.Input[bool] disabled: A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + :param pulumi.Input[int] duration_sec: The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + :param pulumi.Input[int] min_required_replicas: The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + :param pulumi.Input[str] schedule: The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + :param pulumi.Input[str] time_zone: The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + if duration_sec is not None: + pulumi.set(__self__, "duration_sec", duration_sec) + if min_required_replicas is not None: + pulumi.set(__self__, "min_required_replicas", min_required_replicas) + if schedule is not None: + pulumi.set(__self__, "schedule", schedule) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of a scaling schedule. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def disabled(self) -> Optional[pulumi.Input[bool]]: + """ + A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + """ + return pulumi.get(self, "disabled") + + @disabled.setter + def disabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disabled", value) + + @property + @pulumi.getter(name="durationSec") + def duration_sec(self) -> Optional[pulumi.Input[int]]: + """ + The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + """ + return pulumi.get(self, "duration_sec") + + @duration_sec.setter + def duration_sec(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "duration_sec", value) + + @property + @pulumi.getter(name="minRequiredReplicas") + def min_required_replicas(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + """ + return pulumi.get(self, "min_required_replicas") + + @min_required_replicas.setter + def min_required_replicas(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_required_replicas", value) + + @property + @pulumi.getter + def schedule(self) -> Optional[pulumi.Input[str]]: + """ + The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + """ + return pulumi.get(self, "schedule") + + @schedule.setter + def schedule(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "schedule", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[pulumi.Input[str]]: + """ + The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_zone", value) + + @pulumi.input_type class AutoscalingPolicyArgs: def __init__(__self__, *, @@ -2111,7 +2227,7 @@ def __init__(__self__, *, mode: Optional[pulumi.Input['AutoscalingPolicyMode']] = None, scale_down_control: Optional[pulumi.Input['AutoscalingPolicyScaleDownControlArgs']] = None, scale_in_control: Optional[pulumi.Input['AutoscalingPolicyScaleInControlArgs']] = None, - scaling_schedules: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + scaling_schedules: Optional[pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]]] = None): """ Cloud Autoscaler policy. :param pulumi.Input[int] cool_down_period_sec: The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process. @@ -2121,7 +2237,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_num_replicas: The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas. :param pulumi.Input[int] min_num_replicas: The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed. :param pulumi.Input['AutoscalingPolicyMode'] mode: Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler" - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. + :param pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ if cool_down_period_sec is not None: pulumi.set(__self__, "cool_down_period_sec", cool_down_period_sec) @@ -2248,14 +2364,14 @@ def scale_in_control(self, value: Optional[pulumi.Input['AutoscalingPolicyScaleI @property @pulumi.getter(name="scalingSchedules") - def scaling_schedules(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def scaling_schedules(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]]]: """ Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ return pulumi.get(self, "scaling_schedules") @scaling_schedules.setter - def scaling_schedules(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def scaling_schedules(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]]]): pulumi.set(self, "scaling_schedules", value) @@ -3543,6 +3659,46 @@ def role(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "role", value) +@pulumi.input_type +class BulkInsertInstanceResourcePerInstancePropertiesArgs: + def __init__(__self__, *, + hostname: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Per-instance properties to be set on individual instances. To be extended in the future. + :param pulumi.Input[str] hostname: Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + :param pulumi.Input[str] name: This field is only temporary. It will be removed. Do not use it. + """ + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def hostname(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + """ + return pulumi.get(self, "hostname") + + @hostname.setter + def hostname(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "hostname", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + This field is only temporary. It will be removed. Do not use it. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @pulumi.input_type class BulkInsertInstanceResourceArgs: def __init__(__self__, *, @@ -3551,7 +3707,7 @@ def __init__(__self__, *, location_policy: Optional[pulumi.Input['LocationPolicyArgs']] = None, min_count: Optional[pulumi.Input[str]] = None, name_pattern: Optional[pulumi.Input[str]] = None, - per_instance_properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + per_instance_properties: Optional[pulumi.Input[Mapping[str, pulumi.Input['BulkInsertInstanceResourcePerInstancePropertiesArgs']]]] = None, source_instance_template: Optional[pulumi.Input[str]] = None): """ A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests. @@ -3560,7 +3716,7 @@ def __init__(__self__, *, :param pulumi.Input['LocationPolicyArgs'] location_policy: Policy for chosing target zone. For more information, see Create VMs in bulk . :param pulumi.Input[str] min_count: The minimum number of instances to create. If no min_count is specified then count is used as the default value. If min_count instances cannot be created, then no instances will be created and instances already created will be deleted. :param pulumi.Input[str] name_pattern: The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] per_instance_properties: Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. + :param pulumi.Input[Mapping[str, pulumi.Input['BulkInsertInstanceResourcePerInstancePropertiesArgs']]] per_instance_properties: Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. :param pulumi.Input[str] source_instance_template: Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. """ if count is not None: @@ -3640,14 +3796,14 @@ def name_pattern(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="perInstanceProperties") - def per_instance_properties(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def per_instance_properties(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['BulkInsertInstanceResourcePerInstancePropertiesArgs']]]]: """ Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. """ return pulumi.get(self, "per_instance_properties") @per_instance_properties.setter - def per_instance_properties(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def per_instance_properties(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['BulkInsertInstanceResourcePerInstancePropertiesArgs']]]]): pulumi.set(self, "per_instance_properties", value) @property @@ -7967,14 +8123,53 @@ def max_unavailable(self, value: Optional[pulumi.Input['FixedOrPercentArgs']]): pulumi.set(self, "max_unavailable", value) +@pulumi.input_type +class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs: + def __init__(__self__, *, + machine_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + rank: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] machine_types: Full machine-type names, e.g. "n1-standard-16". + :param pulumi.Input[int] rank: Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + """ + if machine_types is not None: + pulumi.set(__self__, "machine_types", machine_types) + if rank is not None: + pulumi.set(__self__, "rank", rank) + + @property + @pulumi.getter(name="machineTypes") + def machine_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Full machine-type names, e.g. "n1-standard-16". + """ + return pulumi.get(self, "machine_types") + + @machine_types.setter + def machine_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "machine_types", value) + + @property + @pulumi.getter + def rank(self) -> Optional[pulumi.Input[int]]: + """ + Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + """ + return pulumi.get(self, "rank") + + @rank.setter + def rank(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "rank", value) + + @pulumi.input_type class InstanceGroupManagerInstanceFlexibilityPolicyArgs: def __init__(__self__, *, - instance_selection_lists: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - instance_selections: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + instance_selection_lists: Optional[pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]]] = None, + instance_selections: Optional[pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]]] = None): """ - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] instance_selection_lists: Named instance selections configuring properties that the group will use when creating new VMs. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] instance_selections: Named instance selections configuring properties that the group will use when creating new VMs. + :param pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]] instance_selection_lists: Named instance selections configuring properties that the group will use when creating new VMs. + :param pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]] instance_selections: Named instance selections configuring properties that the group will use when creating new VMs. """ if instance_selection_lists is not None: pulumi.set(__self__, "instance_selection_lists", instance_selection_lists) @@ -7983,26 +8178,26 @@ def __init__(__self__, *, @property @pulumi.getter(name="instanceSelectionLists") - def instance_selection_lists(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def instance_selection_lists(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]]]: """ Named instance selections configuring properties that the group will use when creating new VMs. """ return pulumi.get(self, "instance_selection_lists") @instance_selection_lists.setter - def instance_selection_lists(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def instance_selection_lists(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]]]): pulumi.set(self, "instance_selection_lists", value) @property @pulumi.getter(name="instanceSelections") - def instance_selections(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def instance_selections(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]]]: """ Named instance selections configuring properties that the group will use when creating new VMs. """ return pulumi.get(self, "instance_selections") @instance_selections.setter - def instance_selections(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def instance_selections(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]]]): pulumi.set(self, "instance_selections", value) @@ -8410,7 +8605,7 @@ def __init__(__self__, *, min_cpu_platform: Optional[pulumi.Input[str]] = None, network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceArgs']]]] = None, network_performance_config: Optional[pulumi.Input['NetworkPerformanceConfigArgs']] = None, - partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input['StructuredEntriesArgs']]]] = None, post_key_revocation_action_type: Optional[pulumi.Input['InstancePropertiesPostKeyRevocationActionType']] = None, private_ipv6_google_access: Optional[pulumi.Input['InstancePropertiesPrivateIpv6GoogleAccess']] = None, reservation_affinity: Optional[pulumi.Input['ReservationAffinityArgs']] = None, @@ -8419,7 +8614,7 @@ def __init__(__self__, *, scheduling: Optional[pulumi.Input['SchedulingArgs']] = None, secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceAccountArgs']]]] = None, - service_integration_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + service_integration_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input['ServiceIntegrationSpecArgs']]]] = None, shielded_instance_config: Optional[pulumi.Input['ShieldedInstanceConfigArgs']] = None, shielded_vm_config: Optional[pulumi.Input['ShieldedVmConfigArgs']] = None, tags: Optional[pulumi.Input['TagsArgs']] = None): @@ -8438,7 +8633,7 @@ def __init__(__self__, *, :param pulumi.Input[str] min_cpu_platform: Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge". For more information, read Specifying a Minimum CPU Platform. :param pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceArgs']]] network_interfaces: An array of network access configurations for this interface. :param pulumi.Input['NetworkPerformanceConfigArgs'] network_performance_config: Note that for MachineImage, this is not supported yet. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] partner_metadata: Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. + :param pulumi.Input[Mapping[str, pulumi.Input['StructuredEntriesArgs']]] partner_metadata: Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. :param pulumi.Input['InstancePropertiesPostKeyRevocationActionType'] post_key_revocation_action_type: PostKeyRevocationActionType of the instance. :param pulumi.Input['InstancePropertiesPrivateIpv6GoogleAccess'] private_ipv6_google_access: The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet. :param pulumi.Input['ReservationAffinityArgs'] reservation_affinity: Specifies the reservations that instances can consume from. Note that for MachineImage, this is not supported yet. @@ -8447,7 +8642,7 @@ def __init__(__self__, *, :param pulumi.Input['SchedulingArgs'] scheduling: Specifies the scheduling options for the instances that are created from these properties. :param pulumi.Input[Sequence[pulumi.Input[str]]] secure_tags: [Input Only] Secure tags to apply to this instance. Maximum number of secure tags allowed is 50. Note that for MachineImage, this is not supported yet. :param pulumi.Input[Sequence[pulumi.Input['ServiceAccountArgs']]] service_accounts: A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] service_integration_specs: Mapping of user defined keys to ServiceIntegrationSpec. + :param pulumi.Input[Mapping[str, pulumi.Input['ServiceIntegrationSpecArgs']]] service_integration_specs: Mapping of user defined keys to ServiceIntegrationSpec. :param pulumi.Input['ShieldedInstanceConfigArgs'] shielded_instance_config: Note that for MachineImage, this is not supported yet. :param pulumi.Input['ShieldedVmConfigArgs'] shielded_vm_config: Specifies the Shielded VM options for the instances that are created from these properties. :param pulumi.Input['TagsArgs'] tags: A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035. @@ -8677,14 +8872,14 @@ def network_performance_config(self, value: Optional[pulumi.Input['NetworkPerfor @property @pulumi.getter(name="partnerMetadata") - def partner_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def partner_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StructuredEntriesArgs']]]]: """ Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. """ return pulumi.get(self, "partner_metadata") @partner_metadata.setter - def partner_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def partner_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StructuredEntriesArgs']]]]): pulumi.set(self, "partner_metadata", value) @property @@ -8785,14 +8980,14 @@ def service_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['S @property @pulumi.getter(name="serviceIntegrationSpecs") - def service_integration_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def service_integration_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ServiceIntegrationSpecArgs']]]]: """ Mapping of user defined keys to ServiceIntegrationSpec. """ return pulumi.get(self, "service_integration_specs") @service_integration_specs.setter - def service_integration_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def service_integration_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ServiceIntegrationSpecArgs']]]]): pulumi.set(self, "service_integration_specs", value) @property @@ -9284,14 +9479,93 @@ def disk_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "disk_type", value) +@pulumi.input_type +class LocationPolicyLocationConstraintsArgs: + def __init__(__self__, *, + max_count: Optional[pulumi.Input[int]] = None): + """ + Per-zone constraints on location policy for this zone. + :param pulumi.Input[int] max_count: Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + """ + if max_count is not None: + pulumi.set(__self__, "max_count", max_count) + + @property + @pulumi.getter(name="maxCount") + def max_count(self) -> Optional[pulumi.Input[int]]: + """ + Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + """ + return pulumi.get(self, "max_count") + + @max_count.setter + def max_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_count", value) + + +@pulumi.input_type +class LocationPolicyLocationArgs: + def __init__(__self__, *, + constraints: Optional[pulumi.Input['LocationPolicyLocationConstraintsArgs']] = None, + names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + preference: Optional[pulumi.Input['LocationPolicyLocationPreference']] = None): + """ + :param pulumi.Input['LocationPolicyLocationConstraintsArgs'] constraints: Constraints that the caller requires on the result distribution in this zone. + :param pulumi.Input[Sequence[pulumi.Input[str]]] names: Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + :param pulumi.Input['LocationPolicyLocationPreference'] preference: Preference for a given location. Set to either ALLOW or DENY. + """ + if constraints is not None: + pulumi.set(__self__, "constraints", constraints) + if names is not None: + pulumi.set(__self__, "names", names) + if preference is not None: + pulumi.set(__self__, "preference", preference) + + @property + @pulumi.getter + def constraints(self) -> Optional[pulumi.Input['LocationPolicyLocationConstraintsArgs']]: + """ + Constraints that the caller requires on the result distribution in this zone. + """ + return pulumi.get(self, "constraints") + + @constraints.setter + def constraints(self, value: Optional[pulumi.Input['LocationPolicyLocationConstraintsArgs']]): + pulumi.set(self, "constraints", value) + + @property + @pulumi.getter + def names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + """ + return pulumi.get(self, "names") + + @names.setter + def names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "names", value) + + @property + @pulumi.getter + def preference(self) -> Optional[pulumi.Input['LocationPolicyLocationPreference']]: + """ + Preference for a given location. Set to either ALLOW or DENY. + """ + return pulumi.get(self, "preference") + + @preference.setter + def preference(self, value: Optional[pulumi.Input['LocationPolicyLocationPreference']]): + pulumi.set(self, "preference", value) + + @pulumi.input_type class LocationPolicyArgs: def __init__(__self__, *, - locations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + locations: Optional[pulumi.Input[Mapping[str, pulumi.Input['LocationPolicyLocationArgs']]]] = None, target_shape: Optional[pulumi.Input['LocationPolicyTargetShape']] = None): """ Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] locations: Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. + :param pulumi.Input[Mapping[str, pulumi.Input['LocationPolicyLocationArgs']]] locations: Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. :param pulumi.Input['LocationPolicyTargetShape'] target_shape: Strategy for distributing VMs across zones in a region. """ if locations is not None: @@ -9301,14 +9575,14 @@ def __init__(__self__, *, @property @pulumi.getter - def locations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def locations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['LocationPolicyLocationArgs']]]]: """ Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. """ return pulumi.get(self, "locations") @locations.setter - def locations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def locations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['LocationPolicyLocationArgs']]]]): pulumi.set(self, "locations", value) @property @@ -17200,17 +17474,109 @@ def routing_mode(self, value: Optional[pulumi.Input['ServiceAttachmentTunnelingC pulumi.set(self, "routing_mode", value) +@pulumi.input_type +class ServiceIntegrationSpecBackupDRSpecArgs: + def __init__(__self__, *, + plan: Optional[pulumi.Input[str]] = None): + """ + Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. + :param pulumi.Input[str] plan: The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + """ + if plan is not None: + pulumi.set(__self__, "plan", plan) + + @property + @pulumi.getter + def plan(self) -> Optional[pulumi.Input[str]]: + """ + The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + """ + return pulumi.get(self, "plan") + + @plan.setter + def plan(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "plan", value) + + +@pulumi.input_type +class ServiceIntegrationSpecArgs: + def __init__(__self__, *, + backup_dr: Optional[pulumi.Input['ServiceIntegrationSpecBackupDRSpecArgs']] = None): + """ + Specifies the parameters to configure an integration with instances. + """ + if backup_dr is not None: + pulumi.set(__self__, "backup_dr", backup_dr) + + @property + @pulumi.getter(name="backupDr") + def backup_dr(self) -> Optional[pulumi.Input['ServiceIntegrationSpecBackupDRSpecArgs']]: + return pulumi.get(self, "backup_dr") + + @backup_dr.setter + def backup_dr(self, value: Optional[pulumi.Input['ServiceIntegrationSpecBackupDRSpecArgs']]): + pulumi.set(self, "backup_dr", value) + + +@pulumi.input_type +class ShareSettingsFolderConfigArgs: + def __init__(__self__, *, + folder_id: Optional[pulumi.Input[str]] = None): + """ + Config for each folder in the share settings. + :param pulumi.Input[str] folder_id: The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + """ + if folder_id is not None: + pulumi.set(__self__, "folder_id", folder_id) + + @property + @pulumi.getter(name="folderId") + def folder_id(self) -> Optional[pulumi.Input[str]]: + """ + The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + """ + return pulumi.get(self, "folder_id") + + @folder_id.setter + def folder_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "folder_id", value) + + +@pulumi.input_type +class ShareSettingsProjectConfigArgs: + def __init__(__self__, *, + project: Optional[pulumi.Input[str]] = None): + """ + Config for each project in the share settings. + :param pulumi.Input[str] project: The project ID, should be same as the key of this project config in the parent map. + """ + if project is not None: + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + The project ID, should be same as the key of this project config in the parent map. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @pulumi.input_type class ShareSettingsArgs: def __init__(__self__, *, - folder_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - project_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + folder_map: Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsFolderConfigArgs']]]] = None, + project_map: Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]]] = None, projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, share_type: Optional[pulumi.Input['ShareSettingsShareType']] = None): """ The share setting for reservations and sole tenancy node groups. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] folder_map: A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. + :param pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsFolderConfigArgs']]] folder_map: A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. + :param pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param pulumi.Input[Sequence[pulumi.Input[str]]] projects: A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param pulumi.Input['ShareSettingsShareType'] share_type: Type of sharing for this shared-reservation """ @@ -17225,26 +17591,26 @@ def __init__(__self__, *, @property @pulumi.getter(name="folderMap") - def folder_map(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def folder_map(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsFolderConfigArgs']]]]: """ A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. """ return pulumi.get(self, "folder_map") @folder_map.setter - def folder_map(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def folder_map(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsFolderConfigArgs']]]]): pulumi.set(self, "folder_map", value) @property @pulumi.getter(name="projectMap") - def project_map(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def project_map(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]]]: """ A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. """ return pulumi.get(self, "project_map") @project_map.setter - def project_map(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def project_map(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]]]): pulumi.set(self, "project_map", value) @property @@ -17559,17 +17925,63 @@ def private_key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "private_key", value) +@pulumi.input_type +class StatefulPolicyPreservedStateDiskDeviceArgs: + def __init__(__self__, *, + auto_delete: Optional[pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete']] = None): + """ + :param pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete'] auto_delete: These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + if auto_delete is not None: + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> Optional[pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete']]: + """ + These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + return pulumi.get(self, "auto_delete") + + @auto_delete.setter + def auto_delete(self, value: Optional[pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete']]): + pulumi.set(self, "auto_delete", value) + + +@pulumi.input_type +class StatefulPolicyPreservedStateNetworkIpArgs: + def __init__(__self__, *, + auto_delete: Optional[pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete']] = None): + """ + :param pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete'] auto_delete: These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + if auto_delete is not None: + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> Optional[pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete']]: + """ + These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + return pulumi.get(self, "auto_delete") + + @auto_delete.setter + def auto_delete(self, value: Optional[pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete']]): + pulumi.set(self, "auto_delete", value) + + @pulumi.input_type class StatefulPolicyPreservedStateArgs: def __init__(__self__, *, - disks: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - external_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - internal_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + disks: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]]] = None, + external_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]] = None, + internal_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]] = None): """ Configuration of preserved resources. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. + :param pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ if disks is not None: pulumi.set(__self__, "disks", disks) @@ -17580,38 +17992,38 @@ def __init__(__self__, *, @property @pulumi.getter - def disks(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def disks(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]]]: """ Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. """ return pulumi.get(self, "disks") @disks.setter - def disks(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def disks(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]]]): pulumi.set(self, "disks", value) @property @pulumi.getter(name="externalIPs") - def external_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def external_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]: """ External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ return pulumi.get(self, "external_ips") @external_ips.setter - def external_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def external_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]): pulumi.set(self, "external_ips", value) @property @pulumi.getter(name="internalIPs") - def internal_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def internal_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]: """ Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ return pulumi.get(self, "internal_ips") @internal_ips.setter - def internal_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def internal_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]): pulumi.set(self, "internal_ips", value) @@ -17632,6 +18044,29 @@ def preserved_state(self, value: Optional[pulumi.Input['StatefulPolicyPreservedS pulumi.set(self, "preserved_state", value) +@pulumi.input_type +class StructuredEntriesArgs: + def __init__(__self__, *, + entries: Optional[pulumi.Input[Mapping[str, Any]]] = None): + """ + :param pulumi.Input[Mapping[str, Any]] entries: Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + """ + if entries is not None: + pulumi.set(__self__, "entries", entries) + + @property + @pulumi.getter + def entries(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + """ + return pulumi.get(self, "entries") + + @entries.setter + def entries(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "entries", value) + + @pulumi.input_type class SubnetworkLogConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/compute/alpha/autoscaler.py b/sdk/python/pulumi_google_native/compute/alpha/autoscaler.py index de1900c8aa..85a19b49f9 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/alpha/autoscaler.py @@ -319,7 +319,7 @@ def request_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, str]]: + def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, 'outputs.ScalingScheduleStatusResponse']]: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/disk.py b/sdk/python/pulumi_google_native/compute/alpha/disk.py index d894dca021..0a167bfdd4 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/disk.py +++ b/sdk/python/pulumi_google_native/compute/alpha/disk.py @@ -934,7 +934,7 @@ def async_primary_disk(self) -> pulumi.Output['outputs.DiskAsyncReplicationRespo @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> pulumi.Output[Mapping[str, str]]: + def async_secondary_disks(self) -> pulumi.Output[Mapping[str, 'outputs.DiskAsyncReplicationListResponse']]: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/get_autoscaler.py b/sdk/python/pulumi_google_native/compute/alpha/get_autoscaler.py index 23a0ea1900..d74e6b9dc1 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/get_autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/alpha/get_autoscaler.py @@ -121,7 +121,7 @@ def region(self) -> str: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> Mapping[str, str]: + def scaling_schedule_status(self) -> Mapping[str, 'outputs.ScalingScheduleStatusResponse']: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/get_disk.py b/sdk/python/pulumi_google_native/compute/alpha/get_disk.py index ca595f897c..94956d8133 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/get_disk.py +++ b/sdk/python/pulumi_google_native/compute/alpha/get_disk.py @@ -212,7 +212,7 @@ def async_primary_disk(self) -> 'outputs.DiskAsyncReplicationResponse': @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> Mapping[str, str]: + def async_secondary_disks(self) -> Mapping[str, 'outputs.DiskAsyncReplicationListResponse']: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/get_instance.py b/sdk/python/pulumi_google_native/compute/alpha/get_instance.py index 1dcaebb96d..6a06b1f332 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/get_instance.py +++ b/sdk/python/pulumi_google_native/compute/alpha/get_instance.py @@ -403,7 +403,7 @@ def params(self) -> 'outputs.InstanceParamsResponse': @property @pulumi.getter(name="partnerMetadata") - def partner_metadata(self) -> Mapping[str, str]: + def partner_metadata(self) -> Mapping[str, 'outputs.StructuredEntriesResponse']: """ Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. """ @@ -507,7 +507,7 @@ def service_accounts(self) -> Sequence['outputs.ServiceAccountResponse']: @property @pulumi.getter(name="serviceIntegrationSpecs") - def service_integration_specs(self) -> Mapping[str, str]: + def service_integration_specs(self) -> Mapping[str, 'outputs.ServiceIntegrationSpecResponse']: """ Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/get_region_autoscaler.py b/sdk/python/pulumi_google_native/compute/alpha/get_region_autoscaler.py index 3255f249cb..1f611964fe 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/get_region_autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/alpha/get_region_autoscaler.py @@ -121,7 +121,7 @@ def region(self) -> str: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> Mapping[str, str]: + def scaling_schedule_status(self) -> Mapping[str, 'outputs.ScalingScheduleStatusResponse']: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/get_region_disk.py b/sdk/python/pulumi_google_native/compute/alpha/get_region_disk.py index f131784683..e1b32c593b 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/get_region_disk.py +++ b/sdk/python/pulumi_google_native/compute/alpha/get_region_disk.py @@ -212,7 +212,7 @@ def async_primary_disk(self) -> 'outputs.DiskAsyncReplicationResponse': @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> Mapping[str, str]: + def async_secondary_disks(self) -> Mapping[str, 'outputs.DiskAsyncReplicationListResponse']: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/instance.py b/sdk/python/pulumi_google_native/compute/alpha/instance.py index f94ab180f3..fc5bde326f 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/instance.py +++ b/sdk/python/pulumi_google_native/compute/alpha/instance.py @@ -37,7 +37,7 @@ def __init__(__self__, *, network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceArgs']]]] = None, network_performance_config: Optional[pulumi.Input['NetworkPerformanceConfigArgs']] = None, params: Optional[pulumi.Input['InstanceParamsArgs']] = None, - partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input['StructuredEntriesArgs']]]] = None, post_key_revocation_action_type: Optional[pulumi.Input['InstancePostKeyRevocationActionType']] = None, preserved_state_size_gb: Optional[pulumi.Input[str]] = None, private_ipv6_google_access: Optional[pulumi.Input['InstancePrivateIpv6GoogleAccess']] = None, @@ -48,7 +48,7 @@ def __init__(__self__, *, scheduling: Optional[pulumi.Input['SchedulingArgs']] = None, secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceAccountArgs']]]] = None, - service_integration_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + service_integration_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input['ServiceIntegrationSpecArgs']]]] = None, shielded_instance_config: Optional[pulumi.Input['ShieldedInstanceConfigArgs']] = None, shielded_instance_integrity_policy: Optional[pulumi.Input['ShieldedInstanceIntegrityPolicyArgs']] = None, shielded_vm_config: Optional[pulumi.Input['ShieldedVmConfigArgs']] = None, @@ -78,7 +78,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. :param pulumi.Input[Sequence[pulumi.Input['NetworkInterfaceArgs']]] network_interfaces: An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. :param pulumi.Input['InstanceParamsArgs'] params: Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] partner_metadata: Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. + :param pulumi.Input[Mapping[str, pulumi.Input['StructuredEntriesArgs']]] partner_metadata: Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. :param pulumi.Input['InstancePostKeyRevocationActionType'] post_key_revocation_action_type: PostKeyRevocationActionType of the instance. :param pulumi.Input[str] preserved_state_size_gb: Total amount of preserved state for SUSPENDED instances. Read-only in the api. :param pulumi.Input['InstancePrivateIpv6GoogleAccess'] private_ipv6_google_access: The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default. @@ -88,7 +88,7 @@ def __init__(__self__, *, :param pulumi.Input['SchedulingArgs'] scheduling: Sets the scheduling options for this instance. :param pulumi.Input[Sequence[pulumi.Input[str]]] secure_tags: [Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50. :param pulumi.Input[Sequence[pulumi.Input['ServiceAccountArgs']]] service_accounts: A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] service_integration_specs: Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. + :param pulumi.Input[Mapping[str, pulumi.Input['ServiceIntegrationSpecArgs']]] service_integration_specs: Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. :param pulumi.Input['ShieldedVmConfigArgs'] shielded_vm_config: Deprecating, please use shielded_instance_config. :param pulumi.Input['ShieldedVmIntegrityPolicyArgs'] shielded_vm_integrity_policy: Deprecating, please use shielded_instance_integrity_policy. :param pulumi.Input[str] source_instance_template: Specifies instance template to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate @@ -415,14 +415,14 @@ def params(self, value: Optional[pulumi.Input['InstanceParamsArgs']]): @property @pulumi.getter(name="partnerMetadata") - def partner_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def partner_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StructuredEntriesArgs']]]]: """ Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. """ return pulumi.get(self, "partner_metadata") @partner_metadata.setter - def partner_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def partner_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StructuredEntriesArgs']]]]): pulumi.set(self, "partner_metadata", value) @property @@ -544,14 +544,14 @@ def service_accounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['S @property @pulumi.getter(name="serviceIntegrationSpecs") - def service_integration_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def service_integration_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ServiceIntegrationSpecArgs']]]]: """ Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. """ return pulumi.get(self, "service_integration_specs") @service_integration_specs.setter - def service_integration_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def service_integration_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ServiceIntegrationSpecArgs']]]]): pulumi.set(self, "service_integration_specs", value) @property @@ -679,7 +679,7 @@ def __init__(__self__, network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NetworkInterfaceArgs']]]]] = None, network_performance_config: Optional[pulumi.Input[pulumi.InputType['NetworkPerformanceConfigArgs']]] = None, params: Optional[pulumi.Input[pulumi.InputType['InstanceParamsArgs']]] = None, - partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['StructuredEntriesArgs']]]]] = None, post_key_revocation_action_type: Optional[pulumi.Input['InstancePostKeyRevocationActionType']] = None, preserved_state_size_gb: Optional[pulumi.Input[str]] = None, private_ipv6_google_access: Optional[pulumi.Input['InstancePrivateIpv6GoogleAccess']] = None, @@ -690,7 +690,7 @@ def __init__(__self__, scheduling: Optional[pulumi.Input[pulumi.InputType['SchedulingArgs']]] = None, secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ServiceAccountArgs']]]]] = None, - service_integration_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + service_integration_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ServiceIntegrationSpecArgs']]]]] = None, shielded_instance_config: Optional[pulumi.Input[pulumi.InputType['ShieldedInstanceConfigArgs']]] = None, shielded_instance_integrity_policy: Optional[pulumi.Input[pulumi.InputType['ShieldedInstanceIntegrityPolicyArgs']]] = None, shielded_vm_config: Optional[pulumi.Input[pulumi.InputType['ShieldedVmConfigArgs']]] = None, @@ -724,7 +724,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NetworkInterfaceArgs']]]] network_interfaces: An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance. :param pulumi.Input[pulumi.InputType['InstanceParamsArgs']] params: Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] partner_metadata: Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['StructuredEntriesArgs']]]] partner_metadata: Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. :param pulumi.Input['InstancePostKeyRevocationActionType'] post_key_revocation_action_type: PostKeyRevocationActionType of the instance. :param pulumi.Input[str] preserved_state_size_gb: Total amount of preserved state for SUSPENDED instances. Read-only in the api. :param pulumi.Input['InstancePrivateIpv6GoogleAccess'] private_ipv6_google_access: The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default. @@ -734,7 +734,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['SchedulingArgs']] scheduling: Sets the scheduling options for this instance. :param pulumi.Input[Sequence[pulumi.Input[str]]] secure_tags: [Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ServiceAccountArgs']]]] service_accounts: A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] service_integration_specs: Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ServiceIntegrationSpecArgs']]]] service_integration_specs: Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. :param pulumi.Input[pulumi.InputType['ShieldedVmConfigArgs']] shielded_vm_config: Deprecating, please use shielded_instance_config. :param pulumi.Input[pulumi.InputType['ShieldedVmIntegrityPolicyArgs']] shielded_vm_integrity_policy: Deprecating, please use shielded_instance_integrity_policy. :param pulumi.Input[str] source_instance_template: Specifies instance template to create the instance. This field is optional. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate @@ -786,7 +786,7 @@ def _internal_init(__self__, network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NetworkInterfaceArgs']]]]] = None, network_performance_config: Optional[pulumi.Input[pulumi.InputType['NetworkPerformanceConfigArgs']]] = None, params: Optional[pulumi.Input[pulumi.InputType['InstanceParamsArgs']]] = None, - partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + partner_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['StructuredEntriesArgs']]]]] = None, post_key_revocation_action_type: Optional[pulumi.Input['InstancePostKeyRevocationActionType']] = None, preserved_state_size_gb: Optional[pulumi.Input[str]] = None, private_ipv6_google_access: Optional[pulumi.Input['InstancePrivateIpv6GoogleAccess']] = None, @@ -797,7 +797,7 @@ def _internal_init(__self__, scheduling: Optional[pulumi.Input[pulumi.InputType['SchedulingArgs']]] = None, secure_tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, service_accounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ServiceAccountArgs']]]]] = None, - service_integration_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + service_integration_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ServiceIntegrationSpecArgs']]]]] = None, shielded_instance_config: Optional[pulumi.Input[pulumi.InputType['ShieldedInstanceConfigArgs']]] = None, shielded_instance_integrity_policy: Optional[pulumi.Input[pulumi.InputType['ShieldedInstanceIntegrityPolicyArgs']]] = None, shielded_vm_config: Optional[pulumi.Input[pulumi.InputType['ShieldedVmConfigArgs']]] = None, @@ -1176,7 +1176,7 @@ def params(self) -> pulumi.Output['outputs.InstanceParamsResponse']: @property @pulumi.getter(name="partnerMetadata") - def partner_metadata(self) -> pulumi.Output[Mapping[str, str]]: + def partner_metadata(self) -> pulumi.Output[Mapping[str, 'outputs.StructuredEntriesResponse']]: """ Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map. """ @@ -1293,7 +1293,7 @@ def service_accounts(self) -> pulumi.Output[Sequence['outputs.ServiceAccountResp @property @pulumi.getter(name="serviceIntegrationSpecs") - def service_integration_specs(self) -> pulumi.Output[Mapping[str, str]]: + def service_integration_specs(self) -> pulumi.Output[Mapping[str, 'outputs.ServiceIntegrationSpecResponse']]: """ Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/outputs.py b/sdk/python/pulumi_google_native/compute/alpha/outputs.py index a24845b99c..68a98cb018 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/outputs.py +++ b/sdk/python/pulumi_google_native/compute/alpha/outputs.py @@ -39,6 +39,7 @@ 'AutoscalingPolicyResponse', 'AutoscalingPolicyScaleDownControlResponse', 'AutoscalingPolicyScaleInControlResponse', + 'AutoscalingPolicyScalingScheduleResponse', 'BackendBucketCdnPolicyBypassCacheOnRequestHeaderResponse', 'BackendBucketCdnPolicyCacheKeyPolicyResponse', 'BackendBucketCdnPolicyNegativeCachingPolicyResponse', @@ -57,6 +58,7 @@ 'BackendServiceLogConfigResponse', 'BackendServiceUsedByResponse', 'BindingResponse', + 'BulkInsertInstanceResourcePerInstancePropertiesResponse', 'BulkInsertInstanceResourceResponse', 'CacheKeyPolicyResponse', 'CallCredentialsResponse', @@ -75,6 +77,7 @@ 'CustomErrorResponsePolicyResponse', 'CustomerEncryptionKeyResponse', 'DeprecationStatusResponse', + 'DiskAsyncReplicationListResponse', 'DiskAsyncReplicationResponse', 'DiskInstantiationConfigResponse', 'DiskParamsResponse', @@ -133,6 +136,7 @@ 'InstanceGroupManagerAllInstancesConfigResponse', 'InstanceGroupManagerAutoHealingPolicyAutoHealingTriggersResponse', 'InstanceGroupManagerAutoHealingPolicyResponse', + 'InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse', 'InstanceGroupManagerInstanceFlexibilityPolicyResponse', 'InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignalResponse', 'InstanceGroupManagerInstanceLifecyclePolicyResponse', @@ -167,6 +171,8 @@ 'LicenseResourceRequirementsResponse', 'LocalDiskResponse', 'LocalizedMessageResponse', + 'LocationPolicyLocationConstraintsResponse', + 'LocationPolicyLocationResponse', 'LocationPolicyResponse', 'LogConfigCloudAuditOptionsResponse', 'LogConfigCounterOptionsCustomFieldResponse', @@ -247,6 +253,8 @@ 'ResourceStatusLastInstanceTerminationDetailsResponse', 'ResourceStatusResponse', 'ResourceStatusSchedulingResponse', + 'ResourceStatusServiceIntegrationStatusBackupDRStatusResponse', + 'ResourceStatusServiceIntegrationStatusResponse', 'ResourceStatusShutdownDetailsResponse', 'RolloutPolicyResponse', 'RouteAsPathResponse', @@ -268,6 +276,7 @@ 'SSLHealthCheckResponse', 'SavedAttachedDiskResponse', 'SavedDiskResponse', + 'ScalingScheduleStatusResponse', 'SchedulingGracefulShutdownResponse', 'SchedulingNodeAffinityResponse', 'SchedulingResponse', @@ -309,6 +318,10 @@ 'ServiceAttachmentConnectedEndpointResponse', 'ServiceAttachmentConsumerProjectLimitResponse', 'ServiceAttachmentTunnelingConfigResponse', + 'ServiceIntegrationSpecBackupDRSpecResponse', + 'ServiceIntegrationSpecResponse', + 'ShareSettingsFolderConfigResponse', + 'ShareSettingsProjectConfigResponse', 'ShareSettingsResponse', 'ShieldedInstanceConfigResponse', 'ShieldedInstanceIntegrityPolicyResponse', @@ -321,9 +334,12 @@ 'SslCertificateSelfManagedSslCertificateResponse', 'SslPolicyWarningsItemDataItemResponse', 'SslPolicyWarningsItemResponse', + 'StatefulPolicyPreservedStateDiskDeviceResponse', + 'StatefulPolicyPreservedStateNetworkIpResponse', 'StatefulPolicyPreservedStateResponse', 'StatefulPolicyResponse', 'StoragePoolResourceStatusResponse', + 'StructuredEntriesResponse', 'SubnetworkLogConfigResponse', 'SubnetworkSecondaryRangeResponse', 'SubsettingResponse', @@ -2393,7 +2409,7 @@ def __init__(__self__, *, mode: str, scale_down_control: 'outputs.AutoscalingPolicyScaleDownControlResponse', scale_in_control: 'outputs.AutoscalingPolicyScaleInControlResponse', - scaling_schedules: Mapping[str, str]): + scaling_schedules: Mapping[str, 'outputs.AutoscalingPolicyScalingScheduleResponse']): """ Cloud Autoscaler policy. :param int cool_down_period_sec: The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process. @@ -2403,7 +2419,7 @@ def __init__(__self__, *, :param int max_num_replicas: The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas. :param int min_num_replicas: The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed. :param str mode: Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler" - :param Mapping[str, str] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. + :param Mapping[str, 'AutoscalingPolicyScalingScheduleResponse'] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ pulumi.set(__self__, "cool_down_period_sec", cool_down_period_sec) pulumi.set(__self__, "cpu_utilization", cpu_utilization) @@ -2484,7 +2500,7 @@ def scale_in_control(self) -> 'outputs.AutoscalingPolicyScaleInControlResponse': @property @pulumi.getter(name="scalingSchedules") - def scaling_schedules(self) -> Mapping[str, str]: + def scaling_schedules(self) -> Mapping[str, 'outputs.AutoscalingPolicyScalingScheduleResponse']: """ Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ @@ -2595,6 +2611,104 @@ def time_window_sec(self) -> int: return pulumi.get(self, "time_window_sec") +@pulumi.output_type +class AutoscalingPolicyScalingScheduleResponse(dict): + """ + Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "durationSec": + suggest = "duration_sec" + elif key == "minRequiredReplicas": + suggest = "min_required_replicas" + elif key == "timeZone": + suggest = "time_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AutoscalingPolicyScalingScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AutoscalingPolicyScalingScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AutoscalingPolicyScalingScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + description: str, + disabled: bool, + duration_sec: int, + min_required_replicas: int, + schedule: str, + time_zone: str): + """ + Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + :param str description: A description of a scaling schedule. + :param bool disabled: A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + :param int duration_sec: The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + :param int min_required_replicas: The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + :param str schedule: The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + :param str time_zone: The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "disabled", disabled) + pulumi.set(__self__, "duration_sec", duration_sec) + pulumi.set(__self__, "min_required_replicas", min_required_replicas) + pulumi.set(__self__, "schedule", schedule) + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def description(self) -> str: + """ + A description of a scaling schedule. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def disabled(self) -> bool: + """ + A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + """ + return pulumi.get(self, "disabled") + + @property + @pulumi.getter(name="durationSec") + def duration_sec(self) -> int: + """ + The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + """ + return pulumi.get(self, "duration_sec") + + @property + @pulumi.getter(name="minRequiredReplicas") + def min_required_replicas(self) -> int: + """ + The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + """ + return pulumi.get(self, "min_required_replicas") + + @property + @pulumi.getter + def schedule(self) -> str: + """ + The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + """ + return pulumi.get(self, "schedule") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> str: + """ + The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + return pulumi.get(self, "time_zone") + + @pulumi.output_type class BackendBucketCdnPolicyBypassCacheOnRequestHeaderResponse(dict): """ @@ -3904,6 +4018,39 @@ def role(self) -> str: return pulumi.get(self, "role") +@pulumi.output_type +class BulkInsertInstanceResourcePerInstancePropertiesResponse(dict): + """ + Per-instance properties to be set on individual instances. To be extended in the future. + """ + def __init__(__self__, *, + hostname: str, + name: str): + """ + Per-instance properties to be set on individual instances. To be extended in the future. + :param str hostname: Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + :param str name: This field is only temporary. It will be removed. Do not use it. + """ + pulumi.set(__self__, "hostname", hostname) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def hostname(self) -> str: + """ + Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + """ + return pulumi.get(self, "hostname") + + @property + @pulumi.getter + def name(self) -> str: + """ + This field is only temporary. It will be removed. Do not use it. + """ + return pulumi.get(self, "name") + + @pulumi.output_type class BulkInsertInstanceResourceResponse(dict): """ @@ -3942,7 +4089,7 @@ def __init__(__self__, *, location_policy: 'outputs.LocationPolicyResponse', min_count: str, name_pattern: str, - per_instance_properties: Mapping[str, str], + per_instance_properties: Mapping[str, 'outputs.BulkInsertInstanceResourcePerInstancePropertiesResponse'], source_instance_template: str): """ A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests. @@ -3951,7 +4098,7 @@ def __init__(__self__, *, :param 'LocationPolicyResponse' location_policy: Policy for chosing target zone. For more information, see Create VMs in bulk . :param str min_count: The minimum number of instances to create. If no min_count is specified then count is used as the default value. If min_count instances cannot be created, then no instances will be created and instances already created will be deleted. :param str name_pattern: The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters. - :param Mapping[str, str] per_instance_properties: Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. + :param Mapping[str, 'BulkInsertInstanceResourcePerInstancePropertiesResponse'] per_instance_properties: Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. :param str source_instance_template: Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional. """ pulumi.set(__self__, "count", count) @@ -4004,7 +4151,7 @@ def name_pattern(self) -> str: @property @pulumi.getter(name="perInstanceProperties") - def per_instance_properties(self) -> Mapping[str, str]: + def per_instance_properties(self) -> Mapping[str, 'outputs.BulkInsertInstanceResourcePerInstancePropertiesResponse']: """ Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used. """ @@ -5230,6 +5377,35 @@ def state_override(self) -> 'outputs.RolloutPolicyResponse': return pulumi.get(self, "state_override") +@pulumi.output_type +class DiskAsyncReplicationListResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "asyncReplicationDisk": + suggest = "async_replication_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskAsyncReplicationListResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskAsyncReplicationListResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskAsyncReplicationListResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + async_replication_disk: 'outputs.DiskAsyncReplicationResponse'): + pulumi.set(__self__, "async_replication_disk", async_replication_disk) + + @property + @pulumi.getter(name="asyncReplicationDisk") + def async_replication_disk(self) -> 'outputs.DiskAsyncReplicationResponse': + return pulumi.get(self, "async_replication_disk") + + @pulumi.output_type class DiskAsyncReplicationResponse(dict): @staticmethod @@ -5456,10 +5632,10 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, async_primary_disk: 'outputs.DiskResourceStatusAsyncReplicationStatusResponse', - async_secondary_disks: Mapping[str, str], + async_secondary_disks: Mapping[str, 'outputs.DiskResourceStatusAsyncReplicationStatusResponse'], used_bytes: str): """ - :param Mapping[str, str] async_secondary_disks: Key: disk, value: AsyncReplicationStatus message + :param Mapping[str, 'DiskResourceStatusAsyncReplicationStatusResponse'] async_secondary_disks: Key: disk, value: AsyncReplicationStatus message :param str used_bytes: Space used by data stored in the disk (in bytes). Note that this field is set only when the disk is in a storage pool. """ pulumi.set(__self__, "async_primary_disk", async_primary_disk) @@ -5473,7 +5649,7 @@ def async_primary_disk(self) -> 'outputs.DiskResourceStatusAsyncReplicationStatu @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> Mapping[str, str]: + def async_secondary_disks(self) -> Mapping[str, 'outputs.DiskResourceStatusAsyncReplicationStatusResponse']: """ Key: disk, value: AsyncReplicationStatus message """ @@ -9235,6 +9411,52 @@ def max_unavailable(self) -> 'outputs.FixedOrPercentResponse': return pulumi.get(self, "max_unavailable") +@pulumi.output_type +class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "machineTypes": + suggest = "machine_types" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + machine_types: Sequence[str], + rank: int): + """ + :param Sequence[str] machine_types: Full machine-type names, e.g. "n1-standard-16". + :param int rank: Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + """ + pulumi.set(__self__, "machine_types", machine_types) + pulumi.set(__self__, "rank", rank) + + @property + @pulumi.getter(name="machineTypes") + def machine_types(self) -> Sequence[str]: + """ + Full machine-type names, e.g. "n1-standard-16". + """ + return pulumi.get(self, "machine_types") + + @property + @pulumi.getter + def rank(self) -> int: + """ + Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + """ + return pulumi.get(self, "rank") + + @pulumi.output_type class InstanceGroupManagerInstanceFlexibilityPolicyResponse(dict): @staticmethod @@ -9257,18 +9479,18 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - instance_selection_lists: Mapping[str, str], - instance_selections: Mapping[str, str]): + instance_selection_lists: Mapping[str, 'outputs.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse'], + instance_selections: Mapping[str, 'outputs.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse']): """ - :param Mapping[str, str] instance_selection_lists: Named instance selections configuring properties that the group will use when creating new VMs. - :param Mapping[str, str] instance_selections: Named instance selections configuring properties that the group will use when creating new VMs. + :param Mapping[str, 'InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse'] instance_selection_lists: Named instance selections configuring properties that the group will use when creating new VMs. + :param Mapping[str, 'InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse'] instance_selections: Named instance selections configuring properties that the group will use when creating new VMs. """ pulumi.set(__self__, "instance_selection_lists", instance_selection_lists) pulumi.set(__self__, "instance_selections", instance_selections) @property @pulumi.getter(name="instanceSelectionLists") - def instance_selection_lists(self) -> Mapping[str, str]: + def instance_selection_lists(self) -> Mapping[str, 'outputs.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse']: """ Named instance selections configuring properties that the group will use when creating new VMs. """ @@ -9276,7 +9498,7 @@ def instance_selection_lists(self) -> Mapping[str, str]: @property @pulumi.getter(name="instanceSelections") - def instance_selections(self) -> Mapping[str, str]: + def instance_selections(self) -> Mapping[str, 'outputs.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse']: """ Named instance selections configuring properties that the group will use when creating new VMs. """ @@ -10213,7 +10435,7 @@ def __init__(__self__, *, min_cpu_platform: str, network_interfaces: Sequence['outputs.NetworkInterfaceResponse'], network_performance_config: 'outputs.NetworkPerformanceConfigResponse', - partner_metadata: Mapping[str, str], + partner_metadata: Mapping[str, 'outputs.StructuredEntriesResponse'], post_key_revocation_action_type: str, private_ipv6_google_access: str, reservation_affinity: 'outputs.ReservationAffinityResponse', @@ -10222,7 +10444,7 @@ def __init__(__self__, *, scheduling: 'outputs.SchedulingResponse', secure_tags: Sequence[str], service_accounts: Sequence['outputs.ServiceAccountResponse'], - service_integration_specs: Mapping[str, str], + service_integration_specs: Mapping[str, 'outputs.ServiceIntegrationSpecResponse'], shielded_instance_config: 'outputs.ShieldedInstanceConfigResponse', shielded_vm_config: 'outputs.ShieldedVmConfigResponse', tags: 'outputs.TagsResponse'): @@ -10241,7 +10463,7 @@ def __init__(__self__, *, :param str min_cpu_platform: Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge". For more information, read Specifying a Minimum CPU Platform. :param Sequence['NetworkInterfaceResponse'] network_interfaces: An array of network access configurations for this interface. :param 'NetworkPerformanceConfigResponse' network_performance_config: Note that for MachineImage, this is not supported yet. - :param Mapping[str, str] partner_metadata: Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. + :param Mapping[str, 'StructuredEntriesResponse'] partner_metadata: Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. :param str post_key_revocation_action_type: PostKeyRevocationActionType of the instance. :param str private_ipv6_google_access: The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet. :param 'ReservationAffinityResponse' reservation_affinity: Specifies the reservations that instances can consume from. Note that for MachineImage, this is not supported yet. @@ -10250,7 +10472,7 @@ def __init__(__self__, *, :param 'SchedulingResponse' scheduling: Specifies the scheduling options for the instances that are created from these properties. :param Sequence[str] secure_tags: [Input Only] Secure tags to apply to this instance. Maximum number of secure tags allowed is 50. Note that for MachineImage, this is not supported yet. :param Sequence['ServiceAccountResponse'] service_accounts: A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances. - :param Mapping[str, str] service_integration_specs: Mapping of user defined keys to ServiceIntegrationSpec. + :param Mapping[str, 'ServiceIntegrationSpecResponse'] service_integration_specs: Mapping of user defined keys to ServiceIntegrationSpec. :param 'ShieldedInstanceConfigResponse' shielded_instance_config: Note that for MachineImage, this is not supported yet. :param 'ShieldedVmConfigResponse' shielded_vm_config: Specifies the Shielded VM options for the instances that are created from these properties. :param 'TagsResponse' tags: A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035. @@ -10397,7 +10619,7 @@ def network_performance_config(self) -> 'outputs.NetworkPerformanceConfigRespons @property @pulumi.getter(name="partnerMetadata") - def partner_metadata(self) -> Mapping[str, str]: + def partner_metadata(self) -> Mapping[str, 'outputs.StructuredEntriesResponse']: """ Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map. """ @@ -10469,7 +10691,7 @@ def service_accounts(self) -> Sequence['outputs.ServiceAccountResponse']: @property @pulumi.getter(name="serviceIntegrationSpecs") - def service_integration_specs(self) -> Mapping[str, str]: + def service_integration_specs(self) -> Mapping[str, 'outputs.ServiceIntegrationSpecResponse']: """ Mapping of user defined keys to ServiceIntegrationSpec. """ @@ -11370,6 +11592,85 @@ def message(self) -> str: return pulumi.get(self, "message") +@pulumi.output_type +class LocationPolicyLocationConstraintsResponse(dict): + """ + Per-zone constraints on location policy for this zone. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxCount": + suggest = "max_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in LocationPolicyLocationConstraintsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + LocationPolicyLocationConstraintsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + LocationPolicyLocationConstraintsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_count: int): + """ + Per-zone constraints on location policy for this zone. + :param int max_count: Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + """ + pulumi.set(__self__, "max_count", max_count) + + @property + @pulumi.getter(name="maxCount") + def max_count(self) -> int: + """ + Maximum number of items that are allowed to be placed in this zone. The value must be non-negative. + """ + return pulumi.get(self, "max_count") + + +@pulumi.output_type +class LocationPolicyLocationResponse(dict): + def __init__(__self__, *, + constraints: 'outputs.LocationPolicyLocationConstraintsResponse', + names: Sequence[str], + preference: str): + """ + :param 'LocationPolicyLocationConstraintsResponse' constraints: Constraints that the caller requires on the result distribution in this zone. + :param Sequence[str] names: Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + :param str preference: Preference for a given location. Set to either ALLOW or DENY. + """ + pulumi.set(__self__, "constraints", constraints) + pulumi.set(__self__, "names", names) + pulumi.set(__self__, "preference", preference) + + @property + @pulumi.getter + def constraints(self) -> 'outputs.LocationPolicyLocationConstraintsResponse': + """ + Constraints that the caller requires on the result distribution in this zone. + """ + return pulumi.get(self, "constraints") + + @property + @pulumi.getter + def names(self) -> Sequence[str]: + """ + Names of resources to be put in the location. Must contain unique, correct resource names. If used, targetShape must be left unset. + """ + return pulumi.get(self, "names") + + @property + @pulumi.getter + def preference(self) -> str: + """ + Preference for a given location. Set to either ALLOW or DENY. + """ + return pulumi.get(self, "preference") + + @pulumi.output_type class LocationPolicyResponse(dict): """ @@ -11393,11 +11694,11 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - locations: Mapping[str, str], + locations: Mapping[str, 'outputs.LocationPolicyLocationResponse'], target_shape: str): """ Configuration for location policy among multiple possible locations (e.g. preferences for zone selection among zones in a single region). - :param Mapping[str, str] locations: Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. + :param Mapping[str, 'LocationPolicyLocationResponse'] locations: Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. :param str target_shape: Strategy for distributing VMs across zones in a region. """ pulumi.set(__self__, "locations", locations) @@ -11405,7 +11706,7 @@ def __init__(__self__, *, @property @pulumi.getter - def locations(self) -> Mapping[str, str]: + def locations(self) -> Mapping[str, 'outputs.LocationPolicyLocationResponse']: """ Location configurations mapped by location name. Currently only zone names are supported and must be represented as valid internal URLs, such as zones/us-central1-a. """ @@ -16524,14 +16825,14 @@ def __init__(__self__, *, last_instance_termination_details: 'outputs.ResourceStatusLastInstanceTerminationDetailsResponse', physical_host: str, scheduling: 'outputs.ResourceStatusSchedulingResponse', - service_integration_statuses: Mapping[str, str], + service_integration_statuses: Mapping[str, 'outputs.ResourceStatusServiceIntegrationStatusResponse'], shutdown_details: 'outputs.ResourceStatusShutdownDetailsResponse', upcoming_maintenance: 'outputs.UpcomingMaintenanceResponse'): """ Contains output only fields. Use this sub-message for actual values set on Instance attributes as compared to the value requested by the user (intent) in their instance CRUD calls. :param 'ResourceStatusLastInstanceTerminationDetailsResponse' last_instance_termination_details: Contains last termination details why the instance was terminated. :param str physical_host: An opaque ID of the host on which the VM is running. - :param Mapping[str, str] service_integration_statuses: Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs. + :param Mapping[str, 'ResourceStatusServiceIntegrationStatusResponse'] service_integration_statuses: Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs. :param 'ResourceStatusShutdownDetailsResponse' shutdown_details: Details about stopping state of instance """ pulumi.set(__self__, "last_instance_termination_details", last_instance_termination_details) @@ -16564,7 +16865,7 @@ def scheduling(self) -> 'outputs.ResourceStatusSchedulingResponse': @property @pulumi.getter(name="serviceIntegrationStatuses") - def service_integration_statuses(self) -> Mapping[str, str]: + def service_integration_statuses(self) -> Mapping[str, 'outputs.ResourceStatusServiceIntegrationStatusResponse']: """ Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs. """ @@ -16632,6 +16933,91 @@ def termination_timestamp(self) -> str: return pulumi.get(self, "termination_timestamp") +@pulumi.output_type +class ResourceStatusServiceIntegrationStatusBackupDRStatusResponse(dict): + """ + Message defining compute perspective of the result of integration with Backup and DR. FAILED status indicates that the operation specified did not complete correctly and should be retried with the same value. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "integrationDetails": + suggest = "integration_details" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ResourceStatusServiceIntegrationStatusBackupDRStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ResourceStatusServiceIntegrationStatusBackupDRStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ResourceStatusServiceIntegrationStatusBackupDRStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + integration_details: str, + state: str): + """ + Message defining compute perspective of the result of integration with Backup and DR. FAILED status indicates that the operation specified did not complete correctly and should be retried with the same value. + :param str integration_details: The PlanReference object created by Backup and DR to maintain the actual status of backups. May still be present if removing the backup plan fails. + :param str state: Enum representing the registration state of a Backup and DR backup plan for the instance. + """ + pulumi.set(__self__, "integration_details", integration_details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="integrationDetails") + def integration_details(self) -> str: + """ + The PlanReference object created by Backup and DR to maintain the actual status of backups. May still be present if removing the backup plan fails. + """ + return pulumi.get(self, "integration_details") + + @property + @pulumi.getter + def state(self) -> str: + """ + Enum representing the registration state of a Backup and DR backup plan for the instance. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class ResourceStatusServiceIntegrationStatusResponse(dict): + """ + Represents the status of integration between instance and another service. See go/gce-backupdr-design for more details. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "backupDr": + suggest = "backup_dr" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ResourceStatusServiceIntegrationStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ResourceStatusServiceIntegrationStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ResourceStatusServiceIntegrationStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + backup_dr: 'outputs.ResourceStatusServiceIntegrationStatusBackupDRStatusResponse'): + """ + Represents the status of integration between instance and another service. See go/gce-backupdr-design for more details. + """ + pulumi.set(__self__, "backup_dr", backup_dr) + + @property + @pulumi.getter(name="backupDr") + def backup_dr(self) -> 'outputs.ResourceStatusServiceIntegrationStatusBackupDRStatusResponse': + return pulumi.get(self, "backup_dr") + + @pulumi.output_type class ResourceStatusShutdownDetailsResponse(dict): """ @@ -18647,6 +19033,65 @@ def storage_bytes_status(self) -> str: return pulumi.get(self, "storage_bytes_status") +@pulumi.output_type +class ScalingScheduleStatusResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lastStartTime": + suggest = "last_start_time" + elif key == "nextStartTime": + suggest = "next_start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScalingScheduleStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScalingScheduleStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScalingScheduleStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + last_start_time: str, + next_start_time: str, + state: str): + """ + :param str last_start_time: The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + :param str next_start_time: The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + :param str state: The current state of a scaling schedule. + """ + pulumi.set(__self__, "last_start_time", last_start_time) + pulumi.set(__self__, "next_start_time", next_start_time) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="lastStartTime") + def last_start_time(self) -> str: + """ + The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + """ + return pulumi.get(self, "last_start_time") + + @property + @pulumi.getter(name="nextStartTime") + def next_start_time(self) -> str: + """ + The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + """ + return pulumi.get(self, "next_start_time") + + @property + @pulumi.getter + def state(self) -> str: + """ + The current state of a scaling schedule. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class SchedulingGracefulShutdownResponse(dict): """ @@ -21323,6 +21768,124 @@ def routing_mode(self) -> str: return pulumi.get(self, "routing_mode") +@pulumi.output_type +class ServiceIntegrationSpecBackupDRSpecResponse(dict): + """ + Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. + """ + def __init__(__self__, *, + plan: str): + """ + Specifies parameters to Backup and DR to attach a BackupPlan to a compute instance for managed VM backup. + :param str plan: The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + """ + pulumi.set(__self__, "plan", plan) + + @property + @pulumi.getter + def plan(self) -> str: + """ + The BackupPlan resource to attach to the instance. Specified as a resource reference in instances, and regional instance templates, and as just the plan name in global instance templates + """ + return pulumi.get(self, "plan") + + +@pulumi.output_type +class ServiceIntegrationSpecResponse(dict): + """ + Specifies the parameters to configure an integration with instances. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "backupDr": + suggest = "backup_dr" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServiceIntegrationSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServiceIntegrationSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServiceIntegrationSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + backup_dr: 'outputs.ServiceIntegrationSpecBackupDRSpecResponse'): + """ + Specifies the parameters to configure an integration with instances. + """ + pulumi.set(__self__, "backup_dr", backup_dr) + + @property + @pulumi.getter(name="backupDr") + def backup_dr(self) -> 'outputs.ServiceIntegrationSpecBackupDRSpecResponse': + return pulumi.get(self, "backup_dr") + + +@pulumi.output_type +class ShareSettingsFolderConfigResponse(dict): + """ + Config for each folder in the share settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "folderId": + suggest = "folder_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ShareSettingsFolderConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ShareSettingsFolderConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ShareSettingsFolderConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + folder_id: str): + """ + Config for each folder in the share settings. + :param str folder_id: The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + """ + pulumi.set(__self__, "folder_id", folder_id) + + @property + @pulumi.getter(name="folderId") + def folder_id(self) -> str: + """ + The folder ID, should be same as the key of this folder config in the parent map. Folder id should be a string of number, and without "folders/" prefix. + """ + return pulumi.get(self, "folder_id") + + +@pulumi.output_type +class ShareSettingsProjectConfigResponse(dict): + """ + Config for each project in the share settings. + """ + def __init__(__self__, *, + project: str): + """ + Config for each project in the share settings. + :param str project: The project ID, should be same as the key of this project config in the parent map. + """ + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def project(self) -> str: + """ + The project ID, should be same as the key of this project config in the parent map. + """ + return pulumi.get(self, "project") + + @pulumi.output_type class ShareSettingsResponse(dict): """ @@ -21350,14 +21913,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - folder_map: Mapping[str, str], - project_map: Mapping[str, str], + folder_map: Mapping[str, 'outputs.ShareSettingsFolderConfigResponse'], + project_map: Mapping[str, 'outputs.ShareSettingsProjectConfigResponse'], projects: Sequence[str], share_type: str): """ The share setting for reservations and sole tenancy node groups. - :param Mapping[str, str] folder_map: A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. - :param Mapping[str, str] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. + :param Mapping[str, 'ShareSettingsFolderConfigResponse'] folder_map: A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. + :param Mapping[str, 'ShareSettingsProjectConfigResponse'] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param Sequence[str] projects: A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param str share_type: Type of sharing for this shared-reservation """ @@ -21368,7 +21931,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="folderMap") - def folder_map(self) -> Mapping[str, str]: + def folder_map(self) -> Mapping[str, 'outputs.ShareSettingsFolderConfigResponse']: """ A map of folder id and folder config to specify consumer projects for this shared-reservation. This is only valid when share_type's value is DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number, and without "folders/" prefix. """ @@ -21376,7 +21939,7 @@ def folder_map(self) -> Mapping[str, str]: @property @pulumi.getter(name="projectMap") - def project_map(self) -> Mapping[str, str]: + def project_map(self) -> Mapping[str, 'outputs.ShareSettingsProjectConfigResponse']: """ A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. """ @@ -22083,6 +22646,76 @@ def message(self) -> str: return pulumi.get(self, "message") +@pulumi.output_type +class StatefulPolicyPreservedStateDiskDeviceResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoDelete": + suggest = "auto_delete" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StatefulPolicyPreservedStateDiskDeviceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StatefulPolicyPreservedStateDiskDeviceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StatefulPolicyPreservedStateDiskDeviceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_delete: str): + """ + :param str auto_delete: These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> str: + """ + These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + return pulumi.get(self, "auto_delete") + + +@pulumi.output_type +class StatefulPolicyPreservedStateNetworkIpResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoDelete": + suggest = "auto_delete" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StatefulPolicyPreservedStateNetworkIpResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StatefulPolicyPreservedStateNetworkIpResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StatefulPolicyPreservedStateNetworkIpResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_delete: str): + """ + :param str auto_delete: These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> str: + """ + These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + return pulumi.get(self, "auto_delete") + + @pulumi.output_type class StatefulPolicyPreservedStateResponse(dict): """ @@ -22108,14 +22741,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - disks: Mapping[str, str], - external_ips: Mapping[str, str], - internal_ips: Mapping[str, str]): + disks: Mapping[str, 'outputs.StatefulPolicyPreservedStateDiskDeviceResponse'], + external_ips: Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse'], + internal_ips: Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse']): """ Configuration of preserved resources. - :param Mapping[str, str] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - :param Mapping[str, str] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - :param Mapping[str, str] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param Mapping[str, 'StatefulPolicyPreservedStateDiskDeviceResponse'] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. + :param Mapping[str, 'StatefulPolicyPreservedStateNetworkIpResponse'] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param Mapping[str, 'StatefulPolicyPreservedStateNetworkIpResponse'] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ pulumi.set(__self__, "disks", disks) pulumi.set(__self__, "external_ips", external_ips) @@ -22123,7 +22756,7 @@ def __init__(__self__, *, @property @pulumi.getter - def disks(self) -> Mapping[str, str]: + def disks(self) -> Mapping[str, 'outputs.StatefulPolicyPreservedStateDiskDeviceResponse']: """ Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. """ @@ -22131,7 +22764,7 @@ def disks(self) -> Mapping[str, str]: @property @pulumi.getter(name="externalIPs") - def external_ips(self) -> Mapping[str, str]: + def external_ips(self) -> Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse']: """ External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ @@ -22139,7 +22772,7 @@ def external_ips(self) -> Mapping[str, str]: @property @pulumi.getter(name="internalIPs") - def internal_ips(self) -> Mapping[str, str]: + def internal_ips(self) -> Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse']: """ Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ @@ -22305,6 +22938,24 @@ def used_throughput(self) -> str: return pulumi.get(self, "used_throughput") +@pulumi.output_type +class StructuredEntriesResponse(dict): + def __init__(__self__, *, + entries: Mapping[str, Any]): + """ + :param Mapping[str, Any] entries: Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + """ + pulumi.set(__self__, "entries", entries) + + @property + @pulumi.getter + def entries(self) -> Mapping[str, Any]: + """ + Map of a partner metadata that belong to the same subdomain. It accepts any value including google.protobuf.Struct. + """ + return pulumi.get(self, "entries") + + @pulumi.output_type class SubnetworkLogConfigResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/region_autoscaler.py b/sdk/python/pulumi_google_native/compute/alpha/region_autoscaler.py index a63fafe660..58f2ea0eea 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/region_autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/alpha/region_autoscaler.py @@ -317,7 +317,7 @@ def request_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, str]]: + def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, 'outputs.ScalingScheduleStatusResponse']]: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/alpha/region_disk.py b/sdk/python/pulumi_google_native/compute/alpha/region_disk.py index f81eb81b4c..03ece00941 100644 --- a/sdk/python/pulumi_google_native/compute/alpha/region_disk.py +++ b/sdk/python/pulumi_google_native/compute/alpha/region_disk.py @@ -935,7 +935,7 @@ def async_primary_disk(self) -> pulumi.Output['outputs.DiskAsyncReplicationRespo @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> pulumi.Output[Mapping[str, str]]: + def async_secondary_disks(self) -> pulumi.Output[Mapping[str, 'outputs.DiskAsyncReplicationListResponse']]: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/beta/_enums.py b/sdk/python/pulumi_google_native/compute/beta/_enums.py index 9715eac411..94197d2971 100644 --- a/sdk/python/pulumi_google_native/compute/beta/_enums.py +++ b/sdk/python/pulumi_google_native/compute/beta/_enums.py @@ -203,6 +203,8 @@ 'SslCertificateType', 'SslPolicyMinTlsVersion', 'SslPolicyProfile', + 'StatefulPolicyPreservedStateDiskDeviceAutoDelete', + 'StatefulPolicyPreservedStateNetworkIpAutoDelete', 'SubnetworkIpv6AccessType', 'SubnetworkLogConfigAggregationInterval', 'SubnetworkLogConfigMetadata', @@ -3453,6 +3455,22 @@ class SslPolicyProfile(str, Enum): """ +class StatefulPolicyPreservedStateDiskDeviceAutoDelete(str, Enum): + """ + These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + NEVER = "NEVER" + ON_PERMANENT_INSTANCE_DELETION = "ON_PERMANENT_INSTANCE_DELETION" + + +class StatefulPolicyPreservedStateNetworkIpAutoDelete(str, Enum): + """ + These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + NEVER = "NEVER" + ON_PERMANENT_INSTANCE_DELETION = "ON_PERMANENT_INSTANCE_DELETION" + + class SubnetworkIpv6AccessType(str, Enum): """ The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. diff --git a/sdk/python/pulumi_google_native/compute/beta/_inputs.py b/sdk/python/pulumi_google_native/compute/beta/_inputs.py index 7771b3583d..ebc910486a 100644 --- a/sdk/python/pulumi_google_native/compute/beta/_inputs.py +++ b/sdk/python/pulumi_google_native/compute/beta/_inputs.py @@ -32,6 +32,7 @@ 'AutoscalingPolicyLoadBalancingUtilizationArgs', 'AutoscalingPolicyScaleDownControlArgs', 'AutoscalingPolicyScaleInControlArgs', + 'AutoscalingPolicyScalingScheduleArgs', 'AutoscalingPolicyArgs', 'BackendBucketCdnPolicyBypassCacheOnRequestHeaderArgs', 'BackendBucketCdnPolicyCacheKeyPolicyArgs', @@ -108,6 +109,7 @@ 'InitialStateConfigArgs', 'InstanceGroupManagerAllInstancesConfigArgs', 'InstanceGroupManagerAutoHealingPolicyArgs', + 'InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs', 'InstanceGroupManagerInstanceFlexibilityPolicyArgs', 'InstanceGroupManagerInstanceLifecyclePolicyArgs', 'InstanceGroupManagerStandbyPolicyArgs', @@ -222,6 +224,7 @@ 'ServiceAccountArgs', 'ServiceAttachmentConsumerProjectLimitArgs', 'ServiceAttachmentTunnelingConfigArgs', + 'ShareSettingsProjectConfigArgs', 'ShareSettingsArgs', 'ShieldedInstanceConfigArgs', 'ShieldedInstanceIntegrityPolicyArgs', @@ -231,6 +234,8 @@ 'SourceInstanceParamsArgs', 'SslCertificateManagedSslCertificateArgs', 'SslCertificateSelfManagedSslCertificateArgs', + 'StatefulPolicyPreservedStateDiskDeviceArgs', + 'StatefulPolicyPreservedStateNetworkIpArgs', 'StatefulPolicyPreservedStateArgs', 'StatefulPolicyArgs', 'SubnetworkLogConfigArgs', @@ -1866,6 +1871,110 @@ def time_window_sec(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "time_window_sec", value) +@pulumi.input_type +class AutoscalingPolicyScalingScheduleArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + disabled: Optional[pulumi.Input[bool]] = None, + duration_sec: Optional[pulumi.Input[int]] = None, + min_required_replicas: Optional[pulumi.Input[int]] = None, + schedule: Optional[pulumi.Input[str]] = None, + time_zone: Optional[pulumi.Input[str]] = None): + """ + Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + :param pulumi.Input[str] description: A description of a scaling schedule. + :param pulumi.Input[bool] disabled: A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + :param pulumi.Input[int] duration_sec: The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + :param pulumi.Input[int] min_required_replicas: The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + :param pulumi.Input[str] schedule: The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + :param pulumi.Input[str] time_zone: The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + if duration_sec is not None: + pulumi.set(__self__, "duration_sec", duration_sec) + if min_required_replicas is not None: + pulumi.set(__self__, "min_required_replicas", min_required_replicas) + if schedule is not None: + pulumi.set(__self__, "schedule", schedule) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of a scaling schedule. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def disabled(self) -> Optional[pulumi.Input[bool]]: + """ + A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + """ + return pulumi.get(self, "disabled") + + @disabled.setter + def disabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disabled", value) + + @property + @pulumi.getter(name="durationSec") + def duration_sec(self) -> Optional[pulumi.Input[int]]: + """ + The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + """ + return pulumi.get(self, "duration_sec") + + @duration_sec.setter + def duration_sec(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "duration_sec", value) + + @property + @pulumi.getter(name="minRequiredReplicas") + def min_required_replicas(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + """ + return pulumi.get(self, "min_required_replicas") + + @min_required_replicas.setter + def min_required_replicas(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_required_replicas", value) + + @property + @pulumi.getter + def schedule(self) -> Optional[pulumi.Input[str]]: + """ + The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + """ + return pulumi.get(self, "schedule") + + @schedule.setter + def schedule(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "schedule", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[pulumi.Input[str]]: + """ + The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_zone", value) + + @pulumi.input_type class AutoscalingPolicyArgs: def __init__(__self__, *, @@ -1878,7 +1987,7 @@ def __init__(__self__, *, mode: Optional[pulumi.Input['AutoscalingPolicyMode']] = None, scale_down_control: Optional[pulumi.Input['AutoscalingPolicyScaleDownControlArgs']] = None, scale_in_control: Optional[pulumi.Input['AutoscalingPolicyScaleInControlArgs']] = None, - scaling_schedules: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + scaling_schedules: Optional[pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]]] = None): """ Cloud Autoscaler policy. :param pulumi.Input[int] cool_down_period_sec: The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process. @@ -1888,7 +1997,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_num_replicas: The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas. :param pulumi.Input[int] min_num_replicas: The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed. :param pulumi.Input['AutoscalingPolicyMode'] mode: Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler" - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. + :param pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ if cool_down_period_sec is not None: pulumi.set(__self__, "cool_down_period_sec", cool_down_period_sec) @@ -2015,14 +2124,14 @@ def scale_in_control(self, value: Optional[pulumi.Input['AutoscalingPolicyScaleI @property @pulumi.getter(name="scalingSchedules") - def scaling_schedules(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def scaling_schedules(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]]]: """ Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ return pulumi.get(self, "scaling_schedules") @scaling_schedules.setter - def scaling_schedules(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def scaling_schedules(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]]]): pulumi.set(self, "scaling_schedules", value) @@ -7196,26 +7305,65 @@ def initial_delay_sec(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "initial_delay_sec", value) +@pulumi.input_type +class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs: + def __init__(__self__, *, + machine_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + rank: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] machine_types: Full machine-type names, e.g. "n1-standard-16". + :param pulumi.Input[int] rank: Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + """ + if machine_types is not None: + pulumi.set(__self__, "machine_types", machine_types) + if rank is not None: + pulumi.set(__self__, "rank", rank) + + @property + @pulumi.getter(name="machineTypes") + def machine_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Full machine-type names, e.g. "n1-standard-16". + """ + return pulumi.get(self, "machine_types") + + @machine_types.setter + def machine_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "machine_types", value) + + @property + @pulumi.getter + def rank(self) -> Optional[pulumi.Input[int]]: + """ + Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + """ + return pulumi.get(self, "rank") + + @rank.setter + def rank(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "rank", value) + + @pulumi.input_type class InstanceGroupManagerInstanceFlexibilityPolicyArgs: def __init__(__self__, *, - instance_selection_lists: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + instance_selection_lists: Optional[pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]]] = None): """ - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] instance_selection_lists: Named instance selections configuring properties that the group will use when creating new VMs. + :param pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]] instance_selection_lists: Named instance selections configuring properties that the group will use when creating new VMs. """ if instance_selection_lists is not None: pulumi.set(__self__, "instance_selection_lists", instance_selection_lists) @property @pulumi.getter(name="instanceSelectionLists") - def instance_selection_lists(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def instance_selection_lists(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]]]: """ Named instance selections configuring properties that the group will use when creating new VMs. """ return pulumi.get(self, "instance_selection_lists") @instance_selection_lists.setter - def instance_selection_lists(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def instance_selection_lists(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionArgs']]]]): pulumi.set(self, "instance_selection_lists", value) @@ -14746,15 +14894,39 @@ def routing_mode(self, value: Optional[pulumi.Input['ServiceAttachmentTunnelingC pulumi.set(self, "routing_mode", value) +@pulumi.input_type +class ShareSettingsProjectConfigArgs: + def __init__(__self__, *, + project: Optional[pulumi.Input[str]] = None): + """ + Config for each project in the share settings. + :param pulumi.Input[str] project: The project ID, should be same as the key of this project config in the parent map. + """ + if project is not None: + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + The project ID, should be same as the key of this project config in the parent map. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @pulumi.input_type class ShareSettingsArgs: def __init__(__self__, *, - project_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + project_map: Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]]] = None, projects: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, share_type: Optional[pulumi.Input['ShareSettingsShareType']] = None): """ The share setting for reservations and sole tenancy node groups. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. + :param pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param pulumi.Input[Sequence[pulumi.Input[str]]] projects: A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param pulumi.Input['ShareSettingsShareType'] share_type: Type of sharing for this shared-reservation """ @@ -14767,14 +14939,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="projectMap") - def project_map(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def project_map(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]]]: """ A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. """ return pulumi.get(self, "project_map") @project_map.setter - def project_map(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def project_map(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]]]): pulumi.set(self, "project_map", value) @property @@ -15089,17 +15261,63 @@ def private_key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "private_key", value) +@pulumi.input_type +class StatefulPolicyPreservedStateDiskDeviceArgs: + def __init__(__self__, *, + auto_delete: Optional[pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete']] = None): + """ + :param pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete'] auto_delete: These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + if auto_delete is not None: + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> Optional[pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete']]: + """ + These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + return pulumi.get(self, "auto_delete") + + @auto_delete.setter + def auto_delete(self, value: Optional[pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete']]): + pulumi.set(self, "auto_delete", value) + + +@pulumi.input_type +class StatefulPolicyPreservedStateNetworkIpArgs: + def __init__(__self__, *, + auto_delete: Optional[pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete']] = None): + """ + :param pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete'] auto_delete: These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + if auto_delete is not None: + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> Optional[pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete']]: + """ + These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + return pulumi.get(self, "auto_delete") + + @auto_delete.setter + def auto_delete(self, value: Optional[pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete']]): + pulumi.set(self, "auto_delete", value) + + @pulumi.input_type class StatefulPolicyPreservedStateArgs: def __init__(__self__, *, - disks: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - external_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - internal_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + disks: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]]] = None, + external_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]] = None, + internal_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]] = None): """ Configuration of preserved resources. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. + :param pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ if disks is not None: pulumi.set(__self__, "disks", disks) @@ -15110,38 +15328,38 @@ def __init__(__self__, *, @property @pulumi.getter - def disks(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def disks(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]]]: """ Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. """ return pulumi.get(self, "disks") @disks.setter - def disks(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def disks(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]]]): pulumi.set(self, "disks", value) @property @pulumi.getter(name="externalIPs") - def external_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def external_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]: """ External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ return pulumi.get(self, "external_ips") @external_ips.setter - def external_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def external_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]): pulumi.set(self, "external_ips", value) @property @pulumi.getter(name="internalIPs") - def internal_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def internal_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]: """ Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ return pulumi.get(self, "internal_ips") @internal_ips.setter - def internal_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def internal_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]): pulumi.set(self, "internal_ips", value) diff --git a/sdk/python/pulumi_google_native/compute/beta/autoscaler.py b/sdk/python/pulumi_google_native/compute/beta/autoscaler.py index c3ca7fd853..a40d40740b 100644 --- a/sdk/python/pulumi_google_native/compute/beta/autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/beta/autoscaler.py @@ -317,7 +317,7 @@ def request_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, str]]: + def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, 'outputs.ScalingScheduleStatusResponse']]: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/beta/disk.py b/sdk/python/pulumi_google_native/compute/beta/disk.py index 79721d6a73..26ac9f06ad 100644 --- a/sdk/python/pulumi_google_native/compute/beta/disk.py +++ b/sdk/python/pulumi_google_native/compute/beta/disk.py @@ -882,7 +882,7 @@ def async_primary_disk(self) -> pulumi.Output['outputs.DiskAsyncReplicationRespo @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> pulumi.Output[Mapping[str, str]]: + def async_secondary_disks(self) -> pulumi.Output[Mapping[str, 'outputs.DiskAsyncReplicationListResponse']]: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/beta/get_autoscaler.py b/sdk/python/pulumi_google_native/compute/beta/get_autoscaler.py index d698a84952..bfe85db1df 100644 --- a/sdk/python/pulumi_google_native/compute/beta/get_autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/beta/get_autoscaler.py @@ -118,7 +118,7 @@ def region(self) -> str: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> Mapping[str, str]: + def scaling_schedule_status(self) -> Mapping[str, 'outputs.ScalingScheduleStatusResponse']: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/beta/get_disk.py b/sdk/python/pulumi_google_native/compute/beta/get_disk.py index dfdaa658be..45eaf72ed6 100644 --- a/sdk/python/pulumi_google_native/compute/beta/get_disk.py +++ b/sdk/python/pulumi_google_native/compute/beta/get_disk.py @@ -195,7 +195,7 @@ def async_primary_disk(self) -> 'outputs.DiskAsyncReplicationResponse': @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> Mapping[str, str]: + def async_secondary_disks(self) -> Mapping[str, 'outputs.DiskAsyncReplicationListResponse']: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/beta/get_region_autoscaler.py b/sdk/python/pulumi_google_native/compute/beta/get_region_autoscaler.py index bdbb0189ca..998d639889 100644 --- a/sdk/python/pulumi_google_native/compute/beta/get_region_autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/beta/get_region_autoscaler.py @@ -118,7 +118,7 @@ def region(self) -> str: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> Mapping[str, str]: + def scaling_schedule_status(self) -> Mapping[str, 'outputs.ScalingScheduleStatusResponse']: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/beta/get_region_disk.py b/sdk/python/pulumi_google_native/compute/beta/get_region_disk.py index f148efd424..df016da1d7 100644 --- a/sdk/python/pulumi_google_native/compute/beta/get_region_disk.py +++ b/sdk/python/pulumi_google_native/compute/beta/get_region_disk.py @@ -195,7 +195,7 @@ def async_primary_disk(self) -> 'outputs.DiskAsyncReplicationResponse': @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> Mapping[str, str]: + def async_secondary_disks(self) -> Mapping[str, 'outputs.DiskAsyncReplicationListResponse']: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/beta/outputs.py b/sdk/python/pulumi_google_native/compute/beta/outputs.py index 00e3c801c7..7f4c0fd0bd 100644 --- a/sdk/python/pulumi_google_native/compute/beta/outputs.py +++ b/sdk/python/pulumi_google_native/compute/beta/outputs.py @@ -37,6 +37,7 @@ 'AutoscalingPolicyResponse', 'AutoscalingPolicyScaleDownControlResponse', 'AutoscalingPolicyScaleInControlResponse', + 'AutoscalingPolicyScalingScheduleResponse', 'BackendBucketCdnPolicyBypassCacheOnRequestHeaderResponse', 'BackendBucketCdnPolicyCacheKeyPolicyResponse', 'BackendBucketCdnPolicyNegativeCachingPolicyResponse', @@ -66,6 +67,7 @@ 'CustomErrorResponsePolicyResponse', 'CustomerEncryptionKeyResponse', 'DeprecationStatusResponse', + 'DiskAsyncReplicationListResponse', 'DiskAsyncReplicationResponse', 'DiskInstantiationConfigResponse', 'DiskParamsResponse', @@ -122,6 +124,7 @@ 'InstanceGroupManagerActionsSummaryResponse', 'InstanceGroupManagerAllInstancesConfigResponse', 'InstanceGroupManagerAutoHealingPolicyResponse', + 'InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse', 'InstanceGroupManagerInstanceFlexibilityPolicyResponse', 'InstanceGroupManagerInstanceLifecyclePolicyResponse', 'InstanceGroupManagerResizeRequestStatusErrorErrorsItemErrorDetailsItemResponse', @@ -232,6 +235,7 @@ 'SSLHealthCheckResponse', 'SavedAttachedDiskResponse', 'SavedDiskResponse', + 'ScalingScheduleStatusResponse', 'SchedulingNodeAffinityResponse', 'SchedulingResponse', 'SecurityPolicyAdaptiveProtectionConfigAutoDeployConfigResponse', @@ -267,6 +271,7 @@ 'ServiceAttachmentConnectedEndpointResponse', 'ServiceAttachmentConsumerProjectLimitResponse', 'ServiceAttachmentTunnelingConfigResponse', + 'ShareSettingsProjectConfigResponse', 'ShareSettingsResponse', 'ShieldedInstanceConfigResponse', 'ShieldedInstanceIntegrityPolicyResponse', @@ -279,6 +284,8 @@ 'SslCertificateSelfManagedSslCertificateResponse', 'SslPolicyWarningsItemDataItemResponse', 'SslPolicyWarningsItemResponse', + 'StatefulPolicyPreservedStateDiskDeviceResponse', + 'StatefulPolicyPreservedStateNetworkIpResponse', 'StatefulPolicyPreservedStateResponse', 'StatefulPolicyResponse', 'SubnetworkLogConfigResponse', @@ -2158,7 +2165,7 @@ def __init__(__self__, *, mode: str, scale_down_control: 'outputs.AutoscalingPolicyScaleDownControlResponse', scale_in_control: 'outputs.AutoscalingPolicyScaleInControlResponse', - scaling_schedules: Mapping[str, str]): + scaling_schedules: Mapping[str, 'outputs.AutoscalingPolicyScalingScheduleResponse']): """ Cloud Autoscaler policy. :param int cool_down_period_sec: The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process. @@ -2168,7 +2175,7 @@ def __init__(__self__, *, :param int max_num_replicas: The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas. :param int min_num_replicas: The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed. :param str mode: Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler" - :param Mapping[str, str] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. + :param Mapping[str, 'AutoscalingPolicyScalingScheduleResponse'] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ pulumi.set(__self__, "cool_down_period_sec", cool_down_period_sec) pulumi.set(__self__, "cpu_utilization", cpu_utilization) @@ -2249,7 +2256,7 @@ def scale_in_control(self) -> 'outputs.AutoscalingPolicyScaleInControlResponse': @property @pulumi.getter(name="scalingSchedules") - def scaling_schedules(self) -> Mapping[str, str]: + def scaling_schedules(self) -> Mapping[str, 'outputs.AutoscalingPolicyScalingScheduleResponse']: """ Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ @@ -2360,6 +2367,104 @@ def time_window_sec(self) -> int: return pulumi.get(self, "time_window_sec") +@pulumi.output_type +class AutoscalingPolicyScalingScheduleResponse(dict): + """ + Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "durationSec": + suggest = "duration_sec" + elif key == "minRequiredReplicas": + suggest = "min_required_replicas" + elif key == "timeZone": + suggest = "time_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AutoscalingPolicyScalingScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AutoscalingPolicyScalingScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AutoscalingPolicyScalingScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + description: str, + disabled: bool, + duration_sec: int, + min_required_replicas: int, + schedule: str, + time_zone: str): + """ + Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + :param str description: A description of a scaling schedule. + :param bool disabled: A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + :param int duration_sec: The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + :param int min_required_replicas: The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + :param str schedule: The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + :param str time_zone: The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "disabled", disabled) + pulumi.set(__self__, "duration_sec", duration_sec) + pulumi.set(__self__, "min_required_replicas", min_required_replicas) + pulumi.set(__self__, "schedule", schedule) + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def description(self) -> str: + """ + A description of a scaling schedule. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def disabled(self) -> bool: + """ + A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + """ + return pulumi.get(self, "disabled") + + @property + @pulumi.getter(name="durationSec") + def duration_sec(self) -> int: + """ + The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + """ + return pulumi.get(self, "duration_sec") + + @property + @pulumi.getter(name="minRequiredReplicas") + def min_required_replicas(self) -> int: + """ + The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + """ + return pulumi.get(self, "min_required_replicas") + + @property + @pulumi.getter + def schedule(self) -> str: + """ + The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + """ + return pulumi.get(self, "schedule") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> str: + """ + The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + return pulumi.get(self, "time_zone") + + @pulumi.output_type class BackendBucketCdnPolicyBypassCacheOnRequestHeaderResponse(dict): """ @@ -4492,6 +4597,35 @@ def state_override(self) -> 'outputs.RolloutPolicyResponse': return pulumi.get(self, "state_override") +@pulumi.output_type +class DiskAsyncReplicationListResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "asyncReplicationDisk": + suggest = "async_replication_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskAsyncReplicationListResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskAsyncReplicationListResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskAsyncReplicationListResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + async_replication_disk: 'outputs.DiskAsyncReplicationResponse'): + pulumi.set(__self__, "async_replication_disk", async_replication_disk) + + @property + @pulumi.getter(name="asyncReplicationDisk") + def async_replication_disk(self) -> 'outputs.DiskAsyncReplicationResponse': + return pulumi.get(self, "async_replication_disk") + + @pulumi.output_type class DiskAsyncReplicationResponse(dict): @staticmethod @@ -4716,9 +4850,9 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, async_primary_disk: 'outputs.DiskResourceStatusAsyncReplicationStatusResponse', - async_secondary_disks: Mapping[str, str]): + async_secondary_disks: Mapping[str, 'outputs.DiskResourceStatusAsyncReplicationStatusResponse']): """ - :param Mapping[str, str] async_secondary_disks: Key: disk, value: AsyncReplicationStatus message + :param Mapping[str, 'DiskResourceStatusAsyncReplicationStatusResponse'] async_secondary_disks: Key: disk, value: AsyncReplicationStatus message """ pulumi.set(__self__, "async_primary_disk", async_primary_disk) pulumi.set(__self__, "async_secondary_disks", async_secondary_disks) @@ -4730,7 +4864,7 @@ def async_primary_disk(self) -> 'outputs.DiskResourceStatusAsyncReplicationStatu @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> Mapping[str, str]: + def async_secondary_disks(self) -> Mapping[str, 'outputs.DiskResourceStatusAsyncReplicationStatusResponse']: """ Key: disk, value: AsyncReplicationStatus message """ @@ -8284,6 +8418,52 @@ def initial_delay_sec(self) -> int: return pulumi.get(self, "initial_delay_sec") +@pulumi.output_type +class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "machineTypes": + suggest = "machine_types" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + machine_types: Sequence[str], + rank: int): + """ + :param Sequence[str] machine_types: Full machine-type names, e.g. "n1-standard-16". + :param int rank: Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + """ + pulumi.set(__self__, "machine_types", machine_types) + pulumi.set(__self__, "rank", rank) + + @property + @pulumi.getter(name="machineTypes") + def machine_types(self) -> Sequence[str]: + """ + Full machine-type names, e.g. "n1-standard-16". + """ + return pulumi.get(self, "machine_types") + + @property + @pulumi.getter + def rank(self) -> int: + """ + Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + """ + return pulumi.get(self, "rank") + + @pulumi.output_type class InstanceGroupManagerInstanceFlexibilityPolicyResponse(dict): @staticmethod @@ -8304,15 +8484,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - instance_selection_lists: Mapping[str, str]): + instance_selection_lists: Mapping[str, 'outputs.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse']): """ - :param Mapping[str, str] instance_selection_lists: Named instance selections configuring properties that the group will use when creating new VMs. + :param Mapping[str, 'InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse'] instance_selection_lists: Named instance selections configuring properties that the group will use when creating new VMs. """ pulumi.set(__self__, "instance_selection_lists", instance_selection_lists) @property @pulumi.getter(name="instanceSelectionLists") - def instance_selection_lists(self) -> Mapping[str, str]: + def instance_selection_lists(self) -> Mapping[str, 'outputs.InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionResponse']: """ Named instance selections configuring properties that the group will use when creating new VMs. """ @@ -15969,6 +16149,65 @@ def storage_bytes_status(self) -> str: return pulumi.get(self, "storage_bytes_status") +@pulumi.output_type +class ScalingScheduleStatusResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lastStartTime": + suggest = "last_start_time" + elif key == "nextStartTime": + suggest = "next_start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScalingScheduleStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScalingScheduleStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScalingScheduleStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + last_start_time: str, + next_start_time: str, + state: str): + """ + :param str last_start_time: The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + :param str next_start_time: The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + :param str state: The current state of a scaling schedule. + """ + pulumi.set(__self__, "last_start_time", last_start_time) + pulumi.set(__self__, "next_start_time", next_start_time) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="lastStartTime") + def last_start_time(self) -> str: + """ + The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + """ + return pulumi.get(self, "last_start_time") + + @property + @pulumi.getter(name="nextStartTime") + def next_start_time(self) -> str: + """ + The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + """ + return pulumi.get(self, "next_start_time") + + @property + @pulumi.getter + def state(self) -> str: + """ + The current state of a scaling schedule. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class SchedulingNodeAffinityResponse(dict): """ @@ -18217,6 +18456,28 @@ def routing_mode(self) -> str: return pulumi.get(self, "routing_mode") +@pulumi.output_type +class ShareSettingsProjectConfigResponse(dict): + """ + Config for each project in the share settings. + """ + def __init__(__self__, *, + project: str): + """ + Config for each project in the share settings. + :param str project: The project ID, should be same as the key of this project config in the parent map. + """ + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def project(self) -> str: + """ + The project ID, should be same as the key of this project config in the parent map. + """ + return pulumi.get(self, "project") + + @pulumi.output_type class ShareSettingsResponse(dict): """ @@ -18242,12 +18503,12 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - project_map: Mapping[str, str], + project_map: Mapping[str, 'outputs.ShareSettingsProjectConfigResponse'], projects: Sequence[str], share_type: str): """ The share setting for reservations and sole tenancy node groups. - :param Mapping[str, str] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. + :param Mapping[str, 'ShareSettingsProjectConfigResponse'] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param Sequence[str] projects: A List of Project names to specify consumer projects for this shared-reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param str share_type: Type of sharing for this shared-reservation """ @@ -18257,7 +18518,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="projectMap") - def project_map(self) -> Mapping[str, str]: + def project_map(self) -> Mapping[str, 'outputs.ShareSettingsProjectConfigResponse']: """ A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. """ @@ -18964,6 +19225,76 @@ def message(self) -> str: return pulumi.get(self, "message") +@pulumi.output_type +class StatefulPolicyPreservedStateDiskDeviceResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoDelete": + suggest = "auto_delete" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StatefulPolicyPreservedStateDiskDeviceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StatefulPolicyPreservedStateDiskDeviceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StatefulPolicyPreservedStateDiskDeviceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_delete: str): + """ + :param str auto_delete: These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> str: + """ + These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + return pulumi.get(self, "auto_delete") + + +@pulumi.output_type +class StatefulPolicyPreservedStateNetworkIpResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoDelete": + suggest = "auto_delete" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StatefulPolicyPreservedStateNetworkIpResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StatefulPolicyPreservedStateNetworkIpResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StatefulPolicyPreservedStateNetworkIpResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_delete: str): + """ + :param str auto_delete: These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> str: + """ + These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + return pulumi.get(self, "auto_delete") + + @pulumi.output_type class StatefulPolicyPreservedStateResponse(dict): """ @@ -18989,14 +19320,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - disks: Mapping[str, str], - external_ips: Mapping[str, str], - internal_ips: Mapping[str, str]): + disks: Mapping[str, 'outputs.StatefulPolicyPreservedStateDiskDeviceResponse'], + external_ips: Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse'], + internal_ips: Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse']): """ Configuration of preserved resources. - :param Mapping[str, str] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - :param Mapping[str, str] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - :param Mapping[str, str] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param Mapping[str, 'StatefulPolicyPreservedStateDiskDeviceResponse'] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. + :param Mapping[str, 'StatefulPolicyPreservedStateNetworkIpResponse'] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param Mapping[str, 'StatefulPolicyPreservedStateNetworkIpResponse'] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ pulumi.set(__self__, "disks", disks) pulumi.set(__self__, "external_ips", external_ips) @@ -19004,7 +19335,7 @@ def __init__(__self__, *, @property @pulumi.getter - def disks(self) -> Mapping[str, str]: + def disks(self) -> Mapping[str, 'outputs.StatefulPolicyPreservedStateDiskDeviceResponse']: """ Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. """ @@ -19012,7 +19343,7 @@ def disks(self) -> Mapping[str, str]: @property @pulumi.getter(name="externalIPs") - def external_ips(self) -> Mapping[str, str]: + def external_ips(self) -> Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse']: """ External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ @@ -19020,7 +19351,7 @@ def external_ips(self) -> Mapping[str, str]: @property @pulumi.getter(name="internalIPs") - def internal_ips(self) -> Mapping[str, str]: + def internal_ips(self) -> Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse']: """ Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ diff --git a/sdk/python/pulumi_google_native/compute/beta/region_autoscaler.py b/sdk/python/pulumi_google_native/compute/beta/region_autoscaler.py index 2c2f3de9ab..be10e6369f 100644 --- a/sdk/python/pulumi_google_native/compute/beta/region_autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/beta/region_autoscaler.py @@ -315,7 +315,7 @@ def request_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, str]]: + def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, 'outputs.ScalingScheduleStatusResponse']]: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/beta/region_disk.py b/sdk/python/pulumi_google_native/compute/beta/region_disk.py index c558abbfb9..17aa0f8387 100644 --- a/sdk/python/pulumi_google_native/compute/beta/region_disk.py +++ b/sdk/python/pulumi_google_native/compute/beta/region_disk.py @@ -883,7 +883,7 @@ def async_primary_disk(self) -> pulumi.Output['outputs.DiskAsyncReplicationRespo @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> pulumi.Output[Mapping[str, str]]: + def async_secondary_disks(self) -> pulumi.Output[Mapping[str, 'outputs.DiskAsyncReplicationListResponse']]: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/v1/_enums.py b/sdk/python/pulumi_google_native/compute/v1/_enums.py index 6b117c4bba..2ab8d0d3c2 100644 --- a/sdk/python/pulumi_google_native/compute/v1/_enums.py +++ b/sdk/python/pulumi_google_native/compute/v1/_enums.py @@ -177,6 +177,8 @@ 'SslCertificateType', 'SslPolicyMinTlsVersion', 'SslPolicyProfile', + 'StatefulPolicyPreservedStateDiskDeviceAutoDelete', + 'StatefulPolicyPreservedStateNetworkIpAutoDelete', 'SubnetworkIpv6AccessType', 'SubnetworkLogConfigAggregationInterval', 'SubnetworkLogConfigMetadata', @@ -3054,6 +3056,22 @@ class SslPolicyProfile(str, Enum): """ +class StatefulPolicyPreservedStateDiskDeviceAutoDelete(str, Enum): + """ + These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + NEVER = "NEVER" + ON_PERMANENT_INSTANCE_DELETION = "ON_PERMANENT_INSTANCE_DELETION" + + +class StatefulPolicyPreservedStateNetworkIpAutoDelete(str, Enum): + """ + These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + NEVER = "NEVER" + ON_PERMANENT_INSTANCE_DELETION = "ON_PERMANENT_INSTANCE_DELETION" + + class SubnetworkIpv6AccessType(str, Enum): """ The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. diff --git a/sdk/python/pulumi_google_native/compute/v1/_inputs.py b/sdk/python/pulumi_google_native/compute/v1/_inputs.py index 1e24e33687..aa0f0e7057 100644 --- a/sdk/python/pulumi_google_native/compute/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/compute/v1/_inputs.py @@ -28,6 +28,7 @@ 'AutoscalingPolicyCustomMetricUtilizationArgs', 'AutoscalingPolicyLoadBalancingUtilizationArgs', 'AutoscalingPolicyScaleInControlArgs', + 'AutoscalingPolicyScalingScheduleArgs', 'AutoscalingPolicyArgs', 'BackendBucketCdnPolicyBypassCacheOnRequestHeaderArgs', 'BackendBucketCdnPolicyCacheKeyPolicyArgs', @@ -200,6 +201,7 @@ 'ServerBindingArgs', 'ServiceAccountArgs', 'ServiceAttachmentConsumerProjectLimitArgs', + 'ShareSettingsProjectConfigArgs', 'ShareSettingsArgs', 'ShieldedInstanceConfigArgs', 'ShieldedInstanceIntegrityPolicyArgs', @@ -207,6 +209,8 @@ 'SourceInstanceParamsArgs', 'SslCertificateManagedSslCertificateArgs', 'SslCertificateSelfManagedSslCertificateArgs', + 'StatefulPolicyPreservedStateDiskDeviceArgs', + 'StatefulPolicyPreservedStateNetworkIpArgs', 'StatefulPolicyPreservedStateArgs', 'StatefulPolicyArgs', 'SubnetworkLogConfigArgs', @@ -1588,6 +1592,110 @@ def time_window_sec(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "time_window_sec", value) +@pulumi.input_type +class AutoscalingPolicyScalingScheduleArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + disabled: Optional[pulumi.Input[bool]] = None, + duration_sec: Optional[pulumi.Input[int]] = None, + min_required_replicas: Optional[pulumi.Input[int]] = None, + schedule: Optional[pulumi.Input[str]] = None, + time_zone: Optional[pulumi.Input[str]] = None): + """ + Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + :param pulumi.Input[str] description: A description of a scaling schedule. + :param pulumi.Input[bool] disabled: A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + :param pulumi.Input[int] duration_sec: The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + :param pulumi.Input[int] min_required_replicas: The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + :param pulumi.Input[str] schedule: The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + :param pulumi.Input[str] time_zone: The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if disabled is not None: + pulumi.set(__self__, "disabled", disabled) + if duration_sec is not None: + pulumi.set(__self__, "duration_sec", duration_sec) + if min_required_replicas is not None: + pulumi.set(__self__, "min_required_replicas", min_required_replicas) + if schedule is not None: + pulumi.set(__self__, "schedule", schedule) + if time_zone is not None: + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of a scaling schedule. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def disabled(self) -> Optional[pulumi.Input[bool]]: + """ + A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + """ + return pulumi.get(self, "disabled") + + @disabled.setter + def disabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "disabled", value) + + @property + @pulumi.getter(name="durationSec") + def duration_sec(self) -> Optional[pulumi.Input[int]]: + """ + The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + """ + return pulumi.get(self, "duration_sec") + + @duration_sec.setter + def duration_sec(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "duration_sec", value) + + @property + @pulumi.getter(name="minRequiredReplicas") + def min_required_replicas(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + """ + return pulumi.get(self, "min_required_replicas") + + @min_required_replicas.setter + def min_required_replicas(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_required_replicas", value) + + @property + @pulumi.getter + def schedule(self) -> Optional[pulumi.Input[str]]: + """ + The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + """ + return pulumi.get(self, "schedule") + + @schedule.setter + def schedule(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "schedule", value) + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> Optional[pulumi.Input[str]]: + """ + The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + return pulumi.get(self, "time_zone") + + @time_zone.setter + def time_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "time_zone", value) + + @pulumi.input_type class AutoscalingPolicyArgs: def __init__(__self__, *, @@ -1599,7 +1707,7 @@ def __init__(__self__, *, min_num_replicas: Optional[pulumi.Input[int]] = None, mode: Optional[pulumi.Input['AutoscalingPolicyMode']] = None, scale_in_control: Optional[pulumi.Input['AutoscalingPolicyScaleInControlArgs']] = None, - scaling_schedules: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + scaling_schedules: Optional[pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]]] = None): """ Cloud Autoscaler policy. :param pulumi.Input[int] cool_down_period_sec: The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process. @@ -1609,7 +1717,7 @@ def __init__(__self__, *, :param pulumi.Input[int] max_num_replicas: The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas. :param pulumi.Input[int] min_num_replicas: The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed. :param pulumi.Input['AutoscalingPolicyMode'] mode: Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler" - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. + :param pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ if cool_down_period_sec is not None: pulumi.set(__self__, "cool_down_period_sec", cool_down_period_sec) @@ -1725,14 +1833,14 @@ def scale_in_control(self, value: Optional[pulumi.Input['AutoscalingPolicyScaleI @property @pulumi.getter(name="scalingSchedules") - def scaling_schedules(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def scaling_schedules(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]]]: """ Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ return pulumi.get(self, "scaling_schedules") @scaling_schedules.setter - def scaling_schedules(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def scaling_schedules(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['AutoscalingPolicyScalingScheduleArgs']]]]): pulumi.set(self, "scaling_schedules", value) @@ -12977,14 +13085,38 @@ def project_id_or_num(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "project_id_or_num", value) +@pulumi.input_type +class ShareSettingsProjectConfigArgs: + def __init__(__self__, *, + project: Optional[pulumi.Input[str]] = None): + """ + Config for each project in the share settings. + :param pulumi.Input[str] project: The project ID, should be same as the key of this project config in the parent map. + """ + if project is not None: + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def project(self) -> Optional[pulumi.Input[str]]: + """ + The project ID, should be same as the key of this project config in the parent map. + """ + return pulumi.get(self, "project") + + @project.setter + def project(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "project", value) + + @pulumi.input_type class ShareSettingsArgs: def __init__(__self__, *, - project_map: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + project_map: Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]]] = None, share_type: Optional[pulumi.Input['ShareSettingsShareType']] = None): """ The share setting for reservations and sole tenancy node groups. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. + :param pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param pulumi.Input['ShareSettingsShareType'] share_type: Type of sharing for this shared-reservation """ if project_map is not None: @@ -12994,14 +13126,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="projectMap") - def project_map(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def project_map(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]]]: """ A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. """ return pulumi.get(self, "project_map") @project_map.setter - def project_map(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def project_map(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ShareSettingsProjectConfigArgs']]]]): pulumi.set(self, "project_map", value) @property @@ -13224,17 +13356,63 @@ def private_key(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "private_key", value) +@pulumi.input_type +class StatefulPolicyPreservedStateDiskDeviceArgs: + def __init__(__self__, *, + auto_delete: Optional[pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete']] = None): + """ + :param pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete'] auto_delete: These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + if auto_delete is not None: + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> Optional[pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete']]: + """ + These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + return pulumi.get(self, "auto_delete") + + @auto_delete.setter + def auto_delete(self, value: Optional[pulumi.Input['StatefulPolicyPreservedStateDiskDeviceAutoDelete']]): + pulumi.set(self, "auto_delete", value) + + +@pulumi.input_type +class StatefulPolicyPreservedStateNetworkIpArgs: + def __init__(__self__, *, + auto_delete: Optional[pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete']] = None): + """ + :param pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete'] auto_delete: These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + if auto_delete is not None: + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> Optional[pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete']]: + """ + These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + return pulumi.get(self, "auto_delete") + + @auto_delete.setter + def auto_delete(self, value: Optional[pulumi.Input['StatefulPolicyPreservedStateNetworkIpAutoDelete']]): + pulumi.set(self, "auto_delete", value) + + @pulumi.input_type class StatefulPolicyPreservedStateArgs: def __init__(__self__, *, - disks: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - external_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - internal_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + disks: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]]] = None, + external_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]] = None, + internal_ips: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]] = None): """ Configuration of preserved resources. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. + :param pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ if disks is not None: pulumi.set(__self__, "disks", disks) @@ -13245,38 +13423,38 @@ def __init__(__self__, *, @property @pulumi.getter - def disks(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def disks(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]]]: """ Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. """ return pulumi.get(self, "disks") @disks.setter - def disks(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def disks(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateDiskDeviceArgs']]]]): pulumi.set(self, "disks", value) @property @pulumi.getter(name="externalIPs") - def external_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def external_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]: """ External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ return pulumi.get(self, "external_ips") @external_ips.setter - def external_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def external_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]): pulumi.set(self, "external_ips", value) @property @pulumi.getter(name="internalIPs") - def internal_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def internal_ips(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]: """ Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ return pulumi.get(self, "internal_ips") @internal_ips.setter - def internal_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def internal_ips(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['StatefulPolicyPreservedStateNetworkIpArgs']]]]): pulumi.set(self, "internal_ips", value) diff --git a/sdk/python/pulumi_google_native/compute/v1/autoscaler.py b/sdk/python/pulumi_google_native/compute/v1/autoscaler.py index ddcfeaa266..29e1885587 100644 --- a/sdk/python/pulumi_google_native/compute/v1/autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/v1/autoscaler.py @@ -317,7 +317,7 @@ def request_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, str]]: + def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, 'outputs.ScalingScheduleStatusResponse']]: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/v1/disk.py b/sdk/python/pulumi_google_native/compute/v1/disk.py index 8dfb6f0e6d..5ac2dc8492 100644 --- a/sdk/python/pulumi_google_native/compute/v1/disk.py +++ b/sdk/python/pulumi_google_native/compute/v1/disk.py @@ -723,7 +723,7 @@ def async_primary_disk(self) -> pulumi.Output['outputs.DiskAsyncReplicationRespo @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> pulumi.Output[Mapping[str, str]]: + def async_secondary_disks(self) -> pulumi.Output[Mapping[str, 'outputs.DiskAsyncReplicationListResponse']]: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/v1/get_autoscaler.py b/sdk/python/pulumi_google_native/compute/v1/get_autoscaler.py index b442f64edf..819f24ad49 100644 --- a/sdk/python/pulumi_google_native/compute/v1/get_autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/v1/get_autoscaler.py @@ -118,7 +118,7 @@ def region(self) -> str: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> Mapping[str, str]: + def scaling_schedule_status(self) -> Mapping[str, 'outputs.ScalingScheduleStatusResponse']: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/v1/get_disk.py b/sdk/python/pulumi_google_native/compute/v1/get_disk.py index e1d84b75f8..734b0f7719 100644 --- a/sdk/python/pulumi_google_native/compute/v1/get_disk.py +++ b/sdk/python/pulumi_google_native/compute/v1/get_disk.py @@ -168,7 +168,7 @@ def async_primary_disk(self) -> 'outputs.DiskAsyncReplicationResponse': @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> Mapping[str, str]: + def async_secondary_disks(self) -> Mapping[str, 'outputs.DiskAsyncReplicationListResponse']: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/v1/get_region_autoscaler.py b/sdk/python/pulumi_google_native/compute/v1/get_region_autoscaler.py index b7eae56bc4..09b17e79d0 100644 --- a/sdk/python/pulumi_google_native/compute/v1/get_region_autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/v1/get_region_autoscaler.py @@ -118,7 +118,7 @@ def region(self) -> str: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> Mapping[str, str]: + def scaling_schedule_status(self) -> Mapping[str, 'outputs.ScalingScheduleStatusResponse']: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/v1/get_region_disk.py b/sdk/python/pulumi_google_native/compute/v1/get_region_disk.py index 5e6906a4f3..5891a70dd5 100644 --- a/sdk/python/pulumi_google_native/compute/v1/get_region_disk.py +++ b/sdk/python/pulumi_google_native/compute/v1/get_region_disk.py @@ -168,7 +168,7 @@ def async_primary_disk(self) -> 'outputs.DiskAsyncReplicationResponse': @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> Mapping[str, str]: + def async_secondary_disks(self) -> Mapping[str, 'outputs.DiskAsyncReplicationListResponse']: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/compute/v1/outputs.py b/sdk/python/pulumi_google_native/compute/v1/outputs.py index ab86a72a04..903a78a1d1 100644 --- a/sdk/python/pulumi_google_native/compute/v1/outputs.py +++ b/sdk/python/pulumi_google_native/compute/v1/outputs.py @@ -33,6 +33,7 @@ 'AutoscalingPolicyLoadBalancingUtilizationResponse', 'AutoscalingPolicyResponse', 'AutoscalingPolicyScaleInControlResponse', + 'AutoscalingPolicyScalingScheduleResponse', 'BackendBucketCdnPolicyBypassCacheOnRequestHeaderResponse', 'BackendBucketCdnPolicyCacheKeyPolicyResponse', 'BackendBucketCdnPolicyNegativeCachingPolicyResponse', @@ -60,6 +61,7 @@ 'CorsPolicyResponse', 'CustomerEncryptionKeyResponse', 'DeprecationStatusResponse', + 'DiskAsyncReplicationListResponse', 'DiskAsyncReplicationResponse', 'DiskInstantiationConfigResponse', 'DiskParamsResponse', @@ -200,6 +202,7 @@ 'SSLHealthCheckResponse', 'SavedAttachedDiskResponse', 'SavedDiskResponse', + 'ScalingScheduleStatusResponse', 'SchedulingNodeAffinityResponse', 'SchedulingResponse', 'SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigResponse', @@ -229,6 +232,7 @@ 'ServiceAccountResponse', 'ServiceAttachmentConnectedEndpointResponse', 'ServiceAttachmentConsumerProjectLimitResponse', + 'ShareSettingsProjectConfigResponse', 'ShareSettingsResponse', 'ShieldedInstanceConfigResponse', 'ShieldedInstanceIntegrityPolicyResponse', @@ -239,6 +243,8 @@ 'SslCertificateSelfManagedSslCertificateResponse', 'SslPolicyWarningsItemDataItemResponse', 'SslPolicyWarningsItemResponse', + 'StatefulPolicyPreservedStateDiskDeviceResponse', + 'StatefulPolicyPreservedStateNetworkIpResponse', 'StatefulPolicyPreservedStateResponse', 'StatefulPolicyResponse', 'SubnetworkLogConfigResponse', @@ -1869,7 +1875,7 @@ def __init__(__self__, *, min_num_replicas: int, mode: str, scale_in_control: 'outputs.AutoscalingPolicyScaleInControlResponse', - scaling_schedules: Mapping[str, str]): + scaling_schedules: Mapping[str, 'outputs.AutoscalingPolicyScalingScheduleResponse']): """ Cloud Autoscaler policy. :param int cool_down_period_sec: The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process. @@ -1879,7 +1885,7 @@ def __init__(__self__, *, :param int max_num_replicas: The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas. :param int min_num_replicas: The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed. :param str mode: Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler" - :param Mapping[str, str] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. + :param Mapping[str, 'AutoscalingPolicyScalingScheduleResponse'] scaling_schedules: Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ pulumi.set(__self__, "cool_down_period_sec", cool_down_period_sec) pulumi.set(__self__, "cpu_utilization", cpu_utilization) @@ -1954,7 +1960,7 @@ def scale_in_control(self) -> 'outputs.AutoscalingPolicyScaleInControlResponse': @property @pulumi.getter(name="scalingSchedules") - def scaling_schedules(self) -> Mapping[str, str]: + def scaling_schedules(self) -> Mapping[str, 'outputs.AutoscalingPolicyScalingScheduleResponse']: """ Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed. """ @@ -2013,6 +2019,104 @@ def time_window_sec(self) -> int: return pulumi.get(self, "time_window_sec") +@pulumi.output_type +class AutoscalingPolicyScalingScheduleResponse(dict): + """ + Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "durationSec": + suggest = "duration_sec" + elif key == "minRequiredReplicas": + suggest = "min_required_replicas" + elif key == "timeZone": + suggest = "time_zone" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AutoscalingPolicyScalingScheduleResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AutoscalingPolicyScalingScheduleResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AutoscalingPolicyScalingScheduleResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + description: str, + disabled: bool, + duration_sec: int, + min_required_replicas: int, + schedule: str, + time_zone: str): + """ + Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out. + :param str description: A description of a scaling schedule. + :param bool disabled: A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + :param int duration_sec: The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + :param int min_required_replicas: The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + :param str schedule: The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + :param str time_zone: The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "disabled", disabled) + pulumi.set(__self__, "duration_sec", duration_sec) + pulumi.set(__self__, "min_required_replicas", min_required_replicas) + pulumi.set(__self__, "schedule", schedule) + pulumi.set(__self__, "time_zone", time_zone) + + @property + @pulumi.getter + def description(self) -> str: + """ + A description of a scaling schedule. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def disabled(self) -> bool: + """ + A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default. + """ + return pulumi.get(self, "disabled") + + @property + @pulumi.getter(name="durationSec") + def duration_sec(self) -> int: + """ + The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required. + """ + return pulumi.get(self, "duration_sec") + + @property + @pulumi.getter(name="minRequiredReplicas") + def min_required_replicas(self) -> int: + """ + The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required. + """ + return pulumi.get(self, "min_required_replicas") + + @property + @pulumi.getter + def schedule(self) -> str: + """ + The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. + """ + return pulumi.get(self, "schedule") + + @property + @pulumi.getter(name="timeZone") + def time_zone(self) -> str: + """ + The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. + """ + return pulumi.get(self, "time_zone") + + @pulumi.output_type class BackendBucketCdnPolicyBypassCacheOnRequestHeaderResponse(dict): """ @@ -3965,6 +4069,35 @@ def state(self) -> str: return pulumi.get(self, "state") +@pulumi.output_type +class DiskAsyncReplicationListResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "asyncReplicationDisk": + suggest = "async_replication_disk" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DiskAsyncReplicationListResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DiskAsyncReplicationListResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DiskAsyncReplicationListResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + async_replication_disk: 'outputs.DiskAsyncReplicationResponse'): + pulumi.set(__self__, "async_replication_disk", async_replication_disk) + + @property + @pulumi.getter(name="asyncReplicationDisk") + def async_replication_disk(self) -> 'outputs.DiskAsyncReplicationResponse': + return pulumi.get(self, "async_replication_disk") + + @pulumi.output_type class DiskAsyncReplicationResponse(dict): @staticmethod @@ -4189,9 +4322,9 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, async_primary_disk: 'outputs.DiskResourceStatusAsyncReplicationStatusResponse', - async_secondary_disks: Mapping[str, str]): + async_secondary_disks: Mapping[str, 'outputs.DiskResourceStatusAsyncReplicationStatusResponse']): """ - :param Mapping[str, str] async_secondary_disks: Key: disk, value: AsyncReplicationStatus message + :param Mapping[str, 'DiskResourceStatusAsyncReplicationStatusResponse'] async_secondary_disks: Key: disk, value: AsyncReplicationStatus message """ pulumi.set(__self__, "async_primary_disk", async_primary_disk) pulumi.set(__self__, "async_secondary_disks", async_secondary_disks) @@ -4203,7 +4336,7 @@ def async_primary_disk(self) -> 'outputs.DiskResourceStatusAsyncReplicationStatu @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> Mapping[str, str]: + def async_secondary_disks(self) -> Mapping[str, 'outputs.DiskResourceStatusAsyncReplicationStatusResponse']: """ Key: disk, value: AsyncReplicationStatus message """ @@ -13781,6 +13914,65 @@ def storage_bytes_status(self) -> str: return pulumi.get(self, "storage_bytes_status") +@pulumi.output_type +class ScalingScheduleStatusResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lastStartTime": + suggest = "last_start_time" + elif key == "nextStartTime": + suggest = "next_start_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScalingScheduleStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScalingScheduleStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScalingScheduleStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + last_start_time: str, + next_start_time: str, + state: str): + """ + :param str last_start_time: The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + :param str next_start_time: The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + :param str state: The current state of a scaling schedule. + """ + pulumi.set(__self__, "last_start_time", last_start_time) + pulumi.set(__self__, "next_start_time", next_start_time) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="lastStartTime") + def last_start_time(self) -> str: + """ + The last time the scaling schedule became active. Note: this is a timestamp when a schedule actually became active, not when it was planned to do so. The timestamp is in RFC3339 text format. + """ + return pulumi.get(self, "last_start_time") + + @property + @pulumi.getter(name="nextStartTime") + def next_start_time(self) -> str: + """ + The next time the scaling schedule is to become active. Note: this is a timestamp when a schedule is planned to run, but the actual time might be slightly different. The timestamp is in RFC3339 text format. + """ + return pulumi.get(self, "next_start_time") + + @property + @pulumi.getter + def state(self) -> str: + """ + The current state of a scaling schedule. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class SchedulingNodeAffinityResponse(dict): """ @@ -15513,6 +15705,28 @@ def project_id_or_num(self) -> str: return pulumi.get(self, "project_id_or_num") +@pulumi.output_type +class ShareSettingsProjectConfigResponse(dict): + """ + Config for each project in the share settings. + """ + def __init__(__self__, *, + project: str): + """ + Config for each project in the share settings. + :param str project: The project ID, should be same as the key of this project config in the parent map. + """ + pulumi.set(__self__, "project", project) + + @property + @pulumi.getter + def project(self) -> str: + """ + The project ID, should be same as the key of this project config in the parent map. + """ + return pulumi.get(self, "project") + + @pulumi.output_type class ShareSettingsResponse(dict): """ @@ -15538,11 +15752,11 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - project_map: Mapping[str, str], + project_map: Mapping[str, 'outputs.ShareSettingsProjectConfigResponse'], share_type: str): """ The share setting for reservations and sole tenancy node groups. - :param Mapping[str, str] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. + :param Mapping[str, 'ShareSettingsProjectConfigResponse'] project_map: A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. :param str share_type: Type of sharing for this shared-reservation """ pulumi.set(__self__, "project_map", project_map) @@ -15550,7 +15764,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="projectMap") - def project_map(self) -> Mapping[str, str]: + def project_map(self) -> Mapping[str, 'outputs.ShareSettingsProjectConfigResponse']: """ A map of project id and project config. This is only valid when share_type's value is SPECIFIC_PROJECTS. """ @@ -16132,6 +16346,76 @@ def message(self) -> str: return pulumi.get(self, "message") +@pulumi.output_type +class StatefulPolicyPreservedStateDiskDeviceResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoDelete": + suggest = "auto_delete" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StatefulPolicyPreservedStateDiskDeviceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StatefulPolicyPreservedStateDiskDeviceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StatefulPolicyPreservedStateDiskDeviceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_delete: str): + """ + :param str auto_delete: These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> str: + """ + These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. + """ + return pulumi.get(self, "auto_delete") + + +@pulumi.output_type +class StatefulPolicyPreservedStateNetworkIpResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "autoDelete": + suggest = "auto_delete" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in StatefulPolicyPreservedStateNetworkIpResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + StatefulPolicyPreservedStateNetworkIpResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + StatefulPolicyPreservedStateNetworkIpResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auto_delete: str): + """ + :param str auto_delete: These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + pulumi.set(__self__, "auto_delete", auto_delete) + + @property + @pulumi.getter(name="autoDelete") + def auto_delete(self) -> str: + """ + These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + """ + return pulumi.get(self, "auto_delete") + + @pulumi.output_type class StatefulPolicyPreservedStateResponse(dict): """ @@ -16157,14 +16441,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - disks: Mapping[str, str], - external_ips: Mapping[str, str], - internal_ips: Mapping[str, str]): + disks: Mapping[str, 'outputs.StatefulPolicyPreservedStateDiskDeviceResponse'], + external_ips: Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse'], + internal_ips: Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse']): """ Configuration of preserved resources. - :param Mapping[str, str] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. - :param Mapping[str, str] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. - :param Mapping[str, str] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param Mapping[str, 'StatefulPolicyPreservedStateDiskDeviceResponse'] disks: Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. + :param Mapping[str, 'StatefulPolicyPreservedStateNetworkIpResponse'] external_ips: External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + :param Mapping[str, 'StatefulPolicyPreservedStateNetworkIpResponse'] internal_ips: Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ pulumi.set(__self__, "disks", disks) pulumi.set(__self__, "external_ips", external_ips) @@ -16172,7 +16456,7 @@ def __init__(__self__, *, @property @pulumi.getter - def disks(self) -> Mapping[str, str]: + def disks(self) -> Mapping[str, 'outputs.StatefulPolicyPreservedStateDiskDeviceResponse']: """ Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. """ @@ -16180,7 +16464,7 @@ def disks(self) -> Mapping[str, str]: @property @pulumi.getter(name="externalIPs") - def external_ips(self) -> Mapping[str, str]: + def external_ips(self) -> Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse']: """ External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ @@ -16188,7 +16472,7 @@ def external_ips(self) -> Mapping[str, str]: @property @pulumi.getter(name="internalIPs") - def internal_ips(self) -> Mapping[str, str]: + def internal_ips(self) -> Mapping[str, 'outputs.StatefulPolicyPreservedStateNetworkIpResponse']: """ Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. """ diff --git a/sdk/python/pulumi_google_native/compute/v1/region_autoscaler.py b/sdk/python/pulumi_google_native/compute/v1/region_autoscaler.py index d16595392c..8256f38583 100644 --- a/sdk/python/pulumi_google_native/compute/v1/region_autoscaler.py +++ b/sdk/python/pulumi_google_native/compute/v1/region_autoscaler.py @@ -315,7 +315,7 @@ def request_id(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="scalingScheduleStatus") - def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, str]]: + def scaling_schedule_status(self) -> pulumi.Output[Mapping[str, 'outputs.ScalingScheduleStatusResponse']]: """ Status information of existing scaling schedules. """ diff --git a/sdk/python/pulumi_google_native/compute/v1/region_disk.py b/sdk/python/pulumi_google_native/compute/v1/region_disk.py index 59ae479f1c..f1e58b0545 100644 --- a/sdk/python/pulumi_google_native/compute/v1/region_disk.py +++ b/sdk/python/pulumi_google_native/compute/v1/region_disk.py @@ -724,7 +724,7 @@ def async_primary_disk(self) -> pulumi.Output['outputs.DiskAsyncReplicationRespo @property @pulumi.getter(name="asyncSecondaryDisks") - def async_secondary_disks(self) -> pulumi.Output[Mapping[str, str]]: + def async_secondary_disks(self) -> pulumi.Output[Mapping[str, 'outputs.DiskAsyncReplicationListResponse']]: """ A list of disks this disk is asynchronously replicated to. """ diff --git a/sdk/python/pulumi_google_native/connectors/v2/entity.py b/sdk/python/pulumi_google_native/connectors/v2/entity.py index 0bd774248c..12c1a86966 100644 --- a/sdk/python/pulumi_google_native/connectors/v2/entity.py +++ b/sdk/python/pulumi_google_native/connectors/v2/entity.py @@ -16,12 +16,12 @@ class EntityArgs: def __init__(__self__, *, connection_id: pulumi.Input[str], entity_type_id: pulumi.Input[str], - fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Mapping[str, Any]]] = None, location: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Entity resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] fields: Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. + :param pulumi.Input[Mapping[str, Any]] fields: Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. """ pulumi.set(__self__, "connection_id", connection_id) pulumi.set(__self__, "entity_type_id", entity_type_id) @@ -52,14 +52,14 @@ def entity_type_id(self, value: pulumi.Input[str]): @property @pulumi.getter - def fields(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def fields(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. """ return pulumi.get(self, "fields") @fields.setter - def fields(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def fields(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "fields", value) @property @@ -88,7 +88,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, connection_id: Optional[pulumi.Input[str]] = None, entity_type_id: Optional[pulumi.Input[str]] = None, - fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Mapping[str, Any]]] = None, location: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, __props__=None): @@ -98,7 +98,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] fields: Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. + :param pulumi.Input[Mapping[str, Any]] fields: Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. """ ... @overload @@ -127,7 +127,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, connection_id: Optional[pulumi.Input[str]] = None, entity_type_id: Optional[pulumi.Input[str]] = None, - fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Mapping[str, Any]]] = None, location: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, __props__=None): @@ -193,7 +193,7 @@ def entity_type_id(self) -> pulumi.Output[str]: @property @pulumi.getter - def fields(self) -> pulumi.Output[Mapping[str, str]]: + def fields(self) -> pulumi.Output[Mapping[str, Any]]: """ Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. """ diff --git a/sdk/python/pulumi_google_native/connectors/v2/get_entity.py b/sdk/python/pulumi_google_native/connectors/v2/get_entity.py index 895afb3eb7..17ea066574 100644 --- a/sdk/python/pulumi_google_native/connectors/v2/get_entity.py +++ b/sdk/python/pulumi_google_native/connectors/v2/get_entity.py @@ -28,7 +28,7 @@ def __init__(__self__, fields=None, name=None): @property @pulumi.getter - def fields(self) -> Mapping[str, str]: + def fields(self) -> Mapping[str, Any]: """ Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field. """ diff --git a/sdk/python/pulumi_google_native/contactcenterinsights/v1/conversation.py b/sdk/python/pulumi_google_native/contactcenterinsights/v1/conversation.py index 2c92df2c73..9977c82665 100644 --- a/sdk/python/pulumi_google_native/contactcenterinsights/v1/conversation.py +++ b/sdk/python/pulumi_google_native/contactcenterinsights/v1/conversation.py @@ -437,7 +437,7 @@ def data_source(self) -> pulumi.Output['outputs.GoogleCloudContactcenterinsights @property @pulumi.getter(name="dialogflowIntents") - def dialogflow_intents(self) -> pulumi.Output[Mapping[str, str]]: + def dialogflow_intents(self) -> pulumi.Output[Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1DialogflowIntentResponse']]: """ All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} """ diff --git a/sdk/python/pulumi_google_native/contactcenterinsights/v1/get_conversation.py b/sdk/python/pulumi_google_native/contactcenterinsights/v1/get_conversation.py index a68c0952e8..7cab54f1e3 100644 --- a/sdk/python/pulumi_google_native/contactcenterinsights/v1/get_conversation.py +++ b/sdk/python/pulumi_google_native/contactcenterinsights/v1/get_conversation.py @@ -115,7 +115,7 @@ def data_source(self) -> 'outputs.GoogleCloudContactcenterinsightsV1Conversation @property @pulumi.getter(name="dialogflowIntents") - def dialogflow_intents(self) -> Mapping[str, str]: + def dialogflow_intents(self) -> Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1DialogflowIntentResponse']: """ All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent} """ diff --git a/sdk/python/pulumi_google_native/contactcenterinsights/v1/outputs.py b/sdk/python/pulumi_google_native/contactcenterinsights/v1/outputs.py index fee81dd2d9..d9c3088eba 100644 --- a/sdk/python/pulumi_google_native/contactcenterinsights/v1/outputs.py +++ b/sdk/python/pulumi_google_native/contactcenterinsights/v1/outputs.py @@ -30,18 +30,22 @@ 'GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadataResponse', 'GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentResponse', 'GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfoResponse', + 'GoogleCloudContactcenterinsightsV1DialogflowIntentResponse', 'GoogleCloudContactcenterinsightsV1DialogflowInteractionDataResponse', 'GoogleCloudContactcenterinsightsV1DialogflowSourceResponse', 'GoogleCloudContactcenterinsightsV1EntityMentionDataResponse', + 'GoogleCloudContactcenterinsightsV1EntityResponse', 'GoogleCloudContactcenterinsightsV1ExactMatchConfigResponse', 'GoogleCloudContactcenterinsightsV1FaqAnswerDataResponse', 'GoogleCloudContactcenterinsightsV1GcsSourceResponse', 'GoogleCloudContactcenterinsightsV1HoldDataResponse', 'GoogleCloudContactcenterinsightsV1IntentMatchDataResponse', + 'GoogleCloudContactcenterinsightsV1IntentResponse', 'GoogleCloudContactcenterinsightsV1InterruptionDataResponse', 'GoogleCloudContactcenterinsightsV1IssueAssignmentResponse', 'GoogleCloudContactcenterinsightsV1IssueMatchDataResponse', 'GoogleCloudContactcenterinsightsV1IssueModelInputDataConfigResponse', + 'GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse', 'GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse', 'GoogleCloudContactcenterinsightsV1IssueModelResultResponse', 'GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse', @@ -170,18 +174,18 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, annotations: Sequence['outputs.GoogleCloudContactcenterinsightsV1CallAnnotationResponse'], - entities: Mapping[str, str], - intents: Mapping[str, str], + entities: Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1EntityResponse'], + intents: Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1IntentResponse'], issue_model_result: 'outputs.GoogleCloudContactcenterinsightsV1IssueModelResultResponse', - phrase_matchers: Mapping[str, str], + phrase_matchers: Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse'], sentiments: Sequence['outputs.GoogleCloudContactcenterinsightsV1ConversationLevelSentimentResponse']): """ Call-specific metadata created during analysis. :param Sequence['GoogleCloudContactcenterinsightsV1CallAnnotationResponse'] annotations: A list of call annotations that apply to this call. - :param Mapping[str, str] entities: All the entities in the call. - :param Mapping[str, str] intents: All the matched intents in the call. + :param Mapping[str, 'GoogleCloudContactcenterinsightsV1EntityResponse'] entities: All the entities in the call. + :param Mapping[str, 'GoogleCloudContactcenterinsightsV1IntentResponse'] intents: All the matched intents in the call. :param 'GoogleCloudContactcenterinsightsV1IssueModelResultResponse' issue_model_result: Overall conversation-level issue modeling result. - :param Mapping[str, str] phrase_matchers: All the matched phrase matchers in the call. + :param Mapping[str, 'GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse'] phrase_matchers: All the matched phrase matchers in the call. :param Sequence['GoogleCloudContactcenterinsightsV1ConversationLevelSentimentResponse'] sentiments: Overall conversation-level sentiment for each channel of the call. """ pulumi.set(__self__, "annotations", annotations) @@ -201,7 +205,7 @@ def annotations(self) -> Sequence['outputs.GoogleCloudContactcenterinsightsV1Cal @property @pulumi.getter - def entities(self) -> Mapping[str, str]: + def entities(self) -> Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1EntityResponse']: """ All the entities in the call. """ @@ -209,7 +213,7 @@ def entities(self) -> Mapping[str, str]: @property @pulumi.getter - def intents(self) -> Mapping[str, str]: + def intents(self) -> Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1IntentResponse']: """ All the matched intents in the call. """ @@ -225,7 +229,7 @@ def issue_model_result(self) -> 'outputs.GoogleCloudContactcenterinsightsV1Issue @property @pulumi.getter(name="phraseMatchers") - def phrase_matchers(self) -> Mapping[str, str]: + def phrase_matchers(self) -> Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1PhraseMatchDataResponse']: """ All the matched phrase matchers in the call. """ @@ -1522,6 +1526,45 @@ def word(self) -> str: return pulumi.get(self, "word") +@pulumi.output_type +class GoogleCloudContactcenterinsightsV1DialogflowIntentResponse(dict): + """ + The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudContactcenterinsightsV1DialogflowIntentResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudContactcenterinsightsV1DialogflowIntentResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudContactcenterinsightsV1DialogflowIntentResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + display_name: str): + """ + The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. + :param str display_name: The human-readable name of the intent. + """ + pulumi.set(__self__, "display_name", display_name) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + The human-readable name of the intent. + """ + return pulumi.get(self, "display_name") + + @pulumi.output_type class GoogleCloudContactcenterinsightsV1DialogflowInteractionDataResponse(dict): """ @@ -1685,6 +1728,89 @@ def type(self) -> str: return pulumi.get(self, "type") +@pulumi.output_type +class GoogleCloudContactcenterinsightsV1EntityResponse(dict): + """ + The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudContactcenterinsightsV1EntityResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudContactcenterinsightsV1EntityResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudContactcenterinsightsV1EntityResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + display_name: str, + metadata: Mapping[str, str], + salience: float, + sentiment: 'outputs.GoogleCloudContactcenterinsightsV1SentimentDataResponse', + type: str): + """ + The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location. + :param str display_name: The representative name for the entity. + :param Mapping[str, str] metadata: Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below. + :param float salience: The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient. + :param 'GoogleCloudContactcenterinsightsV1SentimentDataResponse' sentiment: The aggregate sentiment expressed for this entity in the conversation. + :param str type: The entity type. + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "metadata", metadata) + pulumi.set(__self__, "salience", salience) + pulumi.set(__self__, "sentiment", sentiment) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + The representative name for the entity. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def metadata(self) -> Mapping[str, str]: + """ + Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below. + """ + return pulumi.get(self, "metadata") + + @property + @pulumi.getter + def salience(self) -> float: + """ + The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient. + """ + return pulumi.get(self, "salience") + + @property + @pulumi.getter + def sentiment(self) -> 'outputs.GoogleCloudContactcenterinsightsV1SentimentDataResponse': + """ + The aggregate sentiment expressed for this entity in the conversation. + """ + return pulumi.get(self, "sentiment") + + @property + @pulumi.getter + def type(self) -> str: + """ + The entity type. + """ + return pulumi.get(self, "type") + + @pulumi.output_type class GoogleCloudContactcenterinsightsV1ExactMatchConfigResponse(dict): """ @@ -1923,6 +2049,45 @@ def intent_unique_id(self) -> str: return pulumi.get(self, "intent_unique_id") +@pulumi.output_type +class GoogleCloudContactcenterinsightsV1IntentResponse(dict): + """ + The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudContactcenterinsightsV1IntentResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudContactcenterinsightsV1IntentResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudContactcenterinsightsV1IntentResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + display_name: str): + """ + The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE. + :param str display_name: The human-readable name of the intent. + """ + pulumi.set(__self__, "display_name", display_name) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + The human-readable name of the intent. + """ + return pulumi.get(self, "display_name") + + @pulumi.output_type class GoogleCloudContactcenterinsightsV1InterruptionDataResponse(dict): """ @@ -2096,6 +2261,69 @@ def training_conversations_count(self) -> str: return pulumi.get(self, "training_conversations_count") +@pulumi.output_type +class GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse(dict): + """ + Aggregated statistics about an issue. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + elif key == "labeledConversationsCount": + suggest = "labeled_conversations_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + display_name: str, + issue: str, + labeled_conversations_count: str): + """ + Aggregated statistics about an issue. + :param str display_name: Display name of the issue. + :param str issue: Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} + :param str labeled_conversations_count: Number of conversations attached to the issue at this point in time. + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "issue", issue) + pulumi.set(__self__, "labeled_conversations_count", labeled_conversations_count) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + Display name of the issue. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter + def issue(self) -> str: + """ + Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue} + """ + return pulumi.get(self, "issue") + + @property + @pulumi.getter(name="labeledConversationsCount") + def labeled_conversations_count(self) -> str: + """ + Number of conversations attached to the issue at this point in time. + """ + return pulumi.get(self, "labeled_conversations_count") + + @pulumi.output_type class GoogleCloudContactcenterinsightsV1IssueModelLabelStatsResponse(dict): """ @@ -2124,12 +2352,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, analyzed_conversations_count: str, - issue_stats: Mapping[str, str], + issue_stats: Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse'], unclassified_conversations_count: str): """ Aggregated statistics about an issue model. :param str analyzed_conversations_count: Number of conversations the issue model has analyzed at this point in time. - :param Mapping[str, str] issue_stats: Statistics on each issue. Key is the issue's resource name. + :param Mapping[str, 'GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse'] issue_stats: Statistics on each issue. Key is the issue's resource name. :param str unclassified_conversations_count: Number of analyzed conversations for which no issue was applicable at this point in time. """ pulumi.set(__self__, "analyzed_conversations_count", analyzed_conversations_count) @@ -2146,7 +2374,7 @@ def analyzed_conversations_count(self) -> str: @property @pulumi.getter(name="issueStats") - def issue_stats(self) -> Mapping[str, str]: + def issue_stats(self) -> Mapping[str, 'outputs.GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStatsResponse']: """ Statistics on each issue. Key is the issue's resource name. """ diff --git a/sdk/python/pulumi_google_native/container/v1/_inputs.py b/sdk/python/pulumi_google_native/container/v1/_inputs.py index 7a0069a3ea..b1f2d714e1 100644 --- a/sdk/python/pulumi_google_native/container/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/container/v1/_inputs.py @@ -2397,12 +2397,12 @@ def window(self, value: Optional[pulumi.Input['MaintenanceWindowArgs']]): class MaintenanceWindowArgs: def __init__(__self__, *, daily_maintenance_window: Optional[pulumi.Input['DailyMaintenanceWindowArgs']] = None, - maintenance_exclusions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + maintenance_exclusions: Optional[pulumi.Input[Mapping[str, pulumi.Input['TimeWindowArgs']]]] = None, recurring_window: Optional[pulumi.Input['RecurringTimeWindowArgs']] = None): """ MaintenanceWindow defines the maintenance window to be used for the cluster. :param pulumi.Input['DailyMaintenanceWindowArgs'] daily_maintenance_window: DailyMaintenanceWindow specifies a daily maintenance operation window. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] maintenance_exclusions: Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. + :param pulumi.Input[Mapping[str, pulumi.Input['TimeWindowArgs']]] maintenance_exclusions: Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. :param pulumi.Input['RecurringTimeWindowArgs'] recurring_window: RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. """ if daily_maintenance_window is not None: @@ -2426,14 +2426,14 @@ def daily_maintenance_window(self, value: Optional[pulumi.Input['DailyMaintenanc @property @pulumi.getter(name="maintenanceExclusions") - def maintenance_exclusions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def maintenance_exclusions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['TimeWindowArgs']]]]: """ Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. """ return pulumi.get(self, "maintenance_exclusions") @maintenance_exclusions.setter - def maintenance_exclusions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def maintenance_exclusions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['TimeWindowArgs']]]]): pulumi.set(self, "maintenance_exclusions", value) @property diff --git a/sdk/python/pulumi_google_native/container/v1/outputs.py b/sdk/python/pulumi_google_native/container/v1/outputs.py index 5d38a43bdb..64b41de09b 100644 --- a/sdk/python/pulumi_google_native/container/v1/outputs.py +++ b/sdk/python/pulumi_google_native/container/v1/outputs.py @@ -2945,12 +2945,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, daily_maintenance_window: 'outputs.DailyMaintenanceWindowResponse', - maintenance_exclusions: Mapping[str, str], + maintenance_exclusions: Mapping[str, 'outputs.TimeWindowResponse'], recurring_window: 'outputs.RecurringTimeWindowResponse'): """ MaintenanceWindow defines the maintenance window to be used for the cluster. :param 'DailyMaintenanceWindowResponse' daily_maintenance_window: DailyMaintenanceWindow specifies a daily maintenance operation window. - :param Mapping[str, str] maintenance_exclusions: Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. + :param Mapping[str, 'TimeWindowResponse'] maintenance_exclusions: Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. :param 'RecurringTimeWindowResponse' recurring_window: RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. """ pulumi.set(__self__, "daily_maintenance_window", daily_maintenance_window) @@ -2967,7 +2967,7 @@ def daily_maintenance_window(self) -> 'outputs.DailyMaintenanceWindowResponse': @property @pulumi.getter(name="maintenanceExclusions") - def maintenance_exclusions(self) -> Mapping[str, str]: + def maintenance_exclusions(self) -> Mapping[str, 'outputs.TimeWindowResponse']: """ Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. """ diff --git a/sdk/python/pulumi_google_native/container/v1beta1/_inputs.py b/sdk/python/pulumi_google_native/container/v1beta1/_inputs.py index d45382949f..7a988d2e1e 100644 --- a/sdk/python/pulumi_google_native/container/v1beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/container/v1beta1/_inputs.py @@ -2673,12 +2673,12 @@ def window(self, value: Optional[pulumi.Input['MaintenanceWindowArgs']]): class MaintenanceWindowArgs: def __init__(__self__, *, daily_maintenance_window: Optional[pulumi.Input['DailyMaintenanceWindowArgs']] = None, - maintenance_exclusions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + maintenance_exclusions: Optional[pulumi.Input[Mapping[str, pulumi.Input['TimeWindowArgs']]]] = None, recurring_window: Optional[pulumi.Input['RecurringTimeWindowArgs']] = None): """ MaintenanceWindow defines the maintenance window to be used for the cluster. :param pulumi.Input['DailyMaintenanceWindowArgs'] daily_maintenance_window: DailyMaintenanceWindow specifies a daily maintenance operation window. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] maintenance_exclusions: Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. + :param pulumi.Input[Mapping[str, pulumi.Input['TimeWindowArgs']]] maintenance_exclusions: Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. :param pulumi.Input['RecurringTimeWindowArgs'] recurring_window: RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. """ if daily_maintenance_window is not None: @@ -2702,14 +2702,14 @@ def daily_maintenance_window(self, value: Optional[pulumi.Input['DailyMaintenanc @property @pulumi.getter(name="maintenanceExclusions") - def maintenance_exclusions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def maintenance_exclusions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['TimeWindowArgs']]]]: """ Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. """ return pulumi.get(self, "maintenance_exclusions") @maintenance_exclusions.setter - def maintenance_exclusions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def maintenance_exclusions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['TimeWindowArgs']]]]): pulumi.set(self, "maintenance_exclusions", value) @property diff --git a/sdk/python/pulumi_google_native/container/v1beta1/get_server_config.py b/sdk/python/pulumi_google_native/container/v1beta1/get_server_config.py index 78054865ca..e76b705bf3 100644 --- a/sdk/python/pulumi_google_native/container/v1beta1/get_server_config.py +++ b/sdk/python/pulumi_google_native/container/v1beta1/get_server_config.py @@ -92,7 +92,7 @@ def valid_node_versions(self) -> Sequence[str]: @property @pulumi.getter(name="windowsVersionMaps") - def windows_version_maps(self) -> Mapping[str, str]: + def windows_version_maps(self) -> Mapping[str, 'outputs.WindowsVersionsResponse']: """ Maps of Kubernetes version and supported Windows server versions. """ diff --git a/sdk/python/pulumi_google_native/container/v1beta1/outputs.py b/sdk/python/pulumi_google_native/container/v1beta1/outputs.py index 5e3dbed171..d80722cd03 100644 --- a/sdk/python/pulumi_google_native/container/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/container/v1beta1/outputs.py @@ -43,6 +43,7 @@ 'DNSConfigResponse', 'DailyMaintenanceWindowResponse', 'DatabaseEncryptionResponse', + 'DateResponse', 'DefaultSnatStatusResponse', 'DnsCacheConfigResponse', 'EnterpriseConfigResponse', @@ -137,6 +138,8 @@ 'VerticalPodAutoscalingResponse', 'VirtualNICResponse', 'WindowsNodeConfigResponse', + 'WindowsVersionResponse', + 'WindowsVersionsResponse', 'WorkloadALTSConfigResponse', 'WorkloadCertificatesResponse', 'WorkloadConfigResponse', @@ -1909,6 +1912,50 @@ def state(self) -> str: return pulumi.get(self, "state") +@pulumi.output_type +class DateResponse(dict): + """ + Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp + """ + def __init__(__self__, *, + day: int, + month: int, + year: int): + """ + Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp + :param int day: Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + :param int month: Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + :param int year: Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + """ + pulumi.set(__self__, "day", day) + pulumi.set(__self__, "month", month) + pulumi.set(__self__, "year", year) + + @property + @pulumi.getter + def day(self) -> int: + """ + Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + """ + return pulumi.get(self, "day") + + @property + @pulumi.getter + def month(self) -> int: + """ + Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + """ + return pulumi.get(self, "month") + + @property + @pulumi.getter + def year(self) -> int: + """ + Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + """ + return pulumi.get(self, "year") + + @pulumi.output_type class DefaultSnatStatusResponse(dict): """ @@ -3263,12 +3310,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, daily_maintenance_window: 'outputs.DailyMaintenanceWindowResponse', - maintenance_exclusions: Mapping[str, str], + maintenance_exclusions: Mapping[str, 'outputs.TimeWindowResponse'], recurring_window: 'outputs.RecurringTimeWindowResponse'): """ MaintenanceWindow defines the maintenance window to be used for the cluster. :param 'DailyMaintenanceWindowResponse' daily_maintenance_window: DailyMaintenanceWindow specifies a daily maintenance operation window. - :param Mapping[str, str] maintenance_exclusions: Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. + :param Mapping[str, 'TimeWindowResponse'] maintenance_exclusions: Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. :param 'RecurringTimeWindowResponse' recurring_window: RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time. """ pulumi.set(__self__, "daily_maintenance_window", daily_maintenance_window) @@ -3285,7 +3332,7 @@ def daily_maintenance_window(self) -> 'outputs.DailyMaintenanceWindowResponse': @property @pulumi.getter(name="maintenanceExclusions") - def maintenance_exclusions(self) -> Mapping[str, str]: + def maintenance_exclusions(self) -> Mapping[str, 'outputs.TimeWindowResponse']: """ Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows. """ @@ -7083,6 +7130,72 @@ def os_version(self) -> str: return pulumi.get(self, "os_version") +@pulumi.output_type +class WindowsVersionResponse(dict): + """ + Windows server version. + """ + def __init__(__self__, *, + image_type: str, + os_version: str, + support_end_date: 'outputs.DateResponse'): + """ + Windows server version. + :param str image_type: Windows server image type + :param str os_version: Windows server build number + :param 'DateResponse' support_end_date: Mainstream support end date + """ + pulumi.set(__self__, "image_type", image_type) + pulumi.set(__self__, "os_version", os_version) + pulumi.set(__self__, "support_end_date", support_end_date) + + @property + @pulumi.getter(name="imageType") + def image_type(self) -> str: + """ + Windows server image type + """ + return pulumi.get(self, "image_type") + + @property + @pulumi.getter(name="osVersion") + def os_version(self) -> str: + """ + Windows server build number + """ + return pulumi.get(self, "os_version") + + @property + @pulumi.getter(name="supportEndDate") + def support_end_date(self) -> 'outputs.DateResponse': + """ + Mainstream support end date + """ + return pulumi.get(self, "support_end_date") + + +@pulumi.output_type +class WindowsVersionsResponse(dict): + """ + Windows server versions. + """ + def __init__(__self__, *, + windows_versions: Sequence['outputs.WindowsVersionResponse']): + """ + Windows server versions. + :param Sequence['WindowsVersionResponse'] windows_versions: List of Windows server versions. + """ + pulumi.set(__self__, "windows_versions", windows_versions) + + @property + @pulumi.getter(name="windowsVersions") + def windows_versions(self) -> Sequence['outputs.WindowsVersionResponse']: + """ + List of Windows server versions. + """ + return pulumi.get(self, "windows_versions") + + @pulumi.output_type class WorkloadALTSConfigResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/containeranalysis/v1/_inputs.py b/sdk/python/pulumi_google_native/containeranalysis/v1/_inputs.py index 8f2e8d8d2d..bc76bffc7b 100644 --- a/sdk/python/pulumi_google_native/containeranalysis/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/containeranalysis/v1/_inputs.py @@ -47,6 +47,7 @@ 'EnvelopeSignatureArgs', 'EnvelopeArgs', 'ExprArgs', + 'FileHashesArgs', 'FingerprintArgs', 'GerritSourceContextArgs', 'GitSourceContextArgs', @@ -57,6 +58,7 @@ 'GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs', 'GrafeasV1SlsaProvenanceZeroTwoSlsaMaterialArgs', 'GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataArgs', + 'HashArgs', 'HintArgs', 'IdentityArgs', 'ImageNoteArgs', @@ -526,8 +528,8 @@ def role(self, value: Optional[pulumi.Input[str]]): class BuildDefinitionArgs: def __init__(__self__, *, build_type: Optional[pulumi.Input[str]] = None, - external_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - internal_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + external_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, + internal_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, resolved_dependencies: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceDescriptorArgs']]]] = None): if build_type is not None: pulumi.set(__self__, "build_type", build_type) @@ -549,20 +551,20 @@ def build_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="externalParameters") - def external_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def external_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "external_parameters") @external_parameters.setter - def external_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def external_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "external_parameters", value) @property @pulumi.getter(name="internalParameters") - def internal_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def internal_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "internal_parameters") @internal_parameters.setter - def internal_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def internal_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "internal_parameters", value) @property @@ -2642,6 +2644,29 @@ def title(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "title", value) +@pulumi.input_type +class FileHashesArgs: + def __init__(__self__, *, + file_hash: pulumi.Input[Sequence[pulumi.Input['HashArgs']]]): + """ + Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + :param pulumi.Input[Sequence[pulumi.Input['HashArgs']]] file_hash: Collection of file hashes. + """ + pulumi.set(__self__, "file_hash", file_hash) + + @property + @pulumi.getter(name="fileHash") + def file_hash(self) -> pulumi.Input[Sequence[pulumi.Input['HashArgs']]]: + """ + Collection of file hashes. + """ + return pulumi.get(self, "file_hash") + + @file_hash.setter + def file_hash(self, value: pulumi.Input[Sequence[pulumi.Input['HashArgs']]]): + pulumi.set(self, "file_hash", value) + + @pulumi.input_type class FingerprintArgs: def __init__(__self__, *, @@ -2928,8 +2953,8 @@ def uri(self, value: Optional[pulumi.Input[str]]): class GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs: def __init__(__self__, *, config_source: Optional[pulumi.Input['GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceArgs']] = None, - environment: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + environment: Optional[pulumi.Input[Mapping[str, Any]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Identifies the event that kicked off the build. """ @@ -2951,20 +2976,20 @@ def config_source(self, value: Optional[pulumi.Input['GrafeasV1SlsaProvenanceZer @property @pulumi.getter - def environment(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def environment(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "environment") @environment.setter - def environment(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def environment(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "environment", value) @property @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "parameters", value) @@ -3068,6 +3093,44 @@ def reproducible(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "reproducible", value) +@pulumi.input_type +class HashArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + value: pulumi.Input[str]): + """ + Container message for hash values. + :param pulumi.Input[str] type: The type of hash that was performed, e.g. "SHA-256". + :param pulumi.Input[str] value: The hash value. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of hash that was performed, e.g. "SHA-256". + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + The hash value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @pulumi.input_type class HintArgs: def __init__(__self__, *, @@ -4395,17 +4458,17 @@ def publisher_namespace(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class RecipeArgs: def __init__(__self__, *, - arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, defined_in_material: Optional[pulumi.Input[str]] = None, entry_point: Optional[pulumi.Input[str]] = None, - environment: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + environment: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, type: Optional[pulumi.Input[str]] = None): """ Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". :param pulumi.Input[str] defined_in_material: Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. :param pulumi.Input[str] entry_point: String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". :param pulumi.Input[str] type: URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. """ if arguments is not None: @@ -4421,14 +4484,14 @@ def __init__(__self__, *, @property @pulumi.getter - def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". """ return pulumi.get(self, "arguments") @arguments.setter - def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "arguments", value) @property @@ -4457,14 +4520,14 @@ def entry_point(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def environment(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def environment(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". """ return pulumi.get(self, "environment") @environment.setter - def environment(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def environment(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "environment", value) @property @@ -4619,7 +4682,7 @@ def uid(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class ResourceDescriptorArgs: def __init__(__self__, *, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, content: Optional[pulumi.Input[str]] = None, digest: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, download_location: Optional[pulumi.Input[str]] = None, @@ -4643,11 +4706,11 @@ def __init__(__self__, *, @property @pulumi.getter - def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def annotations(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "annotations") @annotations.setter - def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def annotations(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "annotations", value) @property @@ -5262,7 +5325,7 @@ def run_details(self, value: Optional[pulumi.Input['RunDetailsArgs']]): @pulumi.input_type class SlsaProvenanceZeroTwoArgs: def __init__(__self__, *, - build_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + build_config: Optional[pulumi.Input[Mapping[str, Any]]] = None, build_type: Optional[pulumi.Input[str]] = None, builder: Optional[pulumi.Input['GrafeasV1SlsaProvenanceZeroTwoSlsaBuilderArgs']] = None, invocation: Optional[pulumi.Input['GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationArgs']] = None, @@ -5286,11 +5349,11 @@ def __init__(__self__, *, @property @pulumi.getter(name="buildConfig") - def build_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def build_config(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "build_config") @build_config.setter - def build_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def build_config(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "build_config", value) @property @@ -5409,17 +5472,17 @@ def recipe(self, value: Optional[pulumi.Input['SlsaRecipeArgs']]): @pulumi.input_type class SlsaRecipeArgs: def __init__(__self__, *, - arguments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + arguments: Optional[pulumi.Input[Mapping[str, Any]]] = None, defined_in_material: Optional[pulumi.Input[str]] = None, entry_point: Optional[pulumi.Input[str]] = None, - environment: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + environment: Optional[pulumi.Input[Mapping[str, Any]]] = None, type: Optional[pulumi.Input[str]] = None): """ Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. + :param pulumi.Input[Mapping[str, Any]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. :param pulumi.Input[str] defined_in_material: Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. :param pulumi.Input[str] entry_point: String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. + :param pulumi.Input[Mapping[str, Any]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. :param pulumi.Input[str] type: URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. """ if arguments is not None: @@ -5435,14 +5498,14 @@ def __init__(__self__, *, @property @pulumi.getter - def arguments(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def arguments(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. """ return pulumi.get(self, "arguments") @arguments.setter - def arguments(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def arguments(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "arguments", value) @property @@ -5471,14 +5534,14 @@ def entry_point(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def environment(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def environment(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. """ return pulumi.get(self, "environment") @environment.setter - def environment(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def environment(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "environment", value) @property @@ -5572,13 +5635,13 @@ def __init__(__self__, *, additional_contexts: Optional[pulumi.Input[Sequence[pulumi.Input['SourceContextArgs']]]] = None, artifact_storage_source_uri: Optional[pulumi.Input[str]] = None, context: Optional[pulumi.Input['SourceContextArgs']] = None, - file_hashes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + file_hashes: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]]] = None): """ Source describes the location of the source used for the build. :param pulumi.Input[Sequence[pulumi.Input['SourceContextArgs']]] additional_contexts: If provided, some of the source code used for the build may be found in these locations, in the case where the source repository had multiple remotes or submodules. This list will not include the context specified in the context field. :param pulumi.Input[str] artifact_storage_source_uri: If provided, the input binary artifacts for the build came from this location. :param pulumi.Input['SourceContextArgs'] context: If provided, the source code used for the build came from this location. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. + :param pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ if additional_contexts is not None: pulumi.set(__self__, "additional_contexts", additional_contexts) @@ -5627,14 +5690,14 @@ def context(self, value: Optional[pulumi.Input['SourceContextArgs']]): @property @pulumi.getter(name="fileHashes") - def file_hashes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def file_hashes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]]]: """ Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ return pulumi.get(self, "file_hashes") @file_hashes.setter - def file_hashes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def file_hashes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]]]): pulumi.set(self, "file_hashes", value) @@ -5642,12 +5705,12 @@ def file_hashes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str class StatusArgs: def __init__(__self__, *, code: Optional[pulumi.Input[int]] = None, - details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, message: Optional[pulumi.Input[str]] = None): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param pulumi.Input[int] code: The status code, which should be an enum value of google.rpc.Code. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param pulumi.Input[str] message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ if code is not None: @@ -5671,14 +5734,14 @@ def code(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter - def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ return pulumi.get(self, "details") @details.setter - def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "details", value) @property diff --git a/sdk/python/pulumi_google_native/containeranalysis/v1/outputs.py b/sdk/python/pulumi_google_native/containeranalysis/v1/outputs.py index 080ed6c01f..ae1a0e724e 100644 --- a/sdk/python/pulumi_google_native/containeranalysis/v1/outputs.py +++ b/sdk/python/pulumi_google_native/containeranalysis/v1/outputs.py @@ -48,6 +48,7 @@ 'EnvelopeResponse', 'EnvelopeSignatureResponse', 'ExprResponse', + 'FileHashesResponse', 'FingerprintResponse', 'GerritSourceContextResponse', 'GitSourceContextResponse', @@ -58,6 +59,7 @@ 'GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse', 'GrafeasV1SlsaProvenanceZeroTwoSlsaMaterialResponse', 'GrafeasV1SlsaProvenanceZeroTwoSlsaMetadataResponse', + 'HashResponse', 'HintResponse', 'IdentityResponse', 'ImageNoteResponse', @@ -505,8 +507,8 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, build_type: str, - external_parameters: Mapping[str, str], - internal_parameters: Mapping[str, str], + external_parameters: Mapping[str, Any], + internal_parameters: Mapping[str, Any], resolved_dependencies: Sequence['outputs.ResourceDescriptorResponse']): pulumi.set(__self__, "build_type", build_type) pulumi.set(__self__, "external_parameters", external_parameters) @@ -520,12 +522,12 @@ def build_type(self) -> str: @property @pulumi.getter(name="externalParameters") - def external_parameters(self) -> Mapping[str, str]: + def external_parameters(self) -> Mapping[str, Any]: return pulumi.get(self, "external_parameters") @property @pulumi.getter(name="internalParameters") - def internal_parameters(self) -> Mapping[str, str]: + def internal_parameters(self) -> Mapping[str, Any]: return pulumi.get(self, "internal_parameters") @property @@ -2534,6 +2536,45 @@ def title(self) -> str: return pulumi.get(self, "title") +@pulumi.output_type +class FileHashesResponse(dict): + """ + Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileHash": + suggest = "file_hash" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FileHashesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FileHashesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FileHashesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_hash: Sequence['outputs.HashResponse']): + """ + Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + :param Sequence['HashResponse'] file_hash: Collection of file hashes. + """ + pulumi.set(__self__, "file_hash", file_hash) + + @property + @pulumi.getter(name="fileHash") + def file_hash(self) -> Sequence['outputs.HashResponse']: + """ + Collection of file hashes. + """ + return pulumi.get(self, "file_hash") + + @pulumi.output_type class FingerprintResponse(dict): """ @@ -2883,8 +2924,8 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, config_source: 'outputs.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSourceResponse', - environment: Mapping[str, str], - parameters: Mapping[str, str]): + environment: Mapping[str, Any], + parameters: Mapping[str, Any]): """ Identifies the event that kicked off the build. """ @@ -2899,12 +2940,12 @@ def config_source(self) -> 'outputs.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSour @property @pulumi.getter - def environment(self) -> Mapping[str, str]: + def environment(self) -> Mapping[str, Any]: return pulumi.get(self, "environment") @property @pulumi.getter - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, Any]: return pulumi.get(self, "parameters") @@ -3000,6 +3041,39 @@ def reproducible(self) -> bool: return pulumi.get(self, "reproducible") +@pulumi.output_type +class HashResponse(dict): + """ + Container message for hash values. + """ + def __init__(__self__, *, + type: str, + value: str): + """ + Container message for hash values. + :param str type: The type of hash that was performed, e.g. "SHA-256". + :param str value: The hash value. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of hash that was performed, e.g. "SHA-256". + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> str: + """ + The hash value. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class HintResponse(dict): """ @@ -4464,17 +4538,17 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - arguments: Sequence[Mapping[str, str]], + arguments: Sequence[Mapping[str, Any]], defined_in_material: str, entry_point: str, - environment: Sequence[Mapping[str, str]], + environment: Sequence[Mapping[str, Any]], type: str): """ Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. - :param Sequence[Mapping[str, str]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". + :param Sequence[Mapping[str, Any]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". :param str defined_in_material: Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. :param str entry_point: String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. - :param Sequence[Mapping[str, str]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". + :param Sequence[Mapping[str, Any]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". :param str type: URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. """ pulumi.set(__self__, "arguments", arguments) @@ -4485,7 +4559,7 @@ def __init__(__self__, *, @property @pulumi.getter - def arguments(self) -> Sequence[Mapping[str, str]]: + def arguments(self) -> Sequence[Mapping[str, Any]]: """ Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Since the arguments field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". """ @@ -4509,7 +4583,7 @@ def entry_point(self) -> str: @property @pulumi.getter - def environment(self) -> Sequence[Mapping[str, str]]: + def environment(self) -> Sequence[Mapping[str, Any]]: """ Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Since the environment field can greatly vary in structure, depending on the builder and recipe type, this is of form "Any". """ @@ -4692,7 +4766,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - annotations: Mapping[str, str], + annotations: Mapping[str, Any], content: str, digest: Mapping[str, str], download_location: str, @@ -4709,7 +4783,7 @@ def __init__(__self__, *, @property @pulumi.getter - def annotations(self) -> Mapping[str, str]: + def annotations(self) -> Mapping[str, Any]: return pulumi.get(self, "annotations") @property @@ -5362,7 +5436,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - build_config: Mapping[str, str], + build_config: Mapping[str, Any], build_type: str, builder: 'outputs.GrafeasV1SlsaProvenanceZeroTwoSlsaBuilderResponse', invocation: 'outputs.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocationResponse', @@ -5380,7 +5454,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="buildConfig") - def build_config(self) -> Mapping[str, str]: + def build_config(self) -> Mapping[str, Any]: return pulumi.get(self, "build_config") @property @@ -5434,17 +5508,17 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - arguments: Mapping[str, str], + arguments: Mapping[str, Any], defined_in_material: str, entry_point: str, - environment: Mapping[str, str], + environment: Mapping[str, Any], type: str): """ Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. - :param Mapping[str, str] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. + :param Mapping[str, Any] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. :param str defined_in_material: Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. :param str entry_point: String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. - :param Mapping[str, str] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. + :param Mapping[str, Any] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. :param str type: URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. """ pulumi.set(__self__, "arguments", arguments) @@ -5455,7 +5529,7 @@ def __init__(__self__, *, @property @pulumi.getter - def arguments(self) -> Mapping[str, str]: + def arguments(self) -> Mapping[str, Any]: """ Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. """ @@ -5479,7 +5553,7 @@ def entry_point(self) -> str: @property @pulumi.getter - def environment(self) -> Mapping[str, str]: + def environment(self) -> Mapping[str, Any]: """ Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. """ @@ -5596,13 +5670,13 @@ def __init__(__self__, *, additional_contexts: Sequence['outputs.SourceContextResponse'], artifact_storage_source_uri: str, context: 'outputs.SourceContextResponse', - file_hashes: Mapping[str, str]): + file_hashes: Mapping[str, 'outputs.FileHashesResponse']): """ Source describes the location of the source used for the build. :param Sequence['SourceContextResponse'] additional_contexts: If provided, some of the source code used for the build may be found in these locations, in the case where the source repository had multiple remotes or submodules. This list will not include the context specified in the context field. :param str artifact_storage_source_uri: If provided, the input binary artifacts for the build came from this location. :param 'SourceContextResponse' context: If provided, the source code used for the build came from this location. - :param Mapping[str, str] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. + :param Mapping[str, 'FileHashesResponse'] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ pulumi.set(__self__, "additional_contexts", additional_contexts) pulumi.set(__self__, "artifact_storage_source_uri", artifact_storage_source_uri) @@ -5635,7 +5709,7 @@ def context(self) -> 'outputs.SourceContextResponse': @property @pulumi.getter(name="fileHashes") - def file_hashes(self) -> Mapping[str, str]: + def file_hashes(self) -> Mapping[str, 'outputs.FileHashesResponse']: """ Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ @@ -5649,12 +5723,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -5671,7 +5745,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/containeranalysis/v1alpha1/_inputs.py b/sdk/python/pulumi_google_native/containeranalysis/v1alpha1/_inputs.py index 920bc07b5e..7c7ad736c6 100644 --- a/sdk/python/pulumi_google_native/containeranalysis/v1alpha1/_inputs.py +++ b/sdk/python/pulumi_google_native/containeranalysis/v1alpha1/_inputs.py @@ -50,6 +50,7 @@ 'EnvelopeArgs', 'ExprArgs', 'ExternalRefArgs', + 'FileHashesArgs', 'FileLocationArgs', 'FileNoteArgs', 'FileOccurrenceArgs', @@ -540,8 +541,8 @@ def role(self, value: Optional[pulumi.Input[str]]): class BuildDefinitionArgs: def __init__(__self__, *, build_type: Optional[pulumi.Input[str]] = None, - external_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - internal_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + external_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, + internal_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, resolved_dependencies: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceDescriptorArgs']]]] = None): if build_type is not None: pulumi.set(__self__, "build_type", build_type) @@ -563,20 +564,20 @@ def build_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="externalParameters") - def external_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def external_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "external_parameters") @external_parameters.setter - def external_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def external_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "external_parameters", value) @property @pulumi.getter(name="internalParameters") - def internal_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def internal_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "internal_parameters") @internal_parameters.setter - def internal_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def internal_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "internal_parameters", value) @property @@ -2862,6 +2863,30 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class FileHashesArgs: + def __init__(__self__, *, + file_hash: Optional[pulumi.Input[Sequence[pulumi.Input['HashArgs']]]] = None): + """ + Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. + :param pulumi.Input[Sequence[pulumi.Input['HashArgs']]] file_hash: Collection of file hashes. + """ + if file_hash is not None: + pulumi.set(__self__, "file_hash", file_hash) + + @property + @pulumi.getter(name="fileHash") + def file_hash(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HashArgs']]]]: + """ + Collection of file hashes. + """ + return pulumi.get(self, "file_hash") + + @file_hash.setter + def file_hash(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HashArgs']]]]): + pulumi.set(self, "file_hash", value) + + @pulumi.input_type class FileLocationArgs: def __init__(__self__, *, @@ -3545,13 +3570,13 @@ def uri(self, value: Optional[pulumi.Input[str]]): class GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationArgs: def __init__(__self__, *, config_source: Optional[pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSourceArgs']] = None, - environment: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + environment: Optional[pulumi.Input[Mapping[str, Any]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Identifies the event that kicked off the build. :param pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSourceArgs'] config_source: Describes where the config file that kicked off the build came from. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment: Any other builder-controlled inputs necessary for correctly evaluating the build. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Collection of all external inputs that influenced the build on top of invocation.configSource. + :param pulumi.Input[Mapping[str, Any]] environment: Any other builder-controlled inputs necessary for correctly evaluating the build. + :param pulumi.Input[Mapping[str, Any]] parameters: Collection of all external inputs that influenced the build on top of invocation.configSource. """ if config_source is not None: pulumi.set(__self__, "config_source", config_source) @@ -3574,26 +3599,26 @@ def config_source(self, value: Optional[pulumi.Input['GoogleDevtoolsContainerana @property @pulumi.getter - def environment(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def environment(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Any other builder-controlled inputs necessary for correctly evaluating the build. """ return pulumi.get(self, "environment") @environment.setter - def environment(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def environment(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "environment", value) @property @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Collection of all external inputs that influenced the build on top of invocation.configSource. """ return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "parameters", value) @@ -5347,17 +5372,17 @@ def publisher_namespace(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class RecipeArgs: def __init__(__self__, *, - arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + arguments: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, defined_in_material: Optional[pulumi.Input[str]] = None, entry_point: Optional[pulumi.Input[str]] = None, - environment: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + environment: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, type: Optional[pulumi.Input[str]] = None): """ Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. :param pulumi.Input[str] defined_in_material: Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. :param pulumi.Input[str] entry_point: String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. :param pulumi.Input[str] type: URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. """ if arguments is not None: @@ -5373,14 +5398,14 @@ def __init__(__self__, *, @property @pulumi.getter - def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. """ return pulumi.get(self, "arguments") @arguments.setter - def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "arguments", value) @property @@ -5409,14 +5434,14 @@ def entry_point(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def environment(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def environment(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. """ return pulumi.get(self, "environment") @environment.setter - def environment(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def environment(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "environment", value) @property @@ -5699,7 +5724,7 @@ def tag_name(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class ResourceDescriptorArgs: def __init__(__self__, *, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, content: Optional[pulumi.Input[str]] = None, digest: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, download_location: Optional[pulumi.Input[str]] = None, @@ -5723,11 +5748,11 @@ def __init__(__self__, *, @property @pulumi.getter - def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def annotations(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "annotations") @annotations.setter - def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def annotations(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "annotations", value) @property @@ -6325,7 +6350,7 @@ def run_details(self, value: Optional[pulumi.Input['RunDetailsArgs']]): @pulumi.input_type class SlsaProvenanceZeroTwoArgs: def __init__(__self__, *, - build_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + build_config: Optional[pulumi.Input[Mapping[str, Any]]] = None, build_type: Optional[pulumi.Input[str]] = None, builder: Optional[pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilderArgs']] = None, invocation: Optional[pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationArgs']] = None, @@ -6333,7 +6358,7 @@ def __init__(__self__, *, metadata: Optional[pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadataArgs']] = None): """ SlsaProvenanceZeroTwo is the slsa provenance as defined by the slsa spec. See full explanation of fields at slsa.dev/provenance/v0.2. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] build_config: Lists the steps in the build. + :param pulumi.Input[Mapping[str, Any]] build_config: Lists the steps in the build. :param pulumi.Input[str] build_type: URI indicating what type of build was performed. :param pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilderArgs'] builder: Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance. :param pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationArgs'] invocation: Identifies the event that kicked off the build. @@ -6355,14 +6380,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="buildConfig") - def build_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def build_config(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Lists the steps in the build. """ return pulumi.get(self, "build_config") @build_config.setter - def build_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def build_config(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "build_config", value) @property @@ -6501,17 +6526,17 @@ def recipe(self, value: Optional[pulumi.Input['SlsaRecipeArgs']]): @pulumi.input_type class SlsaRecipeArgs: def __init__(__self__, *, - arguments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + arguments: Optional[pulumi.Input[Mapping[str, Any]]] = None, defined_in_material: Optional[pulumi.Input[str]] = None, entry_point: Optional[pulumi.Input[str]] = None, - environment: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + environment: Optional[pulumi.Input[Mapping[str, Any]]] = None, type: Optional[pulumi.Input[str]] = None): """ Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. + :param pulumi.Input[Mapping[str, Any]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. :param pulumi.Input[str] defined_in_material: Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. :param pulumi.Input[str] entry_point: String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. + :param pulumi.Input[Mapping[str, Any]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. :param pulumi.Input[str] type: URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. """ if arguments is not None: @@ -6527,14 +6552,14 @@ def __init__(__self__, *, @property @pulumi.getter - def arguments(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def arguments(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. """ return pulumi.get(self, "arguments") @arguments.setter - def arguments(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def arguments(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "arguments", value) @property @@ -6563,14 +6588,14 @@ def entry_point(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def environment(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def environment(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. """ return pulumi.get(self, "environment") @environment.setter - def environment(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def environment(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "environment", value) @property @@ -6592,7 +6617,7 @@ def __init__(__self__, *, additional_contexts: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SourceContextArgs']]]] = None, artifact_storage_source: Optional[pulumi.Input['StorageSourceArgs']] = None, context: Optional[pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SourceContextArgs']] = None, - file_hashes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + file_hashes: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]]] = None, repo_source: Optional[pulumi.Input['RepoSourceArgs']] = None, storage_source: Optional[pulumi.Input['StorageSourceArgs']] = None): """ @@ -6600,7 +6625,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SourceContextArgs']]] additional_contexts: If provided, some of the source code used for the build may be found in these locations, in the case where the source repository had multiple remotes or submodules. This list will not include the context specified in the context field. :param pulumi.Input['StorageSourceArgs'] artifact_storage_source: If provided, the input binary artifacts for the build came from this location. :param pulumi.Input['GoogleDevtoolsContaineranalysisV1alpha1SourceContextArgs'] context: If provided, the source code used for the build came from this location. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. + :param pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. :param pulumi.Input['RepoSourceArgs'] repo_source: If provided, get source from this location in a Cloud Repo. :param pulumi.Input['StorageSourceArgs'] storage_source: If provided, get the source from this location in Google Cloud Storage. """ @@ -6655,14 +6680,14 @@ def context(self, value: Optional[pulumi.Input['GoogleDevtoolsContaineranalysisV @property @pulumi.getter(name="fileHashes") - def file_hashes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def file_hashes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]]]: """ Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ return pulumi.get(self, "file_hashes") @file_hashes.setter - def file_hashes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def file_hashes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]]]): pulumi.set(self, "file_hashes", value) @property @@ -6694,12 +6719,12 @@ def storage_source(self, value: Optional[pulumi.Input['StorageSourceArgs']]): class StatusArgs: def __init__(__self__, *, code: Optional[pulumi.Input[int]] = None, - details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, message: Optional[pulumi.Input[str]] = None): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param pulumi.Input[int] code: The status code, which should be an enum value of google.rpc.Code. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param pulumi.Input[str] message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ if code is not None: @@ -6723,14 +6748,14 @@ def code(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter - def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ return pulumi.get(self, "details") @details.setter - def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "details", value) @property diff --git a/sdk/python/pulumi_google_native/containeranalysis/v1alpha1/outputs.py b/sdk/python/pulumi_google_native/containeranalysis/v1alpha1/outputs.py index aec959ecda..abadaaeacb 100644 --- a/sdk/python/pulumi_google_native/containeranalysis/v1alpha1/outputs.py +++ b/sdk/python/pulumi_google_native/containeranalysis/v1alpha1/outputs.py @@ -51,6 +51,7 @@ 'EnvelopeSignatureResponse', 'ExprResponse', 'ExternalRefResponse', + 'FileHashesResponse', 'FileLocationResponse', 'FileNoteResponse', 'FileOccurrenceResponse', @@ -557,8 +558,8 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, build_type: str, - external_parameters: Mapping[str, str], - internal_parameters: Mapping[str, str], + external_parameters: Mapping[str, Any], + internal_parameters: Mapping[str, Any], resolved_dependencies: Sequence['outputs.ResourceDescriptorResponse']): pulumi.set(__self__, "build_type", build_type) pulumi.set(__self__, "external_parameters", external_parameters) @@ -572,12 +573,12 @@ def build_type(self) -> str: @property @pulumi.getter(name="externalParameters") - def external_parameters(self) -> Mapping[str, str]: + def external_parameters(self) -> Mapping[str, Any]: return pulumi.get(self, "external_parameters") @property @pulumi.getter(name="internalParameters") - def internal_parameters(self) -> Mapping[str, str]: + def internal_parameters(self) -> Mapping[str, Any]: return pulumi.get(self, "internal_parameters") @property @@ -2793,6 +2794,45 @@ def type(self) -> str: return pulumi.get(self, "type") +@pulumi.output_type +class FileHashesResponse(dict): + """ + Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileHash": + suggest = "file_hash" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FileHashesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FileHashesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FileHashesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_hash: Sequence['outputs.HashResponse']): + """ + Container message for hashes of byte content of files, used in Source messages to verify integrity of source input to the build. + :param Sequence['HashResponse'] file_hash: Collection of file hashes. + """ + pulumi.set(__self__, "file_hash", file_hash) + + @property + @pulumi.getter(name="fileHash") + def file_hash(self) -> Sequence['outputs.HashResponse']: + """ + Collection of file hashes. + """ + return pulumi.get(self, "file_hash") + + @pulumi.output_type class FileLocationResponse(dict): """ @@ -3532,13 +3572,13 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, config_source: 'outputs.GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSourceResponse', - environment: Mapping[str, str], - parameters: Mapping[str, str]): + environment: Mapping[str, Any], + parameters: Mapping[str, Any]): """ Identifies the event that kicked off the build. :param 'GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSourceResponse' config_source: Describes where the config file that kicked off the build came from. - :param Mapping[str, str] environment: Any other builder-controlled inputs necessary for correctly evaluating the build. - :param Mapping[str, str] parameters: Collection of all external inputs that influenced the build on top of invocation.configSource. + :param Mapping[str, Any] environment: Any other builder-controlled inputs necessary for correctly evaluating the build. + :param Mapping[str, Any] parameters: Collection of all external inputs that influenced the build on top of invocation.configSource. """ pulumi.set(__self__, "config_source", config_source) pulumi.set(__self__, "environment", environment) @@ -3554,7 +3594,7 @@ def config_source(self) -> 'outputs.GoogleDevtoolsContaineranalysisV1alpha1SlsaP @property @pulumi.getter - def environment(self) -> Mapping[str, str]: + def environment(self) -> Mapping[str, Any]: """ Any other builder-controlled inputs necessary for correctly evaluating the build. """ @@ -3562,7 +3602,7 @@ def environment(self) -> Mapping[str, str]: @property @pulumi.getter - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, Any]: """ Collection of all external inputs that influenced the build on top of invocation.configSource. """ @@ -4537,16 +4577,16 @@ class OperationResponse(dict): def __init__(__self__, *, done: bool, error: 'outputs.StatusResponse', - metadata: Mapping[str, str], + metadata: Mapping[str, Any], name: str, - response: Mapping[str, str]): + response: Mapping[str, Any]): """ This resource represents a long-running operation that is the result of a network API call. :param bool done: If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. :param 'StatusResponse' error: The error result of the operation in case of failure or cancellation. - :param Mapping[str, str] metadata: Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + :param Mapping[str, Any] metadata: Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. :param str name: The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. - :param Mapping[str, str] response: The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + :param Mapping[str, Any] response: The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. """ pulumi.set(__self__, "done", done) pulumi.set(__self__, "error", error) @@ -4572,7 +4612,7 @@ def error(self) -> 'outputs.StatusResponse': @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. """ @@ -4588,7 +4628,7 @@ def name(self) -> str: @property @pulumi.getter - def response(self) -> Mapping[str, str]: + def response(self) -> Mapping[str, Any]: """ The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. """ @@ -5436,17 +5476,17 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - arguments: Sequence[Mapping[str, str]], + arguments: Sequence[Mapping[str, Any]], defined_in_material: str, entry_point: str, - environment: Sequence[Mapping[str, str]], + environment: Sequence[Mapping[str, Any]], type: str): """ Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. - :param Sequence[Mapping[str, str]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. + :param Sequence[Mapping[str, Any]] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. :param str defined_in_material: Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. :param str entry_point: String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. - :param Sequence[Mapping[str, str]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. + :param Sequence[Mapping[str, Any]] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. :param str type: URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. """ pulumi.set(__self__, "arguments", arguments) @@ -5457,7 +5497,7 @@ def __init__(__self__, *, @property @pulumi.getter - def arguments(self) -> Sequence[Mapping[str, str]]: + def arguments(self) -> Sequence[Mapping[str, Any]]: """ Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. """ @@ -5481,7 +5521,7 @@ def entry_point(self) -> str: @property @pulumi.getter - def environment(self) -> Sequence[Mapping[str, str]]: + def environment(self) -> Sequence[Mapping[str, Any]]: """ Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. """ @@ -5780,7 +5820,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - annotations: Mapping[str, str], + annotations: Mapping[str, Any], content: str, digest: Mapping[str, str], download_location: str, @@ -5797,7 +5837,7 @@ def __init__(__self__, *, @property @pulumi.getter - def annotations(self) -> Mapping[str, str]: + def annotations(self) -> Mapping[str, Any]: return pulumi.get(self, "annotations") @property @@ -6475,7 +6515,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - build_config: Mapping[str, str], + build_config: Mapping[str, Any], build_type: str, builder: 'outputs.GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilderResponse', invocation: 'outputs.GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse', @@ -6483,7 +6523,7 @@ def __init__(__self__, *, metadata: 'outputs.GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadataResponse'): """ SlsaProvenanceZeroTwo is the slsa provenance as defined by the slsa spec. See full explanation of fields at slsa.dev/provenance/v0.2. - :param Mapping[str, str] build_config: Lists the steps in the build. + :param Mapping[str, Any] build_config: Lists the steps in the build. :param str build_type: URI indicating what type of build was performed. :param 'GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilderResponse' builder: Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance. :param 'GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocationResponse' invocation: Identifies the event that kicked off the build. @@ -6499,7 +6539,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="buildConfig") - def build_config(self) -> Mapping[str, str]: + def build_config(self) -> Mapping[str, Any]: """ Lists the steps in the build. """ @@ -6571,17 +6611,17 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - arguments: Mapping[str, str], + arguments: Mapping[str, Any], defined_in_material: str, entry_point: str, - environment: Mapping[str, str], + environment: Mapping[str, Any], type: str): """ Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe. - :param Mapping[str, str] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. + :param Mapping[str, Any] arguments: Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. :param str defined_in_material: Index in materials containing the recipe steps that are not implied by recipe.type. For example, if the recipe type were "make", then this would point to the source containing the Makefile, not the make program itself. Set to -1 if the recipe doesn't come from a material, as zero is default unset value for int64. :param str entry_point: String identifying the entry point into the build. This is often a path to a configuration file and/or a target label within that file. The syntax and meaning are defined by recipe.type. For example, if the recipe type were "make", then this would reference the directory in which to run make as well as which target to use. - :param Mapping[str, str] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. + :param Mapping[str, Any] environment: Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. :param str type: URI indicating what type of recipe was performed. It determines the meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. """ pulumi.set(__self__, "arguments", arguments) @@ -6592,7 +6632,7 @@ def __init__(__self__, *, @property @pulumi.getter - def arguments(self) -> Mapping[str, str]: + def arguments(self) -> Mapping[str, Any]: """ Collection of all external inputs that influenced the build on top of recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe type were "make", then this might be the flags passed to make aside from the target, which is captured in recipe.entryPoint. Depending on the recipe Type, the structure may be different. """ @@ -6616,7 +6656,7 @@ def entry_point(self) -> str: @property @pulumi.getter - def environment(self) -> Mapping[str, str]: + def environment(self) -> Mapping[str, Any]: """ Any other builder-controlled inputs necessary for correctly evaluating the recipe. Usually only needed for reproducing the build but not evaluated as part of policy. Depending on the recipe Type, the structure may be different. """ @@ -6665,7 +6705,7 @@ def __init__(__self__, *, additional_contexts: Sequence['outputs.GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse'], artifact_storage_source: 'outputs.StorageSourceResponse', context: 'outputs.GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse', - file_hashes: Mapping[str, str], + file_hashes: Mapping[str, 'outputs.FileHashesResponse'], repo_source: 'outputs.RepoSourceResponse', storage_source: 'outputs.StorageSourceResponse'): """ @@ -6673,7 +6713,7 @@ def __init__(__self__, *, :param Sequence['GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse'] additional_contexts: If provided, some of the source code used for the build may be found in these locations, in the case where the source repository had multiple remotes or submodules. This list will not include the context specified in the context field. :param 'StorageSourceResponse' artifact_storage_source: If provided, the input binary artifacts for the build came from this location. :param 'GoogleDevtoolsContaineranalysisV1alpha1SourceContextResponse' context: If provided, the source code used for the build came from this location. - :param Mapping[str, str] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. + :param Mapping[str, 'FileHashesResponse'] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. :param 'RepoSourceResponse' repo_source: If provided, get source from this location in a Cloud Repo. :param 'StorageSourceResponse' storage_source: If provided, get the source from this location in Google Cloud Storage. """ @@ -6710,7 +6750,7 @@ def context(self) -> 'outputs.GoogleDevtoolsContaineranalysisV1alpha1SourceConte @property @pulumi.getter(name="fileHashes") - def file_hashes(self) -> Mapping[str, str]: + def file_hashes(self) -> Mapping[str, 'outputs.FileHashesResponse']: """ Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ @@ -6740,12 +6780,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -6762,7 +6802,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/containeranalysis/v1beta1/_inputs.py b/sdk/python/pulumi_google_native/containeranalysis/v1beta1/_inputs.py index 35e267f269..59eb5ea822 100644 --- a/sdk/python/pulumi_google_native/containeranalysis/v1beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/containeranalysis/v1beta1/_inputs.py @@ -47,6 +47,7 @@ 'EnvironmentArgs', 'ExprArgs', 'ExternalRefArgs', + 'FileHashesArgs', 'FileNoteArgs', 'FileOccurrenceArgs', 'FingerprintArgs', @@ -580,8 +581,8 @@ def role(self, value: Optional[pulumi.Input[str]]): class BuildDefinitionArgs: def __init__(__self__, *, build_type: Optional[pulumi.Input[str]] = None, - external_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - internal_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + external_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, + internal_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, resolved_dependencies: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceDescriptorArgs']]]] = None): if build_type is not None: pulumi.set(__self__, "build_type", build_type) @@ -603,20 +604,20 @@ def build_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="externalParameters") - def external_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def external_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "external_parameters") @external_parameters.setter - def external_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def external_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "external_parameters", value) @property @pulumi.getter(name="internalParameters") - def internal_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def internal_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "internal_parameters") @internal_parameters.setter - def internal_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def internal_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "internal_parameters", value) @property @@ -2631,6 +2632,29 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class FileHashesArgs: + def __init__(__self__, *, + file_hash: pulumi.Input[Sequence[pulumi.Input['HashArgs']]]): + """ + Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + :param pulumi.Input[Sequence[pulumi.Input['HashArgs']]] file_hash: Collection of file hashes. + """ + pulumi.set(__self__, "file_hash", file_hash) + + @property + @pulumi.getter(name="fileHash") + def file_hash(self) -> pulumi.Input[Sequence[pulumi.Input['HashArgs']]]: + """ + Collection of file hashes. + """ + return pulumi.get(self, "file_hash") + + @file_hash.setter + def file_hash(self, value: pulumi.Input[Sequence[pulumi.Input['HashArgs']]]): + pulumi.set(self, "file_hash", value) + + @pulumi.input_type class FileNoteArgs: def __init__(__self__, *, @@ -5043,7 +5067,7 @@ def uid(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class ResourceDescriptorArgs: def __init__(__self__, *, - annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, content: Optional[pulumi.Input[str]] = None, digest: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, download_location: Optional[pulumi.Input[str]] = None, @@ -5067,11 +5091,11 @@ def __init__(__self__, *, @property @pulumi.getter - def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def annotations(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "annotations") @annotations.setter - def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def annotations(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "annotations", value) @property @@ -5735,13 +5759,13 @@ def __init__(__self__, *, additional_contexts: Optional[pulumi.Input[Sequence[pulumi.Input['SourceContextArgs']]]] = None, artifact_storage_source_uri: Optional[pulumi.Input[str]] = None, context: Optional[pulumi.Input['SourceContextArgs']] = None, - file_hashes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + file_hashes: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]]] = None): """ Source describes the location of the source used for the build. :param pulumi.Input[Sequence[pulumi.Input['SourceContextArgs']]] additional_contexts: If provided, some of the source code used for the build may be found in these locations, in the case where the source repository had multiple remotes or submodules. This list will not include the context specified in the context field. :param pulumi.Input[str] artifact_storage_source_uri: If provided, the input binary artifacts for the build came from this location. :param pulumi.Input['SourceContextArgs'] context: If provided, the source code used for the build came from this location. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. + :param pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ if additional_contexts is not None: pulumi.set(__self__, "additional_contexts", additional_contexts) @@ -5790,14 +5814,14 @@ def context(self, value: Optional[pulumi.Input['SourceContextArgs']]): @property @pulumi.getter(name="fileHashes") - def file_hashes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def file_hashes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]]]: """ Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ return pulumi.get(self, "file_hashes") @file_hashes.setter - def file_hashes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def file_hashes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['FileHashesArgs']]]]): pulumi.set(self, "file_hashes", value) @@ -5805,12 +5829,12 @@ def file_hashes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str class StatusArgs: def __init__(__self__, *, code: Optional[pulumi.Input[int]] = None, - details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, message: Optional[pulumi.Input[str]] = None): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param pulumi.Input[int] code: The status code, which should be an enum value of google.rpc.Code. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param pulumi.Input[str] message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ if code is not None: @@ -5834,14 +5858,14 @@ def code(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter - def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ return pulumi.get(self, "details") @details.setter - def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "details", value) @property diff --git a/sdk/python/pulumi_google_native/containeranalysis/v1beta1/outputs.py b/sdk/python/pulumi_google_native/containeranalysis/v1beta1/outputs.py index d048a862f5..5c900a64f7 100644 --- a/sdk/python/pulumi_google_native/containeranalysis/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/containeranalysis/v1beta1/outputs.py @@ -48,6 +48,7 @@ 'EnvironmentResponse', 'ExprResponse', 'ExternalRefResponse', + 'FileHashesResponse', 'FileNoteResponse', 'FileOccurrenceResponse', 'FingerprintResponse', @@ -590,8 +591,8 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, build_type: str, - external_parameters: Mapping[str, str], - internal_parameters: Mapping[str, str], + external_parameters: Mapping[str, Any], + internal_parameters: Mapping[str, Any], resolved_dependencies: Sequence['outputs.ResourceDescriptorResponse']): pulumi.set(__self__, "build_type", build_type) pulumi.set(__self__, "external_parameters", external_parameters) @@ -605,12 +606,12 @@ def build_type(self) -> str: @property @pulumi.getter(name="externalParameters") - def external_parameters(self) -> Mapping[str, str]: + def external_parameters(self) -> Mapping[str, Any]: return pulumi.get(self, "external_parameters") @property @pulumi.getter(name="internalParameters") - def internal_parameters(self) -> Mapping[str, str]: + def internal_parameters(self) -> Mapping[str, Any]: return pulumi.get(self, "internal_parameters") @property @@ -2573,6 +2574,45 @@ def type(self) -> str: return pulumi.get(self, "type") +@pulumi.output_type +class FileHashesResponse(dict): + """ + Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileHash": + suggest = "file_hash" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FileHashesResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FileHashesResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FileHashesResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_hash: Sequence['outputs.HashResponse']): + """ + Container message for hashes of byte content of files, used in source messages to verify integrity of source input to the build. + :param Sequence['HashResponse'] file_hash: Collection of file hashes. + """ + pulumi.set(__self__, "file_hash", file_hash) + + @property + @pulumi.getter(name="fileHash") + def file_hash(self) -> Sequence['outputs.HashResponse']: + """ + Collection of file hashes. + """ + return pulumi.get(self, "file_hash") + + @pulumi.output_type class FileNoteResponse(dict): """ @@ -5157,7 +5197,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - annotations: Mapping[str, str], + annotations: Mapping[str, Any], content: str, digest: Mapping[str, str], download_location: str, @@ -5174,7 +5214,7 @@ def __init__(__self__, *, @property @pulumi.getter - def annotations(self) -> Mapping[str, str]: + def annotations(self) -> Mapping[str, Any]: return pulumi.get(self, "annotations") @property @@ -5861,13 +5901,13 @@ def __init__(__self__, *, additional_contexts: Sequence['outputs.SourceContextResponse'], artifact_storage_source_uri: str, context: 'outputs.SourceContextResponse', - file_hashes: Mapping[str, str]): + file_hashes: Mapping[str, 'outputs.FileHashesResponse']): """ Source describes the location of the source used for the build. :param Sequence['SourceContextResponse'] additional_contexts: If provided, some of the source code used for the build may be found in these locations, in the case where the source repository had multiple remotes or submodules. This list will not include the context specified in the context field. :param str artifact_storage_source_uri: If provided, the input binary artifacts for the build came from this location. :param 'SourceContextResponse' context: If provided, the source code used for the build came from this location. - :param Mapping[str, str] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. + :param Mapping[str, 'FileHashesResponse'] file_hashes: Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ pulumi.set(__self__, "additional_contexts", additional_contexts) pulumi.set(__self__, "artifact_storage_source_uri", artifact_storage_source_uri) @@ -5900,7 +5940,7 @@ def context(self) -> 'outputs.SourceContextResponse': @property @pulumi.getter(name="fileHashes") - def file_hashes(self) -> Mapping[str, str]: + def file_hashes(self) -> Mapping[str, 'outputs.FileHashesResponse']: """ Hash(es) of the build source, which can be used to verify that the original source integrity was maintained in the build. The keys to this map are file paths used as build source and the values contain the hash values for those files. If the build source came in a single package such as a gzipped tarfile (.tar.gz), the FileHash will be for the single path to that file. """ @@ -5914,12 +5954,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -5936,7 +5976,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/contentwarehouse/v1/_inputs.py b/sdk/python/pulumi_google_native/contentwarehouse/v1/_inputs.py index 5308cec592..2846f52f5a 100644 --- a/sdk/python/pulumi_google_native/contentwarehouse/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/contentwarehouse/v1/_inputs.py @@ -22,6 +22,7 @@ 'GoogleCloudContentwarehouseV1DeleteDocumentActionArgs', 'GoogleCloudContentwarehouseV1EnumArrayArgs', 'GoogleCloudContentwarehouseV1EnumTypeOptionsArgs', + 'GoogleCloudContentwarehouseV1EnumValueArgs', 'GoogleCloudContentwarehouseV1FloatArrayArgs', 'GoogleCloudContentwarehouseV1FloatTypeOptionsArgs', 'GoogleCloudContentwarehouseV1IntegerArrayArgs', @@ -44,6 +45,7 @@ 'GoogleCloudContentwarehouseV1TimestampTypeOptionsArgs', 'GoogleCloudContentwarehouseV1TimestampValueArgs', 'GoogleCloudContentwarehouseV1UserInfoArgs', + 'GoogleCloudContentwarehouseV1ValueArgs', 'GoogleCloudDocumentaiV1BarcodeArgs', 'GoogleCloudDocumentaiV1BoundingPolyArgs', 'GoogleCloudDocumentaiV1DocumentEntityNormalizedValueArgs', @@ -507,6 +509,30 @@ def validation_check_disabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "validation_check_disabled", value) +@pulumi.input_type +class GoogleCloudContentwarehouseV1EnumValueArgs: + def __init__(__self__, *, + value: Optional[pulumi.Input[str]] = None): + """ + Represents the string value of the enum field. + :param pulumi.Input[str] value: String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + """ + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + @pulumi.input_type class GoogleCloudContentwarehouseV1FloatArrayArgs: def __init__(__self__, *, @@ -576,24 +602,24 @@ def __init__(__self__): @pulumi.input_type class GoogleCloudContentwarehouseV1MapPropertyArgs: def __init__(__self__, *, - fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudContentwarehouseV1ValueArgs']]]] = None): """ Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] fields: Unordered map of dynamically typed values. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudContentwarehouseV1ValueArgs']]] fields: Unordered map of dynamically typed values. """ if fields is not None: pulumi.set(__self__, "fields", fields) @property @pulumi.getter - def fields(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def fields(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudContentwarehouseV1ValueArgs']]]]: """ Unordered map of dynamically typed values. """ return pulumi.get(self, "fields") @fields.setter - def fields(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def fields(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudContentwarehouseV1ValueArgs']]]]): pulumi.set(self, "fields", value) @@ -1485,6 +1511,126 @@ def id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "id", value) +@pulumi.input_type +class GoogleCloudContentwarehouseV1ValueArgs: + def __init__(__self__, *, + boolean_value: Optional[pulumi.Input[bool]] = None, + datetime_value: Optional[pulumi.Input['GoogleTypeDateTimeArgs']] = None, + enum_value: Optional[pulumi.Input['GoogleCloudContentwarehouseV1EnumValueArgs']] = None, + float_value: Optional[pulumi.Input[float]] = None, + int_value: Optional[pulumi.Input[int]] = None, + string_value: Optional[pulumi.Input[str]] = None, + timestamp_value: Optional[pulumi.Input['GoogleCloudContentwarehouseV1TimestampValueArgs']] = None): + """ + `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + :param pulumi.Input[bool] boolean_value: Represents a boolean value. + :param pulumi.Input['GoogleTypeDateTimeArgs'] datetime_value: Represents a datetime value. + :param pulumi.Input['GoogleCloudContentwarehouseV1EnumValueArgs'] enum_value: Represents an enum value. + :param pulumi.Input[float] float_value: Represents a float value. + :param pulumi.Input[int] int_value: Represents a integer value. + :param pulumi.Input[str] string_value: Represents a string value. + :param pulumi.Input['GoogleCloudContentwarehouseV1TimestampValueArgs'] timestamp_value: Represents a timestamp value. + """ + if boolean_value is not None: + pulumi.set(__self__, "boolean_value", boolean_value) + if datetime_value is not None: + pulumi.set(__self__, "datetime_value", datetime_value) + if enum_value is not None: + pulumi.set(__self__, "enum_value", enum_value) + if float_value is not None: + pulumi.set(__self__, "float_value", float_value) + if int_value is not None: + pulumi.set(__self__, "int_value", int_value) + if string_value is not None: + pulumi.set(__self__, "string_value", string_value) + if timestamp_value is not None: + pulumi.set(__self__, "timestamp_value", timestamp_value) + + @property + @pulumi.getter(name="booleanValue") + def boolean_value(self) -> Optional[pulumi.Input[bool]]: + """ + Represents a boolean value. + """ + return pulumi.get(self, "boolean_value") + + @boolean_value.setter + def boolean_value(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "boolean_value", value) + + @property + @pulumi.getter(name="datetimeValue") + def datetime_value(self) -> Optional[pulumi.Input['GoogleTypeDateTimeArgs']]: + """ + Represents a datetime value. + """ + return pulumi.get(self, "datetime_value") + + @datetime_value.setter + def datetime_value(self, value: Optional[pulumi.Input['GoogleTypeDateTimeArgs']]): + pulumi.set(self, "datetime_value", value) + + @property + @pulumi.getter(name="enumValue") + def enum_value(self) -> Optional[pulumi.Input['GoogleCloudContentwarehouseV1EnumValueArgs']]: + """ + Represents an enum value. + """ + return pulumi.get(self, "enum_value") + + @enum_value.setter + def enum_value(self, value: Optional[pulumi.Input['GoogleCloudContentwarehouseV1EnumValueArgs']]): + pulumi.set(self, "enum_value", value) + + @property + @pulumi.getter(name="floatValue") + def float_value(self) -> Optional[pulumi.Input[float]]: + """ + Represents a float value. + """ + return pulumi.get(self, "float_value") + + @float_value.setter + def float_value(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "float_value", value) + + @property + @pulumi.getter(name="intValue") + def int_value(self) -> Optional[pulumi.Input[int]]: + """ + Represents a integer value. + """ + return pulumi.get(self, "int_value") + + @int_value.setter + def int_value(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "int_value", value) + + @property + @pulumi.getter(name="stringValue") + def string_value(self) -> Optional[pulumi.Input[str]]: + """ + Represents a string value. + """ + return pulumi.get(self, "string_value") + + @string_value.setter + def string_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "string_value", value) + + @property + @pulumi.getter(name="timestampValue") + def timestamp_value(self) -> Optional[pulumi.Input['GoogleCloudContentwarehouseV1TimestampValueArgs']]: + """ + Represents a timestamp value. + """ + return pulumi.get(self, "timestamp_value") + + @timestamp_value.setter + def timestamp_value(self, value: Optional[pulumi.Input['GoogleCloudContentwarehouseV1TimestampValueArgs']]): + pulumi.set(self, "timestamp_value", value) + + @pulumi.input_type class GoogleCloudDocumentaiV1BarcodeArgs: def __init__(__self__, *, @@ -4879,12 +5025,12 @@ def version(self, value: Optional[pulumi.Input[int]]): class GoogleRpcStatusArgs: def __init__(__self__, *, code: Optional[pulumi.Input[int]] = None, - details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, message: Optional[pulumi.Input[str]] = None): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param pulumi.Input[int] code: The status code, which should be an enum value of google.rpc.Code. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param pulumi.Input[str] message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ if code is not None: @@ -4908,14 +5054,14 @@ def code(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter - def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ return pulumi.get(self, "details") @details.setter - def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "details", value) @property diff --git a/sdk/python/pulumi_google_native/contentwarehouse/v1/outputs.py b/sdk/python/pulumi_google_native/contentwarehouse/v1/outputs.py index d992623ff4..5d503f8dee 100644 --- a/sdk/python/pulumi_google_native/contentwarehouse/v1/outputs.py +++ b/sdk/python/pulumi_google_native/contentwarehouse/v1/outputs.py @@ -22,6 +22,7 @@ 'GoogleCloudContentwarehouseV1DeleteDocumentActionResponse', 'GoogleCloudContentwarehouseV1EnumArrayResponse', 'GoogleCloudContentwarehouseV1EnumTypeOptionsResponse', + 'GoogleCloudContentwarehouseV1EnumValueResponse', 'GoogleCloudContentwarehouseV1FloatArrayResponse', 'GoogleCloudContentwarehouseV1FloatTypeOptionsResponse', 'GoogleCloudContentwarehouseV1IntegerArrayResponse', @@ -42,6 +43,7 @@ 'GoogleCloudContentwarehouseV1TimestampArrayResponse', 'GoogleCloudContentwarehouseV1TimestampTypeOptionsResponse', 'GoogleCloudContentwarehouseV1TimestampValueResponse', + 'GoogleCloudContentwarehouseV1ValueResponse', 'GoogleCloudDocumentaiV1BarcodeResponse', 'GoogleCloudDocumentaiV1BoundingPolyResponse', 'GoogleCloudDocumentaiV1DocumentEntityNormalizedValueResponse', @@ -490,6 +492,28 @@ def validation_check_disabled(self) -> bool: return pulumi.get(self, "validation_check_disabled") +@pulumi.output_type +class GoogleCloudContentwarehouseV1EnumValueResponse(dict): + """ + Represents the string value of the enum field. + """ + def __init__(__self__, *, + value: str): + """ + Represents the string value of the enum field. + :param str value: String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + """ + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def value(self) -> str: + """ + String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class GoogleCloudContentwarehouseV1FloatArrayResponse(dict): """ @@ -564,16 +588,16 @@ class GoogleCloudContentwarehouseV1MapPropertyResponse(dict): Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values. """ def __init__(__self__, *, - fields: Mapping[str, str]): + fields: Mapping[str, 'outputs.GoogleCloudContentwarehouseV1ValueResponse']): """ Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values. - :param Mapping[str, str] fields: Unordered map of dynamically typed values. + :param Mapping[str, 'GoogleCloudContentwarehouseV1ValueResponse'] fields: Unordered map of dynamically typed values. """ pulumi.set(__self__, "fields", fields) @property @pulumi.getter - def fields(self) -> Mapping[str, str]: + def fields(self) -> Mapping[str, 'outputs.GoogleCloudContentwarehouseV1ValueResponse']: """ Unordered map of dynamically typed values. """ @@ -1399,6 +1423,123 @@ def timestamp_value(self) -> str: return pulumi.get(self, "timestamp_value") +@pulumi.output_type +class GoogleCloudContentwarehouseV1ValueResponse(dict): + """ + `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "booleanValue": + suggest = "boolean_value" + elif key == "datetimeValue": + suggest = "datetime_value" + elif key == "enumValue": + suggest = "enum_value" + elif key == "floatValue": + suggest = "float_value" + elif key == "intValue": + suggest = "int_value" + elif key == "stringValue": + suggest = "string_value" + elif key == "timestampValue": + suggest = "timestamp_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudContentwarehouseV1ValueResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudContentwarehouseV1ValueResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudContentwarehouseV1ValueResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + boolean_value: bool, + datetime_value: 'outputs.GoogleTypeDateTimeResponse', + enum_value: 'outputs.GoogleCloudContentwarehouseV1EnumValueResponse', + float_value: float, + int_value: int, + string_value: str, + timestamp_value: 'outputs.GoogleCloudContentwarehouseV1TimestampValueResponse'): + """ + `Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. + :param bool boolean_value: Represents a boolean value. + :param 'GoogleTypeDateTimeResponse' datetime_value: Represents a datetime value. + :param 'GoogleCloudContentwarehouseV1EnumValueResponse' enum_value: Represents an enum value. + :param float float_value: Represents a float value. + :param int int_value: Represents a integer value. + :param str string_value: Represents a string value. + :param 'GoogleCloudContentwarehouseV1TimestampValueResponse' timestamp_value: Represents a timestamp value. + """ + pulumi.set(__self__, "boolean_value", boolean_value) + pulumi.set(__self__, "datetime_value", datetime_value) + pulumi.set(__self__, "enum_value", enum_value) + pulumi.set(__self__, "float_value", float_value) + pulumi.set(__self__, "int_value", int_value) + pulumi.set(__self__, "string_value", string_value) + pulumi.set(__self__, "timestamp_value", timestamp_value) + + @property + @pulumi.getter(name="booleanValue") + def boolean_value(self) -> bool: + """ + Represents a boolean value. + """ + return pulumi.get(self, "boolean_value") + + @property + @pulumi.getter(name="datetimeValue") + def datetime_value(self) -> 'outputs.GoogleTypeDateTimeResponse': + """ + Represents a datetime value. + """ + return pulumi.get(self, "datetime_value") + + @property + @pulumi.getter(name="enumValue") + def enum_value(self) -> 'outputs.GoogleCloudContentwarehouseV1EnumValueResponse': + """ + Represents an enum value. + """ + return pulumi.get(self, "enum_value") + + @property + @pulumi.getter(name="floatValue") + def float_value(self) -> float: + """ + Represents a float value. + """ + return pulumi.get(self, "float_value") + + @property + @pulumi.getter(name="intValue") + def int_value(self) -> int: + """ + Represents a integer value. + """ + return pulumi.get(self, "int_value") + + @property + @pulumi.getter(name="stringValue") + def string_value(self) -> str: + """ + Represents a string value. + """ + return pulumi.get(self, "string_value") + + @property + @pulumi.getter(name="timestampValue") + def timestamp_value(self) -> 'outputs.GoogleCloudContentwarehouseV1TimestampValueResponse': + """ + Represents a timestamp value. + """ + return pulumi.get(self, "timestamp_value") + + @pulumi.output_type class GoogleCloudDocumentaiV1BarcodeResponse(dict): """ @@ -4611,12 +4752,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -4633,7 +4774,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/datacatalog/v1/_enums.py b/sdk/python/pulumi_google_native/datacatalog/v1/_enums.py index 88a15c5017..d0195373a1 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1/_enums.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1/_enums.py @@ -10,6 +10,7 @@ 'GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpecType', 'GoogleCloudDatacatalogV1DatabaseTableSpecDatabaseViewSpecViewType', 'GoogleCloudDatacatalogV1DatabaseTableSpecType', + 'GoogleCloudDatacatalogV1FieldTypePrimitiveType', 'GoogleCloudDatacatalogV1RoutineSpecArgumentMode', 'GoogleCloudDatacatalogV1RoutineSpecRoutineType', 'GoogleCloudDatacatalogV1VertexDatasetSpecDataType', @@ -180,6 +181,36 @@ class GoogleCloudDatacatalogV1DatabaseTableSpecType(str, Enum): """ +class GoogleCloudDatacatalogV1FieldTypePrimitiveType(str, Enum): + """ + Primitive types, such as string, boolean, etc. + """ + PRIMITIVE_TYPE_UNSPECIFIED = "PRIMITIVE_TYPE_UNSPECIFIED" + """ + The default invalid value for a type. + """ + DOUBLE = "DOUBLE" + """ + A double precision number. + """ + STRING = "STRING" + """ + An UTF-8 string. + """ + BOOL = "BOOL" + """ + A boolean value. + """ + TIMESTAMP = "TIMESTAMP" + """ + A timestamp. + """ + RICHTEXT = "RICHTEXT" + """ + A Richtext description. + """ + + class GoogleCloudDatacatalogV1RoutineSpecArgumentMode(str, Enum): """ Specifies whether the argument is input or output. diff --git a/sdk/python/pulumi_google_native/datacatalog/v1/_inputs.py b/sdk/python/pulumi_google_native/datacatalog/v1/_inputs.py index c6b7ac583f..3ff94ea635 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1/_inputs.py @@ -20,6 +20,7 @@ 'GoogleCloudDatacatalogV1CloudBigtableSystemSpecArgs', 'GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpecArgs', 'GoogleCloudDatacatalogV1ColumnSchemaArgs', + 'GoogleCloudDatacatalogV1CommonUsageStatsArgs', 'GoogleCloudDatacatalogV1ContactsPersonArgs', 'GoogleCloudDatacatalogV1ContactsArgs', 'GoogleCloudDatacatalogV1DataSourceConnectionSpecArgs', @@ -29,6 +30,9 @@ 'GoogleCloudDatacatalogV1DataplexSpecArgs', 'GoogleCloudDatacatalogV1DatasetSpecArgs', 'GoogleCloudDatacatalogV1EntryOverviewArgs', + 'GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs', + 'GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs', + 'GoogleCloudDatacatalogV1FieldTypeArgs', 'GoogleCloudDatacatalogV1FilesetSpecArgs', 'GoogleCloudDatacatalogV1GcsFilesetSpecArgs', 'GoogleCloudDatacatalogV1LookerSystemSpecArgs', @@ -46,6 +50,7 @@ 'GoogleCloudDatacatalogV1ServiceSpecArgs', 'GoogleCloudDatacatalogV1SqlDatabaseSystemSpecArgs', 'GoogleCloudDatacatalogV1SystemTimestampsArgs', + 'GoogleCloudDatacatalogV1TagTemplateFieldArgs', 'GoogleCloudDatacatalogV1UsageSignalArgs', 'GoogleCloudDatacatalogV1VertexDatasetSpecArgs', 'GoogleCloudDatacatalogV1VertexModelSourceInfoArgs', @@ -554,6 +559,30 @@ def subcolumns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleC pulumi.set(self, "subcolumns", value) +@pulumi.input_type +class GoogleCloudDatacatalogV1CommonUsageStatsArgs: + def __init__(__self__, *, + view_count: Optional[pulumi.Input[str]] = None): + """ + Common statistics on the entry's usage. They can be set on any system. + :param pulumi.Input[str] view_count: View count in source system. + """ + if view_count is not None: + pulumi.set(__self__, "view_count", view_count) + + @property + @pulumi.getter(name="viewCount") + def view_count(self) -> Optional[pulumi.Input[str]]: + """ + View count in source system. + """ + return pulumi.get(self, "view_count") + + @view_count.setter + def view_count(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "view_count", value) + + @pulumi.input_type class GoogleCloudDatacatalogV1ContactsPersonArgs: def __init__(__self__, *, @@ -867,6 +896,90 @@ def overview(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "overview", value) +@pulumi.input_type +class GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs: + def __init__(__self__, *, + display_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] display_name: The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + """ + pulumi.set(__self__, "display_name", display_name) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[str]: + """ + The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[str]): + pulumi.set(self, "display_name", value) + + +@pulumi.input_type +class GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs: + def __init__(__self__, *, + allowed_values: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs']]] allowed_values: The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + """ + if allowed_values is not None: + pulumi.set(__self__, "allowed_values", allowed_values) + + @property + @pulumi.getter(name="allowedValues") + def allowed_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs']]]]: + """ + The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + """ + return pulumi.get(self, "allowed_values") + + @allowed_values.setter + def allowed_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueArgs']]]]): + pulumi.set(self, "allowed_values", value) + + +@pulumi.input_type +class GoogleCloudDatacatalogV1FieldTypeArgs: + def __init__(__self__, *, + enum_type: Optional[pulumi.Input['GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs']] = None, + primitive_type: Optional[pulumi.Input['GoogleCloudDatacatalogV1FieldTypePrimitiveType']] = None): + """ + :param pulumi.Input['GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs'] enum_type: An enum type. + :param pulumi.Input['GoogleCloudDatacatalogV1FieldTypePrimitiveType'] primitive_type: Primitive types, such as string, boolean, etc. + """ + if enum_type is not None: + pulumi.set(__self__, "enum_type", enum_type) + if primitive_type is not None: + pulumi.set(__self__, "primitive_type", primitive_type) + + @property + @pulumi.getter(name="enumType") + def enum_type(self) -> Optional[pulumi.Input['GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs']]: + """ + An enum type. + """ + return pulumi.get(self, "enum_type") + + @enum_type.setter + def enum_type(self, value: Optional[pulumi.Input['GoogleCloudDatacatalogV1FieldTypeEnumTypeArgs']]): + pulumi.set(self, "enum_type", value) + + @property + @pulumi.getter(name="primitiveType") + def primitive_type(self) -> Optional[pulumi.Input['GoogleCloudDatacatalogV1FieldTypePrimitiveType']]: + """ + Primitive types, such as string, boolean, etc. + """ + return pulumi.get(self, "primitive_type") + + @primitive_type.setter + def primitive_type(self, value: Optional[pulumi.Input['GoogleCloudDatacatalogV1FieldTypePrimitiveType']]): + pulumi.set(self, "primitive_type", value) + + @pulumi.input_type class GoogleCloudDatacatalogV1FilesetSpecArgs: def __init__(__self__, *, @@ -1549,15 +1662,102 @@ def update_time(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "update_time", value) +@pulumi.input_type +class GoogleCloudDatacatalogV1TagTemplateFieldArgs: + def __init__(__self__, *, + type: pulumi.Input['GoogleCloudDatacatalogV1FieldTypeArgs'], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + is_required: Optional[pulumi.Input[bool]] = None, + order: Optional[pulumi.Input[int]] = None): + """ + The template for an individual field within a tag template. + :param pulumi.Input['GoogleCloudDatacatalogV1FieldTypeArgs'] type: The type of value this tag field can contain. + :param pulumi.Input[str] description: The description for this field. Defaults to an empty string. + :param pulumi.Input[str] display_name: The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + :param pulumi.Input[bool] is_required: If true, this field is required. Defaults to false. + :param pulumi.Input[int] order: The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + """ + pulumi.set(__self__, "type", type) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if is_required is not None: + pulumi.set(__self__, "is_required", is_required) + if order is not None: + pulumi.set(__self__, "order", order) + + @property + @pulumi.getter + def type(self) -> pulumi.Input['GoogleCloudDatacatalogV1FieldTypeArgs']: + """ + The type of value this tag field can contain. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input['GoogleCloudDatacatalogV1FieldTypeArgs']): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description for this field. Defaults to an empty string. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="isRequired") + def is_required(self) -> Optional[pulumi.Input[bool]]: + """ + If true, this field is required. Defaults to false. + """ + return pulumi.get(self, "is_required") + + @is_required.setter + def is_required(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_required", value) + + @property + @pulumi.getter + def order(self) -> Optional[pulumi.Input[int]]: + """ + The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + """ + return pulumi.get(self, "order") + + @order.setter + def order(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "order", value) + + @pulumi.input_type class GoogleCloudDatacatalogV1UsageSignalArgs: def __init__(__self__, *, - common_usage_within_time_range: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + common_usage_within_time_range: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1CommonUsageStatsArgs']]]] = None, favorite_count: Optional[pulumi.Input[str]] = None, update_time: Optional[pulumi.Input[str]] = None): """ The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] common_usage_within_time_range: Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1CommonUsageStatsArgs']]] common_usage_within_time_range: Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. :param pulumi.Input[str] favorite_count: Favorite count in the source system. :param pulumi.Input[str] update_time: The end timestamp of the duration of usage statistics. """ @@ -1570,14 +1770,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="commonUsageWithinTimeRange") - def common_usage_within_time_range(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def common_usage_within_time_range(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1CommonUsageStatsArgs']]]]: """ Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. """ return pulumi.get(self, "common_usage_within_time_range") @common_usage_within_time_range.setter - def common_usage_within_time_range(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def common_usage_within_time_range(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1CommonUsageStatsArgs']]]]): pulumi.set(self, "common_usage_within_time_range", value) @property diff --git a/sdk/python/pulumi_google_native/datacatalog/v1/get_tag_template.py b/sdk/python/pulumi_google_native/datacatalog/v1/get_tag_template.py index 95ba8b3b50..11b540aeca 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1/get_tag_template.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1/get_tag_template.py @@ -8,6 +8,7 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs __all__ = [ 'GetTagTemplateResult', @@ -42,7 +43,7 @@ def display_name(self) -> str: @property @pulumi.getter - def fields(self) -> Mapping[str, str]: + def fields(self) -> Mapping[str, 'outputs.GoogleCloudDatacatalogV1TagTemplateFieldResponse']: """ Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. """ diff --git a/sdk/python/pulumi_google_native/datacatalog/v1/outputs.py b/sdk/python/pulumi_google_native/datacatalog/v1/outputs.py index 6ce554b2ed..c4470dd3a6 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1/outputs.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1/outputs.py @@ -25,6 +25,7 @@ 'GoogleCloudDatacatalogV1CloudSqlBigQueryConnectionSpecResponse', 'GoogleCloudDatacatalogV1ColumnSchemaLookerColumnSpecResponse', 'GoogleCloudDatacatalogV1ColumnSchemaResponse', + 'GoogleCloudDatacatalogV1CommonUsageStatsResponse', 'GoogleCloudDatacatalogV1ContactsPersonResponse', 'GoogleCloudDatacatalogV1ContactsResponse', 'GoogleCloudDatacatalogV1DataSourceConnectionSpecResponse', @@ -37,6 +38,9 @@ 'GoogleCloudDatacatalogV1DataplexTableSpecResponse', 'GoogleCloudDatacatalogV1DatasetSpecResponse', 'GoogleCloudDatacatalogV1EntryOverviewResponse', + 'GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse', + 'GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse', + 'GoogleCloudDatacatalogV1FieldTypeResponse', 'GoogleCloudDatacatalogV1FilesetSpecResponse', 'GoogleCloudDatacatalogV1GcsFileSpecResponse', 'GoogleCloudDatacatalogV1GcsFilesetSpecResponse', @@ -58,8 +62,10 @@ 'GoogleCloudDatacatalogV1StoragePropertiesResponse', 'GoogleCloudDatacatalogV1SystemTimestampsResponse', 'GoogleCloudDatacatalogV1TableSpecResponse', + 'GoogleCloudDatacatalogV1TagTemplateFieldResponse', 'GoogleCloudDatacatalogV1TaxonomyServiceResponse', 'GoogleCloudDatacatalogV1UsageSignalResponse', + 'GoogleCloudDatacatalogV1UsageStatsResponse', 'GoogleCloudDatacatalogV1VertexDatasetSpecResponse', 'GoogleCloudDatacatalogV1VertexModelSourceInfoResponse', 'GoogleCloudDatacatalogV1VertexModelSpecResponse', @@ -841,6 +847,45 @@ def type(self) -> str: return pulumi.get(self, "type") +@pulumi.output_type +class GoogleCloudDatacatalogV1CommonUsageStatsResponse(dict): + """ + Common statistics on the entry's usage. They can be set on any system. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "viewCount": + suggest = "view_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1CommonUsageStatsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1CommonUsageStatsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1CommonUsageStatsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + view_count: str): + """ + Common statistics on the entry's usage. They can be set on any system. + :param str view_count: View count in source system. + """ + pulumi.set(__self__, "view_count", view_count) + + @property + @pulumi.getter(name="viewCount") + def view_count(self) -> str: + """ + View count in source system. + """ + return pulumi.get(self, "view_count") + + @pulumi.output_type class GoogleCloudDatacatalogV1ContactsPersonResponse(dict): """ @@ -1452,6 +1497,124 @@ def overview(self) -> str: return pulumi.get(self, "overview") +@pulumi.output_type +class GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + display_name: str): + """ + :param str display_name: The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + """ + pulumi.set(__self__, "display_name", display_name) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + The display name of the enum value. Must not be an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + """ + return pulumi.get(self, "display_name") + + +@pulumi.output_type +class GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowedValues": + suggest = "allowed_values" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allowed_values: Sequence['outputs.GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse']): + """ + :param Sequence['GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse'] allowed_values: The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + """ + pulumi.set(__self__, "allowed_values", allowed_values) + + @property + @pulumi.getter(name="allowedValues") + def allowed_values(self) -> Sequence['outputs.GoogleCloudDatacatalogV1FieldTypeEnumTypeEnumValueResponse']: + """ + The set of allowed values for this enum. This set must not be empty and can include up to 100 allowed values. The display names of the values in this set must not be empty and must be case-insensitively unique within this set. The order of items in this set is preserved. This field can be used to create, remove, and reorder enum values. To rename enum values, use the `RenameTagTemplateFieldEnumValue` method. + """ + return pulumi.get(self, "allowed_values") + + +@pulumi.output_type +class GoogleCloudDatacatalogV1FieldTypeResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "enumType": + suggest = "enum_type" + elif key == "primitiveType": + suggest = "primitive_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1FieldTypeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1FieldTypeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1FieldTypeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enum_type: 'outputs.GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse', + primitive_type: str): + """ + :param 'GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse' enum_type: An enum type. + :param str primitive_type: Primitive types, such as string, boolean, etc. + """ + pulumi.set(__self__, "enum_type", enum_type) + pulumi.set(__self__, "primitive_type", primitive_type) + + @property + @pulumi.getter(name="enumType") + def enum_type(self) -> 'outputs.GoogleCloudDatacatalogV1FieldTypeEnumTypeResponse': + """ + An enum type. + """ + return pulumi.get(self, "enum_type") + + @property + @pulumi.getter(name="primitiveType") + def primitive_type(self) -> str: + """ + Primitive types, such as string, boolean, etc. + """ + return pulumi.get(self, "primitive_type") + + @pulumi.output_type class GoogleCloudDatacatalogV1FilesetSpecResponse(dict): """ @@ -2408,6 +2571,102 @@ def grouped_entry(self) -> str: return pulumi.get(self, "grouped_entry") +@pulumi.output_type +class GoogleCloudDatacatalogV1TagTemplateFieldResponse(dict): + """ + The template for an individual field within a tag template. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + elif key == "isRequired": + suggest = "is_required" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1TagTemplateFieldResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1TagTemplateFieldResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1TagTemplateFieldResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + description: str, + display_name: str, + is_required: bool, + name: str, + order: int, + type: 'outputs.GoogleCloudDatacatalogV1FieldTypeResponse'): + """ + The template for an individual field within a tag template. + :param str description: The description for this field. Defaults to an empty string. + :param str display_name: The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + :param bool is_required: If true, this field is required. Defaults to false. + :param str name: The resource name of the tag template field in URL format. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}` Note: The tag template field itself might not be stored in the location specified in its name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 64 characters. + :param int order: The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + :param 'GoogleCloudDatacatalogV1FieldTypeResponse' type: The type of value this tag field can contain. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "is_required", is_required) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "order", order) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def description(self) -> str: + """ + The description for this field. Defaults to an empty string. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + The display name for this field. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="isRequired") + def is_required(self) -> bool: + """ + If true, this field is required. Defaults to false. + """ + return pulumi.get(self, "is_required") + + @property + @pulumi.getter + def name(self) -> str: + """ + The resource name of the tag template field in URL format. Example: `projects/{PROJECT_ID}/locations/{LOCATION}/tagTemplates/{TAG_TEMPLATE}/fields/{FIELD}` Note: The tag template field itself might not be stored in the location specified in its name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 64 characters. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def order(self) -> int: + """ + The order of this field with respect to other fields in this tag template. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order and field orders within a tag don't have to be sequential. + """ + return pulumi.get(self, "order") + + @property + @pulumi.getter + def type(self) -> 'outputs.GoogleCloudDatacatalogV1FieldTypeResponse': + """ + The type of value this tag field can contain. + """ + return pulumi.get(self, "type") + + @pulumi.output_type class GoogleCloudDatacatalogV1TaxonomyServiceResponse(dict): """ @@ -2470,16 +2729,16 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - common_usage_within_time_range: Mapping[str, str], + common_usage_within_time_range: Mapping[str, 'outputs.GoogleCloudDatacatalogV1CommonUsageStatsResponse'], favorite_count: str, update_time: str, - usage_within_time_range: Mapping[str, str]): + usage_within_time_range: Mapping[str, 'outputs.GoogleCloudDatacatalogV1UsageStatsResponse']): """ The set of all usage signals that Data Catalog stores. Note: Usually, these signals are updated daily. In rare cases, an update may fail but will be performed again on the next day. - :param Mapping[str, str] common_usage_within_time_range: Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. + :param Mapping[str, 'GoogleCloudDatacatalogV1CommonUsageStatsResponse'] common_usage_within_time_range: Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. :param str favorite_count: Favorite count in the source system. :param str update_time: The end timestamp of the duration of usage statistics. - :param Mapping[str, str] usage_within_time_range: BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D"}`. + :param Mapping[str, 'GoogleCloudDatacatalogV1UsageStatsResponse'] usage_within_time_range: BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D"}`. """ pulumi.set(__self__, "common_usage_within_time_range", common_usage_within_time_range) pulumi.set(__self__, "favorite_count", favorite_count) @@ -2488,7 +2747,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="commonUsageWithinTimeRange") - def common_usage_within_time_range(self) -> Mapping[str, str]: + def common_usage_within_time_range(self) -> Mapping[str, 'outputs.GoogleCloudDatacatalogV1CommonUsageStatsResponse']: """ Common usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D", "Lifetime"}`. """ @@ -2512,13 +2771,91 @@ def update_time(self) -> str: @property @pulumi.getter(name="usageWithinTimeRange") - def usage_within_time_range(self) -> Mapping[str, str]: + def usage_within_time_range(self) -> Mapping[str, 'outputs.GoogleCloudDatacatalogV1UsageStatsResponse']: """ BigQuery usage statistics over each of the predefined time ranges. Supported time ranges are `{"24H", "7D", "30D"}`. """ return pulumi.get(self, "usage_within_time_range") +@pulumi.output_type +class GoogleCloudDatacatalogV1UsageStatsResponse(dict): + """ + Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables) + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "totalCancellations": + suggest = "total_cancellations" + elif key == "totalCompletions": + suggest = "total_completions" + elif key == "totalExecutionTimeForCompletionsMillis": + suggest = "total_execution_time_for_completions_millis" + elif key == "totalFailures": + suggest = "total_failures" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1UsageStatsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1UsageStatsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1UsageStatsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + total_cancellations: float, + total_completions: float, + total_execution_time_for_completions_millis: float, + total_failures: float): + """ + Detailed statistics on the entry's usage. Usage statistics have the following limitations: - Only BigQuery tables have them. - They only include BigQuery query jobs. - They might be underestimated because wildcard table references are not yet counted. For more information, see [Querying multiple tables using a wildcard table] (https://cloud.google.com/bigquery/docs/querying-wildcard-tables) + :param float total_cancellations: The number of cancelled attempts to use the underlying entry. + :param float total_completions: The number of successful uses of the underlying entry. + :param float total_execution_time_for_completions_millis: Total time spent only on successful uses, in milliseconds. + :param float total_failures: The number of failed attempts to use the underlying entry. + """ + pulumi.set(__self__, "total_cancellations", total_cancellations) + pulumi.set(__self__, "total_completions", total_completions) + pulumi.set(__self__, "total_execution_time_for_completions_millis", total_execution_time_for_completions_millis) + pulumi.set(__self__, "total_failures", total_failures) + + @property + @pulumi.getter(name="totalCancellations") + def total_cancellations(self) -> float: + """ + The number of cancelled attempts to use the underlying entry. + """ + return pulumi.get(self, "total_cancellations") + + @property + @pulumi.getter(name="totalCompletions") + def total_completions(self) -> float: + """ + The number of successful uses of the underlying entry. + """ + return pulumi.get(self, "total_completions") + + @property + @pulumi.getter(name="totalExecutionTimeForCompletionsMillis") + def total_execution_time_for_completions_millis(self) -> float: + """ + Total time spent only on successful uses, in milliseconds. + """ + return pulumi.get(self, "total_execution_time_for_completions_millis") + + @property + @pulumi.getter(name="totalFailures") + def total_failures(self) -> float: + """ + The number of failed attempts to use the underlying entry. + """ + return pulumi.get(self, "total_failures") + + @pulumi.output_type class GoogleCloudDatacatalogV1VertexDatasetSpecResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/datacatalog/v1/tag_template.py b/sdk/python/pulumi_google_native/datacatalog/v1/tag_template.py index fc05272c57..cbb4e2880f 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1/tag_template.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1/tag_template.py @@ -8,13 +8,16 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * __all__ = ['TagTemplateArgs', 'TagTemplate'] @pulumi.input_type class TagTemplateArgs: def __init__(__self__, *, - fields: pulumi.Input[Mapping[str, pulumi.Input[str]]], + fields: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1TagTemplateFieldArgs']]], tag_template_id: pulumi.Input[str], display_name: Optional[pulumi.Input[str]] = None, is_publicly_readable: Optional[pulumi.Input[bool]] = None, @@ -23,7 +26,7 @@ def __init__(__self__, *, project: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a TagTemplate resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] fields: Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1TagTemplateFieldArgs']]] fields: Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. :param pulumi.Input[str] tag_template_id: Required. The ID of the tag template to create. The ID must contain only lowercase letters (a-z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8. :param pulumi.Input[str] display_name: Display name for this template. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. :param pulumi.Input[bool] is_publicly_readable: Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. @@ -44,14 +47,14 @@ def __init__(__self__, *, @property @pulumi.getter - def fields(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def fields(self) -> pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1TagTemplateFieldArgs']]]: """ Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. """ return pulumi.get(self, "fields") @fields.setter - def fields(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def fields(self, value: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1TagTemplateFieldArgs']]]): pulumi.set(self, "fields", value) @property @@ -127,7 +130,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, display_name: Optional[pulumi.Input[str]] = None, - fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudDatacatalogV1TagTemplateFieldArgs']]]]] = None, is_publicly_readable: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -140,7 +143,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] display_name: Display name for this template. Defaults to an empty string. The name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and can't start or end with spaces. The maximum length is 200 characters. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] fields: Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudDatacatalogV1TagTemplateFieldArgs']]]] fields: Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. :param pulumi.Input[bool] is_publicly_readable: Indicates whether tags created with this template are public. Public tags do not require tag template access to appear in ListTags API response. Additionally, you can search for a public tag by value with a simple search query in addition to using a ``tag:`` predicate. :param pulumi.Input[str] name: The resource name of the tag template in URL format. Note: The tag template itself and its child resources might not be stored in the location specified in its name. :param pulumi.Input[str] tag_template_id: Required. The ID of the tag template to create. The ID must contain only lowercase letters (a-z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum size is 64 bytes when encoded in UTF-8. @@ -170,7 +173,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, display_name: Optional[pulumi.Input[str]] = None, - fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudDatacatalogV1TagTemplateFieldArgs']]]]] = None, is_publicly_readable: Optional[pulumi.Input[bool]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -239,7 +242,7 @@ def display_name(self) -> pulumi.Output[str]: @property @pulumi.getter - def fields(self) -> pulumi.Output[Mapping[str, str]]: + def fields(self) -> pulumi.Output[Mapping[str, 'outputs.GoogleCloudDatacatalogV1TagTemplateFieldResponse']]: """ Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. The map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. The IDs have the following limitations: * Can contain uppercase and lowercase letters, numbers (0-9) and underscores (_). * Must be at least 1 character and at most 64 characters long. * Must start with a letter or underscore. """ diff --git a/sdk/python/pulumi_google_native/datacatalog/v1beta1/_enums.py b/sdk/python/pulumi_google_native/datacatalog/v1beta1/_enums.py index bebd72f674..494d51bddc 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1beta1/_enums.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1beta1/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'EntryType', + 'GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType', 'TaxonomyActivatedPolicyTypesItem', ] @@ -36,6 +37,32 @@ class EntryType(str, Enum): """ +class GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType(str, Enum): + """ + Represents primitive types - string, bool etc. + """ + PRIMITIVE_TYPE_UNSPECIFIED = "PRIMITIVE_TYPE_UNSPECIFIED" + """ + This is the default invalid value for a type. + """ + DOUBLE = "DOUBLE" + """ + A double precision number. + """ + STRING = "STRING" + """ + An UTF-8 string. + """ + BOOL = "BOOL" + """ + A boolean value. + """ + TIMESTAMP = "TIMESTAMP" + """ + A timestamp. + """ + + class TaxonomyActivatedPolicyTypesItem(str, Enum): POLICY_TYPE_UNSPECIFIED = "POLICY_TYPE_UNSPECIFIED" """ diff --git a/sdk/python/pulumi_google_native/datacatalog/v1beta1/_inputs.py b/sdk/python/pulumi_google_native/datacatalog/v1beta1/_inputs.py index 724756e6ce..6b12a2cd34 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1beta1/_inputs.py @@ -16,9 +16,13 @@ 'GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpecArgs', 'GoogleCloudDatacatalogV1beta1BigQueryTableSpecArgs', 'GoogleCloudDatacatalogV1beta1ColumnSchemaArgs', + 'GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs', + 'GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs', + 'GoogleCloudDatacatalogV1beta1FieldTypeArgs', 'GoogleCloudDatacatalogV1beta1GcsFilesetSpecArgs', 'GoogleCloudDatacatalogV1beta1SchemaArgs', 'GoogleCloudDatacatalogV1beta1TableSpecArgs', + 'GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs', 'GoogleCloudDatacatalogV1beta1ViewSpecArgs', ] @@ -285,6 +289,84 @@ def subcolumns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleC pulumi.set(self, "subcolumns", value) +@pulumi.input_type +class GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs: + def __init__(__self__, *, + display_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] display_name: The display name of the enum value. Must not be an empty string. + """ + pulumi.set(__self__, "display_name", display_name) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[str]: + """ + The display name of the enum value. Must not be an empty string. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[str]): + pulumi.set(self, "display_name", value) + + +@pulumi.input_type +class GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs: + def __init__(__self__, *, + allowed_values: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs']]]] = None): + if allowed_values is not None: + pulumi.set(__self__, "allowed_values", allowed_values) + + @property + @pulumi.getter(name="allowedValues") + def allowed_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs']]]]: + return pulumi.get(self, "allowed_values") + + @allowed_values.setter + def allowed_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueArgs']]]]): + pulumi.set(self, "allowed_values", value) + + +@pulumi.input_type +class GoogleCloudDatacatalogV1beta1FieldTypeArgs: + def __init__(__self__, *, + enum_type: Optional[pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs']] = None, + primitive_type: Optional[pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType']] = None): + """ + :param pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs'] enum_type: Represents an enum type. + :param pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType'] primitive_type: Represents primitive types - string, bool etc. + """ + if enum_type is not None: + pulumi.set(__self__, "enum_type", enum_type) + if primitive_type is not None: + pulumi.set(__self__, "primitive_type", primitive_type) + + @property + @pulumi.getter(name="enumType") + def enum_type(self) -> Optional[pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs']]: + """ + Represents an enum type. + """ + return pulumi.get(self, "enum_type") + + @enum_type.setter + def enum_type(self, value: Optional[pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeArgs']]): + pulumi.set(self, "enum_type", value) + + @property + @pulumi.getter(name="primitiveType") + def primitive_type(self) -> Optional[pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType']]: + """ + Represents primitive types - string, bool etc. + """ + return pulumi.get(self, "primitive_type") + + @primitive_type.setter + def primitive_type(self, value: Optional[pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypePrimitiveType']]): + pulumi.set(self, "primitive_type", value) + + @pulumi.input_type class GoogleCloudDatacatalogV1beta1GcsFilesetSpecArgs: def __init__(__self__, *, @@ -340,6 +422,93 @@ def __init__(__self__): pass +@pulumi.input_type +class GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs: + def __init__(__self__, *, + type: pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeArgs'], + description: Optional[pulumi.Input[str]] = None, + display_name: Optional[pulumi.Input[str]] = None, + is_required: Optional[pulumi.Input[bool]] = None, + order: Optional[pulumi.Input[int]] = None): + """ + The template for an individual field within a tag template. + :param pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeArgs'] type: The type of value this tag field can contain. + :param pulumi.Input[str] description: The description for this field. Defaults to an empty string. + :param pulumi.Input[str] display_name: The display name for this field. Defaults to an empty string. + :param pulumi.Input[bool] is_required: Whether this is a required field. Defaults to false. + :param pulumi.Input[int] order: The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + """ + pulumi.set(__self__, "type", type) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if is_required is not None: + pulumi.set(__self__, "is_required", is_required) + if order is not None: + pulumi.set(__self__, "order", order) + + @property + @pulumi.getter + def type(self) -> pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeArgs']: + """ + The type of value this tag field can contain. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input['GoogleCloudDatacatalogV1beta1FieldTypeArgs']): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description for this field. Defaults to an empty string. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> Optional[pulumi.Input[str]]: + """ + The display name for this field. Defaults to an empty string. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "display_name", value) + + @property + @pulumi.getter(name="isRequired") + def is_required(self) -> Optional[pulumi.Input[bool]]: + """ + Whether this is a required field. Defaults to false. + """ + return pulumi.get(self, "is_required") + + @is_required.setter + def is_required(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "is_required", value) + + @property + @pulumi.getter + def order(self) -> Optional[pulumi.Input[int]]: + """ + The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + """ + return pulumi.get(self, "order") + + @order.setter + def order(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "order", value) + + @pulumi.input_type class GoogleCloudDatacatalogV1beta1ViewSpecArgs: def __init__(__self__): diff --git a/sdk/python/pulumi_google_native/datacatalog/v1beta1/get_tag_template.py b/sdk/python/pulumi_google_native/datacatalog/v1beta1/get_tag_template.py index d5ed15278b..edd4b88e2f 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1beta1/get_tag_template.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1beta1/get_tag_template.py @@ -8,6 +8,7 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs __all__ = [ 'GetTagTemplateResult', @@ -39,7 +40,7 @@ def display_name(self) -> str: @property @pulumi.getter - def fields(self) -> Mapping[str, str]: + def fields(self) -> Mapping[str, 'outputs.GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse']: """ Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. """ diff --git a/sdk/python/pulumi_google_native/datacatalog/v1beta1/outputs.py b/sdk/python/pulumi_google_native/datacatalog/v1beta1/outputs.py index bd801d0275..bc7590aac8 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1beta1/outputs.py @@ -17,13 +17,18 @@ 'GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpecResponse', 'GoogleCloudDatacatalogV1beta1BigQueryTableSpecResponse', 'GoogleCloudDatacatalogV1beta1ColumnSchemaResponse', + 'GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse', + 'GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse', + 'GoogleCloudDatacatalogV1beta1FieldTypeResponse', 'GoogleCloudDatacatalogV1beta1GcsFileSpecResponse', 'GoogleCloudDatacatalogV1beta1GcsFilesetSpecResponse', 'GoogleCloudDatacatalogV1beta1SchemaResponse', 'GoogleCloudDatacatalogV1beta1SystemTimestampsResponse', 'GoogleCloudDatacatalogV1beta1TableSpecResponse', + 'GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse', 'GoogleCloudDatacatalogV1beta1TaxonomyServiceResponse', 'GoogleCloudDatacatalogV1beta1UsageSignalResponse', + 'GoogleCloudDatacatalogV1beta1UsageStatsResponse', 'GoogleCloudDatacatalogV1beta1ViewSpecResponse', ] @@ -320,6 +325,118 @@ def type(self) -> str: return pulumi.get(self, "type") +@pulumi.output_type +class GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + display_name: str): + """ + :param str display_name: The display name of the enum value. Must not be an empty string. + """ + pulumi.set(__self__, "display_name", display_name) + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + The display name of the enum value. Must not be an empty string. + """ + return pulumi.get(self, "display_name") + + +@pulumi.output_type +class GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowedValues": + suggest = "allowed_values" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allowed_values: Sequence['outputs.GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse']): + pulumi.set(__self__, "allowed_values", allowed_values) + + @property + @pulumi.getter(name="allowedValues") + def allowed_values(self) -> Sequence['outputs.GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValueResponse']: + return pulumi.get(self, "allowed_values") + + +@pulumi.output_type +class GoogleCloudDatacatalogV1beta1FieldTypeResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "enumType": + suggest = "enum_type" + elif key == "primitiveType": + suggest = "primitive_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1beta1FieldTypeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1beta1FieldTypeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1beta1FieldTypeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enum_type: 'outputs.GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse', + primitive_type: str): + """ + :param 'GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse' enum_type: Represents an enum type. + :param str primitive_type: Represents primitive types - string, bool etc. + """ + pulumi.set(__self__, "enum_type", enum_type) + pulumi.set(__self__, "primitive_type", primitive_type) + + @property + @pulumi.getter(name="enumType") + def enum_type(self) -> 'outputs.GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeResponse': + """ + Represents an enum type. + """ + return pulumi.get(self, "enum_type") + + @property + @pulumi.getter(name="primitiveType") + def primitive_type(self) -> str: + """ + Represents primitive types - string, bool etc. + """ + return pulumi.get(self, "primitive_type") + + @pulumi.output_type class GoogleCloudDatacatalogV1beta1GcsFileSpecResponse(dict): """ @@ -563,6 +680,102 @@ def grouped_entry(self) -> str: return pulumi.get(self, "grouped_entry") +@pulumi.output_type +class GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse(dict): + """ + The template for an individual field within a tag template. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "displayName": + suggest = "display_name" + elif key == "isRequired": + suggest = "is_required" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + description: str, + display_name: str, + is_required: bool, + name: str, + order: int, + type: 'outputs.GoogleCloudDatacatalogV1beta1FieldTypeResponse'): + """ + The template for an individual field within a tag template. + :param str description: The description for this field. Defaults to an empty string. + :param str display_name: The display name for this field. Defaults to an empty string. + :param bool is_required: Whether this is a required field. Defaults to false. + :param str name: The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name. + :param int order: The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + :param 'GoogleCloudDatacatalogV1beta1FieldTypeResponse' type: The type of value this tag field can contain. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "is_required", is_required) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "order", order) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def description(self) -> str: + """ + The description for this field. Defaults to an empty string. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + The display name for this field. Defaults to an empty string. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="isRequired") + def is_required(self) -> bool: + """ + Whether this is a required field. Defaults to false. + """ + return pulumi.get(self, "is_required") + + @property + @pulumi.getter + def name(self) -> str: + """ + The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def order(self) -> int: + """ + The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential. + """ + return pulumi.get(self, "order") + + @property + @pulumi.getter + def type(self) -> 'outputs.GoogleCloudDatacatalogV1beta1FieldTypeResponse': + """ + The type of value this tag field can contain. + """ + return pulumi.get(self, "type") + + @pulumi.output_type class GoogleCloudDatacatalogV1beta1TaxonomyServiceResponse(dict): """ @@ -622,11 +835,11 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, update_time: str, - usage_within_time_range: Mapping[str, str]): + usage_within_time_range: Mapping[str, 'outputs.GoogleCloudDatacatalogV1beta1UsageStatsResponse']): """ The set of all usage signals that we store in Data Catalog. :param str update_time: The timestamp of the end of the usage statistics duration. - :param Mapping[str, str] usage_within_time_range: Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {"24H", "7D", "30D"}. + :param Mapping[str, 'GoogleCloudDatacatalogV1beta1UsageStatsResponse'] usage_within_time_range: Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {"24H", "7D", "30D"}. """ pulumi.set(__self__, "update_time", update_time) pulumi.set(__self__, "usage_within_time_range", usage_within_time_range) @@ -641,13 +854,91 @@ def update_time(self) -> str: @property @pulumi.getter(name="usageWithinTimeRange") - def usage_within_time_range(self) -> Mapping[str, str]: + def usage_within_time_range(self) -> Mapping[str, 'outputs.GoogleCloudDatacatalogV1beta1UsageStatsResponse']: """ Usage statistics over each of the pre-defined time ranges, supported strings for time ranges are {"24H", "7D", "30D"}. """ return pulumi.get(self, "usage_within_time_range") +@pulumi.output_type +class GoogleCloudDatacatalogV1beta1UsageStatsResponse(dict): + """ + Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "totalCancellations": + suggest = "total_cancellations" + elif key == "totalCompletions": + suggest = "total_completions" + elif key == "totalExecutionTimeForCompletionsMillis": + suggest = "total_execution_time_for_completions_millis" + elif key == "totalFailures": + suggest = "total_failures" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDatacatalogV1beta1UsageStatsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDatacatalogV1beta1UsageStatsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDatacatalogV1beta1UsageStatsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + total_cancellations: float, + total_completions: float, + total_execution_time_for_completions_millis: float, + total_failures: float): + """ + Detailed counts on the entry's usage. Caveats: - Only BigQuery tables have usage stats - The usage stats only include BigQuery query jobs - The usage stats might be underestimated, e.g. wildcard table references are not yet counted in usage computation https://cloud.google.com/bigquery/docs/querying-wildcard-tables + :param float total_cancellations: The number of times that the underlying entry was attempted to be used but was cancelled by the user. + :param float total_completions: The number of times that the underlying entry was successfully used. + :param float total_execution_time_for_completions_millis: Total time spent (in milliseconds) during uses the resulted in completions. + :param float total_failures: The number of times that the underlying entry was attempted to be used but failed. + """ + pulumi.set(__self__, "total_cancellations", total_cancellations) + pulumi.set(__self__, "total_completions", total_completions) + pulumi.set(__self__, "total_execution_time_for_completions_millis", total_execution_time_for_completions_millis) + pulumi.set(__self__, "total_failures", total_failures) + + @property + @pulumi.getter(name="totalCancellations") + def total_cancellations(self) -> float: + """ + The number of times that the underlying entry was attempted to be used but was cancelled by the user. + """ + return pulumi.get(self, "total_cancellations") + + @property + @pulumi.getter(name="totalCompletions") + def total_completions(self) -> float: + """ + The number of times that the underlying entry was successfully used. + """ + return pulumi.get(self, "total_completions") + + @property + @pulumi.getter(name="totalExecutionTimeForCompletionsMillis") + def total_execution_time_for_completions_millis(self) -> float: + """ + Total time spent (in milliseconds) during uses the resulted in completions. + """ + return pulumi.get(self, "total_execution_time_for_completions_millis") + + @property + @pulumi.getter(name="totalFailures") + def total_failures(self) -> float: + """ + The number of times that the underlying entry was attempted to be used but failed. + """ + return pulumi.get(self, "total_failures") + + @pulumi.output_type class GoogleCloudDatacatalogV1beta1ViewSpecResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/datacatalog/v1beta1/tag_template.py b/sdk/python/pulumi_google_native/datacatalog/v1beta1/tag_template.py index a77f3ed49f..3ab28317bc 100644 --- a/sdk/python/pulumi_google_native/datacatalog/v1beta1/tag_template.py +++ b/sdk/python/pulumi_google_native/datacatalog/v1beta1/tag_template.py @@ -8,13 +8,16 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * __all__ = ['TagTemplateArgs', 'TagTemplate'] @pulumi.input_type class TagTemplateArgs: def __init__(__self__, *, - fields: pulumi.Input[Mapping[str, pulumi.Input[str]]], + fields: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs']]], tag_template_id: pulumi.Input[str], display_name: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -22,7 +25,7 @@ def __init__(__self__, *, project: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a TagTemplate resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] fields: Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs']]] fields: Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. :param pulumi.Input[str] tag_template_id: Required. The id of the tag template to create. :param pulumi.Input[str] display_name: The display name for this template. Defaults to an empty string. :param pulumi.Input[str] name: The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. @@ -40,14 +43,14 @@ def __init__(__self__, *, @property @pulumi.getter - def fields(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def fields(self) -> pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs']]]: """ Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. """ return pulumi.get(self, "fields") @fields.setter - def fields(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def fields(self, value: pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs']]]): pulumi.set(self, "fields", value) @property @@ -111,7 +114,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, display_name: Optional[pulumi.Input[str]] = None, - fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs']]]]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, @@ -123,7 +126,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] display_name: The display name for this template. Defaults to an empty string. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] fields: Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs']]]] fields: Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. :param pulumi.Input[str] name: The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name. :param pulumi.Input[str] tag_template_id: Required. The id of the tag template to create. """ @@ -152,7 +155,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, display_name: Optional[pulumi.Input[str]] = None, - fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + fields: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudDatacatalogV1beta1TagTemplateFieldArgs']]]]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, @@ -218,7 +221,7 @@ def display_name(self) -> pulumi.Output[str]: @property @pulumi.getter - def fields(self) -> pulumi.Output[Mapping[str, str]]: + def fields(self) -> pulumi.Output[Mapping[str, 'outputs.GoogleCloudDatacatalogV1beta1TagTemplateFieldResponse']]: """ Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore. """ diff --git a/sdk/python/pulumi_google_native/dataflow/v1b3/_inputs.py b/sdk/python/pulumi_google_native/dataflow/v1b3/_inputs.py index 99a93d2e8f..7a151f184f 100644 --- a/sdk/python/pulumi_google_native/dataflow/v1b3/_inputs.py +++ b/sdk/python/pulumi_google_native/dataflow/v1b3/_inputs.py @@ -26,6 +26,7 @@ 'ExecutionStageSummaryArgs', 'FileIODetailsArgs', 'JobExecutionInfoArgs', + 'JobExecutionStageInfoArgs', 'JobMetadataArgs', 'PackageArgs', 'PipelineDescriptionArgs', @@ -691,14 +692,14 @@ def __init__(__self__, *, debug_options: Optional[pulumi.Input['DebugOptionsArgs']] = None, experiments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, flex_resource_scheduling_goal: Optional[pulumi.Input['EnvironmentFlexResourceSchedulingGoal']] = None, - internal_experiments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - sdk_pipeline_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + internal_experiments: Optional[pulumi.Input[Mapping[str, Any]]] = None, + sdk_pipeline_options: Optional[pulumi.Input[Mapping[str, Any]]] = None, service_account_email: Optional[pulumi.Input[str]] = None, service_kms_key_name: Optional[pulumi.Input[str]] = None, service_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, temp_storage_prefix: Optional[pulumi.Input[str]] = None, - user_agent: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - version: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + user_agent: Optional[pulumi.Input[Mapping[str, Any]]] = None, + version: Optional[pulumi.Input[Mapping[str, Any]]] = None, worker_pools: Optional[pulumi.Input[Sequence[pulumi.Input['WorkerPoolArgs']]]] = None, worker_region: Optional[pulumi.Input[str]] = None, worker_zone: Optional[pulumi.Input[str]] = None): @@ -709,14 +710,14 @@ def __init__(__self__, *, :param pulumi.Input['DebugOptionsArgs'] debug_options: Any debugging options to be supplied to the job. :param pulumi.Input[Sequence[pulumi.Input[str]]] experiments: The list of experiments to enable. This field should be used for SDK related experiments and not for service related experiments. The proper field for service related experiments is service_options. :param pulumi.Input['EnvironmentFlexResourceSchedulingGoal'] flex_resource_scheduling_goal: Which Flexible Resource Scheduling mode to run in. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] internal_experiments: Experimental settings. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] sdk_pipeline_options: The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. + :param pulumi.Input[Mapping[str, Any]] internal_experiments: Experimental settings. + :param pulumi.Input[Mapping[str, Any]] sdk_pipeline_options: The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. :param pulumi.Input[str] service_account_email: Identity to run virtual machines as. Defaults to the default account. :param pulumi.Input[str] service_kms_key_name: If set, contains the Cloud KMS key identifier used to encrypt data at rest, AKA a Customer Managed Encryption Key (CMEK). Format: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY :param pulumi.Input[Sequence[pulumi.Input[str]]] service_options: The list of service options to enable. This field should be used for service related experiments only. These experiments, when graduating to GA, should be replaced by dedicated fields or become default (i.e. always on). :param pulumi.Input[str] temp_storage_prefix: The prefix of the resources the system should use for temporary storage. The system will append the suffix "/temp-{JOBNAME} to this resource prefix, where {JOBNAME} is the value of the job_name field. The resulting bucket and object prefix is used as the prefix of the resources used to store temporary data needed during the job execution. NOTE: This will override the value in taskrunner_settings. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object} - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_agent: A description of the process that generated the request. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] version: A structure describing which components and their versions of the service are required in order to run the job. + :param pulumi.Input[Mapping[str, Any]] user_agent: A description of the process that generated the request. + :param pulumi.Input[Mapping[str, Any]] version: A structure describing which components and their versions of the service are required in order to run the job. :param pulumi.Input[Sequence[pulumi.Input['WorkerPoolArgs']]] worker_pools: The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. :param pulumi.Input[str] worker_region: The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region. :param pulumi.Input[str] worker_zone: The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1-a". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane's region is chosen based on available capacity. @@ -816,26 +817,26 @@ def flex_resource_scheduling_goal(self, value: Optional[pulumi.Input['Environmen @property @pulumi.getter(name="internalExperiments") - def internal_experiments(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def internal_experiments(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Experimental settings. """ return pulumi.get(self, "internal_experiments") @internal_experiments.setter - def internal_experiments(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def internal_experiments(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "internal_experiments", value) @property @pulumi.getter(name="sdkPipelineOptions") - def sdk_pipeline_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def sdk_pipeline_options(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. """ return pulumi.get(self, "sdk_pipeline_options") @sdk_pipeline_options.setter - def sdk_pipeline_options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def sdk_pipeline_options(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "sdk_pipeline_options", value) @property @@ -888,26 +889,26 @@ def temp_storage_prefix(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="userAgent") - def user_agent(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def user_agent(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ A description of the process that generated the request. """ return pulumi.get(self, "user_agent") @user_agent.setter - def user_agent(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def user_agent(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "user_agent", value) @property @pulumi.getter - def version(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def version(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ A structure describing which components and their versions of the service are required in order to run the job. """ return pulumi.get(self, "version") @version.setter - def version(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def version(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "version", value) @property @@ -1166,27 +1167,51 @@ def file_pattern(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class JobExecutionInfoArgs: def __init__(__self__, *, - stages: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + stages: Optional[pulumi.Input[Mapping[str, pulumi.Input['JobExecutionStageInfoArgs']]]] = None): """ Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] stages: A mapping from each stage to the information about that stage. + :param pulumi.Input[Mapping[str, pulumi.Input['JobExecutionStageInfoArgs']]] stages: A mapping from each stage to the information about that stage. """ if stages is not None: pulumi.set(__self__, "stages", stages) @property @pulumi.getter - def stages(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def stages(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['JobExecutionStageInfoArgs']]]]: """ A mapping from each stage to the information about that stage. """ return pulumi.get(self, "stages") @stages.setter - def stages(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def stages(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['JobExecutionStageInfoArgs']]]]): pulumi.set(self, "stages", value) +@pulumi.input_type +class JobExecutionStageInfoArgs: + def __init__(__self__, *, + step_name: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Contains information about how a particular google.dataflow.v1beta3.Step will be executed. + :param pulumi.Input[Sequence[pulumi.Input[str]]] step_name: The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + """ + if step_name is not None: + pulumi.set(__self__, "step_name", step_name) + + @property + @pulumi.getter(name="stepName") + def step_name(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + """ + return pulumi.get(self, "step_name") + + @step_name.setter + def step_name(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "step_name", value) + + @pulumi.input_type class JobMetadataArgs: def __init__(__self__, *, @@ -2070,12 +2095,12 @@ class StepArgs: def __init__(__self__, *, kind: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - properties: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + properties: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Defines a particular step within a Cloud Dataflow job. A job consists of multiple steps, each of which performs some specific operation as part of the overall job. Data is typically passed from one step to another as part of the job. **Note:** The properties of this object are not stable and might change. Here's an example of a sequence of steps which together implement a Map-Reduce job: * Read a collection of data from some source, parsing the collection's elements. * Validate the elements. * Apply a user-defined function to map each element to some value and extract an element-specific key value. * Group elements with the same key into a single element with that key, transforming a multiply-keyed collection into a uniquely-keyed collection. * Write the elements out to some data sink. Note that the Cloud Dataflow service may be used to run many different types of jobs, not just Map-Reduce. :param pulumi.Input[str] kind: The kind of step in the Cloud Dataflow job. :param pulumi.Input[str] name: The name that identifies the step. This must be unique for each step with respect to all other steps in the Cloud Dataflow job. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] properties: Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. + :param pulumi.Input[Mapping[str, Any]] properties: Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. """ if kind is not None: pulumi.set(__self__, "kind", kind) @@ -2110,14 +2135,14 @@ def name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def properties(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def properties(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. """ return pulumi.get(self, "properties") @properties.setter - def properties(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def properties(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "properties", value) @@ -2556,7 +2581,7 @@ def __init__(__self__, *, num_workers: Optional[pulumi.Input[int]] = None, on_host_maintenance: Optional[pulumi.Input[str]] = None, packages: Optional[pulumi.Input[Sequence[pulumi.Input['PackageArgs']]]] = None, - pool_args: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pool_args: Optional[pulumi.Input[Mapping[str, Any]]] = None, sdk_harness_container_images: Optional[pulumi.Input[Sequence[pulumi.Input['SdkHarnessContainerImageArgs']]]] = None, subnetwork: Optional[pulumi.Input[str]] = None, taskrunner_settings: Optional[pulumi.Input['TaskRunnerSettingsArgs']] = None, @@ -2580,7 +2605,7 @@ def __init__(__self__, *, :param pulumi.Input[int] num_workers: Number of Google Compute Engine workers in this pool needed to execute the job. If zero or unspecified, the service will attempt to choose a reasonable default. :param pulumi.Input[str] on_host_maintenance: The action to take on host maintenance, as defined by the Google Compute Engine API. :param pulumi.Input[Sequence[pulumi.Input['PackageArgs']]] packages: Packages to be installed on workers. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pool_args: Extra arguments for this worker pool. + :param pulumi.Input[Mapping[str, Any]] pool_args: Extra arguments for this worker pool. :param pulumi.Input[Sequence[pulumi.Input['SdkHarnessContainerImageArgs']]] sdk_harness_container_images: Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. :param pulumi.Input[str] subnetwork: Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "regions/REGION/subnetworks/SUBNETWORK". :param pulumi.Input['TaskRunnerSettingsArgs'] taskrunner_settings: Settings passed through to Google Compute Engine workers when using the standard Dataflow task runner. Users should ignore this field. @@ -2829,14 +2854,14 @@ def packages(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PackageAr @property @pulumi.getter(name="poolArgs") - def pool_args(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def pool_args(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Extra arguments for this worker pool. """ return pulumi.get(self, "pool_args") @pool_args.setter - def pool_args(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def pool_args(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "pool_args", value) @property diff --git a/sdk/python/pulumi_google_native/dataflow/v1b3/outputs.py b/sdk/python/pulumi_google_native/dataflow/v1b3/outputs.py index be9112847c..40fdfb6f0e 100644 --- a/sdk/python/pulumi_google_native/dataflow/v1b3/outputs.py +++ b/sdk/python/pulumi_google_native/dataflow/v1b3/outputs.py @@ -27,6 +27,7 @@ 'ExecutionStageSummaryResponse', 'FileIODetailsResponse', 'JobExecutionInfoResponse', + 'JobExecutionStageInfoResponse', 'JobMetadataResponse', 'PackageResponse', 'ParameterMetadataEnumOptionResponse', @@ -746,16 +747,16 @@ def __init__(__self__, *, debug_options: 'outputs.DebugOptionsResponse', experiments: Sequence[str], flex_resource_scheduling_goal: str, - internal_experiments: Mapping[str, str], - sdk_pipeline_options: Mapping[str, str], + internal_experiments: Mapping[str, Any], + sdk_pipeline_options: Mapping[str, Any], service_account_email: str, service_kms_key_name: str, service_options: Sequence[str], shuffle_mode: str, temp_storage_prefix: str, use_streaming_engine_resource_based_billing: bool, - user_agent: Mapping[str, str], - version: Mapping[str, str], + user_agent: Mapping[str, Any], + version: Mapping[str, Any], worker_pools: Sequence['outputs.WorkerPoolResponse'], worker_region: str, worker_zone: str): @@ -766,16 +767,16 @@ def __init__(__self__, *, :param 'DebugOptionsResponse' debug_options: Any debugging options to be supplied to the job. :param Sequence[str] experiments: The list of experiments to enable. This field should be used for SDK related experiments and not for service related experiments. The proper field for service related experiments is service_options. :param str flex_resource_scheduling_goal: Which Flexible Resource Scheduling mode to run in. - :param Mapping[str, str] internal_experiments: Experimental settings. - :param Mapping[str, str] sdk_pipeline_options: The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. + :param Mapping[str, Any] internal_experiments: Experimental settings. + :param Mapping[str, Any] sdk_pipeline_options: The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. :param str service_account_email: Identity to run virtual machines as. Defaults to the default account. :param str service_kms_key_name: If set, contains the Cloud KMS key identifier used to encrypt data at rest, AKA a Customer Managed Encryption Key (CMEK). Format: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY :param Sequence[str] service_options: The list of service options to enable. This field should be used for service related experiments only. These experiments, when graduating to GA, should be replaced by dedicated fields or become default (i.e. always on). :param str shuffle_mode: The shuffle mode used for the job. :param str temp_storage_prefix: The prefix of the resources the system should use for temporary storage. The system will append the suffix "/temp-{JOBNAME} to this resource prefix, where {JOBNAME} is the value of the job_name field. The resulting bucket and object prefix is used as the prefix of the resources used to store temporary data needed during the job execution. NOTE: This will override the value in taskrunner_settings. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object} :param bool use_streaming_engine_resource_based_billing: Whether the job uses the new streaming engine billing model based on resource usage. - :param Mapping[str, str] user_agent: A description of the process that generated the request. - :param Mapping[str, str] version: A structure describing which components and their versions of the service are required in order to run the job. + :param Mapping[str, Any] user_agent: A description of the process that generated the request. + :param Mapping[str, Any] version: A structure describing which components and their versions of the service are required in order to run the job. :param Sequence['WorkerPoolResponse'] worker_pools: The worker pools. At least one "harness" worker pool must be specified in order for the job to have workers. :param str worker_region: The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region. :param str worker_zone: The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1-a". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane's region is chosen based on available capacity. @@ -841,7 +842,7 @@ def flex_resource_scheduling_goal(self) -> str: @property @pulumi.getter(name="internalExperiments") - def internal_experiments(self) -> Mapping[str, str]: + def internal_experiments(self) -> Mapping[str, Any]: """ Experimental settings. """ @@ -849,7 +850,7 @@ def internal_experiments(self) -> Mapping[str, str]: @property @pulumi.getter(name="sdkPipelineOptions") - def sdk_pipeline_options(self) -> Mapping[str, str]: + def sdk_pipeline_options(self) -> Mapping[str, Any]: """ The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way. """ @@ -905,7 +906,7 @@ def use_streaming_engine_resource_based_billing(self) -> bool: @property @pulumi.getter(name="userAgent") - def user_agent(self) -> Mapping[str, str]: + def user_agent(self) -> Mapping[str, Any]: """ A description of the process that generated the request. """ @@ -913,7 +914,7 @@ def user_agent(self) -> Mapping[str, str]: @property @pulumi.getter - def version(self) -> Mapping[str, str]: + def version(self) -> Mapping[str, Any]: """ A structure describing which components and their versions of the service are required in order to run the job. """ @@ -1167,22 +1168,61 @@ class JobExecutionInfoResponse(dict): Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job. """ def __init__(__self__, *, - stages: Mapping[str, str]): + stages: Mapping[str, 'outputs.JobExecutionStageInfoResponse']): """ Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job. - :param Mapping[str, str] stages: A mapping from each stage to the information about that stage. + :param Mapping[str, 'JobExecutionStageInfoResponse'] stages: A mapping from each stage to the information about that stage. """ pulumi.set(__self__, "stages", stages) @property @pulumi.getter - def stages(self) -> Mapping[str, str]: + def stages(self) -> Mapping[str, 'outputs.JobExecutionStageInfoResponse']: """ A mapping from each stage to the information about that stage. """ return pulumi.get(self, "stages") +@pulumi.output_type +class JobExecutionStageInfoResponse(dict): + """ + Contains information about how a particular google.dataflow.v1beta3.Step will be executed. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "stepName": + suggest = "step_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in JobExecutionStageInfoResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + JobExecutionStageInfoResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + JobExecutionStageInfoResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + step_name: Sequence[str]): + """ + Contains information about how a particular google.dataflow.v1beta3.Step will be executed. + :param Sequence[str] step_name: The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + """ + pulumi.set(__self__, "step_name", step_name) + + @property + @pulumi.getter(name="stepName") + def step_name(self) -> Sequence[str]: + """ + The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage. + """ + return pulumi.get(self, "step_name") + + @pulumi.output_type class JobMetadataResponse(dict): """ @@ -2165,12 +2205,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -2187,7 +2227,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ @@ -2210,12 +2250,12 @@ class StepResponse(dict): def __init__(__self__, *, kind: str, name: str, - properties: Mapping[str, str]): + properties: Mapping[str, Any]): """ Defines a particular step within a Cloud Dataflow job. A job consists of multiple steps, each of which performs some specific operation as part of the overall job. Data is typically passed from one step to another as part of the job. **Note:** The properties of this object are not stable and might change. Here's an example of a sequence of steps which together implement a Map-Reduce job: * Read a collection of data from some source, parsing the collection's elements. * Validate the elements. * Apply a user-defined function to map each element to some value and extract an element-specific key value. * Group elements with the same key into a single element with that key, transforming a multiply-keyed collection into a uniquely-keyed collection. * Write the elements out to some data sink. Note that the Cloud Dataflow service may be used to run many different types of jobs, not just Map-Reduce. :param str kind: The kind of step in the Cloud Dataflow job. :param str name: The name that identifies the step. This must be unique for each step with respect to all other steps in the Cloud Dataflow job. - :param Mapping[str, str] properties: Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. + :param Mapping[str, Any] properties: Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. """ pulumi.set(__self__, "kind", kind) pulumi.set(__self__, "name", name) @@ -2239,7 +2279,7 @@ def name(self) -> str: @property @pulumi.getter - def properties(self) -> Mapping[str, str]: + def properties(self) -> Mapping[str, Any]: """ Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL. """ @@ -2716,7 +2756,7 @@ def __init__(__self__, *, num_workers: int, on_host_maintenance: str, packages: Sequence['outputs.PackageResponse'], - pool_args: Mapping[str, str], + pool_args: Mapping[str, Any], sdk_harness_container_images: Sequence['outputs.SdkHarnessContainerImageResponse'], subnetwork: str, taskrunner_settings: 'outputs.TaskRunnerSettingsResponse', @@ -2740,7 +2780,7 @@ def __init__(__self__, *, :param int num_workers: Number of Google Compute Engine workers in this pool needed to execute the job. If zero or unspecified, the service will attempt to choose a reasonable default. :param str on_host_maintenance: The action to take on host maintenance, as defined by the Google Compute Engine API. :param Sequence['PackageResponse'] packages: Packages to be installed on workers. - :param Mapping[str, str] pool_args: Extra arguments for this worker pool. + :param Mapping[str, Any] pool_args: Extra arguments for this worker pool. :param Sequence['SdkHarnessContainerImageResponse'] sdk_harness_container_images: Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. :param str subnetwork: Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "regions/REGION/subnetworks/SUBNETWORK". :param 'TaskRunnerSettingsResponse' taskrunner_settings: Settings passed through to Google Compute Engine workers when using the standard Dataflow task runner. Users should ignore this field. @@ -2893,7 +2933,7 @@ def packages(self) -> Sequence['outputs.PackageResponse']: @property @pulumi.getter(name="poolArgs") - def pool_args(self) -> Mapping[str, str]: + def pool_args(self) -> Mapping[str, Any]: """ Extra arguments for this worker pool. """ diff --git a/sdk/python/pulumi_google_native/dataform/v1beta1/outputs.py b/sdk/python/pulumi_google_native/dataform/v1beta1/outputs.py index 63729b031c..fc3b2c7ba7 100644 --- a/sdk/python/pulumi_google_native/dataform/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/dataform/v1beta1/outputs.py @@ -760,12 +760,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -782,7 +782,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/datalabeling/v1beta1/outputs.py b/sdk/python/pulumi_google_native/datalabeling/v1beta1/outputs.py index b01725b157..c6f6c4e151 100644 --- a/sdk/python/pulumi_google_native/datalabeling/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/datalabeling/v1beta1/outputs.py @@ -1172,12 +1172,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -1194,7 +1194,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/datalineage/v1/get_process.py b/sdk/python/pulumi_google_native/datalineage/v1/get_process.py index 761167477b..265833eaf2 100644 --- a/sdk/python/pulumi_google_native/datalineage/v1/get_process.py +++ b/sdk/python/pulumi_google_native/datalineage/v1/get_process.py @@ -35,7 +35,7 @@ def __init__(__self__, attributes=None, display_name=None, name=None, origin=Non @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, Any]: """ Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. """ diff --git a/sdk/python/pulumi_google_native/datalineage/v1/get_run.py b/sdk/python/pulumi_google_native/datalineage/v1/get_run.py index 4b9b11f990..ee87ea11a9 100644 --- a/sdk/python/pulumi_google_native/datalineage/v1/get_run.py +++ b/sdk/python/pulumi_google_native/datalineage/v1/get_run.py @@ -40,7 +40,7 @@ def __init__(__self__, attributes=None, display_name=None, end_time=None, name=N @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, Any]: """ Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. """ diff --git a/sdk/python/pulumi_google_native/datalineage/v1/process.py b/sdk/python/pulumi_google_native/datalineage/v1/process.py index df25ad3455..885cea5c3e 100644 --- a/sdk/python/pulumi_google_native/datalineage/v1/process.py +++ b/sdk/python/pulumi_google_native/datalineage/v1/process.py @@ -17,7 +17,7 @@ @pulumi.input_type class ProcessArgs: def __init__(__self__, *, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -26,7 +26,7 @@ def __init__(__self__, *, request_id: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Process resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. + :param pulumi.Input[Mapping[str, Any]] attributes: Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. :param pulumi.Input[str] display_name: Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` :param pulumi.Input[str] name: Immutable. The resource name of the lineage process. Format: `projects/{project}/locations/{location}/processes/{process}`. Can be specified or auto-assigned. {process} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` :param pulumi.Input['GoogleCloudDatacatalogLineageV1OriginArgs'] origin: Optional. The origin of this process and its runs and lineage events. @@ -49,14 +49,14 @@ def __init__(__self__, *, @property @pulumi.getter - def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def attributes(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. """ return pulumi.get(self, "attributes") @attributes.setter - def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def attributes(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "attributes", value) @property @@ -131,7 +131,7 @@ class Process(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -144,7 +144,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. + :param pulumi.Input[Mapping[str, Any]] attributes: Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. :param pulumi.Input[str] display_name: Optional. A human-readable name you can set to display in a user interface. Must be not longer than 200 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` :param pulumi.Input[str] name: Immutable. The resource name of the lineage process. Format: `projects/{project}/locations/{location}/processes/{process}`. Can be specified or auto-assigned. {process} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` :param pulumi.Input[pulumi.InputType['GoogleCloudDatacatalogLineageV1OriginArgs']] origin: Optional. The origin of this process and its runs and lineage events. @@ -174,7 +174,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -232,7 +232,7 @@ def get(resource_name: str, @property @pulumi.getter - def attributes(self) -> pulumi.Output[Mapping[str, str]]: + def attributes(self) -> pulumi.Output[Mapping[str, Any]]: """ Optional. The attributes of the process. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the process). Up to 100 attributes are allowed. """ diff --git a/sdk/python/pulumi_google_native/datalineage/v1/run.py b/sdk/python/pulumi_google_native/datalineage/v1/run.py index 9736c2ec8e..c95b005c96 100644 --- a/sdk/python/pulumi_google_native/datalineage/v1/run.py +++ b/sdk/python/pulumi_google_native/datalineage/v1/run.py @@ -18,7 +18,7 @@ def __init__(__self__, *, process_id: pulumi.Input[str], start_time: pulumi.Input[str], state: pulumi.Input['RunState'], - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, end_time: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -29,7 +29,7 @@ def __init__(__self__, *, The set of arguments for constructing a Run resource. :param pulumi.Input[str] start_time: The timestamp of the start of the run. :param pulumi.Input['RunState'] state: The state of the run. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. + :param pulumi.Input[Mapping[str, Any]] attributes: Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. :param pulumi.Input[str] display_name: Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` :param pulumi.Input[str] end_time: Optional. The timestamp of the end of the run. :param pulumi.Input[str] name: Immutable. The resource name of the run. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. Can be specified or auto-assigned. {run} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` @@ -88,14 +88,14 @@ def state(self, value: pulumi.Input['RunState']): @property @pulumi.getter - def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def attributes(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. """ return pulumi.get(self, "attributes") @attributes.setter - def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def attributes(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "attributes", value) @property @@ -170,7 +170,7 @@ class Run(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, end_time: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -186,7 +186,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. + :param pulumi.Input[Mapping[str, Any]] attributes: Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. :param pulumi.Input[str] display_name: Optional. A human-readable name you can set to display in a user interface. Must be not longer than 1024 characters and only contain UTF-8 letters or numbers, spaces or characters like `_-:&.` :param pulumi.Input[str] end_time: Optional. The timestamp of the end of the run. :param pulumi.Input[str] name: Immutable. The resource name of the run. Format: `projects/{project}/locations/{location}/processes/{process}/runs/{run}`. Can be specified or auto-assigned. {run} must be not longer than 200 characters and only contain characters in a set: `a-zA-Z0-9_-:.` @@ -218,7 +218,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, Any]]] = None, display_name: Optional[pulumi.Input[str]] = None, end_time: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, @@ -291,7 +291,7 @@ def get(resource_name: str, @property @pulumi.getter - def attributes(self) -> pulumi.Output[Mapping[str, str]]: + def attributes(self) -> pulumi.Output[Mapping[str, Any]]: """ Optional. The attributes of the run. Should only be used for the purpose of non-semantic management (classifying, describing or labeling the run). Up to 100 attributes are allowed. """ diff --git a/sdk/python/pulumi_google_native/datamigration/v1/_inputs.py b/sdk/python/pulumi_google_native/datamigration/v1/_inputs.py index f17fad7d93..f8cab47a08 100644 --- a/sdk/python/pulumi_google_native/datamigration/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/datamigration/v1/_inputs.py @@ -728,13 +728,13 @@ def zone(self, value: Optional[pulumi.Input[str]]): class ConditionalColumnSetValueArgs: def __init__(__self__, *, value_transformation: pulumi.Input['ValueTransformationArgs'], - custom_features: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + custom_features: Optional[pulumi.Input[Mapping[str, Any]]] = None, source_numeric_filter: Optional[pulumi.Input['SourceNumericFilterArgs']] = None, source_text_filter: Optional[pulumi.Input['SourceTextFilterArgs']] = None): """ Options to configure rule type ConditionalColumnSetValue. The rule is used to transform the data which is being replicated/migrated. The rule filter field can refer to one or more entities. The rule scope can be one of: Column. :param pulumi.Input['ValueTransformationArgs'] value_transformation: Description of data transformation during migration. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_features: Optional. Custom engine specific features. + :param pulumi.Input[Mapping[str, Any]] custom_features: Optional. Custom engine specific features. :param pulumi.Input['SourceNumericFilterArgs'] source_numeric_filter: Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. :param pulumi.Input['SourceTextFilterArgs'] source_text_filter: Optional. Optional filter on source column length. Used for text based data types like varchar. """ @@ -760,14 +760,14 @@ def value_transformation(self, value: pulumi.Input['ValueTransformationArgs']): @property @pulumi.getter(name="customFeatures") - def custom_features(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def custom_features(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Optional. Custom engine specific features. """ return pulumi.get(self, "custom_features") @custom_features.setter - def custom_features(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def custom_features(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "custom_features", value) @property @@ -1471,7 +1471,7 @@ class MultiColumnDatatypeChangeArgs: def __init__(__self__, *, new_data_type: pulumi.Input[str], source_data_type_filter: pulumi.Input[str], - custom_features: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + custom_features: Optional[pulumi.Input[Mapping[str, Any]]] = None, override_fractional_seconds_precision: Optional[pulumi.Input[int]] = None, override_length: Optional[pulumi.Input[str]] = None, override_precision: Optional[pulumi.Input[int]] = None, @@ -1482,7 +1482,7 @@ def __init__(__self__, *, Options to configure rule type MultiColumnDatatypeChange. The rule is used to change the data type and associated properties of multiple columns at once. The rule filter field can refer to one or more entities. The rule scope can be one of:Column. This rule requires additional filters to be specified beyond the basic rule filter field, which is the source data type, but the rule supports additional filtering capabilities such as the minimum and maximum field length. All additional filters which are specified are required to be met in order for the rule to be applied (logical AND between the fields). :param pulumi.Input[str] new_data_type: New data type. :param pulumi.Input[str] source_data_type_filter: Filter on source data type. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_features: Optional. Custom engine specific features. + :param pulumi.Input[Mapping[str, Any]] custom_features: Optional. Custom engine specific features. :param pulumi.Input[int] override_fractional_seconds_precision: Optional. Column fractional seconds precision - used only for timestamp based datatypes - if not specified and relevant uses the source column fractional seconds precision. :param pulumi.Input[str] override_length: Optional. Column length - e.g. varchar (50) - if not specified and relevant uses the source column length. :param pulumi.Input[int] override_precision: Optional. Column precision - when relevant - if not specified and relevant uses the source column precision. @@ -1533,14 +1533,14 @@ def source_data_type_filter(self, value: pulumi.Input[str]): @property @pulumi.getter(name="customFeatures") - def custom_features(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def custom_features(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Optional. Custom engine specific features. """ return pulumi.get(self, "custom_features") @custom_features.setter - def custom_features(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def custom_features(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "custom_features", value) @property @@ -2333,7 +2333,7 @@ def __init__(__self__, *, charset: Optional[pulumi.Input[str]] = None, collation: Optional[pulumi.Input[str]] = None, comment: Optional[pulumi.Input[str]] = None, - custom_features: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + custom_features: Optional[pulumi.Input[Mapping[str, Any]]] = None, data_type: Optional[pulumi.Input[str]] = None, fractional_seconds_precision: Optional[pulumi.Input[int]] = None, length: Optional[pulumi.Input[str]] = None, @@ -2350,7 +2350,7 @@ def __init__(__self__, *, :param pulumi.Input[str] charset: Optional. Charset override - instead of table level charset. :param pulumi.Input[str] collation: Optional. Collation override - instead of table level collation. :param pulumi.Input[str] comment: Optional. Comment associated with the column. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_features: Optional. Custom engine specific features. + :param pulumi.Input[Mapping[str, Any]] custom_features: Optional. Custom engine specific features. :param pulumi.Input[str] data_type: Optional. Column data type name. :param pulumi.Input[int] fractional_seconds_precision: Optional. Column fractional seconds precision - e.g. 2 as in timestamp (2) - when relevant. :param pulumi.Input[str] length: Optional. Column length - e.g. 50 as in varchar (50) - when relevant. @@ -2465,14 +2465,14 @@ def comment(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="customFeatures") - def custom_features(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def custom_features(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Optional. Custom engine specific features. """ return pulumi.get(self, "custom_features") @custom_features.setter - def custom_features(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def custom_features(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "custom_features", value) @property diff --git a/sdk/python/pulumi_google_native/datamigration/v1/outputs.py b/sdk/python/pulumi_google_native/datamigration/v1/outputs.py index 555aa70090..167fffd65f 100644 --- a/sdk/python/pulumi_google_native/datamigration/v1/outputs.py +++ b/sdk/python/pulumi_google_native/datamigration/v1/outputs.py @@ -821,13 +821,13 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - custom_features: Mapping[str, str], + custom_features: Mapping[str, Any], source_numeric_filter: 'outputs.SourceNumericFilterResponse', source_text_filter: 'outputs.SourceTextFilterResponse', value_transformation: 'outputs.ValueTransformationResponse'): """ Options to configure rule type ConditionalColumnSetValue. The rule is used to transform the data which is being replicated/migrated. The rule filter field can refer to one or more entities. The rule scope can be one of: Column. - :param Mapping[str, str] custom_features: Optional. Custom engine specific features. + :param Mapping[str, Any] custom_features: Optional. Custom engine specific features. :param 'SourceNumericFilterResponse' source_numeric_filter: Optional. Optional filter on source column precision and scale. Used for fixed point numbers such as NUMERIC/NUMBER data types. :param 'SourceTextFilterResponse' source_text_filter: Optional. Optional filter on source column length. Used for text based data types like varchar. :param 'ValueTransformationResponse' value_transformation: Description of data transformation during migration. @@ -839,7 +839,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="customFeatures") - def custom_features(self) -> Mapping[str, str]: + def custom_features(self) -> Mapping[str, Any]: """ Optional. Custom engine specific features. """ @@ -1683,7 +1683,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - custom_features: Mapping[str, str], + custom_features: Mapping[str, Any], new_data_type: str, override_fractional_seconds_precision: int, override_length: str, @@ -1694,7 +1694,7 @@ def __init__(__self__, *, source_text_filter: 'outputs.SourceTextFilterResponse'): """ Options to configure rule type MultiColumnDatatypeChange. The rule is used to change the data type and associated properties of multiple columns at once. The rule filter field can refer to one or more entities. The rule scope can be one of:Column. This rule requires additional filters to be specified beyond the basic rule filter field, which is the source data type, but the rule supports additional filtering capabilities such as the minimum and maximum field length. All additional filters which are specified are required to be met in order for the rule to be applied (logical AND between the fields). - :param Mapping[str, str] custom_features: Optional. Custom engine specific features. + :param Mapping[str, Any] custom_features: Optional. Custom engine specific features. :param str new_data_type: New data type. :param int override_fractional_seconds_precision: Optional. Column fractional seconds precision - used only for timestamp based datatypes - if not specified and relevant uses the source column fractional seconds precision. :param str override_length: Optional. Column length - e.g. varchar (50) - if not specified and relevant uses the source column length. @@ -1716,7 +1716,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="customFeatures") - def custom_features(self) -> Mapping[str, str]: + def custom_features(self) -> Mapping[str, Any]: """ Optional. Custom engine specific features. """ @@ -2631,7 +2631,7 @@ def __init__(__self__, *, charset: str, collation: str, comment: str, - custom_features: Mapping[str, str], + custom_features: Mapping[str, Any], data_type: str, fractional_seconds_precision: int, length: str, @@ -2648,7 +2648,7 @@ def __init__(__self__, *, :param str charset: Optional. Charset override - instead of table level charset. :param str collation: Optional. Collation override - instead of table level collation. :param str comment: Optional. Comment associated with the column. - :param Mapping[str, str] custom_features: Optional. Custom engine specific features. + :param Mapping[str, Any] custom_features: Optional. Custom engine specific features. :param str data_type: Optional. Column data type name. :param int fractional_seconds_precision: Optional. Column fractional seconds precision - e.g. 2 as in timestamp (2) - when relevant. :param str length: Optional. Column length - e.g. 50 as in varchar (50) - when relevant. @@ -2724,7 +2724,7 @@ def comment(self) -> str: @property @pulumi.getter(name="customFeatures") - def custom_features(self) -> Mapping[str, str]: + def custom_features(self) -> Mapping[str, Any]: """ Optional. Custom engine specific features. """ @@ -3338,12 +3338,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -3360,7 +3360,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/datamigration/v1beta1/outputs.py b/sdk/python/pulumi_google_native/datamigration/v1beta1/outputs.py index d83f1cee4c..d7aca0573f 100644 --- a/sdk/python/pulumi_google_native/datamigration/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/datamigration/v1beta1/outputs.py @@ -969,12 +969,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -991,7 +991,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/deploymentmanager/alpha/outputs.py b/sdk/python/pulumi_google_native/deploymentmanager/alpha/outputs.py index ce575ae95b..ad714fe25e 100644 --- a/sdk/python/pulumi_google_native/deploymentmanager/alpha/outputs.py +++ b/sdk/python/pulumi_google_native/deploymentmanager/alpha/outputs.py @@ -17,6 +17,7 @@ 'AuditLogConfigResponse', 'BasicAuthResponse', 'BindingResponse', + 'BulkInsertOperationStatusResponse', 'CollectionOverrideResponse', 'CompositeTypeLabelEntryResponse', 'ConfigFileResponse', @@ -39,7 +40,9 @@ 'OptionsResponse', 'PollingOptionsResponse', 'ServiceAccountResponse', + 'SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse', 'SetCommonInstanceMetadataOperationMetadataResponse', + 'StatusResponse', 'TargetConfigurationResponse', 'TemplateContentsResponse', 'TypeProviderLabelEntryResponse', @@ -269,6 +272,91 @@ def role(self) -> str: return pulumi.get(self, "role") +@pulumi.output_type +class BulkInsertOperationStatusResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdVmCount": + suggest = "created_vm_count" + elif key == "deletedVmCount": + suggest = "deleted_vm_count" + elif key == "failedToCreateVmCount": + suggest = "failed_to_create_vm_count" + elif key == "targetVmCount": + suggest = "target_vm_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BulkInsertOperationStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BulkInsertOperationStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BulkInsertOperationStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_vm_count: int, + deleted_vm_count: int, + failed_to_create_vm_count: int, + status: str, + target_vm_count: int): + """ + :param int created_vm_count: Count of VMs successfully created so far. + :param int deleted_vm_count: Count of VMs that got deleted during rollback. + :param int failed_to_create_vm_count: Count of VMs that started creating but encountered an error. + :param str status: Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + :param int target_vm_count: Count of VMs originally planned to be created. + """ + pulumi.set(__self__, "created_vm_count", created_vm_count) + pulumi.set(__self__, "deleted_vm_count", deleted_vm_count) + pulumi.set(__self__, "failed_to_create_vm_count", failed_to_create_vm_count) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "target_vm_count", target_vm_count) + + @property + @pulumi.getter(name="createdVmCount") + def created_vm_count(self) -> int: + """ + Count of VMs successfully created so far. + """ + return pulumi.get(self, "created_vm_count") + + @property + @pulumi.getter(name="deletedVmCount") + def deleted_vm_count(self) -> int: + """ + Count of VMs that got deleted during rollback. + """ + return pulumi.get(self, "deleted_vm_count") + + @property + @pulumi.getter(name="failedToCreateVmCount") + def failed_to_create_vm_count(self) -> int: + """ + Count of VMs that started creating but encountered an error. + """ + return pulumi.get(self, "failed_to_create_vm_count") + + @property + @pulumi.getter + def status(self) -> str: + """ + Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="targetVmCount") + def target_vm_count(self) -> int: + """ + Count of VMs originally planned to be created. + """ + return pulumi.get(self, "target_vm_count") + + @pulumi.output_type class CollectionOverrideResponse(dict): """ @@ -803,15 +891,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - per_location_status: Mapping[str, str]): + per_location_status: Mapping[str, 'outputs.BulkInsertOperationStatusResponse']): """ - :param Mapping[str, str] per_location_status: Status information per location (location name is key). Example key: zones/us-central1-a + :param Mapping[str, 'BulkInsertOperationStatusResponse'] per_location_status: Status information per location (location name is key). Example key: zones/us-central1-a """ pulumi.set(__self__, "per_location_status", per_location_status) @property @pulumi.getter(name="perLocationStatus") - def per_location_status(self) -> Mapping[str, str]: + def per_location_status(self) -> Mapping[str, 'outputs.BulkInsertOperationStatusResponse']: """ Status information per location (location name is key). Example key: zones/us-central1-a """ @@ -1545,6 +1633,35 @@ def email(self) -> str: return pulumi.get(self, "email") +@pulumi.output_type +class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse(dict): + def __init__(__self__, *, + error: 'outputs.StatusResponse', + state: str): + """ + :param 'StatusResponse' error: If state is `ABANDONED` or `FAILED`, this field is populated. + :param str state: Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + """ + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def error(self) -> 'outputs.StatusResponse': + """ + If state is `ABANDONED` or `FAILED`, this field is populated. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter + def state(self) -> str: + """ + Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class SetCommonInstanceMetadataOperationMetadataResponse(dict): @staticmethod @@ -1568,10 +1685,10 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, client_operation_id: str, - per_location_operations: Mapping[str, str]): + per_location_operations: Mapping[str, 'outputs.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse']): """ :param str client_operation_id: The client operation id. - :param Mapping[str, str] per_location_operations: Status information per location (location name is key). Example key: zones/us-central1-a + :param Mapping[str, 'SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse'] per_location_operations: Status information per location (location name is key). Example key: zones/us-central1-a """ pulumi.set(__self__, "client_operation_id", client_operation_id) pulumi.set(__self__, "per_location_operations", per_location_operations) @@ -1586,13 +1703,57 @@ def client_operation_id(self) -> str: @property @pulumi.getter(name="perLocationOperations") - def per_location_operations(self) -> Mapping[str, str]: + def per_location_operations(self) -> Mapping[str, 'outputs.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse']: """ Status information per location (location name is key). Example key: zones/us-central1-a """ return pulumi.get(self, "per_location_operations") +@pulumi.output_type +class StatusResponse(dict): + """ + The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + """ + def __init__(__self__, *, + code: int, + details: Sequence[Mapping[str, Any]], + message: str): + """ + The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + :param int code: The status code, which should be an enum value of google.rpc.Code. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def code(self) -> int: + """ + The status code, which should be an enum value of google.rpc.Code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def details(self) -> Sequence[Mapping[str, Any]]: + """ + A list of messages that carry the error details. There is a common set of message types for APIs to use. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def message(self) -> str: + """ + A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + """ + return pulumi.get(self, "message") + + @pulumi.output_type class TargetConfigurationResponse(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/deploymentmanager/v2/outputs.py b/sdk/python/pulumi_google_native/deploymentmanager/v2/outputs.py index 76cc03cb6f..2f404330d0 100644 --- a/sdk/python/pulumi_google_native/deploymentmanager/v2/outputs.py +++ b/sdk/python/pulumi_google_native/deploymentmanager/v2/outputs.py @@ -15,6 +15,7 @@ 'AuditConfigResponse', 'AuditLogConfigResponse', 'BindingResponse', + 'BulkInsertOperationStatusResponse', 'ConfigFileResponse', 'DeploymentLabelEntryResponse', 'DeploymentUpdateLabelEntryResponse', @@ -27,7 +28,9 @@ 'OperationResponse', 'OperationWarningsItemDataItemResponse', 'OperationWarningsItemResponse', + 'SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse', 'SetCommonInstanceMetadataOperationMetadataResponse', + 'StatusResponse', 'TargetConfigurationResponse', ] @@ -177,6 +180,91 @@ def role(self) -> str: return pulumi.get(self, "role") +@pulumi.output_type +class BulkInsertOperationStatusResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdVmCount": + suggest = "created_vm_count" + elif key == "deletedVmCount": + suggest = "deleted_vm_count" + elif key == "failedToCreateVmCount": + suggest = "failed_to_create_vm_count" + elif key == "targetVmCount": + suggest = "target_vm_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BulkInsertOperationStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BulkInsertOperationStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BulkInsertOperationStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_vm_count: int, + deleted_vm_count: int, + failed_to_create_vm_count: int, + status: str, + target_vm_count: int): + """ + :param int created_vm_count: Count of VMs successfully created so far. + :param int deleted_vm_count: Count of VMs that got deleted during rollback. + :param int failed_to_create_vm_count: Count of VMs that started creating but encountered an error. + :param str status: Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + :param int target_vm_count: Count of VMs originally planned to be created. + """ + pulumi.set(__self__, "created_vm_count", created_vm_count) + pulumi.set(__self__, "deleted_vm_count", deleted_vm_count) + pulumi.set(__self__, "failed_to_create_vm_count", failed_to_create_vm_count) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "target_vm_count", target_vm_count) + + @property + @pulumi.getter(name="createdVmCount") + def created_vm_count(self) -> int: + """ + Count of VMs successfully created so far. + """ + return pulumi.get(self, "created_vm_count") + + @property + @pulumi.getter(name="deletedVmCount") + def deleted_vm_count(self) -> int: + """ + Count of VMs that got deleted during rollback. + """ + return pulumi.get(self, "deleted_vm_count") + + @property + @pulumi.getter(name="failedToCreateVmCount") + def failed_to_create_vm_count(self) -> int: + """ + Count of VMs that started creating but encountered an error. + """ + return pulumi.get(self, "failed_to_create_vm_count") + + @property + @pulumi.getter + def status(self) -> str: + """ + Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="targetVmCount") + def target_vm_count(self) -> int: + """ + Count of VMs originally planned to be created. + """ + return pulumi.get(self, "target_vm_count") + + @pulumi.output_type class ConfigFileResponse(dict): def __init__(__self__, *, @@ -405,15 +493,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - per_location_status: Mapping[str, str]): + per_location_status: Mapping[str, 'outputs.BulkInsertOperationStatusResponse']): """ - :param Mapping[str, str] per_location_status: Status information per location (location name is key). Example key: zones/us-central1-a + :param Mapping[str, 'BulkInsertOperationStatusResponse'] per_location_status: Status information per location (location name is key). Example key: zones/us-central1-a """ pulumi.set(__self__, "per_location_status", per_location_status) @property @pulumi.getter(name="perLocationStatus") - def per_location_status(self) -> Mapping[str, str]: + def per_location_status(self) -> Mapping[str, 'outputs.BulkInsertOperationStatusResponse']: """ Status information per location (location name is key). Example key: zones/us-central1-a """ @@ -879,6 +967,35 @@ def message(self) -> str: return pulumi.get(self, "message") +@pulumi.output_type +class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse(dict): + def __init__(__self__, *, + error: 'outputs.StatusResponse', + state: str): + """ + :param 'StatusResponse' error: If state is `ABANDONED` or `FAILED`, this field is populated. + :param str state: Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + """ + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def error(self) -> 'outputs.StatusResponse': + """ + If state is `ABANDONED` or `FAILED`, this field is populated. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter + def state(self) -> str: + """ + Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class SetCommonInstanceMetadataOperationMetadataResponse(dict): @staticmethod @@ -902,10 +1019,10 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, client_operation_id: str, - per_location_operations: Mapping[str, str]): + per_location_operations: Mapping[str, 'outputs.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse']): """ :param str client_operation_id: The client operation id. - :param Mapping[str, str] per_location_operations: Status information per location (location name is key). Example key: zones/us-central1-a + :param Mapping[str, 'SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse'] per_location_operations: Status information per location (location name is key). Example key: zones/us-central1-a """ pulumi.set(__self__, "client_operation_id", client_operation_id) pulumi.set(__self__, "per_location_operations", per_location_operations) @@ -920,13 +1037,57 @@ def client_operation_id(self) -> str: @property @pulumi.getter(name="perLocationOperations") - def per_location_operations(self) -> Mapping[str, str]: + def per_location_operations(self) -> Mapping[str, 'outputs.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse']: """ Status information per location (location name is key). Example key: zones/us-central1-a """ return pulumi.get(self, "per_location_operations") +@pulumi.output_type +class StatusResponse(dict): + """ + The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + """ + def __init__(__self__, *, + code: int, + details: Sequence[Mapping[str, Any]], + message: str): + """ + The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + :param int code: The status code, which should be an enum value of google.rpc.Code. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def code(self) -> int: + """ + The status code, which should be an enum value of google.rpc.Code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def details(self) -> Sequence[Mapping[str, Any]]: + """ + A list of messages that carry the error details. There is a common set of message types for APIs to use. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def message(self) -> str: + """ + A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + """ + return pulumi.get(self, "message") + + @pulumi.output_type class TargetConfigurationResponse(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/deploymentmanager/v2beta/outputs.py b/sdk/python/pulumi_google_native/deploymentmanager/v2beta/outputs.py index 859c3f8396..4f32f8916a 100644 --- a/sdk/python/pulumi_google_native/deploymentmanager/v2beta/outputs.py +++ b/sdk/python/pulumi_google_native/deploymentmanager/v2beta/outputs.py @@ -17,6 +17,7 @@ 'AuditLogConfigResponse', 'BasicAuthResponse', 'BindingResponse', + 'BulkInsertOperationStatusResponse', 'CollectionOverrideResponse', 'CompositeTypeLabelEntryResponse', 'ConfigFileResponse', @@ -37,7 +38,9 @@ 'OptionsResponse', 'PollingOptionsResponse', 'ServiceAccountResponse', + 'SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse', 'SetCommonInstanceMetadataOperationMetadataResponse', + 'StatusResponse', 'TargetConfigurationResponse', 'TemplateContentsResponse', 'TypeProviderLabelEntryResponse', @@ -267,6 +270,91 @@ def role(self) -> str: return pulumi.get(self, "role") +@pulumi.output_type +class BulkInsertOperationStatusResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "createdVmCount": + suggest = "created_vm_count" + elif key == "deletedVmCount": + suggest = "deleted_vm_count" + elif key == "failedToCreateVmCount": + suggest = "failed_to_create_vm_count" + elif key == "targetVmCount": + suggest = "target_vm_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BulkInsertOperationStatusResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BulkInsertOperationStatusResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BulkInsertOperationStatusResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + created_vm_count: int, + deleted_vm_count: int, + failed_to_create_vm_count: int, + status: str, + target_vm_count: int): + """ + :param int created_vm_count: Count of VMs successfully created so far. + :param int deleted_vm_count: Count of VMs that got deleted during rollback. + :param int failed_to_create_vm_count: Count of VMs that started creating but encountered an error. + :param str status: Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + :param int target_vm_count: Count of VMs originally planned to be created. + """ + pulumi.set(__self__, "created_vm_count", created_vm_count) + pulumi.set(__self__, "deleted_vm_count", deleted_vm_count) + pulumi.set(__self__, "failed_to_create_vm_count", failed_to_create_vm_count) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "target_vm_count", target_vm_count) + + @property + @pulumi.getter(name="createdVmCount") + def created_vm_count(self) -> int: + """ + Count of VMs successfully created so far. + """ + return pulumi.get(self, "created_vm_count") + + @property + @pulumi.getter(name="deletedVmCount") + def deleted_vm_count(self) -> int: + """ + Count of VMs that got deleted during rollback. + """ + return pulumi.get(self, "deleted_vm_count") + + @property + @pulumi.getter(name="failedToCreateVmCount") + def failed_to_create_vm_count(self) -> int: + """ + Count of VMs that started creating but encountered an error. + """ + return pulumi.get(self, "failed_to_create_vm_count") + + @property + @pulumi.getter + def status(self) -> str: + """ + Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="targetVmCount") + def target_vm_count(self) -> int: + """ + Count of VMs originally planned to be created. + """ + return pulumi.get(self, "target_vm_count") + + @pulumi.output_type class CollectionOverrideResponse(dict): """ @@ -729,15 +817,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - per_location_status: Mapping[str, str]): + per_location_status: Mapping[str, 'outputs.BulkInsertOperationStatusResponse']): """ - :param Mapping[str, str] per_location_status: Status information per location (location name is key). Example key: zones/us-central1-a + :param Mapping[str, 'BulkInsertOperationStatusResponse'] per_location_status: Status information per location (location name is key). Example key: zones/us-central1-a """ pulumi.set(__self__, "per_location_status", per_location_status) @property @pulumi.getter(name="perLocationStatus") - def per_location_status(self) -> Mapping[str, str]: + def per_location_status(self) -> Mapping[str, 'outputs.BulkInsertOperationStatusResponse']: """ Status information per location (location name is key). Example key: zones/us-central1-a """ @@ -1388,6 +1476,35 @@ def email(self) -> str: return pulumi.get(self, "email") +@pulumi.output_type +class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse(dict): + def __init__(__self__, *, + error: 'outputs.StatusResponse', + state: str): + """ + :param 'StatusResponse' error: If state is `ABANDONED` or `FAILED`, this field is populated. + :param str state: Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + """ + pulumi.set(__self__, "error", error) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def error(self) -> 'outputs.StatusResponse': + """ + If state is `ABANDONED` or `FAILED`, this field is populated. + """ + return pulumi.get(self, "error") + + @property + @pulumi.getter + def state(self) -> str: + """ + Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class SetCommonInstanceMetadataOperationMetadataResponse(dict): @staticmethod @@ -1411,10 +1528,10 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, client_operation_id: str, - per_location_operations: Mapping[str, str]): + per_location_operations: Mapping[str, 'outputs.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse']): """ :param str client_operation_id: The client operation id. - :param Mapping[str, str] per_location_operations: Status information per location (location name is key). Example key: zones/us-central1-a + :param Mapping[str, 'SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse'] per_location_operations: Status information per location (location name is key). Example key: zones/us-central1-a """ pulumi.set(__self__, "client_operation_id", client_operation_id) pulumi.set(__self__, "per_location_operations", per_location_operations) @@ -1429,13 +1546,57 @@ def client_operation_id(self) -> str: @property @pulumi.getter(name="perLocationOperations") - def per_location_operations(self) -> Mapping[str, str]: + def per_location_operations(self) -> Mapping[str, 'outputs.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfoResponse']: """ Status information per location (location name is key). Example key: zones/us-central1-a """ return pulumi.get(self, "per_location_operations") +@pulumi.output_type +class StatusResponse(dict): + """ + The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + """ + def __init__(__self__, *, + code: int, + details: Sequence[Mapping[str, Any]], + message: str): + """ + The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + :param int code: The status code, which should be an enum value of google.rpc.Code. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def code(self) -> int: + """ + The status code, which should be an enum value of google.rpc.Code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def details(self) -> Sequence[Mapping[str, Any]]: + """ + A list of messages that carry the error details. There is a common set of message types for APIs to use. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def message(self) -> str: + """ + A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + """ + return pulumi.get(self, "message") + + @pulumi.output_type class TargetConfigurationResponse(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/dialogflow/v2/_inputs.py b/sdk/python/pulumi_google_native/dialogflow/v2/_inputs.py index dbad4a00a1..1cdf562e5c 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v2/_inputs.py +++ b/sdk/python/pulumi_google_native/dialogflow/v2/_inputs.py @@ -148,12 +148,12 @@ class GoogleCloudDialogflowV2ContextArgs: def __init__(__self__, *, name: pulumi.Input[str], lifespan_count: Optional[pulumi.Input[int]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview). :param pulumi.Input[str] name: The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` :param pulumi.Input[int] lifespan_count: Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. + :param pulumi.Input[Mapping[str, Any]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ pulumi.set(__self__, "name", name) if lifespan_count is not None: @@ -187,14 +187,14 @@ def lifespan_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "parameters", value) @@ -2696,7 +2696,7 @@ def __init__(__self__, *, link_out_suggestion: Optional[pulumi.Input['GoogleCloudDialogflowV2IntentMessageLinkOutSuggestionArgs']] = None, list_select: Optional[pulumi.Input['GoogleCloudDialogflowV2IntentMessageListSelectArgs']] = None, media_content: Optional[pulumi.Input['GoogleCloudDialogflowV2IntentMessageMediaContentArgs']] = None, - payload: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + payload: Optional[pulumi.Input[Mapping[str, Any]]] = None, platform: Optional[pulumi.Input['GoogleCloudDialogflowV2IntentMessagePlatform']] = None, quick_replies: Optional[pulumi.Input['GoogleCloudDialogflowV2IntentMessageQuickRepliesArgs']] = None, simple_responses: Optional[pulumi.Input['GoogleCloudDialogflowV2IntentMessageSimpleResponsesArgs']] = None, @@ -2713,7 +2713,7 @@ def __init__(__self__, *, :param pulumi.Input['GoogleCloudDialogflowV2IntentMessageLinkOutSuggestionArgs'] link_out_suggestion: The link out suggestion chip for Actions on Google. :param pulumi.Input['GoogleCloudDialogflowV2IntentMessageListSelectArgs'] list_select: The list card response for Actions on Google. :param pulumi.Input['GoogleCloudDialogflowV2IntentMessageMediaContentArgs'] media_content: The media content card for Actions on Google. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] payload: A custom platform-specific response. + :param pulumi.Input[Mapping[str, Any]] payload: A custom platform-specific response. :param pulumi.Input['GoogleCloudDialogflowV2IntentMessagePlatform'] platform: Optional. The platform that this message is intended for. :param pulumi.Input['GoogleCloudDialogflowV2IntentMessageQuickRepliesArgs'] quick_replies: The quick replies response. :param pulumi.Input['GoogleCloudDialogflowV2IntentMessageSimpleResponsesArgs'] simple_responses: The voice and text-only responses for Actions on Google. @@ -2850,14 +2850,14 @@ def media_content(self, value: Optional[pulumi.Input['GoogleCloudDialogflowV2Int @property @pulumi.getter - def payload(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def payload(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ A custom platform-specific response. """ return pulumi.get(self, "payload") @payload.setter - def payload(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def payload(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "payload", value) @property @@ -3455,13 +3455,13 @@ def __init__(__self__, *, output_audio_encoding: pulumi.Input['GoogleCloudDialogflowV2TextToSpeechSettingsOutputAudioEncoding'], enable_text_to_speech: Optional[pulumi.Input[bool]] = None, sample_rate_hertz: Optional[pulumi.Input[int]] = None, - synthesize_speech_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + synthesize_speech_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowV2SynthesizeSpeechConfigArgs']]]] = None): """ Instructs the speech synthesizer on how to generate the output audio content. :param pulumi.Input['GoogleCloudDialogflowV2TextToSpeechSettingsOutputAudioEncoding'] output_audio_encoding: Audio encoding of the synthesized audio content. :param pulumi.Input[bool] enable_text_to_speech: Optional. Indicates whether text to speech is enabled. Even when this field is false, other settings in this proto are still retained. :param pulumi.Input[int] sample_rate_hertz: Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] synthesize_speech_configs: Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowV2SynthesizeSpeechConfigArgs']]] synthesize_speech_configs: Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. """ pulumi.set(__self__, "output_audio_encoding", output_audio_encoding) if enable_text_to_speech is not None: @@ -3509,14 +3509,14 @@ def sample_rate_hertz(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="synthesizeSpeechConfigs") - def synthesize_speech_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def synthesize_speech_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowV2SynthesizeSpeechConfigArgs']]]]: """ Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. """ return pulumi.get(self, "synthesize_speech_configs") @synthesize_speech_configs.setter - def synthesize_speech_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def synthesize_speech_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowV2SynthesizeSpeechConfigArgs']]]]): pulumi.set(self, "synthesize_speech_configs", value) diff --git a/sdk/python/pulumi_google_native/dialogflow/v2/context.py b/sdk/python/pulumi_google_native/dialogflow/v2/context.py index 21d02a61c8..15151606c8 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v2/context.py +++ b/sdk/python/pulumi_google_native/dialogflow/v2/context.py @@ -20,13 +20,13 @@ def __init__(__self__, *, user_id: pulumi.Input[str], lifespan_count: Optional[pulumi.Input[int]] = None, location: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Context resource. :param pulumi.Input[str] name: The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` :param pulumi.Input[int] lifespan_count: Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. + :param pulumi.Input[Mapping[str, Any]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ pulumi.set(__self__, "environment_id", environment_id) pulumi.set(__self__, "name", name) @@ -103,14 +103,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "parameters", value) @property @@ -132,7 +132,7 @@ def __init__(__self__, lifespan_count: Optional[pulumi.Input[int]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, session_id: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, @@ -145,7 +145,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] lifespan_count: Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries. :param pulumi.Input[str] name: The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. + :param pulumi.Input[Mapping[str, Any]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ ... @overload @@ -176,7 +176,7 @@ def _internal_init(__self__, lifespan_count: Optional[pulumi.Input[int]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, session_id: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, @@ -267,7 +267,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter - def parameters(self) -> pulumi.Output[Mapping[str, str]]: + def parameters(self) -> pulumi.Output[Mapping[str, Any]]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ diff --git a/sdk/python/pulumi_google_native/dialogflow/v2/get_context.py b/sdk/python/pulumi_google_native/dialogflow/v2/get_context.py index 92f47ad151..8445d90179 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v2/get_context.py +++ b/sdk/python/pulumi_google_native/dialogflow/v2/get_context.py @@ -47,7 +47,7 @@ def name(self) -> str: @property @pulumi.getter - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, Any]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ diff --git a/sdk/python/pulumi_google_native/dialogflow/v2/outputs.py b/sdk/python/pulumi_google_native/dialogflow/v2/outputs.py index 48a3507ee4..4c96bdf86f 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v2/outputs.py +++ b/sdk/python/pulumi_google_native/dialogflow/v2/outputs.py @@ -204,12 +204,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, lifespan_count: int, name: str, - parameters: Mapping[str, str]): + parameters: Mapping[str, Any]): """ Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview). :param int lifespan_count: Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries. :param str name: The unique identifier of the context. Format: `projects//agent/sessions//contexts/`, or `projects//agent/environments//users//sessions//contexts/`. The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` - :param Mapping[str, str] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. + :param Mapping[str, Any] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ pulumi.set(__self__, "lifespan_count", lifespan_count) pulumi.set(__self__, "name", name) @@ -233,7 +233,7 @@ def name(self) -> str: @property @pulumi.getter - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, Any]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ @@ -2844,7 +2844,7 @@ def __init__(__self__, *, link_out_suggestion: 'outputs.GoogleCloudDialogflowV2IntentMessageLinkOutSuggestionResponse', list_select: 'outputs.GoogleCloudDialogflowV2IntentMessageListSelectResponse', media_content: 'outputs.GoogleCloudDialogflowV2IntentMessageMediaContentResponse', - payload: Mapping[str, str], + payload: Mapping[str, Any], platform: str, quick_replies: 'outputs.GoogleCloudDialogflowV2IntentMessageQuickRepliesResponse', simple_responses: 'outputs.GoogleCloudDialogflowV2IntentMessageSimpleResponsesResponse', @@ -2861,7 +2861,7 @@ def __init__(__self__, *, :param 'GoogleCloudDialogflowV2IntentMessageLinkOutSuggestionResponse' link_out_suggestion: The link out suggestion chip for Actions on Google. :param 'GoogleCloudDialogflowV2IntentMessageListSelectResponse' list_select: The list card response for Actions on Google. :param 'GoogleCloudDialogflowV2IntentMessageMediaContentResponse' media_content: The media content card for Actions on Google. - :param Mapping[str, str] payload: A custom platform-specific response. + :param Mapping[str, Any] payload: A custom platform-specific response. :param str platform: Optional. The platform that this message is intended for. :param 'GoogleCloudDialogflowV2IntentMessageQuickRepliesResponse' quick_replies: The quick replies response. :param 'GoogleCloudDialogflowV2IntentMessageSimpleResponsesResponse' simple_responses: The voice and text-only responses for Actions on Google. @@ -2951,7 +2951,7 @@ def media_content(self) -> 'outputs.GoogleCloudDialogflowV2IntentMessageMediaCon @property @pulumi.getter - def payload(self) -> Mapping[str, str]: + def payload(self) -> Mapping[str, Any]: """ A custom platform-specific response. """ @@ -4071,13 +4071,13 @@ def __init__(__self__, *, enable_text_to_speech: bool, output_audio_encoding: str, sample_rate_hertz: int, - synthesize_speech_configs: Mapping[str, str]): + synthesize_speech_configs: Mapping[str, 'outputs.GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse']): """ Instructs the speech synthesizer on how to generate the output audio content. :param bool enable_text_to_speech: Optional. Indicates whether text to speech is enabled. Even when this field is false, other settings in this proto are still retained. :param str output_audio_encoding: Audio encoding of the synthesized audio content. :param int sample_rate_hertz: Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). - :param Mapping[str, str] synthesize_speech_configs: Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. + :param Mapping[str, 'GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse'] synthesize_speech_configs: Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. """ pulumi.set(__self__, "enable_text_to_speech", enable_text_to_speech) pulumi.set(__self__, "output_audio_encoding", output_audio_encoding) @@ -4110,7 +4110,7 @@ def sample_rate_hertz(self) -> int: @property @pulumi.getter(name="synthesizeSpeechConfigs") - def synthesize_speech_configs(self) -> Mapping[str, str]: + def synthesize_speech_configs(self) -> Mapping[str, 'outputs.GoogleCloudDialogflowV2SynthesizeSpeechConfigResponse']: """ Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. """ @@ -4174,12 +4174,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -4196,7 +4196,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/dialogflow/v2beta1/_inputs.py b/sdk/python/pulumi_google_native/dialogflow/v2beta1/_inputs.py index 51f3813444..aa398fef99 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v2beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/dialogflow/v2beta1/_inputs.py @@ -132,12 +132,12 @@ class GoogleCloudDialogflowV2beta1ContextArgs: def __init__(__self__, *, name: pulumi.Input[str], lifespan_count: Optional[pulumi.Input[int]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview). :param pulumi.Input[str] name: The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` :param pulumi.Input[int] lifespan_count: Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. + :param pulumi.Input[Mapping[str, Any]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ pulumi.set(__self__, "name", name) if lifespan_count is not None: @@ -171,14 +171,14 @@ def lifespan_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "parameters", value) @@ -3091,7 +3091,7 @@ def __init__(__self__, *, link_out_suggestion: Optional[pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestionArgs']] = None, list_select: Optional[pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageListSelectArgs']] = None, media_content: Optional[pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageMediaContentArgs']] = None, - payload: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + payload: Optional[pulumi.Input[Mapping[str, Any]]] = None, platform: Optional[pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessagePlatform']] = None, quick_replies: Optional[pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageQuickRepliesArgs']] = None, rbm_carousel_rich_card: Optional[pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCardArgs']] = None, @@ -3114,7 +3114,7 @@ def __init__(__self__, *, :param pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestionArgs'] link_out_suggestion: Displays a link out suggestion chip for Actions on Google. :param pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageListSelectArgs'] list_select: Displays a list card for Actions on Google. :param pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageMediaContentArgs'] media_content: The media content card for Actions on Google. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] payload: A custom platform-specific response. + :param pulumi.Input[Mapping[str, Any]] payload: A custom platform-specific response. :param pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessagePlatform'] platform: Optional. The platform that this message is intended for. :param pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageQuickRepliesArgs'] quick_replies: Displays quick replies. :param pulumi.Input['GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCardArgs'] rbm_carousel_rich_card: Rich Business Messaging (RBM) carousel rich card response. @@ -3269,14 +3269,14 @@ def media_content(self, value: Optional[pulumi.Input['GoogleCloudDialogflowV2bet @property @pulumi.getter - def payload(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def payload(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ A custom platform-specific response. """ return pulumi.get(self, "payload") @payload.setter - def payload(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def payload(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "payload", value) @property @@ -3922,13 +3922,13 @@ def __init__(__self__, *, output_audio_encoding: pulumi.Input['GoogleCloudDialogflowV2beta1TextToSpeechSettingsOutputAudioEncoding'], enable_text_to_speech: Optional[pulumi.Input[bool]] = None, sample_rate_hertz: Optional[pulumi.Input[int]] = None, - synthesize_speech_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + synthesize_speech_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigArgs']]]] = None): """ Instructs the speech synthesizer on how to generate the output audio content. :param pulumi.Input['GoogleCloudDialogflowV2beta1TextToSpeechSettingsOutputAudioEncoding'] output_audio_encoding: Audio encoding of the synthesized audio content. :param pulumi.Input[bool] enable_text_to_speech: Optional. Indicates whether text to speech is enabled. Even when this field is false, other settings in this proto are still retained. :param pulumi.Input[int] sample_rate_hertz: Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] synthesize_speech_configs: Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigArgs']]] synthesize_speech_configs: Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. """ pulumi.set(__self__, "output_audio_encoding", output_audio_encoding) if enable_text_to_speech is not None: @@ -3976,14 +3976,14 @@ def sample_rate_hertz(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="synthesizeSpeechConfigs") - def synthesize_speech_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def synthesize_speech_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigArgs']]]]: """ Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. """ return pulumi.get(self, "synthesize_speech_configs") @synthesize_speech_configs.setter - def synthesize_speech_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def synthesize_speech_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigArgs']]]]): pulumi.set(self, "synthesize_speech_configs", value) diff --git a/sdk/python/pulumi_google_native/dialogflow/v2beta1/context.py b/sdk/python/pulumi_google_native/dialogflow/v2beta1/context.py index dd3b79a0ab..cc858f53ea 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v2beta1/context.py +++ b/sdk/python/pulumi_google_native/dialogflow/v2beta1/context.py @@ -20,13 +20,13 @@ def __init__(__self__, *, user_id: pulumi.Input[str], lifespan_count: Optional[pulumi.Input[int]] = None, location: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Context resource. :param pulumi.Input[str] name: The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` :param pulumi.Input[int] lifespan_count: Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. + :param pulumi.Input[Mapping[str, Any]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ pulumi.set(__self__, "environment_id", environment_id) pulumi.set(__self__, "name", name) @@ -103,14 +103,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "parameters", value) @property @@ -132,7 +132,7 @@ def __init__(__self__, lifespan_count: Optional[pulumi.Input[int]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, session_id: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, @@ -145,7 +145,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[int] lifespan_count: Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries. :param pulumi.Input[str] name: The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. + :param pulumi.Input[Mapping[str, Any]] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ ... @overload @@ -176,7 +176,7 @@ def _internal_init(__self__, lifespan_count: Optional[pulumi.Input[int]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, project: Optional[pulumi.Input[str]] = None, session_id: Optional[pulumi.Input[str]] = None, user_id: Optional[pulumi.Input[str]] = None, @@ -267,7 +267,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter - def parameters(self) -> pulumi.Output[Mapping[str, str]]: + def parameters(self) -> pulumi.Output[Mapping[str, Any]]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ diff --git a/sdk/python/pulumi_google_native/dialogflow/v2beta1/get_context.py b/sdk/python/pulumi_google_native/dialogflow/v2beta1/get_context.py index 30a59855b6..8cbec2532b 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v2beta1/get_context.py +++ b/sdk/python/pulumi_google_native/dialogflow/v2beta1/get_context.py @@ -47,7 +47,7 @@ def name(self) -> str: @property @pulumi.getter - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, Any]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ diff --git a/sdk/python/pulumi_google_native/dialogflow/v2beta1/outputs.py b/sdk/python/pulumi_google_native/dialogflow/v2beta1/outputs.py index af22e5bb58..8fdeeaca04 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v2beta1/outputs.py +++ b/sdk/python/pulumi_google_native/dialogflow/v2beta1/outputs.py @@ -168,12 +168,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, lifespan_count: int, name: str, - parameters: Mapping[str, str]): + parameters: Mapping[str, Any]): """ Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview). :param int lifespan_count: Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries. :param str name: The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size` - :param Mapping[str, str] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. + :param Mapping[str, Any] parameters: Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ pulumi.set(__self__, "lifespan_count", lifespan_count) pulumi.set(__self__, "name", name) @@ -197,7 +197,7 @@ def name(self) -> str: @property @pulumi.getter - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, Any]: """ Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value. """ @@ -3059,7 +3059,7 @@ def __init__(__self__, *, link_out_suggestion: 'outputs.GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestionResponse', list_select: 'outputs.GoogleCloudDialogflowV2beta1IntentMessageListSelectResponse', media_content: 'outputs.GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponse', - payload: Mapping[str, str], + payload: Mapping[str, Any], platform: str, quick_replies: 'outputs.GoogleCloudDialogflowV2beta1IntentMessageQuickRepliesResponse', rbm_carousel_rich_card: 'outputs.GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCardResponse', @@ -3082,7 +3082,7 @@ def __init__(__self__, *, :param 'GoogleCloudDialogflowV2beta1IntentMessageLinkOutSuggestionResponse' link_out_suggestion: Displays a link out suggestion chip for Actions on Google. :param 'GoogleCloudDialogflowV2beta1IntentMessageListSelectResponse' list_select: Displays a list card for Actions on Google. :param 'GoogleCloudDialogflowV2beta1IntentMessageMediaContentResponse' media_content: The media content card for Actions on Google. - :param Mapping[str, str] payload: A custom platform-specific response. + :param Mapping[str, Any] payload: A custom platform-specific response. :param str platform: Optional. The platform that this message is intended for. :param 'GoogleCloudDialogflowV2beta1IntentMessageQuickRepliesResponse' quick_replies: Displays quick replies. :param 'GoogleCloudDialogflowV2beta1IntentMessageRbmCarouselCardResponse' rbm_carousel_rich_card: Rich Business Messaging (RBM) carousel rich card response. @@ -3184,7 +3184,7 @@ def media_content(self) -> 'outputs.GoogleCloudDialogflowV2beta1IntentMessageMed @property @pulumi.getter - def payload(self) -> Mapping[str, str]: + def payload(self) -> Mapping[str, Any]: """ A custom platform-specific response. """ @@ -4326,13 +4326,13 @@ def __init__(__self__, *, enable_text_to_speech: bool, output_audio_encoding: str, sample_rate_hertz: int, - synthesize_speech_configs: Mapping[str, str]): + synthesize_speech_configs: Mapping[str, 'outputs.GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse']): """ Instructs the speech synthesizer on how to generate the output audio content. :param bool enable_text_to_speech: Optional. Indicates whether text to speech is enabled. Even when this field is false, other settings in this proto are still retained. :param str output_audio_encoding: Audio encoding of the synthesized audio content. :param int sample_rate_hertz: Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality). - :param Mapping[str, str] synthesize_speech_configs: Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. + :param Mapping[str, 'GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse'] synthesize_speech_configs: Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. """ pulumi.set(__self__, "enable_text_to_speech", enable_text_to_speech) pulumi.set(__self__, "output_audio_encoding", output_audio_encoding) @@ -4365,7 +4365,7 @@ def sample_rate_hertz(self) -> int: @property @pulumi.getter(name="synthesizeSpeechConfigs") - def synthesize_speech_configs(self) -> Mapping[str, str]: + def synthesize_speech_configs(self) -> Mapping[str, 'outputs.GoogleCloudDialogflowV2beta1SynthesizeSpeechConfigResponse']: """ Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig. """ @@ -4429,12 +4429,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -4451,7 +4451,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/dialogflow/v3/_enums.py b/sdk/python/pulumi_google_native/dialogflow/v3/_enums.py index 54178fc4d5..87d3be9d20 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v3/_enums.py +++ b/sdk/python/pulumi_google_native/dialogflow/v3/_enums.py @@ -18,6 +18,7 @@ 'GoogleCloudDialogflowCxV3ResponseMessageResponseType', 'GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettingsAudioFormat', 'GoogleCloudDialogflowCxV3TestCaseResultTestResult', + 'GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender', 'GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethod', 'GoogleCloudDialogflowCxV3WebhookGenericWebServiceWebhookType', 'SecuritySettingPurgeDataTypesItem', @@ -322,6 +323,28 @@ class GoogleCloudDialogflowCxV3TestCaseResultTestResult(str, Enum): """ +class GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender(str, Enum): + """ + Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + """ + SSML_VOICE_GENDER_UNSPECIFIED = "SSML_VOICE_GENDER_UNSPECIFIED" + """ + An unspecified gender, which means that the client doesn't care which gender the selected voice will have. + """ + SSML_VOICE_GENDER_MALE = "SSML_VOICE_GENDER_MALE" + """ + A male voice. + """ + SSML_VOICE_GENDER_FEMALE = "SSML_VOICE_GENDER_FEMALE" + """ + A female voice. + """ + SSML_VOICE_GENDER_NEUTRAL = "SSML_VOICE_GENDER_NEUTRAL" + """ + A gender-neutral voice. + """ + + class GoogleCloudDialogflowCxV3WebhookGenericWebServiceHttpMethod(str, Enum): """ Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST. diff --git a/sdk/python/pulumi_google_native/dialogflow/v3/_inputs.py b/sdk/python/pulumi_google_native/dialogflow/v3/_inputs.py index 1479377601..7df29a5cfc 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v3/_inputs.py +++ b/sdk/python/pulumi_google_native/dialogflow/v3/_inputs.py @@ -70,6 +70,7 @@ 'GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettingsArgs', 'GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettingsArgs', 'GoogleCloudDialogflowCxV3SpeechToTextSettingsArgs', + 'GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs', 'GoogleCloudDialogflowCxV3TestCaseResultArgs', 'GoogleCloudDialogflowCxV3TestConfigArgs', 'GoogleCloudDialogflowCxV3TextInputArgs', @@ -78,6 +79,7 @@ 'GoogleCloudDialogflowCxV3VariantsHistoryArgs', 'GoogleCloudDialogflowCxV3VersionVariantsVariantArgs', 'GoogleCloudDialogflowCxV3VersionVariantsArgs', + 'GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs', 'GoogleCloudDialogflowCxV3WebhookGenericWebServiceArgs', 'GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfigArgs', 'GoogleCloudDialogflowCxV3WebhookArgs', @@ -478,13 +480,13 @@ def total_duration(self, value: Optional[pulumi.Input[str]]): class GoogleCloudDialogflowCxV3ConversationTurnUserInputArgs: def __init__(__self__, *, enable_sentiment_analysis: Optional[pulumi.Input[bool]] = None, - injected_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + injected_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, input: Optional[pulumi.Input['GoogleCloudDialogflowCxV3QueryInputArgs']] = None, is_webhook_enabled: Optional[pulumi.Input[bool]] = None): """ The input from the human user. :param pulumi.Input[bool] enable_sentiment_analysis: Whether sentiment analysis is enabled. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] injected_parameters: Parameters that need to be injected into the conversation during intent detection. + :param pulumi.Input[Mapping[str, Any]] injected_parameters: Parameters that need to be injected into the conversation during intent detection. :param pulumi.Input['GoogleCloudDialogflowCxV3QueryInputArgs'] input: Supports text input, event input, dtmf input in the test case. :param pulumi.Input[bool] is_webhook_enabled: If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. """ @@ -511,14 +513,14 @@ def enable_sentiment_analysis(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="injectedParameters") - def injected_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def injected_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Parameters that need to be injected into the conversation during intent detection. """ return pulumi.get(self, "injected_parameters") @injected_parameters.setter - def injected_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def injected_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "injected_parameters", value) @property @@ -549,17 +551,17 @@ def is_webhook_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.input_type class GoogleCloudDialogflowCxV3ConversationTurnVirtualAgentOutputArgs: def __init__(__self__, *, - diagnostic_info: pulumi.Input[Mapping[str, pulumi.Input[str]]], + diagnostic_info: pulumi.Input[Mapping[str, Any]], current_page: Optional[pulumi.Input['GoogleCloudDialogflowCxV3PageArgs']] = None, - session_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + session_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, status: Optional[pulumi.Input['GoogleRpcStatusArgs']] = None, text_responses: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageTextArgs']]]] = None, triggered_intent: Optional[pulumi.Input['GoogleCloudDialogflowCxV3IntentArgs']] = None): """ The output from the virtual agent. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] diagnostic_info: Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. + :param pulumi.Input[Mapping[str, Any]] diagnostic_info: Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. :param pulumi.Input['GoogleCloudDialogflowCxV3PageArgs'] current_page: The Page on which the utterance was spoken. Only name and displayName will be set. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] session_parameters: The session parameters available to the bot at this point. + :param pulumi.Input[Mapping[str, Any]] session_parameters: The session parameters available to the bot at this point. :param pulumi.Input['GoogleRpcStatusArgs'] status: Response error from the agent in the test result. If set, other output is empty. :param pulumi.Input[Sequence[pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageTextArgs']]] text_responses: The text responses from the agent for the turn. :param pulumi.Input['GoogleCloudDialogflowCxV3IntentArgs'] triggered_intent: The Intent that triggered the response. Only name and displayName will be set. @@ -578,14 +580,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="diagnosticInfo") - def diagnostic_info(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def diagnostic_info(self) -> pulumi.Input[Mapping[str, Any]]: """ Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. """ return pulumi.get(self, "diagnostic_info") @diagnostic_info.setter - def diagnostic_info(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def diagnostic_info(self, value: pulumi.Input[Mapping[str, Any]]): pulumi.set(self, "diagnostic_info", value) @property @@ -602,14 +604,14 @@ def current_page(self, value: Optional[pulumi.Input['GoogleCloudDialogflowCxV3Pa @property @pulumi.getter(name="sessionParameters") - def session_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def session_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The session parameters available to the bot at this point. """ return pulumi.get(self, "session_parameters") @session_parameters.setter - def session_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def session_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "session_parameters", value) @property @@ -2665,24 +2667,24 @@ def text(self, value: Optional[pulumi.Input['GoogleCloudDialogflowCxV3TextInputA @pulumi.input_type class GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessArgs: def __init__(__self__, *, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Custom metadata. Dialogflow doesn't impose any structure on this. + :param pulumi.Input[Mapping[str, Any]] metadata: Custom metadata. Dialogflow doesn't impose any structure on this. """ if metadata is not None: pulumi.set(__self__, "metadata", metadata) @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Custom metadata. Dialogflow doesn't impose any structure on this. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @@ -2698,24 +2700,24 @@ def __init__(__self__): @pulumi.input_type class GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs: def __init__(__self__, *, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. + :param pulumi.Input[Mapping[str, Any]] metadata: Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. """ if metadata is not None: pulumi.set(__self__, "metadata", metadata) @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @@ -2837,7 +2839,7 @@ def __init__(__self__, *, knowledge_info_card: Optional[pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCardArgs']] = None, live_agent_handoff: Optional[pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs']] = None, output_audio_text: Optional[pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageOutputAudioTextArgs']] = None, - payload: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + payload: Optional[pulumi.Input[Mapping[str, Any]]] = None, play_audio: Optional[pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessagePlayAudioArgs']] = None, response_type: Optional[pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageResponseType']] = None, telephony_transfer_call: Optional[pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageTelephonyTransferCallArgs']] = None, @@ -2849,7 +2851,7 @@ def __init__(__self__, *, :param pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCardArgs'] knowledge_info_card: Represents info card for knowledge answers, to be better rendered in Dialogflow Messenger. :param pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffArgs'] live_agent_handoff: Hands off conversation to a human agent. :param pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageOutputAudioTextArgs'] output_audio_text: A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] payload: Returns a response containing a custom, platform-specific payload. + :param pulumi.Input[Mapping[str, Any]] payload: Returns a response containing a custom, platform-specific payload. :param pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessagePlayAudioArgs'] play_audio: Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. :param pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageResponseType'] response_type: Response type. :param pulumi.Input['GoogleCloudDialogflowCxV3ResponseMessageTelephonyTransferCallArgs'] telephony_transfer_call: A signal that the client should transfer the phone call connected to this agent to a third-party endpoint. @@ -2938,14 +2940,14 @@ def output_audio_text(self, value: Optional[pulumi.Input['GoogleCloudDialogflowC @property @pulumi.getter - def payload(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def payload(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Returns a response containing a custom, platform-specific payload. """ return pulumi.get(self, "payload") @payload.setter - def payload(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def payload(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "payload", value) @property @@ -3285,6 +3287,94 @@ def enable_speech_adaptation(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enable_speech_adaptation", value) +@pulumi.input_type +class GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs: + def __init__(__self__, *, + effects_profile_id: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + pitch: Optional[pulumi.Input[float]] = None, + speaking_rate: Optional[pulumi.Input[float]] = None, + voice: Optional[pulumi.Input['GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs']] = None, + volume_gain_db: Optional[pulumi.Input[float]] = None): + """ + Configuration of how speech should be synthesized. + :param pulumi.Input[Sequence[pulumi.Input[str]]] effects_profile_id: Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + :param pulumi.Input[float] pitch: Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + :param pulumi.Input[float] speaking_rate: Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + :param pulumi.Input['GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs'] voice: Optional. The desired voice of the synthesized audio. + :param pulumi.Input[float] volume_gain_db: Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + """ + if effects_profile_id is not None: + pulumi.set(__self__, "effects_profile_id", effects_profile_id) + if pitch is not None: + pulumi.set(__self__, "pitch", pitch) + if speaking_rate is not None: + pulumi.set(__self__, "speaking_rate", speaking_rate) + if voice is not None: + pulumi.set(__self__, "voice", voice) + if volume_gain_db is not None: + pulumi.set(__self__, "volume_gain_db", volume_gain_db) + + @property + @pulumi.getter(name="effectsProfileId") + def effects_profile_id(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + """ + return pulumi.get(self, "effects_profile_id") + + @effects_profile_id.setter + def effects_profile_id(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "effects_profile_id", value) + + @property + @pulumi.getter + def pitch(self) -> Optional[pulumi.Input[float]]: + """ + Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + """ + return pulumi.get(self, "pitch") + + @pitch.setter + def pitch(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "pitch", value) + + @property + @pulumi.getter(name="speakingRate") + def speaking_rate(self) -> Optional[pulumi.Input[float]]: + """ + Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + """ + return pulumi.get(self, "speaking_rate") + + @speaking_rate.setter + def speaking_rate(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "speaking_rate", value) + + @property + @pulumi.getter + def voice(self) -> Optional[pulumi.Input['GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs']]: + """ + Optional. The desired voice of the synthesized audio. + """ + return pulumi.get(self, "voice") + + @voice.setter + def voice(self, value: Optional[pulumi.Input['GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs']]): + pulumi.set(self, "voice", value) + + @property + @pulumi.getter(name="volumeGainDb") + def volume_gain_db(self) -> Optional[pulumi.Input[float]]: + """ + Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + """ + return pulumi.get(self, "volume_gain_db") + + @volume_gain_db.setter + def volume_gain_db(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "volume_gain_db", value) + + @pulumi.input_type class GoogleCloudDialogflowCxV3TestCaseResultArgs: def __init__(__self__, *, @@ -3455,24 +3545,24 @@ def text(self, value: pulumi.Input[str]): @pulumi.input_type class GoogleCloudDialogflowCxV3TextToSpeechSettingsArgs: def __init__(__self__, *, - synthesize_speech_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + synthesize_speech_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs']]]] = None): """ Settings related to speech synthesizing. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] synthesize_speech_configs: Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs']]] synthesize_speech_configs: Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. """ if synthesize_speech_configs is not None: pulumi.set(__self__, "synthesize_speech_configs", synthesize_speech_configs) @property @pulumi.getter(name="synthesizeSpeechConfigs") - def synthesize_speech_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def synthesize_speech_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs']]]]: """ Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. """ return pulumi.get(self, "synthesize_speech_configs") @synthesize_speech_configs.setter - def synthesize_speech_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def synthesize_speech_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowCxV3SynthesizeSpeechConfigArgs']]]]): pulumi.set(self, "synthesize_speech_configs", value) @@ -3700,6 +3790,46 @@ def variants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleClo pulumi.set(self, "variants", value) +@pulumi.input_type +class GoogleCloudDialogflowCxV3VoiceSelectionParamsArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + ssml_gender: Optional[pulumi.Input['GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender']] = None): + """ + Description of which voice to use for speech synthesis. + :param pulumi.Input[str] name: Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + :param pulumi.Input['GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender'] ssml_gender: Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if ssml_gender is not None: + pulumi.set(__self__, "ssml_gender", ssml_gender) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="ssmlGender") + def ssml_gender(self) -> Optional[pulumi.Input['GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender']]: + """ + Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + """ + return pulumi.get(self, "ssml_gender") + + @ssml_gender.setter + def ssml_gender(self, value: Optional[pulumi.Input['GoogleCloudDialogflowCxV3VoiceSelectionParamsSsmlGender']]): + pulumi.set(self, "ssml_gender", value) + + @pulumi.input_type class GoogleCloudDialogflowCxV3WebhookGenericWebServiceArgs: def __init__(__self__, *, @@ -3997,12 +4127,12 @@ def timeout(self, value: Optional[pulumi.Input[str]]): class GoogleRpcStatusArgs: def __init__(__self__, *, code: Optional[pulumi.Input[int]] = None, - details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, message: Optional[pulumi.Input[str]] = None): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param pulumi.Input[int] code: The status code, which should be an enum value of google.rpc.Code. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param pulumi.Input[str] message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ if code is not None: @@ -4026,14 +4156,14 @@ def code(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter - def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ return pulumi.get(self, "details") @details.setter - def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "details", value) @property diff --git a/sdk/python/pulumi_google_native/dialogflow/v3/agent.py b/sdk/python/pulumi_google_native/dialogflow/v3/agent.py index 7ede1a248a..304c780c65 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v3/agent.py +++ b/sdk/python/pulumi_google_native/dialogflow/v3/agent.py @@ -9,6 +9,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities from . import outputs +from ._enums import * from ._inputs import * __all__ = ['AgentArgs', 'Agent'] diff --git a/sdk/python/pulumi_google_native/dialogflow/v3/outputs.py b/sdk/python/pulumi_google_native/dialogflow/v3/outputs.py index 5f8aa176a5..5a5c976816 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v3/outputs.py +++ b/sdk/python/pulumi_google_native/dialogflow/v3/outputs.py @@ -74,6 +74,7 @@ 'GoogleCloudDialogflowCxV3SecuritySettingsAudioExportSettingsResponse', 'GoogleCloudDialogflowCxV3SecuritySettingsInsightsExportSettingsResponse', 'GoogleCloudDialogflowCxV3SpeechToTextSettingsResponse', + 'GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse', 'GoogleCloudDialogflowCxV3TestCaseResultResponse', 'GoogleCloudDialogflowCxV3TestConfigResponse', 'GoogleCloudDialogflowCxV3TestRunDifferenceResponse', @@ -83,6 +84,7 @@ 'GoogleCloudDialogflowCxV3VariantsHistoryResponse', 'GoogleCloudDialogflowCxV3VersionVariantsResponse', 'GoogleCloudDialogflowCxV3VersionVariantsVariantResponse', + 'GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse', 'GoogleCloudDialogflowCxV3WebhookGenericWebServiceResponse', 'GoogleCloudDialogflowCxV3WebhookResponse', 'GoogleCloudDialogflowCxV3WebhookServiceDirectoryConfigResponse', @@ -623,13 +625,13 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, enable_sentiment_analysis: bool, - injected_parameters: Mapping[str, str], + injected_parameters: Mapping[str, Any], input: 'outputs.GoogleCloudDialogflowCxV3QueryInputResponse', is_webhook_enabled: bool): """ The input from the human user. :param bool enable_sentiment_analysis: Whether sentiment analysis is enabled. - :param Mapping[str, str] injected_parameters: Parameters that need to be injected into the conversation during intent detection. + :param Mapping[str, Any] injected_parameters: Parameters that need to be injected into the conversation during intent detection. :param 'GoogleCloudDialogflowCxV3QueryInputResponse' input: Supports text input, event input, dtmf input in the test case. :param bool is_webhook_enabled: If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. """ @@ -648,7 +650,7 @@ def enable_sentiment_analysis(self) -> bool: @property @pulumi.getter(name="injectedParameters") - def injected_parameters(self) -> Mapping[str, str]: + def injected_parameters(self) -> Mapping[str, Any]: """ Parameters that need to be injected into the conversation during intent detection. """ @@ -703,18 +705,18 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, current_page: 'outputs.GoogleCloudDialogflowCxV3PageResponse', - diagnostic_info: Mapping[str, str], + diagnostic_info: Mapping[str, Any], differences: Sequence['outputs.GoogleCloudDialogflowCxV3TestRunDifferenceResponse'], - session_parameters: Mapping[str, str], + session_parameters: Mapping[str, Any], status: 'outputs.GoogleRpcStatusResponse', text_responses: Sequence['outputs.GoogleCloudDialogflowCxV3ResponseMessageTextResponse'], triggered_intent: 'outputs.GoogleCloudDialogflowCxV3IntentResponse'): """ The output from the virtual agent. :param 'GoogleCloudDialogflowCxV3PageResponse' current_page: The Page on which the utterance was spoken. Only name and displayName will be set. - :param Mapping[str, str] diagnostic_info: Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. + :param Mapping[str, Any] diagnostic_info: Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. :param Sequence['GoogleCloudDialogflowCxV3TestRunDifferenceResponse'] differences: If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. - :param Mapping[str, str] session_parameters: The session parameters available to the bot at this point. + :param Mapping[str, Any] session_parameters: The session parameters available to the bot at this point. :param 'GoogleRpcStatusResponse' status: Response error from the agent in the test result. If set, other output is empty. :param Sequence['GoogleCloudDialogflowCxV3ResponseMessageTextResponse'] text_responses: The text responses from the agent for the turn. :param 'GoogleCloudDialogflowCxV3IntentResponse' triggered_intent: The Intent that triggered the response. Only name and displayName will be set. @@ -737,7 +739,7 @@ def current_page(self) -> 'outputs.GoogleCloudDialogflowCxV3PageResponse': @property @pulumi.getter(name="diagnosticInfo") - def diagnostic_info(self) -> Mapping[str, str]: + def diagnostic_info(self) -> Mapping[str, Any]: """ Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. """ @@ -753,7 +755,7 @@ def differences(self) -> Sequence['outputs.GoogleCloudDialogflowCxV3TestRunDiffe @property @pulumi.getter(name="sessionParameters") - def session_parameters(self) -> Mapping[str, str]: + def session_parameters(self) -> Mapping[str, Any]: """ The session parameters available to the bot at this point. """ @@ -2827,16 +2829,16 @@ class GoogleCloudDialogflowCxV3ResponseMessageConversationSuccessResponse(dict): Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. """ def __init__(__self__, *, - metadata: Mapping[str, str]): + metadata: Mapping[str, Any]): """ Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. - :param Mapping[str, str] metadata: Custom metadata. Dialogflow doesn't impose any structure on this. + :param Mapping[str, Any] metadata: Custom metadata. Dialogflow doesn't impose any structure on this. """ pulumi.set(__self__, "metadata", metadata) @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Custom metadata. Dialogflow doesn't impose any structure on this. """ @@ -2873,16 +2875,16 @@ class GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse(dict): Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. """ def __init__(__self__, *, - metadata: Mapping[str, str]): + metadata: Mapping[str, Any]): """ Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. - :param Mapping[str, str] metadata: Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. + :param Mapping[str, Any] metadata: Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. """ pulumi.set(__self__, "metadata", metadata) @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. """ @@ -3131,7 +3133,7 @@ def __init__(__self__, *, live_agent_handoff: 'outputs.GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse', mixed_audio: 'outputs.GoogleCloudDialogflowCxV3ResponseMessageMixedAudioResponse', output_audio_text: 'outputs.GoogleCloudDialogflowCxV3ResponseMessageOutputAudioTextResponse', - payload: Mapping[str, str], + payload: Mapping[str, Any], play_audio: 'outputs.GoogleCloudDialogflowCxV3ResponseMessagePlayAudioResponse', response_type: str, telephony_transfer_call: 'outputs.GoogleCloudDialogflowCxV3ResponseMessageTelephonyTransferCallResponse', @@ -3145,7 +3147,7 @@ def __init__(__self__, *, :param 'GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoffResponse' live_agent_handoff: Hands off conversation to a human agent. :param 'GoogleCloudDialogflowCxV3ResponseMessageMixedAudioResponse' mixed_audio: An audio response message composed of both the synthesized Dialogflow agent responses and responses defined via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user. :param 'GoogleCloudDialogflowCxV3ResponseMessageOutputAudioTextResponse' output_audio_text: A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. - :param Mapping[str, str] payload: Returns a response containing a custom, platform-specific payload. + :param Mapping[str, Any] payload: Returns a response containing a custom, platform-specific payload. :param 'GoogleCloudDialogflowCxV3ResponseMessagePlayAudioResponse' play_audio: Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. :param str response_type: Response type. :param 'GoogleCloudDialogflowCxV3ResponseMessageTelephonyTransferCallResponse' telephony_transfer_call: A signal that the client should transfer the phone call connected to this agent to a third-party endpoint. @@ -3222,7 +3224,7 @@ def output_audio_text(self) -> 'outputs.GoogleCloudDialogflowCxV3ResponseMessage @property @pulumi.getter - def payload(self) -> Mapping[str, str]: + def payload(self) -> Mapping[str, Any]: """ Returns a response containing a custom, platform-specific payload. """ @@ -3699,6 +3701,93 @@ def enable_speech_adaptation(self) -> bool: return pulumi.get(self, "enable_speech_adaptation") +@pulumi.output_type +class GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse(dict): + """ + Configuration of how speech should be synthesized. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "effectsProfileId": + suggest = "effects_profile_id" + elif key == "speakingRate": + suggest = "speaking_rate" + elif key == "volumeGainDb": + suggest = "volume_gain_db" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + effects_profile_id: Sequence[str], + pitch: float, + speaking_rate: float, + voice: 'outputs.GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse', + volume_gain_db: float): + """ + Configuration of how speech should be synthesized. + :param Sequence[str] effects_profile_id: Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + :param float pitch: Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + :param float speaking_rate: Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + :param 'GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse' voice: Optional. The desired voice of the synthesized audio. + :param float volume_gain_db: Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + """ + pulumi.set(__self__, "effects_profile_id", effects_profile_id) + pulumi.set(__self__, "pitch", pitch) + pulumi.set(__self__, "speaking_rate", speaking_rate) + pulumi.set(__self__, "voice", voice) + pulumi.set(__self__, "volume_gain_db", volume_gain_db) + + @property + @pulumi.getter(name="effectsProfileId") + def effects_profile_id(self) -> Sequence[str]: + """ + Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + """ + return pulumi.get(self, "effects_profile_id") + + @property + @pulumi.getter + def pitch(self) -> float: + """ + Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + """ + return pulumi.get(self, "pitch") + + @property + @pulumi.getter(name="speakingRate") + def speaking_rate(self) -> float: + """ + Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + """ + return pulumi.get(self, "speaking_rate") + + @property + @pulumi.getter + def voice(self) -> 'outputs.GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse': + """ + Optional. The desired voice of the synthesized audio. + """ + return pulumi.get(self, "voice") + + @property + @pulumi.getter(name="volumeGainDb") + def volume_gain_db(self) -> float: + """ + Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + """ + return pulumi.get(self, "volume_gain_db") + + @pulumi.output_type class GoogleCloudDialogflowCxV3TestCaseResultResponse(dict): """ @@ -3925,16 +4014,16 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - synthesize_speech_configs: Mapping[str, str]): + synthesize_speech_configs: Mapping[str, 'outputs.GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse']): """ Settings related to speech synthesizing. - :param Mapping[str, str] synthesize_speech_configs: Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. + :param Mapping[str, 'GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse'] synthesize_speech_configs: Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. """ pulumi.set(__self__, "synthesize_speech_configs", synthesize_speech_configs) @property @pulumi.getter(name="synthesizeSpeechConfigs") - def synthesize_speech_configs(self) -> Mapping[str, str]: + def synthesize_speech_configs(self) -> Mapping[str, 'outputs.GoogleCloudDialogflowCxV3SynthesizeSpeechConfigResponse']: """ Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. """ @@ -4187,6 +4276,56 @@ def version(self) -> str: return pulumi.get(self, "version") +@pulumi.output_type +class GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse(dict): + """ + Description of which voice to use for speech synthesis. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ssmlGender": + suggest = "ssml_gender" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDialogflowCxV3VoiceSelectionParamsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + ssml_gender: str): + """ + Description of which voice to use for speech synthesis. + :param str name: Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + :param str ssml_gender: Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "ssml_gender", ssml_gender) + + @property + @pulumi.getter + def name(self) -> str: + """ + Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="ssmlGender") + def ssml_gender(self) -> str: + """ + Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request. + """ + return pulumi.get(self, "ssml_gender") + + @pulumi.output_type class GoogleCloudDialogflowCxV3WebhookGenericWebServiceResponse(dict): """ @@ -4479,12 +4618,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -4501,7 +4640,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/dialogflow/v3beta1/_enums.py b/sdk/python/pulumi_google_native/dialogflow/v3beta1/_enums.py index 71d0d32bf0..9af117dc11 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v3beta1/_enums.py +++ b/sdk/python/pulumi_google_native/dialogflow/v3beta1/_enums.py @@ -17,6 +17,7 @@ 'GoogleCloudDialogflowCxV3beta1NluSettingsModelType', 'GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettingsAudioFormat', 'GoogleCloudDialogflowCxV3beta1TestCaseResultTestResult', + 'GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender', 'GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethod', 'GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceWebhookType', 'SecuritySettingPurgeDataTypesItem', @@ -299,6 +300,28 @@ class GoogleCloudDialogflowCxV3beta1TestCaseResultTestResult(str, Enum): """ +class GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender(str, Enum): + """ + Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + """ + SSML_VOICE_GENDER_UNSPECIFIED = "SSML_VOICE_GENDER_UNSPECIFIED" + """ + An unspecified gender, which means that the client doesn't care which gender the selected voice will have. + """ + SSML_VOICE_GENDER_MALE = "SSML_VOICE_GENDER_MALE" + """ + A male voice. + """ + SSML_VOICE_GENDER_FEMALE = "SSML_VOICE_GENDER_FEMALE" + """ + A female voice. + """ + SSML_VOICE_GENDER_NEUTRAL = "SSML_VOICE_GENDER_NEUTRAL" + """ + A gender-neutral voice. + """ + + class GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceHttpMethod(str, Enum): """ Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST. diff --git a/sdk/python/pulumi_google_native/dialogflow/v3beta1/_inputs.py b/sdk/python/pulumi_google_native/dialogflow/v3beta1/_inputs.py index d0323e56de..c0942bca4a 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v3beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/dialogflow/v3beta1/_inputs.py @@ -70,6 +70,7 @@ 'GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettingsArgs', 'GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettingsArgs', 'GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsArgs', + 'GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs', 'GoogleCloudDialogflowCxV3beta1TestCaseResultArgs', 'GoogleCloudDialogflowCxV3beta1TestConfigArgs', 'GoogleCloudDialogflowCxV3beta1TextInputArgs', @@ -78,6 +79,7 @@ 'GoogleCloudDialogflowCxV3beta1VariantsHistoryArgs', 'GoogleCloudDialogflowCxV3beta1VersionVariantsVariantArgs', 'GoogleCloudDialogflowCxV3beta1VersionVariantsArgs', + 'GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs', 'GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs', 'GoogleCloudDialogflowCxV3beta1WebhookServiceDirectoryConfigArgs', 'GoogleCloudDialogflowCxV3beta1WebhookArgs', @@ -478,13 +480,13 @@ def total_duration(self, value: Optional[pulumi.Input[str]]): class GoogleCloudDialogflowCxV3beta1ConversationTurnUserInputArgs: def __init__(__self__, *, enable_sentiment_analysis: Optional[pulumi.Input[bool]] = None, - injected_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + injected_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, input: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1QueryInputArgs']] = None, is_webhook_enabled: Optional[pulumi.Input[bool]] = None): """ The input from the human user. :param pulumi.Input[bool] enable_sentiment_analysis: Whether sentiment analysis is enabled. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] injected_parameters: Parameters that need to be injected into the conversation during intent detection. + :param pulumi.Input[Mapping[str, Any]] injected_parameters: Parameters that need to be injected into the conversation during intent detection. :param pulumi.Input['GoogleCloudDialogflowCxV3beta1QueryInputArgs'] input: Supports text input, event input, dtmf input in the test case. :param pulumi.Input[bool] is_webhook_enabled: If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. """ @@ -511,14 +513,14 @@ def enable_sentiment_analysis(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="injectedParameters") - def injected_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def injected_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Parameters that need to be injected into the conversation during intent detection. """ return pulumi.get(self, "injected_parameters") @injected_parameters.setter - def injected_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def injected_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "injected_parameters", value) @property @@ -549,17 +551,17 @@ def is_webhook_enabled(self, value: Optional[pulumi.Input[bool]]): @pulumi.input_type class GoogleCloudDialogflowCxV3beta1ConversationTurnVirtualAgentOutputArgs: def __init__(__self__, *, - diagnostic_info: pulumi.Input[Mapping[str, pulumi.Input[str]]], + diagnostic_info: pulumi.Input[Mapping[str, Any]], current_page: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1PageArgs']] = None, - session_parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + session_parameters: Optional[pulumi.Input[Mapping[str, Any]]] = None, status: Optional[pulumi.Input['GoogleRpcStatusArgs']] = None, text_responses: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageTextArgs']]]] = None, triggered_intent: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1IntentArgs']] = None): """ The output from the virtual agent. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] diagnostic_info: Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. + :param pulumi.Input[Mapping[str, Any]] diagnostic_info: Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. :param pulumi.Input['GoogleCloudDialogflowCxV3beta1PageArgs'] current_page: The Page on which the utterance was spoken. Only name and displayName will be set. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] session_parameters: The session parameters available to the bot at this point. + :param pulumi.Input[Mapping[str, Any]] session_parameters: The session parameters available to the bot at this point. :param pulumi.Input['GoogleRpcStatusArgs'] status: Response error from the agent in the test result. If set, other output is empty. :param pulumi.Input[Sequence[pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageTextArgs']]] text_responses: The text responses from the agent for the turn. :param pulumi.Input['GoogleCloudDialogflowCxV3beta1IntentArgs'] triggered_intent: The Intent that triggered the response. Only name and displayName will be set. @@ -578,14 +580,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="diagnosticInfo") - def diagnostic_info(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def diagnostic_info(self) -> pulumi.Input[Mapping[str, Any]]: """ Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. """ return pulumi.get(self, "diagnostic_info") @diagnostic_info.setter - def diagnostic_info(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def diagnostic_info(self, value: pulumi.Input[Mapping[str, Any]]): pulumi.set(self, "diagnostic_info", value) @property @@ -602,14 +604,14 @@ def current_page(self, value: Optional[pulumi.Input['GoogleCloudDialogflowCxV3be @property @pulumi.getter(name="sessionParameters") - def session_parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def session_parameters(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The session parameters available to the bot at this point. """ return pulumi.get(self, "session_parameters") @session_parameters.setter - def session_parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def session_parameters(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "session_parameters", value) @property @@ -2665,24 +2667,24 @@ def text(self, value: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1TextI @pulumi.input_type class GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessArgs: def __init__(__self__, *, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Custom metadata. Dialogflow doesn't impose any structure on this. + :param pulumi.Input[Mapping[str, Any]] metadata: Custom metadata. Dialogflow doesn't impose any structure on this. """ if metadata is not None: pulumi.set(__self__, "metadata", metadata) @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Custom metadata. Dialogflow doesn't impose any structure on this. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @@ -2698,24 +2700,24 @@ def __init__(__self__): @pulumi.input_type class GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs: def __init__(__self__, *, - metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + metadata: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. + :param pulumi.Input[Mapping[str, Any]] metadata: Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. """ if metadata is not None: pulumi.set(__self__, "metadata", metadata) @property @pulumi.getter - def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def metadata(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. """ return pulumi.get(self, "metadata") @metadata.setter - def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def metadata(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "metadata", value) @@ -2837,7 +2839,7 @@ def __init__(__self__, *, knowledge_info_card: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCardArgs']] = None, live_agent_handoff: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs']] = None, output_audio_text: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioTextArgs']] = None, - payload: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + payload: Optional[pulumi.Input[Mapping[str, Any]]] = None, play_audio: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudioArgs']] = None, telephony_transfer_call: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageTelephonyTransferCallArgs']] = None, text: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageTextArgs']] = None): @@ -2848,7 +2850,7 @@ def __init__(__self__, *, :param pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageKnowledgeInfoCardArgs'] knowledge_info_card: Represents info card for knowledge answers, to be better rendered in Dialogflow Messenger. :param pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffArgs'] live_agent_handoff: Hands off conversation to a human agent. :param pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioTextArgs'] output_audio_text: A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] payload: Returns a response containing a custom, platform-specific payload. + :param pulumi.Input[Mapping[str, Any]] payload: Returns a response containing a custom, platform-specific payload. :param pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudioArgs'] play_audio: Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. :param pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageTelephonyTransferCallArgs'] telephony_transfer_call: A signal that the client should transfer the phone call connected to this agent to a third-party endpoint. :param pulumi.Input['GoogleCloudDialogflowCxV3beta1ResponseMessageTextArgs'] text: Returns a text response. @@ -2934,14 +2936,14 @@ def output_audio_text(self, value: Optional[pulumi.Input['GoogleCloudDialogflowC @property @pulumi.getter - def payload(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def payload(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Returns a response containing a custom, platform-specific payload. """ return pulumi.get(self, "payload") @payload.setter - def payload(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def payload(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "payload", value) @property @@ -3269,6 +3271,94 @@ def enable_speech_adaptation(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enable_speech_adaptation", value) +@pulumi.input_type +class GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs: + def __init__(__self__, *, + effects_profile_id: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + pitch: Optional[pulumi.Input[float]] = None, + speaking_rate: Optional[pulumi.Input[float]] = None, + voice: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs']] = None, + volume_gain_db: Optional[pulumi.Input[float]] = None): + """ + Configuration of how speech should be synthesized. + :param pulumi.Input[Sequence[pulumi.Input[str]]] effects_profile_id: Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + :param pulumi.Input[float] pitch: Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + :param pulumi.Input[float] speaking_rate: Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + :param pulumi.Input['GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs'] voice: Optional. The desired voice of the synthesized audio. + :param pulumi.Input[float] volume_gain_db: Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + """ + if effects_profile_id is not None: + pulumi.set(__self__, "effects_profile_id", effects_profile_id) + if pitch is not None: + pulumi.set(__self__, "pitch", pitch) + if speaking_rate is not None: + pulumi.set(__self__, "speaking_rate", speaking_rate) + if voice is not None: + pulumi.set(__self__, "voice", voice) + if volume_gain_db is not None: + pulumi.set(__self__, "volume_gain_db", volume_gain_db) + + @property + @pulumi.getter(name="effectsProfileId") + def effects_profile_id(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + """ + return pulumi.get(self, "effects_profile_id") + + @effects_profile_id.setter + def effects_profile_id(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "effects_profile_id", value) + + @property + @pulumi.getter + def pitch(self) -> Optional[pulumi.Input[float]]: + """ + Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + """ + return pulumi.get(self, "pitch") + + @pitch.setter + def pitch(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "pitch", value) + + @property + @pulumi.getter(name="speakingRate") + def speaking_rate(self) -> Optional[pulumi.Input[float]]: + """ + Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + """ + return pulumi.get(self, "speaking_rate") + + @speaking_rate.setter + def speaking_rate(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "speaking_rate", value) + + @property + @pulumi.getter + def voice(self) -> Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs']]: + """ + Optional. The desired voice of the synthesized audio. + """ + return pulumi.get(self, "voice") + + @voice.setter + def voice(self, value: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs']]): + pulumi.set(self, "voice", value) + + @property + @pulumi.getter(name="volumeGainDb") + def volume_gain_db(self) -> Optional[pulumi.Input[float]]: + """ + Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + """ + return pulumi.get(self, "volume_gain_db") + + @volume_gain_db.setter + def volume_gain_db(self, value: Optional[pulumi.Input[float]]): + pulumi.set(self, "volume_gain_db", value) + + @pulumi.input_type class GoogleCloudDialogflowCxV3beta1TestCaseResultArgs: def __init__(__self__, *, @@ -3439,24 +3529,24 @@ def text(self, value: pulumi.Input[str]): @pulumi.input_type class GoogleCloudDialogflowCxV3beta1TextToSpeechSettingsArgs: def __init__(__self__, *, - synthesize_speech_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + synthesize_speech_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs']]]] = None): """ Settings related to speech synthesizing. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] synthesize_speech_configs: Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs']]] synthesize_speech_configs: Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. """ if synthesize_speech_configs is not None: pulumi.set(__self__, "synthesize_speech_configs", synthesize_speech_configs) @property @pulumi.getter(name="synthesizeSpeechConfigs") - def synthesize_speech_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def synthesize_speech_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs']]]]: """ Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. """ return pulumi.get(self, "synthesize_speech_configs") @synthesize_speech_configs.setter - def synthesize_speech_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def synthesize_speech_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigArgs']]]]): pulumi.set(self, "synthesize_speech_configs", value) @@ -3684,6 +3774,46 @@ def variants(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleClo pulumi.set(self, "variants", value) +@pulumi.input_type +class GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + ssml_gender: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender']] = None): + """ + Description of which voice to use for speech synthesis. + :param pulumi.Input[str] name: Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + :param pulumi.Input['GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender'] ssml_gender: Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if ssml_gender is not None: + pulumi.set(__self__, "ssml_gender", ssml_gender) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="ssmlGender") + def ssml_gender(self) -> Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender']]: + """ + Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + """ + return pulumi.get(self, "ssml_gender") + + @ssml_gender.setter + def ssml_gender(self, value: Optional[pulumi.Input['GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsSsmlGender']]): + pulumi.set(self, "ssml_gender", value) + + @pulumi.input_type class GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceArgs: def __init__(__self__, *, @@ -3981,12 +4111,12 @@ def timeout(self, value: Optional[pulumi.Input[str]]): class GoogleRpcStatusArgs: def __init__(__self__, *, code: Optional[pulumi.Input[int]] = None, - details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, message: Optional[pulumi.Input[str]] = None): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param pulumi.Input[int] code: The status code, which should be an enum value of google.rpc.Code. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param pulumi.Input[str] message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ if code is not None: @@ -4010,14 +4140,14 @@ def code(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter - def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ return pulumi.get(self, "details") @details.setter - def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "details", value) @property diff --git a/sdk/python/pulumi_google_native/dialogflow/v3beta1/agent.py b/sdk/python/pulumi_google_native/dialogflow/v3beta1/agent.py index a3f1a2aa18..e97f96e357 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v3beta1/agent.py +++ b/sdk/python/pulumi_google_native/dialogflow/v3beta1/agent.py @@ -9,6 +9,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities from . import outputs +from ._enums import * from ._inputs import * __all__ = ['AgentArgs', 'Agent'] diff --git a/sdk/python/pulumi_google_native/dialogflow/v3beta1/outputs.py b/sdk/python/pulumi_google_native/dialogflow/v3beta1/outputs.py index 03984e4529..c9c9a909d0 100644 --- a/sdk/python/pulumi_google_native/dialogflow/v3beta1/outputs.py +++ b/sdk/python/pulumi_google_native/dialogflow/v3beta1/outputs.py @@ -74,6 +74,7 @@ 'GoogleCloudDialogflowCxV3beta1SecuritySettingsAudioExportSettingsResponse', 'GoogleCloudDialogflowCxV3beta1SecuritySettingsInsightsExportSettingsResponse', 'GoogleCloudDialogflowCxV3beta1SpeechToTextSettingsResponse', + 'GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse', 'GoogleCloudDialogflowCxV3beta1TestCaseResultResponse', 'GoogleCloudDialogflowCxV3beta1TestConfigResponse', 'GoogleCloudDialogflowCxV3beta1TestRunDifferenceResponse', @@ -83,6 +84,7 @@ 'GoogleCloudDialogflowCxV3beta1VariantsHistoryResponse', 'GoogleCloudDialogflowCxV3beta1VersionVariantsResponse', 'GoogleCloudDialogflowCxV3beta1VersionVariantsVariantResponse', + 'GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse', 'GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceResponse', 'GoogleCloudDialogflowCxV3beta1WebhookResponse', 'GoogleCloudDialogflowCxV3beta1WebhookServiceDirectoryConfigResponse', @@ -623,13 +625,13 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, enable_sentiment_analysis: bool, - injected_parameters: Mapping[str, str], + injected_parameters: Mapping[str, Any], input: 'outputs.GoogleCloudDialogflowCxV3beta1QueryInputResponse', is_webhook_enabled: bool): """ The input from the human user. :param bool enable_sentiment_analysis: Whether sentiment analysis is enabled. - :param Mapping[str, str] injected_parameters: Parameters that need to be injected into the conversation during intent detection. + :param Mapping[str, Any] injected_parameters: Parameters that need to be injected into the conversation during intent detection. :param 'GoogleCloudDialogflowCxV3beta1QueryInputResponse' input: Supports text input, event input, dtmf input in the test case. :param bool is_webhook_enabled: If webhooks should be allowed to trigger in response to the user utterance. Often if parameters are injected, webhooks should not be enabled. """ @@ -648,7 +650,7 @@ def enable_sentiment_analysis(self) -> bool: @property @pulumi.getter(name="injectedParameters") - def injected_parameters(self) -> Mapping[str, str]: + def injected_parameters(self) -> Mapping[str, Any]: """ Parameters that need to be injected into the conversation during intent detection. """ @@ -703,18 +705,18 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, current_page: 'outputs.GoogleCloudDialogflowCxV3beta1PageResponse', - diagnostic_info: Mapping[str, str], + diagnostic_info: Mapping[str, Any], differences: Sequence['outputs.GoogleCloudDialogflowCxV3beta1TestRunDifferenceResponse'], - session_parameters: Mapping[str, str], + session_parameters: Mapping[str, Any], status: 'outputs.GoogleRpcStatusResponse', text_responses: Sequence['outputs.GoogleCloudDialogflowCxV3beta1ResponseMessageTextResponse'], triggered_intent: 'outputs.GoogleCloudDialogflowCxV3beta1IntentResponse'): """ The output from the virtual agent. :param 'GoogleCloudDialogflowCxV3beta1PageResponse' current_page: The Page on which the utterance was spoken. Only name and displayName will be set. - :param Mapping[str, str] diagnostic_info: Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. + :param Mapping[str, Any] diagnostic_info: Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. :param Sequence['GoogleCloudDialogflowCxV3beta1TestRunDifferenceResponse'] differences: If this is part of a result conversation turn, the list of differences between the original run and the replay for this output, if any. - :param Mapping[str, str] session_parameters: The session parameters available to the bot at this point. + :param Mapping[str, Any] session_parameters: The session parameters available to the bot at this point. :param 'GoogleRpcStatusResponse' status: Response error from the agent in the test result. If set, other output is empty. :param Sequence['GoogleCloudDialogflowCxV3beta1ResponseMessageTextResponse'] text_responses: The text responses from the agent for the turn. :param 'GoogleCloudDialogflowCxV3beta1IntentResponse' triggered_intent: The Intent that triggered the response. Only name and displayName will be set. @@ -737,7 +739,7 @@ def current_page(self) -> 'outputs.GoogleCloudDialogflowCxV3beta1PageResponse': @property @pulumi.getter(name="diagnosticInfo") - def diagnostic_info(self) -> Mapping[str, str]: + def diagnostic_info(self) -> Mapping[str, Any]: """ Input only. The diagnostic info output for the turn. Required to calculate the testing coverage. """ @@ -753,7 +755,7 @@ def differences(self) -> Sequence['outputs.GoogleCloudDialogflowCxV3beta1TestRun @property @pulumi.getter(name="sessionParameters") - def session_parameters(self) -> Mapping[str, str]: + def session_parameters(self) -> Mapping[str, Any]: """ The session parameters available to the bot at this point. """ @@ -2827,16 +2829,16 @@ class GoogleCloudDialogflowCxV3beta1ResponseMessageConversationSuccessResponse(d Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. """ def __init__(__self__, *, - metadata: Mapping[str, str]): + metadata: Mapping[str, Any]): """ Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. - :param Mapping[str, str] metadata: Custom metadata. Dialogflow doesn't impose any structure on this. + :param Mapping[str, Any] metadata: Custom metadata. Dialogflow doesn't impose any structure on this. """ pulumi.set(__self__, "metadata", metadata) @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Custom metadata. Dialogflow doesn't impose any structure on this. """ @@ -2873,16 +2875,16 @@ class GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse(dict Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. """ def __init__(__self__, *, - metadata: Mapping[str, str]): + metadata: Mapping[str, Any]): """ Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. - :param Mapping[str, str] metadata: Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. + :param Mapping[str, Any] metadata: Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. """ pulumi.set(__self__, "metadata", metadata) @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Custom metadata for your handoff procedure. Dialogflow doesn't impose any structure on this. """ @@ -3129,7 +3131,7 @@ def __init__(__self__, *, live_agent_handoff: 'outputs.GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse', mixed_audio: 'outputs.GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioResponse', output_audio_text: 'outputs.GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioTextResponse', - payload: Mapping[str, str], + payload: Mapping[str, Any], play_audio: 'outputs.GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudioResponse', telephony_transfer_call: 'outputs.GoogleCloudDialogflowCxV3beta1ResponseMessageTelephonyTransferCallResponse', text: 'outputs.GoogleCloudDialogflowCxV3beta1ResponseMessageTextResponse'): @@ -3142,7 +3144,7 @@ def __init__(__self__, *, :param 'GoogleCloudDialogflowCxV3beta1ResponseMessageLiveAgentHandoffResponse' live_agent_handoff: Hands off conversation to a human agent. :param 'GoogleCloudDialogflowCxV3beta1ResponseMessageMixedAudioResponse' mixed_audio: An audio response message composed of both the synthesized Dialogflow agent responses and responses defined via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user. :param 'GoogleCloudDialogflowCxV3beta1ResponseMessageOutputAudioTextResponse' output_audio_text: A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. - :param Mapping[str, str] payload: Returns a response containing a custom, platform-specific payload. + :param Mapping[str, Any] payload: Returns a response containing a custom, platform-specific payload. :param 'GoogleCloudDialogflowCxV3beta1ResponseMessagePlayAudioResponse' play_audio: Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way. :param 'GoogleCloudDialogflowCxV3beta1ResponseMessageTelephonyTransferCallResponse' telephony_transfer_call: A signal that the client should transfer the phone call connected to this agent to a third-party endpoint. :param 'GoogleCloudDialogflowCxV3beta1ResponseMessageTextResponse' text: Returns a text response. @@ -3217,7 +3219,7 @@ def output_audio_text(self) -> 'outputs.GoogleCloudDialogflowCxV3beta1ResponseMe @property @pulumi.getter - def payload(self) -> Mapping[str, str]: + def payload(self) -> Mapping[str, Any]: """ Returns a response containing a custom, platform-specific payload. """ @@ -3686,6 +3688,93 @@ def enable_speech_adaptation(self) -> bool: return pulumi.get(self, "enable_speech_adaptation") +@pulumi.output_type +class GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse(dict): + """ + Configuration of how speech should be synthesized. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "effectsProfileId": + suggest = "effects_profile_id" + elif key == "speakingRate": + suggest = "speaking_rate" + elif key == "volumeGainDb": + suggest = "volume_gain_db" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + effects_profile_id: Sequence[str], + pitch: float, + speaking_rate: float, + voice: 'outputs.GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse', + volume_gain_db: float): + """ + Configuration of how speech should be synthesized. + :param Sequence[str] effects_profile_id: Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + :param float pitch: Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + :param float speaking_rate: Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + :param 'GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse' voice: Optional. The desired voice of the synthesized audio. + :param float volume_gain_db: Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + """ + pulumi.set(__self__, "effects_profile_id", effects_profile_id) + pulumi.set(__self__, "pitch", pitch) + pulumi.set(__self__, "speaking_rate", speaking_rate) + pulumi.set(__self__, "voice", voice) + pulumi.set(__self__, "volume_gain_db", volume_gain_db) + + @property + @pulumi.getter(name="effectsProfileId") + def effects_profile_id(self) -> Sequence[str]: + """ + Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. + """ + return pulumi.get(self, "effects_profile_id") + + @property + @pulumi.getter + def pitch(self) -> float: + """ + Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. + """ + return pulumi.get(self, "pitch") + + @property + @pulumi.getter(name="speakingRate") + def speaking_rate(self) -> float: + """ + Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error. + """ + return pulumi.get(self, "speaking_rate") + + @property + @pulumi.getter + def voice(self) -> 'outputs.GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse': + """ + Optional. The desired voice of the synthesized audio. + """ + return pulumi.get(self, "voice") + + @property + @pulumi.getter(name="volumeGainDb") + def volume_gain_db(self) -> float: + """ + Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that. + """ + return pulumi.get(self, "volume_gain_db") + + @pulumi.output_type class GoogleCloudDialogflowCxV3beta1TestCaseResultResponse(dict): """ @@ -3912,16 +4001,16 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - synthesize_speech_configs: Mapping[str, str]): + synthesize_speech_configs: Mapping[str, 'outputs.GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse']): """ Settings related to speech synthesizing. - :param Mapping[str, str] synthesize_speech_configs: Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. + :param Mapping[str, 'GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse'] synthesize_speech_configs: Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. """ pulumi.set(__self__, "synthesize_speech_configs", synthesize_speech_configs) @property @pulumi.getter(name="synthesizeSpeechConfigs") - def synthesize_speech_configs(self) -> Mapping[str, str]: + def synthesize_speech_configs(self) -> Mapping[str, 'outputs.GoogleCloudDialogflowCxV3beta1SynthesizeSpeechConfigResponse']: """ Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/cx/docs/reference/language) to SynthesizeSpeechConfig. These settings affect: - The [phone gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) synthesize configuration set via Agent.text_to_speech_settings. - How speech is synthesized when invoking session APIs. Agent.text_to_speech_settings only applies if OutputAudioConfig.synthesize_speech_config is not specified. """ @@ -4174,6 +4263,56 @@ def version(self) -> str: return pulumi.get(self, "version") +@pulumi.output_type +class GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse(dict): + """ + Description of which voice to use for speech synthesis. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ssmlGender": + suggest = "ssml_gender" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleCloudDialogflowCxV3beta1VoiceSelectionParamsResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + ssml_gender: str): + """ + Description of which voice to use for speech synthesis. + :param str name: Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + :param str ssml_gender: Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "ssml_gender", ssml_gender) + + @property + @pulumi.getter + def name(self) -> str: + """ + Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to [Supported voices and languages](https://cloud.google.com/text-to-speech/docs/voices). + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="ssmlGender") + def ssml_gender(self) -> str: + """ + Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request. + """ + return pulumi.get(self, "ssml_gender") + + @pulumi.output_type class GoogleCloudDialogflowCxV3beta1WebhookGenericWebServiceResponse(dict): """ @@ -4466,12 +4605,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -4488,7 +4627,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/discoveryengine/v1alpha/document.py b/sdk/python/pulumi_google_native/discoveryengine/v1alpha/document.py index 0cdc807d70..a6cb40588b 100644 --- a/sdk/python/pulumi_google_native/discoveryengine/v1alpha/document.py +++ b/sdk/python/pulumi_google_native/discoveryengine/v1alpha/document.py @@ -28,7 +28,7 @@ def __init__(__self__, *, parent_document_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + struct_data: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ The set of arguments for constructing a Document resource. :param pulumi.Input[str] document_id: Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. @@ -38,7 +38,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. :param pulumi.Input[str] parent_document_id: The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. :param pulumi.Input[str] schema_id: The identifier of the schema located in the same data store. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] struct_data: The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. + :param pulumi.Input[Mapping[str, Any]] struct_data: The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ pulumi.set(__self__, "branch_id", branch_id) pulumi.set(__self__, "collection_id", collection_id) @@ -194,14 +194,14 @@ def schema_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="structData") - def struct_data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def struct_data(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ return pulumi.get(self, "struct_data") @struct_data.setter - def struct_data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def struct_data(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "struct_data", value) @@ -222,7 +222,7 @@ def __init__(__self__, parent_document_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + struct_data: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): """ Creates a Document. @@ -236,7 +236,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. :param pulumi.Input[str] parent_document_id: The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. :param pulumi.Input[str] schema_id: The identifier of the schema located in the same data store. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] struct_data: The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. + :param pulumi.Input[Mapping[str, Any]] struct_data: The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ ... @overload @@ -274,7 +274,7 @@ def _internal_init(__self__, parent_document_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + struct_data: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -370,7 +370,7 @@ def data_store_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="derivedStructData") - def derived_struct_data(self) -> pulumi.Output[Mapping[str, str]]: + def derived_struct_data(self) -> pulumi.Output[Mapping[str, Any]]: """ This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. """ @@ -428,7 +428,7 @@ def schema_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="structData") - def struct_data(self) -> pulumi.Output[Mapping[str, str]]: + def struct_data(self) -> pulumi.Output[Mapping[str, Any]]: """ The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ diff --git a/sdk/python/pulumi_google_native/discoveryengine/v1alpha/get_document.py b/sdk/python/pulumi_google_native/discoveryengine/v1alpha/get_document.py index f6634a0b29..d7e8d129f4 100644 --- a/sdk/python/pulumi_google_native/discoveryengine/v1alpha/get_document.py +++ b/sdk/python/pulumi_google_native/discoveryengine/v1alpha/get_document.py @@ -52,7 +52,7 @@ def content(self) -> 'outputs.GoogleCloudDiscoveryengineV1alphaDocumentContentRe @property @pulumi.getter(name="derivedStructData") - def derived_struct_data(self) -> Mapping[str, str]: + def derived_struct_data(self) -> Mapping[str, Any]: """ This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. """ @@ -92,7 +92,7 @@ def schema_id(self) -> str: @property @pulumi.getter(name="structData") - def struct_data(self) -> Mapping[str, str]: + def struct_data(self) -> Mapping[str, Any]: """ The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ diff --git a/sdk/python/pulumi_google_native/discoveryengine/v1alpha/get_schema.py b/sdk/python/pulumi_google_native/discoveryengine/v1alpha/get_schema.py index f06559b5a9..09f95ef245 100644 --- a/sdk/python/pulumi_google_native/discoveryengine/v1alpha/get_schema.py +++ b/sdk/python/pulumi_google_native/discoveryengine/v1alpha/get_schema.py @@ -59,7 +59,7 @@ def name(self) -> str: @property @pulumi.getter(name="structSchema") - def struct_schema(self) -> Mapping[str, str]: + def struct_schema(self) -> Mapping[str, Any]: """ The structured representation of the schema. """ diff --git a/sdk/python/pulumi_google_native/discoveryengine/v1alpha/schema.py b/sdk/python/pulumi_google_native/discoveryengine/v1alpha/schema.py index b44858926a..0369eaff69 100644 --- a/sdk/python/pulumi_google_native/discoveryengine/v1alpha/schema.py +++ b/sdk/python/pulumi_google_native/discoveryengine/v1alpha/schema.py @@ -22,13 +22,13 @@ def __init__(__self__, *, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, - struct_schema: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + struct_schema: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ The set of arguments for constructing a Schema resource. :param pulumi.Input[str] schema_id: Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. :param pulumi.Input[str] json_schema: The JSON representation of the schema. :param pulumi.Input[str] name: Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] struct_schema: The structured representation of the schema. + :param pulumi.Input[Mapping[str, Any]] struct_schema: The structured representation of the schema. """ pulumi.set(__self__, "collection_id", collection_id) pulumi.set(__self__, "data_store_id", data_store_id) @@ -118,14 +118,14 @@ def project(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="structSchema") - def struct_schema(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def struct_schema(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The structured representation of the schema. """ return pulumi.get(self, "struct_schema") @struct_schema.setter - def struct_schema(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def struct_schema(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "struct_schema", value) @@ -141,7 +141,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_schema: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + struct_schema: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): """ Creates a Schema. @@ -151,7 +151,7 @@ def __init__(__self__, :param pulumi.Input[str] json_schema: The JSON representation of the schema. :param pulumi.Input[str] name: Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. :param pulumi.Input[str] schema_id: Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] struct_schema: The structured representation of the schema. + :param pulumi.Input[Mapping[str, Any]] struct_schema: The structured representation of the schema. """ ... @overload @@ -184,7 +184,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_schema: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + struct_schema: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -298,7 +298,7 @@ def schema_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="structSchema") - def struct_schema(self) -> pulumi.Output[Mapping[str, str]]: + def struct_schema(self) -> pulumi.Output[Mapping[str, Any]]: """ The structured representation of the schema. """ diff --git a/sdk/python/pulumi_google_native/discoveryengine/v1beta/document.py b/sdk/python/pulumi_google_native/discoveryengine/v1beta/document.py index 29acafcba7..ef5a4bf3db 100644 --- a/sdk/python/pulumi_google_native/discoveryengine/v1beta/document.py +++ b/sdk/python/pulumi_google_native/discoveryengine/v1beta/document.py @@ -28,7 +28,7 @@ def __init__(__self__, *, parent_document_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + struct_data: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ The set of arguments for constructing a Document resource. :param pulumi.Input[str] document_id: Required. The ID to use for the Document, which will become the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. @@ -38,7 +38,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. :param pulumi.Input[str] parent_document_id: The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. :param pulumi.Input[str] schema_id: The identifier of the schema located in the same data store. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] struct_data: The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. + :param pulumi.Input[Mapping[str, Any]] struct_data: The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ pulumi.set(__self__, "branch_id", branch_id) pulumi.set(__self__, "collection_id", collection_id) @@ -194,14 +194,14 @@ def schema_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="structData") - def struct_data(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def struct_data(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ return pulumi.get(self, "struct_data") @struct_data.setter - def struct_data(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def struct_data(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "struct_data", value) @@ -222,7 +222,7 @@ def __init__(__self__, parent_document_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + struct_data: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): """ Creates a Document. @@ -236,7 +236,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. :param pulumi.Input[str] parent_document_id: The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. :param pulumi.Input[str] schema_id: The identifier of the schema located in the same data store. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] struct_data: The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. + :param pulumi.Input[Mapping[str, Any]] struct_data: The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ ... @overload @@ -274,7 +274,7 @@ def _internal_init(__self__, parent_document_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_data: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + struct_data: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -370,7 +370,7 @@ def data_store_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="derivedStructData") - def derived_struct_data(self) -> pulumi.Output[Mapping[str, str]]: + def derived_struct_data(self) -> pulumi.Output[Mapping[str, Any]]: """ This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. """ @@ -428,7 +428,7 @@ def schema_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="structData") - def struct_data(self) -> pulumi.Output[Mapping[str, str]]: + def struct_data(self) -> pulumi.Output[Mapping[str, Any]]: """ The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ diff --git a/sdk/python/pulumi_google_native/discoveryengine/v1beta/get_document.py b/sdk/python/pulumi_google_native/discoveryengine/v1beta/get_document.py index 348178ea33..c5965cec99 100644 --- a/sdk/python/pulumi_google_native/discoveryengine/v1beta/get_document.py +++ b/sdk/python/pulumi_google_native/discoveryengine/v1beta/get_document.py @@ -52,7 +52,7 @@ def content(self) -> 'outputs.GoogleCloudDiscoveryengineV1betaDocumentContentRes @property @pulumi.getter(name="derivedStructData") - def derived_struct_data(self) -> Mapping[str, str]: + def derived_struct_data(self) -> Mapping[str, Any]: """ This field is OUTPUT_ONLY. It contains derived data that are not in the original input document. """ @@ -92,7 +92,7 @@ def schema_id(self) -> str: @property @pulumi.getter(name="structData") - def struct_data(self) -> Mapping[str, str]: + def struct_data(self) -> Mapping[str, Any]: """ The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown. """ diff --git a/sdk/python/pulumi_google_native/discoveryengine/v1beta/get_schema.py b/sdk/python/pulumi_google_native/discoveryengine/v1beta/get_schema.py index 4e8ae995a4..83baeba4c8 100644 --- a/sdk/python/pulumi_google_native/discoveryengine/v1beta/get_schema.py +++ b/sdk/python/pulumi_google_native/discoveryengine/v1beta/get_schema.py @@ -47,7 +47,7 @@ def name(self) -> str: @property @pulumi.getter(name="structSchema") - def struct_schema(self) -> Mapping[str, str]: + def struct_schema(self) -> Mapping[str, Any]: """ The structured representation of the schema. """ diff --git a/sdk/python/pulumi_google_native/discoveryengine/v1beta/schema.py b/sdk/python/pulumi_google_native/discoveryengine/v1beta/schema.py index b895fa71d6..6f01ecb1cf 100644 --- a/sdk/python/pulumi_google_native/discoveryengine/v1beta/schema.py +++ b/sdk/python/pulumi_google_native/discoveryengine/v1beta/schema.py @@ -21,13 +21,13 @@ def __init__(__self__, *, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, - struct_schema: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + struct_schema: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ The set of arguments for constructing a Schema resource. :param pulumi.Input[str] schema_id: Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. :param pulumi.Input[str] json_schema: The JSON representation of the schema. :param pulumi.Input[str] name: Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] struct_schema: The structured representation of the schema. + :param pulumi.Input[Mapping[str, Any]] struct_schema: The structured representation of the schema. """ pulumi.set(__self__, "collection_id", collection_id) pulumi.set(__self__, "data_store_id", data_store_id) @@ -117,14 +117,14 @@ def project(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="structSchema") - def struct_schema(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def struct_schema(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The structured representation of the schema. """ return pulumi.get(self, "struct_schema") @struct_schema.setter - def struct_schema(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def struct_schema(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "struct_schema", value) @@ -140,7 +140,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_schema: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + struct_schema: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): """ Creates a Schema. @@ -150,7 +150,7 @@ def __init__(__self__, :param pulumi.Input[str] json_schema: The JSON representation of the schema. :param pulumi.Input[str] name: Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. :param pulumi.Input[str] schema_id: Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] struct_schema: The structured representation of the schema. + :param pulumi.Input[Mapping[str, Any]] struct_schema: The structured representation of the schema. """ ... @overload @@ -183,7 +183,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, schema_id: Optional[pulumi.Input[str]] = None, - struct_schema: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + struct_schema: Optional[pulumi.Input[Mapping[str, Any]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -287,7 +287,7 @@ def schema_id(self) -> pulumi.Output[str]: @property @pulumi.getter(name="structSchema") - def struct_schema(self) -> pulumi.Output[Mapping[str, str]]: + def struct_schema(self) -> pulumi.Output[Mapping[str, Any]]: """ The structured representation of the schema. """ diff --git a/sdk/python/pulumi_google_native/dlp/v2/outputs.py b/sdk/python/pulumi_google_native/dlp/v2/outputs.py index 6fff6be6ea..b0ab08949c 100644 --- a/sdk/python/pulumi_google_native/dlp/v2/outputs.py +++ b/sdk/python/pulumi_google_native/dlp/v2/outputs.py @@ -8774,12 +8774,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -8796,7 +8796,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/eventarc/v1/get_trigger.py b/sdk/python/pulumi_google_native/eventarc/v1/get_trigger.py index 4550398bb9..1e3387a96d 100644 --- a/sdk/python/pulumi_google_native/eventarc/v1/get_trigger.py +++ b/sdk/python/pulumi_google_native/eventarc/v1/get_trigger.py @@ -70,7 +70,7 @@ def channel(self) -> str: @property @pulumi.getter - def conditions(self) -> Mapping[str, str]: + def conditions(self) -> Mapping[str, 'outputs.StateConditionResponse']: """ The reason(s) why a trigger is in FAILED state. """ diff --git a/sdk/python/pulumi_google_native/eventarc/v1/outputs.py b/sdk/python/pulumi_google_native/eventarc/v1/outputs.py index ed6d1befd7..728b494682 100644 --- a/sdk/python/pulumi_google_native/eventarc/v1/outputs.py +++ b/sdk/python/pulumi_google_native/eventarc/v1/outputs.py @@ -23,6 +23,7 @@ 'HttpEndpointResponse', 'NetworkConfigResponse', 'PubsubResponse', + 'StateConditionResponse', 'TransportResponse', ] @@ -575,6 +576,39 @@ def topic(self) -> str: return pulumi.get(self, "topic") +@pulumi.output_type +class StateConditionResponse(dict): + """ + A condition that is part of the trigger state computation. + """ + def __init__(__self__, *, + code: str, + message: str): + """ + A condition that is part of the trigger state computation. + :param str code: The canonical code of the condition. + :param str message: Human-readable message. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def code(self) -> str: + """ + The canonical code of the condition. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def message(self) -> str: + """ + Human-readable message. + """ + return pulumi.get(self, "message") + + @pulumi.output_type class TransportResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/eventarc/v1/trigger.py b/sdk/python/pulumi_google_native/eventarc/v1/trigger.py index d86f671f9e..606814eef0 100644 --- a/sdk/python/pulumi_google_native/eventarc/v1/trigger.py +++ b/sdk/python/pulumi_google_native/eventarc/v1/trigger.py @@ -336,7 +336,7 @@ def channel(self) -> pulumi.Output[str]: @property @pulumi.getter - def conditions(self) -> pulumi.Output[Mapping[str, str]]: + def conditions(self) -> pulumi.Output[Mapping[str, 'outputs.StateConditionResponse']]: """ The reason(s) why a trigger is in FAILED state. """ diff --git a/sdk/python/pulumi_google_native/firebasehosting/v1beta1/outputs.py b/sdk/python/pulumi_google_native/firebasehosting/v1beta1/outputs.py index 2de8416681..9c9b9aa0be 100644 --- a/sdk/python/pulumi_google_native/firebasehosting/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/firebasehosting/v1beta1/outputs.py @@ -1277,12 +1277,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -1299,7 +1299,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/firebaseml/v1beta2/outputs.py b/sdk/python/pulumi_google_native/firebaseml/v1beta2/outputs.py index 19cac88949..2bacc60641 100644 --- a/sdk/python/pulumi_google_native/firebaseml/v1beta2/outputs.py +++ b/sdk/python/pulumi_google_native/firebaseml/v1beta2/outputs.py @@ -75,16 +75,16 @@ class OperationResponse(dict): def __init__(__self__, *, done: bool, error: 'outputs.StatusResponse', - metadata: Mapping[str, str], + metadata: Mapping[str, Any], name: str, - response: Mapping[str, str]): + response: Mapping[str, Any]): """ This resource represents a long-running operation that is the result of a network API call. :param bool done: If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. :param 'StatusResponse' error: The error result of the operation in case of failure or cancellation. - :param Mapping[str, str] metadata: Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + :param Mapping[str, Any] metadata: Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. :param str name: The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. - :param Mapping[str, str] response: The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + :param Mapping[str, Any] response: The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. """ pulumi.set(__self__, "done", done) pulumi.set(__self__, "error", error) @@ -110,7 +110,7 @@ def error(self) -> 'outputs.StatusResponse': @property @pulumi.getter - def metadata(self) -> Mapping[str, str]: + def metadata(self) -> Mapping[str, Any]: """ Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. """ @@ -126,7 +126,7 @@ def name(self) -> str: @property @pulumi.getter - def response(self) -> Mapping[str, str]: + def response(self) -> Mapping[str, Any]: """ The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. """ @@ -140,12 +140,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -162,7 +162,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/gkehub/v1/_enums.py b/sdk/python/pulumi_google_native/gkehub/v1/_enums.py index c26a17c600..51328101a9 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1/_enums.py +++ b/sdk/python/pulumi_google_native/gkehub/v1/_enums.py @@ -10,8 +10,10 @@ 'ConfigManagementPolicyControllerMonitoringBackendsItem', 'FleetObservabilityRoutingConfigMode', 'OnPremClusterClusterType', + 'OriginType', 'PolicyControllerHubConfigInstallSpec', 'PolicyControllerMonitoringConfigBackendsItem', + 'PolicyControllerPolicyControllerDeploymentConfigPodAffinity', 'PolicyControllerTemplateLibraryConfigInstallation', 'RolePredefinedRole', 'SecurityPostureConfigMode', @@ -120,6 +122,28 @@ class OnPremClusterClusterType(str, Enum): """ +class OriginType(str, Enum): + """ + Type specifies which type of origin is set. + """ + TYPE_UNSPECIFIED = "TYPE_UNSPECIFIED" + """ + Type is unknown or not set. + """ + FLEET = "FLEET" + """ + Per-Membership spec was inherited from the fleet-level default. + """ + FLEET_OUT_OF_SYNC = "FLEET_OUT_OF_SYNC" + """ + Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + """ + USER = "USER" + """ + Per-Membership spec was inherited from a user specification. + """ + + class PolicyControllerHubConfigInstallSpec(str, Enum): """ The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. @@ -161,6 +185,24 @@ class PolicyControllerMonitoringConfigBackendsItem(str, Enum): """ +class PolicyControllerPolicyControllerDeploymentConfigPodAffinity(str, Enum): + """ + Pod affinity configuration. + """ + AFFINITY_UNSPECIFIED = "AFFINITY_UNSPECIFIED" + """ + No affinity configuration has been specified. + """ + NO_AFFINITY = "NO_AFFINITY" + """ + Affinity configurations will be removed from the deployment. + """ + ANTI_AFFINITY = "ANTI_AFFINITY" + """ + Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + """ + + class PolicyControllerTemplateLibraryConfigInstallation(str, Enum): """ Configures the manner in which the template library is installed on the cluster. diff --git a/sdk/python/pulumi_google_native/gkehub/v1/_inputs.py b/sdk/python/pulumi_google_native/gkehub/v1/_inputs.py index 6b184c5e5c..05676fafb7 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/gkehub/v1/_inputs.py @@ -36,6 +36,7 @@ 'ExprArgs', 'FleetObservabilityFeatureSpecArgs', 'FleetObservabilityLoggingConfigArgs', + 'FleetObservabilityMembershipSpecArgs', 'FleetObservabilityRoutingConfigArgs', 'GkeClusterArgs', 'IdentityServiceAuthMethodArgs', @@ -45,18 +46,26 @@ 'IdentityServiceOidcConfigArgs', 'KubernetesResourceArgs', 'MembershipEndpointArgs', + 'MembershipFeatureSpecArgs', 'MonitoringConfigArgs', 'MultiCloudClusterArgs', 'MultiClusterIngressFeatureSpecArgs', 'OnPremClusterArgs', + 'OriginArgs', 'PolicyBindingArgs', + 'PolicyControllerBundleInstallSpecArgs', 'PolicyControllerHubConfigArgs', 'PolicyControllerMembershipSpecArgs', 'PolicyControllerMonitoringConfigArgs', 'PolicyControllerPolicyContentSpecArgs', + 'PolicyControllerPolicyControllerDeploymentConfigArgs', + 'PolicyControllerResourceListArgs', + 'PolicyControllerResourceRequirementsArgs', 'PolicyControllerTemplateLibraryConfigArgs', + 'PolicyControllerTolerationArgs', 'ResourceOptionsArgs', 'RoleArgs', + 'ScopeFeatureSpecArgs', 'SecurityPostureConfigArgs', 'ServiceMeshMembershipSpecArgs', ] @@ -1462,6 +1471,15 @@ def fleet_scope_logs_config(self, value: Optional[pulumi.Input['FleetObservabili pulumi.set(self, "fleet_scope_logs_config", value) +@pulumi.input_type +class FleetObservabilityMembershipSpecArgs: + def __init__(__self__): + """ + **FleetObservability**: The membership-specific input for FleetObservability feature. + """ + pass + + @pulumi.input_type class FleetObservabilityRoutingConfigArgs: def __init__(__self__, *, @@ -2078,6 +2096,110 @@ def on_prem_cluster(self, value: Optional[pulumi.Input['OnPremClusterArgs']]): pulumi.set(self, "on_prem_cluster", value) +@pulumi.input_type +class MembershipFeatureSpecArgs: + def __init__(__self__, *, + configmanagement: Optional[pulumi.Input['ConfigManagementMembershipSpecArgs']] = None, + fleetobservability: Optional[pulumi.Input['FleetObservabilityMembershipSpecArgs']] = None, + identityservice: Optional[pulumi.Input['IdentityServiceMembershipSpecArgs']] = None, + mesh: Optional[pulumi.Input['ServiceMeshMembershipSpecArgs']] = None, + origin: Optional[pulumi.Input['OriginArgs']] = None, + policycontroller: Optional[pulumi.Input['PolicyControllerMembershipSpecArgs']] = None): + """ + MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + :param pulumi.Input['ConfigManagementMembershipSpecArgs'] configmanagement: Config Management-specific spec. + :param pulumi.Input['FleetObservabilityMembershipSpecArgs'] fleetobservability: Fleet observability membership spec + :param pulumi.Input['IdentityServiceMembershipSpecArgs'] identityservice: Identity Service-specific spec. + :param pulumi.Input['ServiceMeshMembershipSpecArgs'] mesh: Anthos Service Mesh-specific spec + :param pulumi.Input['OriginArgs'] origin: Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + :param pulumi.Input['PolicyControllerMembershipSpecArgs'] policycontroller: Policy Controller spec. + """ + if configmanagement is not None: + pulumi.set(__self__, "configmanagement", configmanagement) + if fleetobservability is not None: + pulumi.set(__self__, "fleetobservability", fleetobservability) + if identityservice is not None: + pulumi.set(__self__, "identityservice", identityservice) + if mesh is not None: + pulumi.set(__self__, "mesh", mesh) + if origin is not None: + pulumi.set(__self__, "origin", origin) + if policycontroller is not None: + pulumi.set(__self__, "policycontroller", policycontroller) + + @property + @pulumi.getter + def configmanagement(self) -> Optional[pulumi.Input['ConfigManagementMembershipSpecArgs']]: + """ + Config Management-specific spec. + """ + return pulumi.get(self, "configmanagement") + + @configmanagement.setter + def configmanagement(self, value: Optional[pulumi.Input['ConfigManagementMembershipSpecArgs']]): + pulumi.set(self, "configmanagement", value) + + @property + @pulumi.getter + def fleetobservability(self) -> Optional[pulumi.Input['FleetObservabilityMembershipSpecArgs']]: + """ + Fleet observability membership spec + """ + return pulumi.get(self, "fleetobservability") + + @fleetobservability.setter + def fleetobservability(self, value: Optional[pulumi.Input['FleetObservabilityMembershipSpecArgs']]): + pulumi.set(self, "fleetobservability", value) + + @property + @pulumi.getter + def identityservice(self) -> Optional[pulumi.Input['IdentityServiceMembershipSpecArgs']]: + """ + Identity Service-specific spec. + """ + return pulumi.get(self, "identityservice") + + @identityservice.setter + def identityservice(self, value: Optional[pulumi.Input['IdentityServiceMembershipSpecArgs']]): + pulumi.set(self, "identityservice", value) + + @property + @pulumi.getter + def mesh(self) -> Optional[pulumi.Input['ServiceMeshMembershipSpecArgs']]: + """ + Anthos Service Mesh-specific spec + """ + return pulumi.get(self, "mesh") + + @mesh.setter + def mesh(self, value: Optional[pulumi.Input['ServiceMeshMembershipSpecArgs']]): + pulumi.set(self, "mesh", value) + + @property + @pulumi.getter + def origin(self) -> Optional[pulumi.Input['OriginArgs']]: + """ + Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + """ + return pulumi.get(self, "origin") + + @origin.setter + def origin(self, value: Optional[pulumi.Input['OriginArgs']]): + pulumi.set(self, "origin", value) + + @property + @pulumi.getter + def policycontroller(self) -> Optional[pulumi.Input['PolicyControllerMembershipSpecArgs']]: + """ + Policy Controller spec. + """ + return pulumi.get(self, "policycontroller") + + @policycontroller.setter + def policycontroller(self, value: Optional[pulumi.Input['PolicyControllerMembershipSpecArgs']]): + pulumi.set(self, "policycontroller", value) + + @pulumi.input_type class MonitoringConfigArgs: def __init__(__self__, *, @@ -2270,6 +2392,30 @@ def resource_link(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "resource_link", value) +@pulumi.input_type +class OriginArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input['OriginType']] = None): + """ + Origin defines where this MembershipFeatureSpec originated from. + :param pulumi.Input['OriginType'] type: Type specifies which type of origin is set. + """ + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['OriginType']]: + """ + Type specifies which type of origin is set. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['OriginType']]): + pulumi.set(self, "type", value) + + @pulumi.input_type class PolicyBindingArgs: def __init__(__self__, *, @@ -2294,12 +2440,36 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +@pulumi.input_type +class PolicyControllerBundleInstallSpecArgs: + def __init__(__self__, *, + exempted_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + BundleInstallSpec is the specification configuration for a single managed bundle. + :param pulumi.Input[Sequence[pulumi.Input[str]]] exempted_namespaces: The set of namespaces to be exempted from the bundle. + """ + if exempted_namespaces is not None: + pulumi.set(__self__, "exempted_namespaces", exempted_namespaces) + + @property + @pulumi.getter(name="exemptedNamespaces") + def exempted_namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of namespaces to be exempted from the bundle. + """ + return pulumi.get(self, "exempted_namespaces") + + @exempted_namespaces.setter + def exempted_namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "exempted_namespaces", value) + + @pulumi.input_type class PolicyControllerHubConfigArgs: def __init__(__self__, *, audit_interval_seconds: Optional[pulumi.Input[str]] = None, constraint_violation_limit: Optional[pulumi.Input[str]] = None, - deployment_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + deployment_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]]] = None, exemptable_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, install_spec: Optional[pulumi.Input['PolicyControllerHubConfigInstallSpec']] = None, log_denies_enabled: Optional[pulumi.Input[bool]] = None, @@ -2311,7 +2481,7 @@ def __init__(__self__, *, Configuration for Policy Controller :param pulumi.Input[str] audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. :param pulumi.Input[str] constraint_violation_limit: The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). + :param pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). :param pulumi.Input[Sequence[pulumi.Input[str]]] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. :param pulumi.Input['PolicyControllerHubConfigInstallSpec'] install_spec: The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. :param pulumi.Input[bool] log_denies_enabled: Logs all denies and dry run failures. @@ -2367,14 +2537,14 @@ def constraint_violation_limit(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="deploymentConfigs") - def deployment_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def deployment_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]]]: """ Map of deployment configs to deployments ("admission", "audit", "mutation'). """ return pulumi.get(self, "deployment_configs") @deployment_configs.setter - def deployment_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def deployment_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]]]): pulumi.set(self, "deployment_configs", value) @property @@ -2529,11 +2699,11 @@ def backends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyCon @pulumi.input_type class PolicyControllerPolicyContentSpecArgs: def __init__(__self__, *, - bundles: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + bundles: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]]] = None, template_library: Optional[pulumi.Input['PolicyControllerTemplateLibraryConfigArgs']] = None): """ PolicyContentSpec defines the user's desired content configuration on the cluster. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + :param pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. :param pulumi.Input['PolicyControllerTemplateLibraryConfigArgs'] template_library: Configures the installation of the Template Library. """ if bundles is not None: @@ -2543,14 +2713,14 @@ def __init__(__self__, *, @property @pulumi.getter - def bundles(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def bundles(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]]]: """ map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. """ return pulumi.get(self, "bundles") @bundles.setter - def bundles(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def bundles(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]]]): pulumi.set(self, "bundles", value) @property @@ -2566,6 +2736,174 @@ def template_library(self, value: Optional[pulumi.Input['PolicyControllerTemplat pulumi.set(self, "template_library", value) +@pulumi.input_type +class PolicyControllerPolicyControllerDeploymentConfigArgs: + def __init__(__self__, *, + container_resources: Optional[pulumi.Input['PolicyControllerResourceRequirementsArgs']] = None, + pod_affinity: Optional[pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity']] = None, + pod_anti_affinity: Optional[pulumi.Input[bool]] = None, + pod_tolerations: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]]] = None, + replica_count: Optional[pulumi.Input[str]] = None): + """ + Deployment-specific configuration. + :param pulumi.Input['PolicyControllerResourceRequirementsArgs'] container_resources: Container resource requirements. + :param pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity'] pod_affinity: Pod affinity configuration. + :param pulumi.Input[bool] pod_anti_affinity: Pod anti-affinity enablement. + :param pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]] pod_tolerations: Pod tolerations of node taints. + :param pulumi.Input[str] replica_count: Pod replica count. + """ + if container_resources is not None: + pulumi.set(__self__, "container_resources", container_resources) + if pod_affinity is not None: + pulumi.set(__self__, "pod_affinity", pod_affinity) + if pod_anti_affinity is not None: + pulumi.set(__self__, "pod_anti_affinity", pod_anti_affinity) + if pod_tolerations is not None: + pulumi.set(__self__, "pod_tolerations", pod_tolerations) + if replica_count is not None: + pulumi.set(__self__, "replica_count", replica_count) + + @property + @pulumi.getter(name="containerResources") + def container_resources(self) -> Optional[pulumi.Input['PolicyControllerResourceRequirementsArgs']]: + """ + Container resource requirements. + """ + return pulumi.get(self, "container_resources") + + @container_resources.setter + def container_resources(self, value: Optional[pulumi.Input['PolicyControllerResourceRequirementsArgs']]): + pulumi.set(self, "container_resources", value) + + @property + @pulumi.getter(name="podAffinity") + def pod_affinity(self) -> Optional[pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity']]: + """ + Pod affinity configuration. + """ + return pulumi.get(self, "pod_affinity") + + @pod_affinity.setter + def pod_affinity(self, value: Optional[pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity']]): + pulumi.set(self, "pod_affinity", value) + + @property + @pulumi.getter(name="podAntiAffinity") + def pod_anti_affinity(self) -> Optional[pulumi.Input[bool]]: + """ + Pod anti-affinity enablement. + """ + return pulumi.get(self, "pod_anti_affinity") + + @pod_anti_affinity.setter + def pod_anti_affinity(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "pod_anti_affinity", value) + + @property + @pulumi.getter(name="podTolerations") + def pod_tolerations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]]]: + """ + Pod tolerations of node taints. + """ + return pulumi.get(self, "pod_tolerations") + + @pod_tolerations.setter + def pod_tolerations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]]]): + pulumi.set(self, "pod_tolerations", value) + + @property + @pulumi.getter(name="replicaCount") + def replica_count(self) -> Optional[pulumi.Input[str]]: + """ + Pod replica count. + """ + return pulumi.get(self, "replica_count") + + @replica_count.setter + def replica_count(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "replica_count", value) + + +@pulumi.input_type +class PolicyControllerResourceListArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input[str]] = None, + memory: Optional[pulumi.Input[str]] = None): + """ + ResourceList contains container resource requirements. + :param pulumi.Input[str] cpu: CPU requirement expressed in Kubernetes resource units. + :param pulumi.Input[str] memory: Memory requirement expressed in Kubernetes resource units. + """ + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input[str]]: + """ + CPU requirement expressed in Kubernetes resource units. + """ + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cpu", value) + + @property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[str]]: + """ + Memory requirement expressed in Kubernetes resource units. + """ + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "memory", value) + + +@pulumi.input_type +class PolicyControllerResourceRequirementsArgs: + def __init__(__self__, *, + limits: Optional[pulumi.Input['PolicyControllerResourceListArgs']] = None, + requests: Optional[pulumi.Input['PolicyControllerResourceListArgs']] = None): + """ + ResourceRequirements describes the compute resource requirements. + :param pulumi.Input['PolicyControllerResourceListArgs'] limits: Limits describes the maximum amount of compute resources allowed for use by the running container. + :param pulumi.Input['PolicyControllerResourceListArgs'] requests: Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + """ + if limits is not None: + pulumi.set(__self__, "limits", limits) + if requests is not None: + pulumi.set(__self__, "requests", requests) + + @property + @pulumi.getter + def limits(self) -> Optional[pulumi.Input['PolicyControllerResourceListArgs']]: + """ + Limits describes the maximum amount of compute resources allowed for use by the running container. + """ + return pulumi.get(self, "limits") + + @limits.setter + def limits(self, value: Optional[pulumi.Input['PolicyControllerResourceListArgs']]): + pulumi.set(self, "limits", value) + + @property + @pulumi.getter + def requests(self) -> Optional[pulumi.Input['PolicyControllerResourceListArgs']]: + """ + Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + """ + return pulumi.get(self, "requests") + + @requests.setter + def requests(self, value: Optional[pulumi.Input['PolicyControllerResourceListArgs']]): + pulumi.set(self, "requests", value) + + @pulumi.input_type class PolicyControllerTemplateLibraryConfigArgs: def __init__(__self__, *, @@ -2590,6 +2928,78 @@ def installation(self, value: Optional[pulumi.Input['PolicyControllerTemplateLib pulumi.set(self, "installation", value) +@pulumi.input_type +class PolicyControllerTolerationArgs: + def __init__(__self__, *, + effect: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + operator: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + Toleration of a node taint. + :param pulumi.Input[str] effect: Matches a taint effect. + :param pulumi.Input[str] key: Matches a taint key (not necessarily unique). + :param pulumi.Input[str] operator: Matches a taint operator. + :param pulumi.Input[str] value: Matches a taint value. + """ + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if operator is not None: + pulumi.set(__self__, "operator", operator) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint effect. + """ + return pulumi.get(self, "effect") + + @effect.setter + def effect(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "effect", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint key (not necessarily unique). + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def operator(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint operator. + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + @pulumi.input_type class ResourceOptionsArgs: def __init__(__self__, *, @@ -2670,6 +3080,15 @@ def predefined_role(self, value: Optional[pulumi.Input['RolePredefinedRole']]): pulumi.set(self, "predefined_role", value) +@pulumi.input_type +class ScopeFeatureSpecArgs: + def __init__(__self__): + """ + ScopeFeatureSpec contains feature specs for a fleet scope. + """ + pass + + @pulumi.input_type class SecurityPostureConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/gkehub/v1/feature.py b/sdk/python/pulumi_google_native/gkehub/v1/feature.py index 119c4e75ff..861a0000d0 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1/feature.py +++ b/sdk/python/pulumi_google_native/gkehub/v1/feature.py @@ -21,19 +21,19 @@ def __init__(__self__, *, fleet_default_member_config: Optional[pulumi.Input['CommonFleetDefaultMemberConfigSpecArgs']] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, - scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]]] = None, spec: Optional[pulumi.Input['CommonFeatureSpecArgs']] = None): """ The set of arguments for constructing a Feature resource. :param pulumi.Input[str] feature_id: The ID of the feature to create. :param pulumi.Input['CommonFleetDefaultMemberConfigSpecArgs'] fleet_default_member_config: Optional. Feature configuration applicable to all memberships of the fleet. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this Feature. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input[str] request_id: A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input['CommonFeatureSpecArgs'] spec: Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. """ if feature_id is not None: @@ -102,14 +102,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="membershipSpecs") - def membership_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def membership_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]]]: """ Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ return pulumi.get(self, "membership_specs") @membership_specs.setter - def membership_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def membership_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]]]): pulumi.set(self, "membership_specs", value) @property @@ -135,14 +135,14 @@ def request_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="scopeSpecs") - def scope_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def scope_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]]]: """ Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ return pulumi.get(self, "scope_specs") @scope_specs.setter - def scope_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def scope_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]]]): pulumi.set(self, "scope_specs", value) @property @@ -167,10 +167,10 @@ def __init__(__self__, fleet_default_member_config: Optional[pulumi.Input[pulumi.InputType['CommonFleetDefaultMemberConfigSpecArgs']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['MembershipFeatureSpecArgs']]]]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, - scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ScopeFeatureSpecArgs']]]]] = None, spec: Optional[pulumi.Input[pulumi.InputType['CommonFeatureSpecArgs']]] = None, __props__=None): """ @@ -182,9 +182,9 @@ def __init__(__self__, :param pulumi.Input[str] feature_id: The ID of the feature to create. :param pulumi.Input[pulumi.InputType['CommonFleetDefaultMemberConfigSpecArgs']] fleet_default_member_config: Optional. Feature configuration applicable to all memberships of the fleet. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this Feature. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['MembershipFeatureSpecArgs']]]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input[str] request_id: A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ScopeFeatureSpecArgs']]]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input[pulumi.InputType['CommonFeatureSpecArgs']] spec: Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. """ ... @@ -216,10 +216,10 @@ def _internal_init(__self__, fleet_default_member_config: Optional[pulumi.Input[pulumi.InputType['CommonFleetDefaultMemberConfigSpecArgs']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['MembershipFeatureSpecArgs']]]]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, - scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ScopeFeatureSpecArgs']]]]] = None, spec: Optional[pulumi.Input[pulumi.InputType['CommonFeatureSpecArgs']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -337,7 +337,7 @@ def location(self) -> pulumi.Output[str]: @property @pulumi.getter(name="membershipSpecs") - def membership_specs(self) -> pulumi.Output[Mapping[str, str]]: + def membership_specs(self) -> pulumi.Output[Mapping[str, 'outputs.MembershipFeatureSpecResponse']]: """ Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -345,7 +345,7 @@ def membership_specs(self) -> pulumi.Output[Mapping[str, str]]: @property @pulumi.getter(name="membershipStates") - def membership_states(self) -> pulumi.Output[Mapping[str, str]]: + def membership_states(self) -> pulumi.Output[Mapping[str, 'outputs.MembershipFeatureStateResponse']]: """ Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. """ @@ -382,7 +382,7 @@ def resource_state(self) -> pulumi.Output['outputs.FeatureResourceStateResponse' @property @pulumi.getter(name="scopeSpecs") - def scope_specs(self) -> pulumi.Output[Mapping[str, str]]: + def scope_specs(self) -> pulumi.Output[Mapping[str, 'outputs.ScopeFeatureSpecResponse']]: """ Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -390,7 +390,7 @@ def scope_specs(self) -> pulumi.Output[Mapping[str, str]]: @property @pulumi.getter(name="scopeStates") - def scope_states(self) -> pulumi.Output[Mapping[str, str]]: + def scope_states(self) -> pulumi.Output[Mapping[str, 'outputs.ScopeFeatureStateResponse']]: """ Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. """ diff --git a/sdk/python/pulumi_google_native/gkehub/v1/get_feature.py b/sdk/python/pulumi_google_native/gkehub/v1/get_feature.py index e67cb02b97..44c38e8b54 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1/get_feature.py +++ b/sdk/python/pulumi_google_native/gkehub/v1/get_feature.py @@ -94,7 +94,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter(name="membershipSpecs") - def membership_specs(self) -> Mapping[str, str]: + def membership_specs(self) -> Mapping[str, 'outputs.MembershipFeatureSpecResponse']: """ Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -102,7 +102,7 @@ def membership_specs(self) -> Mapping[str, str]: @property @pulumi.getter(name="membershipStates") - def membership_states(self) -> Mapping[str, str]: + def membership_states(self) -> Mapping[str, 'outputs.MembershipFeatureStateResponse']: """ Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. """ @@ -126,7 +126,7 @@ def resource_state(self) -> 'outputs.FeatureResourceStateResponse': @property @pulumi.getter(name="scopeSpecs") - def scope_specs(self) -> Mapping[str, str]: + def scope_specs(self) -> Mapping[str, 'outputs.ScopeFeatureSpecResponse']: """ Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -134,7 +134,7 @@ def scope_specs(self) -> Mapping[str, str]: @property @pulumi.getter(name="scopeStates") - def scope_states(self) -> Mapping[str, str]: + def scope_states(self) -> Mapping[str, 'outputs.ScopeFeatureStateResponse']: """ Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. """ diff --git a/sdk/python/pulumi_google_native/gkehub/v1/outputs.py b/sdk/python/pulumi_google_native/gkehub/v1/outputs.py index 29a0e4474a..a2a326fd3a 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1/outputs.py +++ b/sdk/python/pulumi_google_native/gkehub/v1/outputs.py @@ -27,18 +27,39 @@ 'ClusterUpgradeGKEUpgradeOverrideResponse', 'ClusterUpgradeGKEUpgradeResponse', 'ClusterUpgradeGKEUpgradeStateResponse', + 'ClusterUpgradeIgnoredMembershipResponse', + 'ClusterUpgradeMembershipGKEUpgradeStateResponse', + 'ClusterUpgradeMembershipStateResponse', 'ClusterUpgradePostConditionsResponse', 'ClusterUpgradeUpgradeStatusResponse', 'CommonFeatureSpecResponse', 'CommonFeatureStateResponse', 'CommonFleetDefaultMemberConfigSpecResponse', + 'ConfigManagementConfigSyncDeploymentStateResponse', + 'ConfigManagementConfigSyncErrorResponse', 'ConfigManagementConfigSyncResponse', + 'ConfigManagementConfigSyncStateResponse', + 'ConfigManagementConfigSyncVersionResponse', + 'ConfigManagementErrorResourceResponse', + 'ConfigManagementGatekeeperDeploymentStateResponse', 'ConfigManagementGitConfigResponse', + 'ConfigManagementGroupVersionKindResponse', 'ConfigManagementHierarchyControllerConfigResponse', + 'ConfigManagementHierarchyControllerDeploymentStateResponse', + 'ConfigManagementHierarchyControllerStateResponse', + 'ConfigManagementHierarchyControllerVersionResponse', + 'ConfigManagementInstallErrorResponse', 'ConfigManagementMembershipSpecResponse', + 'ConfigManagementMembershipStateResponse', 'ConfigManagementOciConfigResponse', + 'ConfigManagementOperatorStateResponse', + 'ConfigManagementPolicyControllerMigrationResponse', 'ConfigManagementPolicyControllerMonitoringResponse', 'ConfigManagementPolicyControllerResponse', + 'ConfigManagementPolicyControllerStateResponse', + 'ConfigManagementPolicyControllerVersionResponse', + 'ConfigManagementSyncErrorResponse', + 'ConfigManagementSyncStateResponse', 'DefaultClusterConfigResponse', 'EdgeClusterResponse', 'ExprResponse', @@ -52,36 +73,56 @@ 'FleetObservabilityFleetObservabilityLoggingStateResponse', 'FleetObservabilityFleetObservabilityMonitoringStateResponse', 'FleetObservabilityLoggingConfigResponse', + 'FleetObservabilityMembershipSpecResponse', + 'FleetObservabilityMembershipStateResponse', 'FleetObservabilityRoutingConfigResponse', 'GkeClusterResponse', 'IdentityServiceAuthMethodResponse', 'IdentityServiceAzureADConfigResponse', 'IdentityServiceGoogleConfigResponse', 'IdentityServiceMembershipSpecResponse', + 'IdentityServiceMembershipStateResponse', 'IdentityServiceOidcConfigResponse', 'KubernetesMetadataResponse', 'KubernetesResourceResponse', 'MembershipBindingLifecycleStateResponse', 'MembershipEndpointResponse', + 'MembershipFeatureSpecResponse', + 'MembershipFeatureStateResponse', 'MembershipStateResponse', 'MonitoringConfigResponse', 'MultiCloudClusterResponse', 'MultiClusterIngressFeatureSpecResponse', 'NamespaceLifecycleStateResponse', 'OnPremClusterResponse', + 'OriginResponse', 'PolicyBindingResponse', + 'PolicyControllerBundleInstallSpecResponse', 'PolicyControllerHubConfigResponse', 'PolicyControllerMembershipSpecResponse', + 'PolicyControllerMembershipStateResponse', 'PolicyControllerMonitoringConfigResponse', + 'PolicyControllerOnClusterStateResponse', 'PolicyControllerPolicyContentSpecResponse', + 'PolicyControllerPolicyContentStateResponse', + 'PolicyControllerPolicyControllerDeploymentConfigResponse', + 'PolicyControllerResourceListResponse', + 'PolicyControllerResourceRequirementsResponse', 'PolicyControllerTemplateLibraryConfigResponse', + 'PolicyControllerTolerationResponse', 'RBACRoleBindingLifecycleStateResponse', 'ResourceManifestResponse', 'ResourceOptionsResponse', 'RoleResponse', + 'ScopeFeatureSpecResponse', + 'ScopeFeatureStateResponse', 'ScopeLifecycleStateResponse', 'SecurityPostureConfigResponse', + 'ServiceMeshControlPlaneManagementResponse', + 'ServiceMeshDataPlaneManagementResponse', 'ServiceMeshMembershipSpecResponse', + 'ServiceMeshMembershipStateResponse', + 'ServiceMeshStatusDetailsResponse', 'StatusResponse', ] @@ -541,12 +582,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, downstream_fleets: Sequence[str], gke_state: 'outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse', - ignored: Mapping[str, str]): + ignored: Mapping[str, 'outputs.ClusterUpgradeIgnoredMembershipResponse']): """ **ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature. :param Sequence[str] downstream_fleets: This fleets whose upstream_fleets contain the current fleet. The fleet name should be either fleet project number or id. :param 'ClusterUpgradeGKEUpgradeFeatureStateResponse' gke_state: Feature state for GKE clusters. - :param Mapping[str, str] ignored: A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. + :param Mapping[str, 'ClusterUpgradeIgnoredMembershipResponse'] ignored: A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. """ pulumi.set(__self__, "downstream_fleets", downstream_fleets) pulumi.set(__self__, "gke_state", gke_state) @@ -570,7 +611,7 @@ def gke_state(self) -> 'outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse': @property @pulumi.getter - def ignored(self) -> Mapping[str, str]: + def ignored(self) -> Mapping[str, 'outputs.ClusterUpgradeIgnoredMembershipResponse']: """ A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. """ @@ -826,6 +867,144 @@ def upgrade(self) -> 'outputs.ClusterUpgradeGKEUpgradeResponse': return pulumi.get(self, "upgrade") +@pulumi.output_type +class ClusterUpgradeIgnoredMembershipResponse(dict): + """ + IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ignoredTime": + suggest = "ignored_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterUpgradeIgnoredMembershipResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterUpgradeIgnoredMembershipResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterUpgradeIgnoredMembershipResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ignored_time: str, + reason: str): + """ + IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + :param str ignored_time: Time when the membership was first set to ignored. + :param str reason: Reason why the membership is ignored. + """ + pulumi.set(__self__, "ignored_time", ignored_time) + pulumi.set(__self__, "reason", reason) + + @property + @pulumi.getter(name="ignoredTime") + def ignored_time(self) -> str: + """ + Time when the membership was first set to ignored. + """ + return pulumi.get(self, "ignored_time") + + @property + @pulumi.getter + def reason(self) -> str: + """ + Reason why the membership is ignored. + """ + return pulumi.get(self, "reason") + + +@pulumi.output_type +class ClusterUpgradeMembershipGKEUpgradeStateResponse(dict): + """ + ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + """ + def __init__(__self__, *, + status: 'outputs.ClusterUpgradeUpgradeStatusResponse', + upgrade: 'outputs.ClusterUpgradeGKEUpgradeResponse'): + """ + ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + :param 'ClusterUpgradeUpgradeStatusResponse' status: Status of the upgrade. + :param 'ClusterUpgradeGKEUpgradeResponse' upgrade: Which upgrade to track the state. + """ + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "upgrade", upgrade) + + @property + @pulumi.getter + def status(self) -> 'outputs.ClusterUpgradeUpgradeStatusResponse': + """ + Status of the upgrade. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def upgrade(self) -> 'outputs.ClusterUpgradeGKEUpgradeResponse': + """ + Which upgrade to track the state. + """ + return pulumi.get(self, "upgrade") + + +@pulumi.output_type +class ClusterUpgradeMembershipStateResponse(dict): + """ + Per-membership state for this feature. + """ + def __init__(__self__, *, + fleet: str, + ignored: 'outputs.ClusterUpgradeIgnoredMembershipResponse', + scopes: Sequence[str], + upgrades: Sequence['outputs.ClusterUpgradeMembershipGKEUpgradeStateResponse']): + """ + Per-membership state for this feature. + :param str fleet: Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + :param 'ClusterUpgradeIgnoredMembershipResponse' ignored: Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + :param Sequence[str] scopes: Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + :param Sequence['ClusterUpgradeMembershipGKEUpgradeStateResponse'] upgrades: Actual upgrade state against desired. + """ + pulumi.set(__self__, "fleet", fleet) + pulumi.set(__self__, "ignored", ignored) + pulumi.set(__self__, "scopes", scopes) + pulumi.set(__self__, "upgrades", upgrades) + + @property + @pulumi.getter + def fleet(self) -> str: + """ + Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + """ + return pulumi.get(self, "fleet") + + @property + @pulumi.getter + def ignored(self) -> 'outputs.ClusterUpgradeIgnoredMembershipResponse': + """ + Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + """ + return pulumi.get(self, "ignored") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter + def upgrades(self) -> Sequence['outputs.ClusterUpgradeMembershipGKEUpgradeStateResponse']: + """ + Actual upgrade state against desired. + """ + return pulumi.get(self, "upgrades") + + @pulumi.output_type class ClusterUpgradePostConditionsResponse(dict): """ @@ -1074,6 +1253,156 @@ def policycontroller(self) -> 'outputs.PolicyControllerMembershipSpecResponse': return pulumi.get(self, "policycontroller") +@pulumi.output_type +class ConfigManagementConfigSyncDeploymentStateResponse(dict): + """ + The state of ConfigSync's deployment on a cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "admissionWebhook": + suggest = "admission_webhook" + elif key == "gitSync": + suggest = "git_sync" + elif key == "reconcilerManager": + suggest = "reconciler_manager" + elif key == "rootReconciler": + suggest = "root_reconciler" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncDeploymentStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncDeploymentStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncDeploymentStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admission_webhook: str, + git_sync: str, + importer: str, + monitor: str, + reconciler_manager: str, + root_reconciler: str, + syncer: str): + """ + The state of ConfigSync's deployment on a cluster + :param str admission_webhook: Deployment state of admission-webhook + :param str git_sync: Deployment state of the git-sync pod + :param str importer: Deployment state of the importer pod + :param str monitor: Deployment state of the monitor pod + :param str reconciler_manager: Deployment state of reconciler-manager pod + :param str root_reconciler: Deployment state of root-reconciler + :param str syncer: Deployment state of the syncer pod + """ + pulumi.set(__self__, "admission_webhook", admission_webhook) + pulumi.set(__self__, "git_sync", git_sync) + pulumi.set(__self__, "importer", importer) + pulumi.set(__self__, "monitor", monitor) + pulumi.set(__self__, "reconciler_manager", reconciler_manager) + pulumi.set(__self__, "root_reconciler", root_reconciler) + pulumi.set(__self__, "syncer", syncer) + + @property + @pulumi.getter(name="admissionWebhook") + def admission_webhook(self) -> str: + """ + Deployment state of admission-webhook + """ + return pulumi.get(self, "admission_webhook") + + @property + @pulumi.getter(name="gitSync") + def git_sync(self) -> str: + """ + Deployment state of the git-sync pod + """ + return pulumi.get(self, "git_sync") + + @property + @pulumi.getter + def importer(self) -> str: + """ + Deployment state of the importer pod + """ + return pulumi.get(self, "importer") + + @property + @pulumi.getter + def monitor(self) -> str: + """ + Deployment state of the monitor pod + """ + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="reconcilerManager") + def reconciler_manager(self) -> str: + """ + Deployment state of reconciler-manager pod + """ + return pulumi.get(self, "reconciler_manager") + + @property + @pulumi.getter(name="rootReconciler") + def root_reconciler(self) -> str: + """ + Deployment state of root-reconciler + """ + return pulumi.get(self, "root_reconciler") + + @property + @pulumi.getter + def syncer(self) -> str: + """ + Deployment state of the syncer pod + """ + return pulumi.get(self, "syncer") + + +@pulumi.output_type +class ConfigManagementConfigSyncErrorResponse(dict): + """ + Errors pertaining to the installation of Config Sync + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorMessage": + suggest = "error_message" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + error_message: str): + """ + Errors pertaining to the installation of Config Sync + :param str error_message: A string representing the user facing error message + """ + pulumi.set(__self__, "error_message", error_message) + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + A string representing the user facing error message + """ + return pulumi.get(self, "error_message") + + @pulumi.output_type class ConfigManagementConfigSyncResponse(dict): """ @@ -1187,333 +1516,396 @@ def source_format(self) -> str: @pulumi.output_type -class ConfigManagementGitConfigResponse(dict): +class ConfigManagementConfigSyncStateResponse(dict): """ - Git repo configuration for a single cluster. + State information for ConfigSync """ @staticmethod def __key_warning(key: str): suggest = None - if key == "gcpServiceAccountEmail": - suggest = "gcp_service_account_email" - elif key == "httpsProxy": - suggest = "https_proxy" - elif key == "policyDir": - suggest = "policy_dir" - elif key == "secretType": - suggest = "secret_type" - elif key == "syncBranch": - suggest = "sync_branch" - elif key == "syncRepo": - suggest = "sync_repo" - elif key == "syncRev": - suggest = "sync_rev" - elif key == "syncWaitSecs": - suggest = "sync_wait_secs" + if key == "deploymentState": + suggest = "deployment_state" + elif key == "syncState": + suggest = "sync_state" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementGitConfigResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncStateResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementGitConfigResponse.__key_warning(key) + ConfigManagementConfigSyncStateResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementGitConfigResponse.__key_warning(key) + ConfigManagementConfigSyncStateResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - gcp_service_account_email: str, - https_proxy: str, - policy_dir: str, - secret_type: str, - sync_branch: str, - sync_repo: str, - sync_rev: str, - sync_wait_secs: str): + deployment_state: 'outputs.ConfigManagementConfigSyncDeploymentStateResponse', + errors: Sequence['outputs.ConfigManagementConfigSyncErrorResponse'], + sync_state: 'outputs.ConfigManagementSyncStateResponse', + version: 'outputs.ConfigManagementConfigSyncVersionResponse'): + """ + State information for ConfigSync + :param 'ConfigManagementConfigSyncDeploymentStateResponse' deployment_state: Information about the deployment of ConfigSync, including the version of the various Pods deployed + :param Sequence['ConfigManagementConfigSyncErrorResponse'] errors: Errors pertaining to the installation of Config Sync. + :param 'ConfigManagementSyncStateResponse' sync_state: The state of ConfigSync's process to sync configs to a cluster + :param 'ConfigManagementConfigSyncVersionResponse' version: The version of ConfigSync deployed + """ + pulumi.set(__self__, "deployment_state", deployment_state) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "sync_state", sync_state) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="deploymentState") + def deployment_state(self) -> 'outputs.ConfigManagementConfigSyncDeploymentStateResponse': """ - Git repo configuration for a single cluster. - :param str gcp_service_account_email: The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. - :param str https_proxy: URL for the HTTPS proxy to be used when communicating with the Git repo. - :param str policy_dir: The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. - :param str secret_type: Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. - :param str sync_branch: The branch of the repository to sync from. Default: master. - :param str sync_repo: The URL of the Git repository to use as the source of truth. - :param str sync_rev: Git revision (tag or hash) to check out. Default HEAD. - :param str sync_wait_secs: Period in seconds between consecutive syncs. Default: 15. + Information about the deployment of ConfigSync, including the version of the various Pods deployed """ - pulumi.set(__self__, "gcp_service_account_email", gcp_service_account_email) - pulumi.set(__self__, "https_proxy", https_proxy) - pulumi.set(__self__, "policy_dir", policy_dir) - pulumi.set(__self__, "secret_type", secret_type) - pulumi.set(__self__, "sync_branch", sync_branch) - pulumi.set(__self__, "sync_repo", sync_repo) - pulumi.set(__self__, "sync_rev", sync_rev) - pulumi.set(__self__, "sync_wait_secs", sync_wait_secs) + return pulumi.get(self, "deployment_state") @property - @pulumi.getter(name="gcpServiceAccountEmail") - def gcp_service_account_email(self) -> str: + @pulumi.getter + def errors(self) -> Sequence['outputs.ConfigManagementConfigSyncErrorResponse']: """ - The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + Errors pertaining to the installation of Config Sync. """ - return pulumi.get(self, "gcp_service_account_email") + return pulumi.get(self, "errors") @property - @pulumi.getter(name="httpsProxy") - def https_proxy(self) -> str: + @pulumi.getter(name="syncState") + def sync_state(self) -> 'outputs.ConfigManagementSyncStateResponse': """ - URL for the HTTPS proxy to be used when communicating with the Git repo. + The state of ConfigSync's process to sync configs to a cluster """ - return pulumi.get(self, "https_proxy") + return pulumi.get(self, "sync_state") @property - @pulumi.getter(name="policyDir") - def policy_dir(self) -> str: + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementConfigSyncVersionResponse': """ - The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. + The version of ConfigSync deployed """ - return pulumi.get(self, "policy_dir") + return pulumi.get(self, "version") - @property - @pulumi.getter(name="secretType") - def secret_type(self) -> str: + +@pulumi.output_type +class ConfigManagementConfigSyncVersionResponse(dict): + """ + Specific versioning information pertaining to ConfigSync's Pods + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "admissionWebhook": + suggest = "admission_webhook" + elif key == "gitSync": + suggest = "git_sync" + elif key == "reconcilerManager": + suggest = "reconciler_manager" + elif key == "rootReconciler": + suggest = "root_reconciler" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncVersionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncVersionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncVersionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admission_webhook: str, + git_sync: str, + importer: str, + monitor: str, + reconciler_manager: str, + root_reconciler: str, + syncer: str): """ - Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. + Specific versioning information pertaining to ConfigSync's Pods + :param str admission_webhook: Version of the deployed admission_webhook pod + :param str git_sync: Version of the deployed git-sync pod + :param str importer: Version of the deployed importer pod + :param str monitor: Version of the deployed monitor pod + :param str reconciler_manager: Version of the deployed reconciler-manager pod + :param str root_reconciler: Version of the deployed reconciler container in root-reconciler pod + :param str syncer: Version of the deployed syncer pod """ - return pulumi.get(self, "secret_type") + pulumi.set(__self__, "admission_webhook", admission_webhook) + pulumi.set(__self__, "git_sync", git_sync) + pulumi.set(__self__, "importer", importer) + pulumi.set(__self__, "monitor", monitor) + pulumi.set(__self__, "reconciler_manager", reconciler_manager) + pulumi.set(__self__, "root_reconciler", root_reconciler) + pulumi.set(__self__, "syncer", syncer) @property - @pulumi.getter(name="syncBranch") - def sync_branch(self) -> str: + @pulumi.getter(name="admissionWebhook") + def admission_webhook(self) -> str: """ - The branch of the repository to sync from. Default: master. + Version of the deployed admission_webhook pod """ - return pulumi.get(self, "sync_branch") + return pulumi.get(self, "admission_webhook") @property - @pulumi.getter(name="syncRepo") - def sync_repo(self) -> str: + @pulumi.getter(name="gitSync") + def git_sync(self) -> str: """ - The URL of the Git repository to use as the source of truth. + Version of the deployed git-sync pod """ - return pulumi.get(self, "sync_repo") + return pulumi.get(self, "git_sync") @property - @pulumi.getter(name="syncRev") - def sync_rev(self) -> str: + @pulumi.getter + def importer(self) -> str: """ - Git revision (tag or hash) to check out. Default HEAD. + Version of the deployed importer pod """ - return pulumi.get(self, "sync_rev") + return pulumi.get(self, "importer") @property - @pulumi.getter(name="syncWaitSecs") - def sync_wait_secs(self) -> str: + @pulumi.getter + def monitor(self) -> str: """ - Period in seconds between consecutive syncs. Default: 15. + Version of the deployed monitor pod """ - return pulumi.get(self, "sync_wait_secs") + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="reconcilerManager") + def reconciler_manager(self) -> str: + """ + Version of the deployed reconciler-manager pod + """ + return pulumi.get(self, "reconciler_manager") + + @property + @pulumi.getter(name="rootReconciler") + def root_reconciler(self) -> str: + """ + Version of the deployed reconciler container in root-reconciler pod + """ + return pulumi.get(self, "root_reconciler") + + @property + @pulumi.getter + def syncer(self) -> str: + """ + Version of the deployed syncer pod + """ + return pulumi.get(self, "syncer") @pulumi.output_type -class ConfigManagementHierarchyControllerConfigResponse(dict): +class ConfigManagementErrorResourceResponse(dict): """ - Configuration for Hierarchy Controller + Model for a config file in the git repo with an associated Sync error """ @staticmethod def __key_warning(key: str): suggest = None - if key == "enableHierarchicalResourceQuota": - suggest = "enable_hierarchical_resource_quota" - elif key == "enablePodTreeLabels": - suggest = "enable_pod_tree_labels" + if key == "resourceGvk": + suggest = "resource_gvk" + elif key == "resourceName": + suggest = "resource_name" + elif key == "resourceNamespace": + suggest = "resource_namespace" + elif key == "sourcePath": + suggest = "source_path" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementHierarchyControllerConfigResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementErrorResourceResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementHierarchyControllerConfigResponse.__key_warning(key) + ConfigManagementErrorResourceResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementHierarchyControllerConfigResponse.__key_warning(key) + ConfigManagementErrorResourceResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - enable_hierarchical_resource_quota: bool, - enable_pod_tree_labels: bool, - enabled: bool): + resource_gvk: 'outputs.ConfigManagementGroupVersionKindResponse', + resource_name: str, + resource_namespace: str, + source_path: str): """ - Configuration for Hierarchy Controller - :param bool enable_hierarchical_resource_quota: Whether hierarchical resource quota is enabled in this cluster. - :param bool enable_pod_tree_labels: Whether pod tree labels are enabled in this cluster. - :param bool enabled: Whether Hierarchy Controller is enabled in this cluster. + Model for a config file in the git repo with an associated Sync error + :param 'ConfigManagementGroupVersionKindResponse' resource_gvk: Group/version/kind of the resource that is causing an error + :param str resource_name: Metadata name of the resource that is causing an error + :param str resource_namespace: Namespace of the resource that is causing an error + :param str source_path: Path in the git repo of the erroneous config """ - pulumi.set(__self__, "enable_hierarchical_resource_quota", enable_hierarchical_resource_quota) - pulumi.set(__self__, "enable_pod_tree_labels", enable_pod_tree_labels) - pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "resource_gvk", resource_gvk) + pulumi.set(__self__, "resource_name", resource_name) + pulumi.set(__self__, "resource_namespace", resource_namespace) + pulumi.set(__self__, "source_path", source_path) @property - @pulumi.getter(name="enableHierarchicalResourceQuota") - def enable_hierarchical_resource_quota(self) -> bool: + @pulumi.getter(name="resourceGvk") + def resource_gvk(self) -> 'outputs.ConfigManagementGroupVersionKindResponse': """ - Whether hierarchical resource quota is enabled in this cluster. + Group/version/kind of the resource that is causing an error """ - return pulumi.get(self, "enable_hierarchical_resource_quota") + return pulumi.get(self, "resource_gvk") @property - @pulumi.getter(name="enablePodTreeLabels") - def enable_pod_tree_labels(self) -> bool: + @pulumi.getter(name="resourceName") + def resource_name(self) -> str: """ - Whether pod tree labels are enabled in this cluster. + Metadata name of the resource that is causing an error """ - return pulumi.get(self, "enable_pod_tree_labels") + return pulumi.get(self, "resource_name") @property - @pulumi.getter - def enabled(self) -> bool: + @pulumi.getter(name="resourceNamespace") + def resource_namespace(self) -> str: """ - Whether Hierarchy Controller is enabled in this cluster. + Namespace of the resource that is causing an error """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "resource_namespace") + + @property + @pulumi.getter(name="sourcePath") + def source_path(self) -> str: + """ + Path in the git repo of the erroneous config + """ + return pulumi.get(self, "source_path") @pulumi.output_type -class ConfigManagementMembershipSpecResponse(dict): +class ConfigManagementGatekeeperDeploymentStateResponse(dict): """ - **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + State of Policy Controller installation. """ @staticmethod def __key_warning(key: str): suggest = None - if key == "configSync": - suggest = "config_sync" - elif key == "hierarchyController": - suggest = "hierarchy_controller" - elif key == "policyController": - suggest = "policy_controller" + if key == "gatekeeperAudit": + suggest = "gatekeeper_audit" + elif key == "gatekeeperControllerManagerState": + suggest = "gatekeeper_controller_manager_state" + elif key == "gatekeeperMutation": + suggest = "gatekeeper_mutation" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementGatekeeperDeploymentStateResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementMembershipSpecResponse.__key_warning(key) + ConfigManagementGatekeeperDeploymentStateResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementMembershipSpecResponse.__key_warning(key) + ConfigManagementGatekeeperDeploymentStateResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - cluster: str, - config_sync: 'outputs.ConfigManagementConfigSyncResponse', - hierarchy_controller: 'outputs.ConfigManagementHierarchyControllerConfigResponse', - policy_controller: 'outputs.ConfigManagementPolicyControllerResponse', - version: str): - """ - **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. - :param str cluster: The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. - :param 'ConfigManagementConfigSyncResponse' config_sync: Config Sync configuration for the cluster. - :param 'ConfigManagementHierarchyControllerConfigResponse' hierarchy_controller: Hierarchy Controller configuration for the cluster. - :param 'ConfigManagementPolicyControllerResponse' policy_controller: Policy Controller configuration for the cluster. - :param str version: Version of ACM installed. - """ - pulumi.set(__self__, "cluster", cluster) - pulumi.set(__self__, "config_sync", config_sync) - pulumi.set(__self__, "hierarchy_controller", hierarchy_controller) - pulumi.set(__self__, "policy_controller", policy_controller) - pulumi.set(__self__, "version", version) - - @property - @pulumi.getter - def cluster(self) -> str: - """ - The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. - """ - return pulumi.get(self, "cluster") - - @property - @pulumi.getter(name="configSync") - def config_sync(self) -> 'outputs.ConfigManagementConfigSyncResponse': + gatekeeper_audit: str, + gatekeeper_controller_manager_state: str, + gatekeeper_mutation: str): """ - Config Sync configuration for the cluster. + State of Policy Controller installation. + :param str gatekeeper_audit: Status of gatekeeper-audit deployment. + :param str gatekeeper_controller_manager_state: Status of gatekeeper-controller-manager pod. + :param str gatekeeper_mutation: Status of the pod serving the mutation webhook. """ - return pulumi.get(self, "config_sync") + pulumi.set(__self__, "gatekeeper_audit", gatekeeper_audit) + pulumi.set(__self__, "gatekeeper_controller_manager_state", gatekeeper_controller_manager_state) + pulumi.set(__self__, "gatekeeper_mutation", gatekeeper_mutation) @property - @pulumi.getter(name="hierarchyController") - def hierarchy_controller(self) -> 'outputs.ConfigManagementHierarchyControllerConfigResponse': + @pulumi.getter(name="gatekeeperAudit") + def gatekeeper_audit(self) -> str: """ - Hierarchy Controller configuration for the cluster. + Status of gatekeeper-audit deployment. """ - return pulumi.get(self, "hierarchy_controller") + return pulumi.get(self, "gatekeeper_audit") @property - @pulumi.getter(name="policyController") - def policy_controller(self) -> 'outputs.ConfigManagementPolicyControllerResponse': + @pulumi.getter(name="gatekeeperControllerManagerState") + def gatekeeper_controller_manager_state(self) -> str: """ - Policy Controller configuration for the cluster. + Status of gatekeeper-controller-manager pod. """ - return pulumi.get(self, "policy_controller") + return pulumi.get(self, "gatekeeper_controller_manager_state") @property - @pulumi.getter - def version(self) -> str: + @pulumi.getter(name="gatekeeperMutation") + def gatekeeper_mutation(self) -> str: """ - Version of ACM installed. + Status of the pod serving the mutation webhook. """ - return pulumi.get(self, "version") + return pulumi.get(self, "gatekeeper_mutation") @pulumi.output_type -class ConfigManagementOciConfigResponse(dict): +class ConfigManagementGitConfigResponse(dict): """ - OCI repo configuration for a single cluster + Git repo configuration for a single cluster. """ @staticmethod def __key_warning(key: str): suggest = None if key == "gcpServiceAccountEmail": suggest = "gcp_service_account_email" + elif key == "httpsProxy": + suggest = "https_proxy" elif key == "policyDir": suggest = "policy_dir" elif key == "secretType": suggest = "secret_type" + elif key == "syncBranch": + suggest = "sync_branch" elif key == "syncRepo": suggest = "sync_repo" + elif key == "syncRev": + suggest = "sync_rev" elif key == "syncWaitSecs": suggest = "sync_wait_secs" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementOciConfigResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementGitConfigResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementOciConfigResponse.__key_warning(key) + ConfigManagementGitConfigResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementOciConfigResponse.__key_warning(key) + ConfigManagementGitConfigResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, gcp_service_account_email: str, + https_proxy: str, policy_dir: str, secret_type: str, + sync_branch: str, sync_repo: str, + sync_rev: str, sync_wait_secs: str): """ - OCI repo configuration for a single cluster + Git repo configuration for a single cluster. :param str gcp_service_account_email: The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. - :param str policy_dir: The absolute path of the directory that contains the local resources. Default: the root directory of the image. - :param str secret_type: Type of secret configured for access to the Git repo. - :param str sync_repo: The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + :param str https_proxy: URL for the HTTPS proxy to be used when communicating with the Git repo. + :param str policy_dir: The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. + :param str secret_type: Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. + :param str sync_branch: The branch of the repository to sync from. Default: master. + :param str sync_repo: The URL of the Git repository to use as the source of truth. + :param str sync_rev: Git revision (tag or hash) to check out. Default HEAD. :param str sync_wait_secs: Period in seconds between consecutive syncs. Default: 15. """ pulumi.set(__self__, "gcp_service_account_email", gcp_service_account_email) + pulumi.set(__self__, "https_proxy", https_proxy) pulumi.set(__self__, "policy_dir", policy_dir) pulumi.set(__self__, "secret_type", secret_type) + pulumi.set(__self__, "sync_branch", sync_branch) pulumi.set(__self__, "sync_repo", sync_repo) + pulumi.set(__self__, "sync_rev", sync_rev) pulumi.set(__self__, "sync_wait_secs", sync_wait_secs) @property @@ -1524,11 +1916,19 @@ def gcp_service_account_email(self) -> str: """ return pulumi.get(self, "gcp_service_account_email") + @property + @pulumi.getter(name="httpsProxy") + def https_proxy(self) -> str: + """ + URL for the HTTPS proxy to be used when communicating with the Git repo. + """ + return pulumi.get(self, "https_proxy") + @property @pulumi.getter(name="policyDir") def policy_dir(self) -> str: """ - The absolute path of the directory that contains the local resources. Default: the root directory of the image. + The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. """ return pulumi.get(self, "policy_dir") @@ -1536,18 +1936,34 @@ def policy_dir(self) -> str: @pulumi.getter(name="secretType") def secret_type(self) -> str: """ - Type of secret configured for access to the Git repo. + Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. """ return pulumi.get(self, "secret_type") + @property + @pulumi.getter(name="syncBranch") + def sync_branch(self) -> str: + """ + The branch of the repository to sync from. Default: master. + """ + return pulumi.get(self, "sync_branch") + @property @pulumi.getter(name="syncRepo") def sync_repo(self) -> str: """ - The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + The URL of the Git repository to use as the source of truth. """ return pulumi.get(self, "sync_repo") + @property + @pulumi.getter(name="syncRev") + def sync_rev(self) -> str: + """ + Git revision (tag or hash) to check out. Default HEAD. + """ + return pulumi.get(self, "sync_rev") + @property @pulumi.getter(name="syncWaitSecs") def sync_wait_secs(self) -> str: @@ -1558,82 +1974,720 @@ def sync_wait_secs(self) -> str: @pulumi.output_type -class ConfigManagementPolicyControllerMonitoringResponse(dict): +class ConfigManagementGroupVersionKindResponse(dict): """ - PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + A Kubernetes object's GVK """ def __init__(__self__, *, - backends: Sequence[str]): + group: str, + kind: str, + version: str): """ - PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] - :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + A Kubernetes object's GVK + :param str group: Kubernetes Group + :param str kind: Kubernetes Kind + :param str version: Kubernetes Version """ - pulumi.set(__self__, "backends", backends) + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "kind", kind) + pulumi.set(__self__, "version", version) @property @pulumi.getter - def backends(self) -> Sequence[str]: + def group(self) -> str: """ - Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + Kubernetes Group """ - return pulumi.get(self, "backends") + return pulumi.get(self, "group") + + @property + @pulumi.getter + def kind(self) -> str: + """ + Kubernetes Kind + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def version(self) -> str: + """ + Kubernetes Version + """ + return pulumi.get(self, "version") @pulumi.output_type -class ConfigManagementPolicyControllerResponse(dict): +class ConfigManagementHierarchyControllerConfigResponse(dict): """ - Configuration for Policy Controller + Configuration for Hierarchy Controller """ @staticmethod def __key_warning(key: str): suggest = None - if key == "auditIntervalSeconds": - suggest = "audit_interval_seconds" - elif key == "exemptableNamespaces": - suggest = "exemptable_namespaces" - elif key == "logDeniesEnabled": - suggest = "log_denies_enabled" - elif key == "mutationEnabled": - suggest = "mutation_enabled" - elif key == "referentialRulesEnabled": - suggest = "referential_rules_enabled" - elif key == "templateLibraryInstalled": - suggest = "template_library_installed" - elif key == "updateTime": - suggest = "update_time" + if key == "enableHierarchicalResourceQuota": + suggest = "enable_hierarchical_resource_quota" + elif key == "enablePodTreeLabels": + suggest = "enable_pod_tree_labels" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementPolicyControllerResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementHierarchyControllerConfigResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementPolicyControllerResponse.__key_warning(key) + ConfigManagementHierarchyControllerConfigResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementPolicyControllerResponse.__key_warning(key) + ConfigManagementHierarchyControllerConfigResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - audit_interval_seconds: str, - enabled: bool, - exemptable_namespaces: Sequence[str], - log_denies_enabled: bool, - monitoring: 'outputs.ConfigManagementPolicyControllerMonitoringResponse', - mutation_enabled: bool, - referential_rules_enabled: bool, - template_library_installed: bool, - update_time: str): + enable_hierarchical_resource_quota: bool, + enable_pod_tree_labels: bool, + enabled: bool): """ - Configuration for Policy Controller - :param str audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. - :param bool enabled: Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect. - :param Sequence[str] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. - :param bool log_denies_enabled: Logs all denies and dry run failures. - :param 'ConfigManagementPolicyControllerMonitoringResponse' monitoring: Monitoring specifies the configuration of monitoring. - :param bool mutation_enabled: Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster. - :param bool referential_rules_enabled: Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. - :param bool template_library_installed: Installs the default template library along with Policy Controller. - :param str update_time: Last time this membership spec was updated. + Configuration for Hierarchy Controller + :param bool enable_hierarchical_resource_quota: Whether hierarchical resource quota is enabled in this cluster. + :param bool enable_pod_tree_labels: Whether pod tree labels are enabled in this cluster. + :param bool enabled: Whether Hierarchy Controller is enabled in this cluster. + """ + pulumi.set(__self__, "enable_hierarchical_resource_quota", enable_hierarchical_resource_quota) + pulumi.set(__self__, "enable_pod_tree_labels", enable_pod_tree_labels) + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter(name="enableHierarchicalResourceQuota") + def enable_hierarchical_resource_quota(self) -> bool: + """ + Whether hierarchical resource quota is enabled in this cluster. + """ + return pulumi.get(self, "enable_hierarchical_resource_quota") + + @property + @pulumi.getter(name="enablePodTreeLabels") + def enable_pod_tree_labels(self) -> bool: + """ + Whether pod tree labels are enabled in this cluster. + """ + return pulumi.get(self, "enable_pod_tree_labels") + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether Hierarchy Controller is enabled in this cluster. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ConfigManagementHierarchyControllerDeploymentStateResponse(dict): + """ + Deployment state for Hierarchy Controller + """ + def __init__(__self__, *, + extension: str, + hnc: str): + """ + Deployment state for Hierarchy Controller + :param str extension: The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + :param str hnc: The deployment state for open source HNC (e.g. v0.7.0-hc.0) + """ + pulumi.set(__self__, "extension", extension) + pulumi.set(__self__, "hnc", hnc) + + @property + @pulumi.getter + def extension(self) -> str: + """ + The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + """ + return pulumi.get(self, "extension") + + @property + @pulumi.getter + def hnc(self) -> str: + """ + The deployment state for open source HNC (e.g. v0.7.0-hc.0) + """ + return pulumi.get(self, "hnc") + + +@pulumi.output_type +class ConfigManagementHierarchyControllerStateResponse(dict): + """ + State for Hierarchy Controller + """ + def __init__(__self__, *, + state: 'outputs.ConfigManagementHierarchyControllerDeploymentStateResponse', + version: 'outputs.ConfigManagementHierarchyControllerVersionResponse'): + """ + State for Hierarchy Controller + :param 'ConfigManagementHierarchyControllerDeploymentStateResponse' state: The deployment state for Hierarchy Controller + :param 'ConfigManagementHierarchyControllerVersionResponse' version: The version for Hierarchy Controller + """ + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def state(self) -> 'outputs.ConfigManagementHierarchyControllerDeploymentStateResponse': + """ + The deployment state for Hierarchy Controller + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementHierarchyControllerVersionResponse': + """ + The version for Hierarchy Controller + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementHierarchyControllerVersionResponse(dict): + """ + Version for Hierarchy Controller + """ + def __init__(__self__, *, + extension: str, + hnc: str): + """ + Version for Hierarchy Controller + :param str extension: Version for Hierarchy Controller extension + :param str hnc: Version for open source HNC + """ + pulumi.set(__self__, "extension", extension) + pulumi.set(__self__, "hnc", hnc) + + @property + @pulumi.getter + def extension(self) -> str: + """ + Version for Hierarchy Controller extension + """ + return pulumi.get(self, "extension") + + @property + @pulumi.getter + def hnc(self) -> str: + """ + Version for open source HNC + """ + return pulumi.get(self, "hnc") + + +@pulumi.output_type +class ConfigManagementInstallErrorResponse(dict): + """ + Errors pertaining to the installation of ACM + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorMessage": + suggest = "error_message" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementInstallErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementInstallErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementInstallErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + error_message: str): + """ + Errors pertaining to the installation of ACM + :param str error_message: A string representing the user facing error message + """ + pulumi.set(__self__, "error_message", error_message) + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + A string representing the user facing error message + """ + return pulumi.get(self, "error_message") + + +@pulumi.output_type +class ConfigManagementMembershipSpecResponse(dict): + """ + **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "configSync": + suggest = "config_sync" + elif key == "hierarchyController": + suggest = "hierarchy_controller" + elif key == "policyController": + suggest = "policy_controller" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementMembershipSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementMembershipSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster: str, + config_sync: 'outputs.ConfigManagementConfigSyncResponse', + hierarchy_controller: 'outputs.ConfigManagementHierarchyControllerConfigResponse', + policy_controller: 'outputs.ConfigManagementPolicyControllerResponse', + version: str): + """ + **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + :param str cluster: The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + :param 'ConfigManagementConfigSyncResponse' config_sync: Config Sync configuration for the cluster. + :param 'ConfigManagementHierarchyControllerConfigResponse' hierarchy_controller: Hierarchy Controller configuration for the cluster. + :param 'ConfigManagementPolicyControllerResponse' policy_controller: Policy Controller configuration for the cluster. + :param str version: Version of ACM installed. + """ + pulumi.set(__self__, "cluster", cluster) + pulumi.set(__self__, "config_sync", config_sync) + pulumi.set(__self__, "hierarchy_controller", hierarchy_controller) + pulumi.set(__self__, "policy_controller", policy_controller) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def cluster(self) -> str: + """ + The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + """ + return pulumi.get(self, "cluster") + + @property + @pulumi.getter(name="configSync") + def config_sync(self) -> 'outputs.ConfigManagementConfigSyncResponse': + """ + Config Sync configuration for the cluster. + """ + return pulumi.get(self, "config_sync") + + @property + @pulumi.getter(name="hierarchyController") + def hierarchy_controller(self) -> 'outputs.ConfigManagementHierarchyControllerConfigResponse': + """ + Hierarchy Controller configuration for the cluster. + """ + return pulumi.get(self, "hierarchy_controller") + + @property + @pulumi.getter(name="policyController") + def policy_controller(self) -> 'outputs.ConfigManagementPolicyControllerResponse': + """ + Policy Controller configuration for the cluster. + """ + return pulumi.get(self, "policy_controller") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version of ACM installed. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementMembershipStateResponse(dict): + """ + **Anthos Config Management**: State for a single cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "clusterName": + suggest = "cluster_name" + elif key == "configSyncState": + suggest = "config_sync_state" + elif key == "hierarchyControllerState": + suggest = "hierarchy_controller_state" + elif key == "membershipSpec": + suggest = "membership_spec" + elif key == "operatorState": + suggest = "operator_state" + elif key == "policyControllerState": + suggest = "policy_controller_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cluster_name: str, + config_sync_state: 'outputs.ConfigManagementConfigSyncStateResponse', + hierarchy_controller_state: 'outputs.ConfigManagementHierarchyControllerStateResponse', + membership_spec: 'outputs.ConfigManagementMembershipSpecResponse', + operator_state: 'outputs.ConfigManagementOperatorStateResponse', + policy_controller_state: 'outputs.ConfigManagementPolicyControllerStateResponse'): + """ + **Anthos Config Management**: State for a single cluster. + :param str cluster_name: This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + :param 'ConfigManagementConfigSyncStateResponse' config_sync_state: Current sync status + :param 'ConfigManagementHierarchyControllerStateResponse' hierarchy_controller_state: Hierarchy Controller status + :param 'ConfigManagementMembershipSpecResponse' membership_spec: Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + :param 'ConfigManagementOperatorStateResponse' operator_state: Current install status of ACM's Operator + :param 'ConfigManagementPolicyControllerStateResponse' policy_controller_state: PolicyController status + """ + pulumi.set(__self__, "cluster_name", cluster_name) + pulumi.set(__self__, "config_sync_state", config_sync_state) + pulumi.set(__self__, "hierarchy_controller_state", hierarchy_controller_state) + pulumi.set(__self__, "membership_spec", membership_spec) + pulumi.set(__self__, "operator_state", operator_state) + pulumi.set(__self__, "policy_controller_state", policy_controller_state) + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> str: + """ + This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + """ + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter(name="configSyncState") + def config_sync_state(self) -> 'outputs.ConfigManagementConfigSyncStateResponse': + """ + Current sync status + """ + return pulumi.get(self, "config_sync_state") + + @property + @pulumi.getter(name="hierarchyControllerState") + def hierarchy_controller_state(self) -> 'outputs.ConfigManagementHierarchyControllerStateResponse': + """ + Hierarchy Controller status + """ + return pulumi.get(self, "hierarchy_controller_state") + + @property + @pulumi.getter(name="membershipSpec") + def membership_spec(self) -> 'outputs.ConfigManagementMembershipSpecResponse': + """ + Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + """ + return pulumi.get(self, "membership_spec") + + @property + @pulumi.getter(name="operatorState") + def operator_state(self) -> 'outputs.ConfigManagementOperatorStateResponse': + """ + Current install status of ACM's Operator + """ + return pulumi.get(self, "operator_state") + + @property + @pulumi.getter(name="policyControllerState") + def policy_controller_state(self) -> 'outputs.ConfigManagementPolicyControllerStateResponse': + """ + PolicyController status + """ + return pulumi.get(self, "policy_controller_state") + + +@pulumi.output_type +class ConfigManagementOciConfigResponse(dict): + """ + OCI repo configuration for a single cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "gcpServiceAccountEmail": + suggest = "gcp_service_account_email" + elif key == "policyDir": + suggest = "policy_dir" + elif key == "secretType": + suggest = "secret_type" + elif key == "syncRepo": + suggest = "sync_repo" + elif key == "syncWaitSecs": + suggest = "sync_wait_secs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementOciConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementOciConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementOciConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + gcp_service_account_email: str, + policy_dir: str, + secret_type: str, + sync_repo: str, + sync_wait_secs: str): + """ + OCI repo configuration for a single cluster + :param str gcp_service_account_email: The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + :param str policy_dir: The absolute path of the directory that contains the local resources. Default: the root directory of the image. + :param str secret_type: Type of secret configured for access to the Git repo. + :param str sync_repo: The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + :param str sync_wait_secs: Period in seconds between consecutive syncs. Default: 15. + """ + pulumi.set(__self__, "gcp_service_account_email", gcp_service_account_email) + pulumi.set(__self__, "policy_dir", policy_dir) + pulumi.set(__self__, "secret_type", secret_type) + pulumi.set(__self__, "sync_repo", sync_repo) + pulumi.set(__self__, "sync_wait_secs", sync_wait_secs) + + @property + @pulumi.getter(name="gcpServiceAccountEmail") + def gcp_service_account_email(self) -> str: + """ + The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + """ + return pulumi.get(self, "gcp_service_account_email") + + @property + @pulumi.getter(name="policyDir") + def policy_dir(self) -> str: + """ + The absolute path of the directory that contains the local resources. Default: the root directory of the image. + """ + return pulumi.get(self, "policy_dir") + + @property + @pulumi.getter(name="secretType") + def secret_type(self) -> str: + """ + Type of secret configured for access to the Git repo. + """ + return pulumi.get(self, "secret_type") + + @property + @pulumi.getter(name="syncRepo") + def sync_repo(self) -> str: + """ + The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + """ + return pulumi.get(self, "sync_repo") + + @property + @pulumi.getter(name="syncWaitSecs") + def sync_wait_secs(self) -> str: + """ + Period in seconds between consecutive syncs. Default: 15. + """ + return pulumi.get(self, "sync_wait_secs") + + +@pulumi.output_type +class ConfigManagementOperatorStateResponse(dict): + """ + State information for an ACM's Operator + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deploymentState": + suggest = "deployment_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementOperatorStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementOperatorStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementOperatorStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + deployment_state: str, + errors: Sequence['outputs.ConfigManagementInstallErrorResponse'], + version: str): + """ + State information for an ACM's Operator + :param str deployment_state: The state of the Operator's deployment + :param Sequence['ConfigManagementInstallErrorResponse'] errors: Install errors. + :param str version: The semenatic version number of the operator + """ + pulumi.set(__self__, "deployment_state", deployment_state) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="deploymentState") + def deployment_state(self) -> str: + """ + The state of the Operator's deployment + """ + return pulumi.get(self, "deployment_state") + + @property + @pulumi.getter + def errors(self) -> Sequence['outputs.ConfigManagementInstallErrorResponse']: + """ + Install errors. + """ + return pulumi.get(self, "errors") + + @property + @pulumi.getter + def version(self) -> str: + """ + The semenatic version number of the operator + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementPolicyControllerMigrationResponse(dict): + """ + State for the migration of PolicyController from ACM -> PoCo Hub. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "copyTime": + suggest = "copy_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementPolicyControllerMigrationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementPolicyControllerMigrationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementPolicyControllerMigrationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + copy_time: str, + stage: str): + """ + State for the migration of PolicyController from ACM -> PoCo Hub. + :param str copy_time: Last time this membership spec was copied to PoCo feature. + :param str stage: Stage of the migration. + """ + pulumi.set(__self__, "copy_time", copy_time) + pulumi.set(__self__, "stage", stage) + + @property + @pulumi.getter(name="copyTime") + def copy_time(self) -> str: + """ + Last time this membership spec was copied to PoCo feature. + """ + return pulumi.get(self, "copy_time") + + @property + @pulumi.getter + def stage(self) -> str: + """ + Stage of the migration. + """ + return pulumi.get(self, "stage") + + +@pulumi.output_type +class ConfigManagementPolicyControllerMonitoringResponse(dict): + """ + PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + """ + def __init__(__self__, *, + backends: Sequence[str]): + """ + PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + pulumi.set(__self__, "backends", backends) + + @property + @pulumi.getter + def backends(self) -> Sequence[str]: + """ + Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + return pulumi.get(self, "backends") + + +@pulumi.output_type +class ConfigManagementPolicyControllerResponse(dict): + """ + Configuration for Policy Controller + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "auditIntervalSeconds": + suggest = "audit_interval_seconds" + elif key == "exemptableNamespaces": + suggest = "exemptable_namespaces" + elif key == "logDeniesEnabled": + suggest = "log_denies_enabled" + elif key == "mutationEnabled": + suggest = "mutation_enabled" + elif key == "referentialRulesEnabled": + suggest = "referential_rules_enabled" + elif key == "templateLibraryInstalled": + suggest = "template_library_installed" + elif key == "updateTime": + suggest = "update_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementPolicyControllerResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementPolicyControllerResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementPolicyControllerResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + audit_interval_seconds: str, + enabled: bool, + exemptable_namespaces: Sequence[str], + log_denies_enabled: bool, + monitoring: 'outputs.ConfigManagementPolicyControllerMonitoringResponse', + mutation_enabled: bool, + referential_rules_enabled: bool, + template_library_installed: bool, + update_time: str): + """ + Configuration for Policy Controller + :param str audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + :param bool enabled: Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect. + :param Sequence[str] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + :param bool log_denies_enabled: Logs all denies and dry run failures. + :param 'ConfigManagementPolicyControllerMonitoringResponse' monitoring: Monitoring specifies the configuration of monitoring. + :param bool mutation_enabled: Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster. + :param bool referential_rules_enabled: Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + :param bool template_library_installed: Installs the default template library along with Policy Controller. + :param str update_time: Last time this membership spec was updated. """ pulumi.set(__self__, "audit_interval_seconds", audit_interval_seconds) pulumi.set(__self__, "enabled", enabled) @@ -1653,69 +2707,329 @@ def audit_interval_seconds(self) -> str: """ return pulumi.get(self, "audit_interval_seconds") - @property - @pulumi.getter - def enabled(self) -> bool: - """ - Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect. + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="exemptableNamespaces") + def exemptable_namespaces(self) -> Sequence[str]: + """ + The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + """ + return pulumi.get(self, "exemptable_namespaces") + + @property + @pulumi.getter(name="logDeniesEnabled") + def log_denies_enabled(self) -> bool: + """ + Logs all denies and dry run failures. + """ + return pulumi.get(self, "log_denies_enabled") + + @property + @pulumi.getter + def monitoring(self) -> 'outputs.ConfigManagementPolicyControllerMonitoringResponse': + """ + Monitoring specifies the configuration of monitoring. + """ + return pulumi.get(self, "monitoring") + + @property + @pulumi.getter(name="mutationEnabled") + def mutation_enabled(self) -> bool: + """ + Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster. + """ + return pulumi.get(self, "mutation_enabled") + + @property + @pulumi.getter(name="referentialRulesEnabled") + def referential_rules_enabled(self) -> bool: + """ + Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + """ + return pulumi.get(self, "referential_rules_enabled") + + @property + @pulumi.getter(name="templateLibraryInstalled") + def template_library_installed(self) -> bool: + """ + Installs the default template library along with Policy Controller. + """ + return pulumi.get(self, "template_library_installed") + + @property + @pulumi.getter(name="updateTime") + def update_time(self) -> str: + """ + Last time this membership spec was updated. + """ + return pulumi.get(self, "update_time") + + +@pulumi.output_type +class ConfigManagementPolicyControllerStateResponse(dict): + """ + State for PolicyControllerState. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deploymentState": + suggest = "deployment_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementPolicyControllerStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementPolicyControllerStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementPolicyControllerStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + deployment_state: 'outputs.ConfigManagementGatekeeperDeploymentStateResponse', + migration: 'outputs.ConfigManagementPolicyControllerMigrationResponse', + version: 'outputs.ConfigManagementPolicyControllerVersionResponse'): + """ + State for PolicyControllerState. + :param 'ConfigManagementGatekeeperDeploymentStateResponse' deployment_state: The state about the policy controller installation. + :param 'ConfigManagementPolicyControllerMigrationResponse' migration: Record state of ACM -> PoCo Hub migration for this feature. + :param 'ConfigManagementPolicyControllerVersionResponse' version: The version of Gatekeeper Policy Controller deployed. + """ + pulumi.set(__self__, "deployment_state", deployment_state) + pulumi.set(__self__, "migration", migration) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="deploymentState") + def deployment_state(self) -> 'outputs.ConfigManagementGatekeeperDeploymentStateResponse': + """ + The state about the policy controller installation. + """ + return pulumi.get(self, "deployment_state") + + @property + @pulumi.getter + def migration(self) -> 'outputs.ConfigManagementPolicyControllerMigrationResponse': + """ + Record state of ACM -> PoCo Hub migration for this feature. + """ + return pulumi.get(self, "migration") + + @property + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementPolicyControllerVersionResponse': + """ + The version of Gatekeeper Policy Controller deployed. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementPolicyControllerVersionResponse(dict): + """ + The build version of Gatekeeper Policy Controller is using. + """ + def __init__(__self__, *, + version: str): + """ + The build version of Gatekeeper Policy Controller is using. + :param str version: The gatekeeper image tag that is composed of ACM version, git tag, build number. + """ + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def version(self) -> str: + """ + The gatekeeper image tag that is composed of ACM version, git tag, build number. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementSyncErrorResponse(dict): + """ + An ACM created error representing a problem syncing configurations + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorMessage": + suggest = "error_message" + elif key == "errorResources": + suggest = "error_resources" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementSyncErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementSyncErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementSyncErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + code: str, + error_message: str, + error_resources: Sequence['outputs.ConfigManagementErrorResourceResponse']): + """ + An ACM created error representing a problem syncing configurations + :param str code: An ACM defined error code + :param str error_message: A description of the error + :param Sequence['ConfigManagementErrorResourceResponse'] error_resources: A list of config(s) associated with the error, if any + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "error_message", error_message) + pulumi.set(__self__, "error_resources", error_resources) + + @property + @pulumi.getter + def code(self) -> str: + """ + An ACM defined error code + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + A description of the error + """ + return pulumi.get(self, "error_message") + + @property + @pulumi.getter(name="errorResources") + def error_resources(self) -> Sequence['outputs.ConfigManagementErrorResourceResponse']: + """ + A list of config(s) associated with the error, if any + """ + return pulumi.get(self, "error_resources") + + +@pulumi.output_type +class ConfigManagementSyncStateResponse(dict): + """ + State indicating an ACM's progress syncing configurations to a cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "importToken": + suggest = "import_token" + elif key == "lastSync": + suggest = "last_sync" + elif key == "lastSyncTime": + suggest = "last_sync_time" + elif key == "sourceToken": + suggest = "source_token" + elif key == "syncToken": + suggest = "sync_token" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementSyncStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementSyncStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementSyncStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + code: str, + errors: Sequence['outputs.ConfigManagementSyncErrorResponse'], + import_token: str, + last_sync: str, + last_sync_time: str, + source_token: str, + sync_token: str): + """ + State indicating an ACM's progress syncing configurations to a cluster + :param str code: Sync status code + :param Sequence['ConfigManagementSyncErrorResponse'] errors: A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + :param str import_token: Token indicating the state of the importer. + :param str last_sync: Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + :param str last_sync_time: Timestamp type of when ACM last successfully synced the repo + :param str source_token: Token indicating the state of the repo. + :param str sync_token: Token indicating the state of the syncer. """ - return pulumi.get(self, "enabled") + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "import_token", import_token) + pulumi.set(__self__, "last_sync", last_sync) + pulumi.set(__self__, "last_sync_time", last_sync_time) + pulumi.set(__self__, "source_token", source_token) + pulumi.set(__self__, "sync_token", sync_token) @property - @pulumi.getter(name="exemptableNamespaces") - def exemptable_namespaces(self) -> Sequence[str]: + @pulumi.getter + def code(self) -> str: """ - The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + Sync status code """ - return pulumi.get(self, "exemptable_namespaces") + return pulumi.get(self, "code") @property - @pulumi.getter(name="logDeniesEnabled") - def log_denies_enabled(self) -> bool: + @pulumi.getter + def errors(self) -> Sequence['outputs.ConfigManagementSyncErrorResponse']: """ - Logs all denies and dry run failures. + A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. """ - return pulumi.get(self, "log_denies_enabled") + return pulumi.get(self, "errors") @property - @pulumi.getter - def monitoring(self) -> 'outputs.ConfigManagementPolicyControllerMonitoringResponse': + @pulumi.getter(name="importToken") + def import_token(self) -> str: """ - Monitoring specifies the configuration of monitoring. + Token indicating the state of the importer. """ - return pulumi.get(self, "monitoring") + return pulumi.get(self, "import_token") @property - @pulumi.getter(name="mutationEnabled") - def mutation_enabled(self) -> bool: + @pulumi.getter(name="lastSync") + @_utilities.deprecated("""Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String""") + def last_sync(self) -> str: """ - Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster. + Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String """ - return pulumi.get(self, "mutation_enabled") + return pulumi.get(self, "last_sync") @property - @pulumi.getter(name="referentialRulesEnabled") - def referential_rules_enabled(self) -> bool: + @pulumi.getter(name="lastSyncTime") + def last_sync_time(self) -> str: """ - Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + Timestamp type of when ACM last successfully synced the repo """ - return pulumi.get(self, "referential_rules_enabled") + return pulumi.get(self, "last_sync_time") @property - @pulumi.getter(name="templateLibraryInstalled") - def template_library_installed(self) -> bool: + @pulumi.getter(name="sourceToken") + def source_token(self) -> str: """ - Installs the default template library along with Policy Controller. + Token indicating the state of the repo. """ - return pulumi.get(self, "template_library_installed") + return pulumi.get(self, "source_token") @property - @pulumi.getter(name="updateTime") - def update_time(self) -> str: + @pulumi.getter(name="syncToken") + def sync_token(self) -> str: """ - Last time this membership spec was updated. + Token indicating the state of the syncer. """ - return pulumi.get(self, "update_time") + return pulumi.get(self, "sync_token") @pulumi.output_type @@ -2233,6 +3547,30 @@ def fleet_scope_logs_config(self) -> 'outputs.FleetObservabilityRoutingConfigRes return pulumi.get(self, "fleet_scope_logs_config") +@pulumi.output_type +class FleetObservabilityMembershipSpecResponse(dict): + """ + **FleetObservability**: The membership-specific input for FleetObservability feature. + """ + def __init__(__self__): + """ + **FleetObservability**: The membership-specific input for FleetObservability feature. + """ + pass + + +@pulumi.output_type +class FleetObservabilityMembershipStateResponse(dict): + """ + **FleetObservability**: Membership-specific Feature state for fleetobservability. + """ + def __init__(__self__): + """ + **FleetObservability**: Membership-specific Feature state for fleetobservability. + """ + pass + + @pulumi.output_type class FleetObservabilityRoutingConfigResponse(dict): """ @@ -2544,6 +3882,82 @@ def auth_methods(self) -> Sequence['outputs.IdentityServiceAuthMethodResponse']: return pulumi.get(self, "auth_methods") +@pulumi.output_type +class IdentityServiceMembershipStateResponse(dict): + """ + **Anthos Identity Service**: State for a single Membership. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "failureReason": + suggest = "failure_reason" + elif key == "installedVersion": + suggest = "installed_version" + elif key == "memberConfig": + suggest = "member_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IdentityServiceMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IdentityServiceMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IdentityServiceMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + failure_reason: str, + installed_version: str, + member_config: 'outputs.IdentityServiceMembershipSpecResponse', + state: str): + """ + **Anthos Identity Service**: State for a single Membership. + :param str failure_reason: The reason of the failure. + :param str installed_version: Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + :param 'IdentityServiceMembershipSpecResponse' member_config: Last reconciled membership configuration + :param str state: Deployment state on this member + """ + pulumi.set(__self__, "failure_reason", failure_reason) + pulumi.set(__self__, "installed_version", installed_version) + pulumi.set(__self__, "member_config", member_config) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="failureReason") + def failure_reason(self) -> str: + """ + The reason of the failure. + """ + return pulumi.get(self, "failure_reason") + + @property + @pulumi.getter(name="installedVersion") + def installed_version(self) -> str: + """ + Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + """ + return pulumi.get(self, "installed_version") + + @property + @pulumi.getter(name="memberConfig") + def member_config(self) -> 'outputs.IdentityServiceMembershipSpecResponse': + """ + Last reconciled membership configuration + """ + return pulumi.get(self, "member_config") + + @property + @pulumi.getter + def state(self) -> str: + """ + Deployment state on this member + """ + return pulumi.get(self, "state") + + @pulumi.output_type class IdentityServiceOidcConfigResponse(dict): """ @@ -3084,6 +4498,182 @@ def on_prem_cluster(self) -> 'outputs.OnPremClusterResponse': return pulumi.get(self, "on_prem_cluster") +@pulumi.output_type +class MembershipFeatureSpecResponse(dict): + """ + MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + """ + def __init__(__self__, *, + configmanagement: 'outputs.ConfigManagementMembershipSpecResponse', + fleetobservability: 'outputs.FleetObservabilityMembershipSpecResponse', + identityservice: 'outputs.IdentityServiceMembershipSpecResponse', + mesh: 'outputs.ServiceMeshMembershipSpecResponse', + origin: 'outputs.OriginResponse', + policycontroller: 'outputs.PolicyControllerMembershipSpecResponse'): + """ + MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + :param 'ConfigManagementMembershipSpecResponse' configmanagement: Config Management-specific spec. + :param 'FleetObservabilityMembershipSpecResponse' fleetobservability: Fleet observability membership spec + :param 'IdentityServiceMembershipSpecResponse' identityservice: Identity Service-specific spec. + :param 'ServiceMeshMembershipSpecResponse' mesh: Anthos Service Mesh-specific spec + :param 'OriginResponse' origin: Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + :param 'PolicyControllerMembershipSpecResponse' policycontroller: Policy Controller spec. + """ + pulumi.set(__self__, "configmanagement", configmanagement) + pulumi.set(__self__, "fleetobservability", fleetobservability) + pulumi.set(__self__, "identityservice", identityservice) + pulumi.set(__self__, "mesh", mesh) + pulumi.set(__self__, "origin", origin) + pulumi.set(__self__, "policycontroller", policycontroller) + + @property + @pulumi.getter + def configmanagement(self) -> 'outputs.ConfigManagementMembershipSpecResponse': + """ + Config Management-specific spec. + """ + return pulumi.get(self, "configmanagement") + + @property + @pulumi.getter + def fleetobservability(self) -> 'outputs.FleetObservabilityMembershipSpecResponse': + """ + Fleet observability membership spec + """ + return pulumi.get(self, "fleetobservability") + + @property + @pulumi.getter + def identityservice(self) -> 'outputs.IdentityServiceMembershipSpecResponse': + """ + Identity Service-specific spec. + """ + return pulumi.get(self, "identityservice") + + @property + @pulumi.getter + def mesh(self) -> 'outputs.ServiceMeshMembershipSpecResponse': + """ + Anthos Service Mesh-specific spec + """ + return pulumi.get(self, "mesh") + + @property + @pulumi.getter + def origin(self) -> 'outputs.OriginResponse': + """ + Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + """ + return pulumi.get(self, "origin") + + @property + @pulumi.getter + def policycontroller(self) -> 'outputs.PolicyControllerMembershipSpecResponse': + """ + Policy Controller spec. + """ + return pulumi.get(self, "policycontroller") + + +@pulumi.output_type +class MembershipFeatureStateResponse(dict): + """ + MembershipFeatureState contains Feature status information for a single Membership. + """ + def __init__(__self__, *, + appdevexperience: 'outputs.AppDevExperienceFeatureStateResponse', + clusterupgrade: 'outputs.ClusterUpgradeMembershipStateResponse', + configmanagement: 'outputs.ConfigManagementMembershipStateResponse', + fleetobservability: 'outputs.FleetObservabilityMembershipStateResponse', + identityservice: 'outputs.IdentityServiceMembershipStateResponse', + policycontroller: 'outputs.PolicyControllerMembershipStateResponse', + servicemesh: 'outputs.ServiceMeshMembershipStateResponse', + state: 'outputs.FeatureStateResponse'): + """ + MembershipFeatureState contains Feature status information for a single Membership. + :param 'AppDevExperienceFeatureStateResponse' appdevexperience: Appdevexperience specific state. + :param 'ClusterUpgradeMembershipStateResponse' clusterupgrade: ClusterUpgrade state. + :param 'ConfigManagementMembershipStateResponse' configmanagement: Config Management-specific state. + :param 'FleetObservabilityMembershipStateResponse' fleetobservability: Fleet observability membership state. + :param 'IdentityServiceMembershipStateResponse' identityservice: Identity Service-specific state. + :param 'PolicyControllerMembershipStateResponse' policycontroller: Policycontroller-specific state. + :param 'ServiceMeshMembershipStateResponse' servicemesh: Service Mesh-specific state. + :param 'FeatureStateResponse' state: The high-level state of this Feature for a single membership. + """ + pulumi.set(__self__, "appdevexperience", appdevexperience) + pulumi.set(__self__, "clusterupgrade", clusterupgrade) + pulumi.set(__self__, "configmanagement", configmanagement) + pulumi.set(__self__, "fleetobservability", fleetobservability) + pulumi.set(__self__, "identityservice", identityservice) + pulumi.set(__self__, "policycontroller", policycontroller) + pulumi.set(__self__, "servicemesh", servicemesh) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def appdevexperience(self) -> 'outputs.AppDevExperienceFeatureStateResponse': + """ + Appdevexperience specific state. + """ + return pulumi.get(self, "appdevexperience") + + @property + @pulumi.getter + def clusterupgrade(self) -> 'outputs.ClusterUpgradeMembershipStateResponse': + """ + ClusterUpgrade state. + """ + return pulumi.get(self, "clusterupgrade") + + @property + @pulumi.getter + def configmanagement(self) -> 'outputs.ConfigManagementMembershipStateResponse': + """ + Config Management-specific state. + """ + return pulumi.get(self, "configmanagement") + + @property + @pulumi.getter + def fleetobservability(self) -> 'outputs.FleetObservabilityMembershipStateResponse': + """ + Fleet observability membership state. + """ + return pulumi.get(self, "fleetobservability") + + @property + @pulumi.getter + def identityservice(self) -> 'outputs.IdentityServiceMembershipStateResponse': + """ + Identity Service-specific state. + """ + return pulumi.get(self, "identityservice") + + @property + @pulumi.getter + def policycontroller(self) -> 'outputs.PolicyControllerMembershipStateResponse': + """ + Policycontroller-specific state. + """ + return pulumi.get(self, "policycontroller") + + @property + @pulumi.getter + def servicemesh(self) -> 'outputs.ServiceMeshMembershipStateResponse': + """ + Service Mesh-specific state. + """ + return pulumi.get(self, "servicemesh") + + @property + @pulumi.getter + def state(self) -> 'outputs.FeatureStateResponse': + """ + The high-level state of this Feature for a single membership. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class MembershipStateResponse(dict): """ @@ -3377,9 +4967,31 @@ def cluster_type(self) -> str: @pulumi.getter(name="resourceLink") def resource_link(self) -> str: """ - Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + """ + return pulumi.get(self, "resource_link") + + +@pulumi.output_type +class OriginResponse(dict): + """ + Origin defines where this MembershipFeatureSpec originated from. + """ + def __init__(__self__, *, + type: str): + """ + Origin defines where this MembershipFeatureSpec originated from. + :param str type: Type specifies which type of origin is set. + """ + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> str: + """ + Type specifies which type of origin is set. """ - return pulumi.get(self, "resource_link") + return pulumi.get(self, "type") @pulumi.output_type @@ -3404,6 +5016,45 @@ def name(self) -> str: return pulumi.get(self, "name") +@pulumi.output_type +class PolicyControllerBundleInstallSpecResponse(dict): + """ + BundleInstallSpec is the specification configuration for a single managed bundle. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "exemptedNamespaces": + suggest = "exempted_namespaces" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerBundleInstallSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerBundleInstallSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerBundleInstallSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exempted_namespaces: Sequence[str]): + """ + BundleInstallSpec is the specification configuration for a single managed bundle. + :param Sequence[str] exempted_namespaces: The set of namespaces to be exempted from the bundle. + """ + pulumi.set(__self__, "exempted_namespaces", exempted_namespaces) + + @property + @pulumi.getter(name="exemptedNamespaces") + def exempted_namespaces(self) -> Sequence[str]: + """ + The set of namespaces to be exempted from the bundle. + """ + return pulumi.get(self, "exempted_namespaces") + + @pulumi.output_type class PolicyControllerHubConfigResponse(dict): """ @@ -3445,7 +5096,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, audit_interval_seconds: str, constraint_violation_limit: str, - deployment_configs: Mapping[str, str], + deployment_configs: Mapping[str, 'outputs.PolicyControllerPolicyControllerDeploymentConfigResponse'], exemptable_namespaces: Sequence[str], install_spec: str, log_denies_enabled: bool, @@ -3457,7 +5108,7 @@ def __init__(__self__, *, Configuration for Policy Controller :param str audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. :param str constraint_violation_limit: The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - :param Mapping[str, str] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). + :param Mapping[str, 'PolicyControllerPolicyControllerDeploymentConfigResponse'] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). :param Sequence[str] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. :param str install_spec: The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. :param bool log_denies_enabled: Logs all denies and dry run failures. @@ -3495,7 +5146,7 @@ def constraint_violation_limit(self) -> str: @property @pulumi.getter(name="deploymentConfigs") - def deployment_configs(self) -> Mapping[str, str]: + def deployment_configs(self) -> Mapping[str, 'outputs.PolicyControllerPolicyControllerDeploymentConfigResponse']: """ Map of deployment configs to deployments ("admission", "audit", "mutation'). """ @@ -3517,167 +5168,485 @@ def install_spec(self) -> str: """ return pulumi.get(self, "install_spec") - @property - @pulumi.getter(name="logDeniesEnabled") - def log_denies_enabled(self) -> bool: - """ - Logs all denies and dry run failures. - """ - return pulumi.get(self, "log_denies_enabled") + @property + @pulumi.getter(name="logDeniesEnabled") + def log_denies_enabled(self) -> bool: + """ + Logs all denies and dry run failures. + """ + return pulumi.get(self, "log_denies_enabled") + + @property + @pulumi.getter + def monitoring(self) -> 'outputs.PolicyControllerMonitoringConfigResponse': + """ + Monitoring specifies the configuration of monitoring. + """ + return pulumi.get(self, "monitoring") + + @property + @pulumi.getter(name="mutationEnabled") + def mutation_enabled(self) -> bool: + """ + Enables the ability to mutate resources using Policy Controller. + """ + return pulumi.get(self, "mutation_enabled") + + @property + @pulumi.getter(name="policyContent") + def policy_content(self) -> 'outputs.PolicyControllerPolicyContentSpecResponse': + """ + Specifies the desired policy content on the cluster + """ + return pulumi.get(self, "policy_content") + + @property + @pulumi.getter(name="referentialRulesEnabled") + def referential_rules_enabled(self) -> bool: + """ + Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + """ + return pulumi.get(self, "referential_rules_enabled") + + +@pulumi.output_type +class PolicyControllerMembershipSpecResponse(dict): + """ + **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "policyControllerHubConfig": + suggest = "policy_controller_hub_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerMembershipSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerMembershipSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + policy_controller_hub_config: 'outputs.PolicyControllerHubConfigResponse', + version: str): + """ + **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + :param 'PolicyControllerHubConfigResponse' policy_controller_hub_config: Policy Controller configuration for the cluster. + :param str version: Version of Policy Controller installed. + """ + pulumi.set(__self__, "policy_controller_hub_config", policy_controller_hub_config) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="policyControllerHubConfig") + def policy_controller_hub_config(self) -> 'outputs.PolicyControllerHubConfigResponse': + """ + Policy Controller configuration for the cluster. + """ + return pulumi.get(self, "policy_controller_hub_config") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version of Policy Controller installed. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class PolicyControllerMembershipStateResponse(dict): + """ + **Policy Controller**: State for a single cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "componentStates": + suggest = "component_states" + elif key == "policyContentState": + suggest = "policy_content_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + component_states: Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse'], + policy_content_state: 'outputs.PolicyControllerPolicyContentStateResponse', + state: str): + """ + **Policy Controller**: State for a single cluster. + :param Mapping[str, 'PolicyControllerOnClusterStateResponse'] component_states: Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + :param 'PolicyControllerPolicyContentStateResponse' policy_content_state: The overall content state observed by the Hub Feature controller. + :param str state: The overall Policy Controller lifecycle state observed by the Hub Feature controller. + """ + pulumi.set(__self__, "component_states", component_states) + pulumi.set(__self__, "policy_content_state", policy_content_state) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="componentStates") + def component_states(self) -> Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse']: + """ + Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + """ + return pulumi.get(self, "component_states") + + @property + @pulumi.getter(name="policyContentState") + def policy_content_state(self) -> 'outputs.PolicyControllerPolicyContentStateResponse': + """ + The overall content state observed by the Hub Feature controller. + """ + return pulumi.get(self, "policy_content_state") + + @property + @pulumi.getter + def state(self) -> str: + """ + The overall Policy Controller lifecycle state observed by the Hub Feature controller. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class PolicyControllerMonitoringConfigResponse(dict): + """ + MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + """ + def __init__(__self__, *, + backends: Sequence[str]): + """ + MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + pulumi.set(__self__, "backends", backends) + + @property + @pulumi.getter + def backends(self) -> Sequence[str]: + """ + Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + return pulumi.get(self, "backends") + + +@pulumi.output_type +class PolicyControllerOnClusterStateResponse(dict): + """ + OnClusterState represents the state of a sub-component of Policy Controller. + """ + def __init__(__self__, *, + details: str, + state: str): + """ + OnClusterState represents the state of a sub-component of Policy Controller. + :param str details: Surface potential errors or information logs. + :param str state: The lifecycle state of this component. + """ + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def details(self) -> str: + """ + Surface potential errors or information logs. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def state(self) -> str: + """ + The lifecycle state of this component. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class PolicyControllerPolicyContentSpecResponse(dict): + """ + PolicyContentSpec defines the user's desired content configuration on the cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "templateLibrary": + suggest = "template_library" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyContentSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerPolicyContentSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerPolicyContentSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bundles: Mapping[str, 'outputs.PolicyControllerBundleInstallSpecResponse'], + template_library: 'outputs.PolicyControllerTemplateLibraryConfigResponse'): + """ + PolicyContentSpec defines the user's desired content configuration on the cluster. + :param Mapping[str, 'PolicyControllerBundleInstallSpecResponse'] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + :param 'PolicyControllerTemplateLibraryConfigResponse' template_library: Configures the installation of the Template Library. + """ + pulumi.set(__self__, "bundles", bundles) + pulumi.set(__self__, "template_library", template_library) + + @property + @pulumi.getter + def bundles(self) -> Mapping[str, 'outputs.PolicyControllerBundleInstallSpecResponse']: + """ + map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + """ + return pulumi.get(self, "bundles") + + @property + @pulumi.getter(name="templateLibrary") + def template_library(self) -> 'outputs.PolicyControllerTemplateLibraryConfigResponse': + """ + Configures the installation of the Template Library. + """ + return pulumi.get(self, "template_library") + + +@pulumi.output_type +class PolicyControllerPolicyContentStateResponse(dict): + """ + The state of the policy controller policy content + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bundleStates": + suggest = "bundle_states" + elif key == "referentialSyncConfigState": + suggest = "referential_sync_config_state" + elif key == "templateLibraryState": + suggest = "template_library_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyContentStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerPolicyContentStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerPolicyContentStateResponse.__key_warning(key) + return super().get(key, default) - @property - @pulumi.getter - def monitoring(self) -> 'outputs.PolicyControllerMonitoringConfigResponse': + def __init__(__self__, *, + bundle_states: Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse'], + referential_sync_config_state: 'outputs.PolicyControllerOnClusterStateResponse', + template_library_state: 'outputs.PolicyControllerOnClusterStateResponse'): """ - Monitoring specifies the configuration of monitoring. + The state of the policy controller policy content + :param Mapping[str, 'PolicyControllerOnClusterStateResponse'] bundle_states: The state of the any bundles included in the chosen version of the manifest + :param 'PolicyControllerOnClusterStateResponse' referential_sync_config_state: The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + :param 'PolicyControllerOnClusterStateResponse' template_library_state: The state of the template library """ - return pulumi.get(self, "monitoring") + pulumi.set(__self__, "bundle_states", bundle_states) + pulumi.set(__self__, "referential_sync_config_state", referential_sync_config_state) + pulumi.set(__self__, "template_library_state", template_library_state) @property - @pulumi.getter(name="mutationEnabled") - def mutation_enabled(self) -> bool: + @pulumi.getter(name="bundleStates") + def bundle_states(self) -> Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse']: """ - Enables the ability to mutate resources using Policy Controller. + The state of the any bundles included in the chosen version of the manifest """ - return pulumi.get(self, "mutation_enabled") + return pulumi.get(self, "bundle_states") @property - @pulumi.getter(name="policyContent") - def policy_content(self) -> 'outputs.PolicyControllerPolicyContentSpecResponse': + @pulumi.getter(name="referentialSyncConfigState") + def referential_sync_config_state(self) -> 'outputs.PolicyControllerOnClusterStateResponse': """ - Specifies the desired policy content on the cluster + The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. """ - return pulumi.get(self, "policy_content") + return pulumi.get(self, "referential_sync_config_state") @property - @pulumi.getter(name="referentialRulesEnabled") - def referential_rules_enabled(self) -> bool: + @pulumi.getter(name="templateLibraryState") + def template_library_state(self) -> 'outputs.PolicyControllerOnClusterStateResponse': """ - Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + The state of the template library """ - return pulumi.get(self, "referential_rules_enabled") + return pulumi.get(self, "template_library_state") @pulumi.output_type -class PolicyControllerMembershipSpecResponse(dict): +class PolicyControllerPolicyControllerDeploymentConfigResponse(dict): """ - **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + Deployment-specific configuration. """ @staticmethod def __key_warning(key: str): suggest = None - if key == "policyControllerHubConfig": - suggest = "policy_controller_hub_config" + if key == "containerResources": + suggest = "container_resources" + elif key == "podAffinity": + suggest = "pod_affinity" + elif key == "podAntiAffinity": + suggest = "pod_anti_affinity" + elif key == "podTolerations": + suggest = "pod_tolerations" + elif key == "replicaCount": + suggest = "replica_count" if suggest: - pulumi.log.warn(f"Key '{key}' not found in PolicyControllerMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyControllerDeploymentConfigResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - PolicyControllerMembershipSpecResponse.__key_warning(key) + PolicyControllerPolicyControllerDeploymentConfigResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - PolicyControllerMembershipSpecResponse.__key_warning(key) + PolicyControllerPolicyControllerDeploymentConfigResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - policy_controller_hub_config: 'outputs.PolicyControllerHubConfigResponse', - version: str): + container_resources: 'outputs.PolicyControllerResourceRequirementsResponse', + pod_affinity: str, + pod_anti_affinity: bool, + pod_tolerations: Sequence['outputs.PolicyControllerTolerationResponse'], + replica_count: str): """ - **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. - :param 'PolicyControllerHubConfigResponse' policy_controller_hub_config: Policy Controller configuration for the cluster. - :param str version: Version of Policy Controller installed. + Deployment-specific configuration. + :param 'PolicyControllerResourceRequirementsResponse' container_resources: Container resource requirements. + :param str pod_affinity: Pod affinity configuration. + :param bool pod_anti_affinity: Pod anti-affinity enablement. + :param Sequence['PolicyControllerTolerationResponse'] pod_tolerations: Pod tolerations of node taints. + :param str replica_count: Pod replica count. """ - pulumi.set(__self__, "policy_controller_hub_config", policy_controller_hub_config) - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "container_resources", container_resources) + pulumi.set(__self__, "pod_affinity", pod_affinity) + pulumi.set(__self__, "pod_anti_affinity", pod_anti_affinity) + pulumi.set(__self__, "pod_tolerations", pod_tolerations) + pulumi.set(__self__, "replica_count", replica_count) @property - @pulumi.getter(name="policyControllerHubConfig") - def policy_controller_hub_config(self) -> 'outputs.PolicyControllerHubConfigResponse': + @pulumi.getter(name="containerResources") + def container_resources(self) -> 'outputs.PolicyControllerResourceRequirementsResponse': """ - Policy Controller configuration for the cluster. + Container resource requirements. """ - return pulumi.get(self, "policy_controller_hub_config") + return pulumi.get(self, "container_resources") @property - @pulumi.getter - def version(self) -> str: + @pulumi.getter(name="podAffinity") + def pod_affinity(self) -> str: """ - Version of Policy Controller installed. + Pod affinity configuration. """ - return pulumi.get(self, "version") + return pulumi.get(self, "pod_affinity") + + @property + @pulumi.getter(name="podAntiAffinity") + def pod_anti_affinity(self) -> bool: + """ + Pod anti-affinity enablement. + """ + return pulumi.get(self, "pod_anti_affinity") + + @property + @pulumi.getter(name="podTolerations") + def pod_tolerations(self) -> Sequence['outputs.PolicyControllerTolerationResponse']: + """ + Pod tolerations of node taints. + """ + return pulumi.get(self, "pod_tolerations") + + @property + @pulumi.getter(name="replicaCount") + def replica_count(self) -> str: + """ + Pod replica count. + """ + return pulumi.get(self, "replica_count") @pulumi.output_type -class PolicyControllerMonitoringConfigResponse(dict): +class PolicyControllerResourceListResponse(dict): """ - MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + ResourceList contains container resource requirements. """ def __init__(__self__, *, - backends: Sequence[str]): + cpu: str, + memory: str): """ - MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] - :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + ResourceList contains container resource requirements. + :param str cpu: CPU requirement expressed in Kubernetes resource units. + :param str memory: Memory requirement expressed in Kubernetes resource units. """ - pulumi.set(__self__, "backends", backends) + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "memory", memory) @property @pulumi.getter - def backends(self) -> Sequence[str]: + def cpu(self) -> str: """ - Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + CPU requirement expressed in Kubernetes resource units. """ - return pulumi.get(self, "backends") + return pulumi.get(self, "cpu") + + @property + @pulumi.getter + def memory(self) -> str: + """ + Memory requirement expressed in Kubernetes resource units. + """ + return pulumi.get(self, "memory") @pulumi.output_type -class PolicyControllerPolicyContentSpecResponse(dict): +class PolicyControllerResourceRequirementsResponse(dict): """ - PolicyContentSpec defines the user's desired content configuration on the cluster. + ResourceRequirements describes the compute resource requirements. """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "templateLibrary": - suggest = "template_library" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyContentSpecResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - PolicyControllerPolicyContentSpecResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - PolicyControllerPolicyContentSpecResponse.__key_warning(key) - return super().get(key, default) - def __init__(__self__, *, - bundles: Mapping[str, str], - template_library: 'outputs.PolicyControllerTemplateLibraryConfigResponse'): + limits: 'outputs.PolicyControllerResourceListResponse', + requests: 'outputs.PolicyControllerResourceListResponse'): """ - PolicyContentSpec defines the user's desired content configuration on the cluster. - :param Mapping[str, str] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - :param 'PolicyControllerTemplateLibraryConfigResponse' template_library: Configures the installation of the Template Library. + ResourceRequirements describes the compute resource requirements. + :param 'PolicyControllerResourceListResponse' limits: Limits describes the maximum amount of compute resources allowed for use by the running container. + :param 'PolicyControllerResourceListResponse' requests: Requests describes the amount of compute resources reserved for the container by the kube-scheduler. """ - pulumi.set(__self__, "bundles", bundles) - pulumi.set(__self__, "template_library", template_library) + pulumi.set(__self__, "limits", limits) + pulumi.set(__self__, "requests", requests) @property @pulumi.getter - def bundles(self) -> Mapping[str, str]: + def limits(self) -> 'outputs.PolicyControllerResourceListResponse': """ - map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + Limits describes the maximum amount of compute resources allowed for use by the running container. """ - return pulumi.get(self, "bundles") + return pulumi.get(self, "limits") @property - @pulumi.getter(name="templateLibrary") - def template_library(self) -> 'outputs.PolicyControllerTemplateLibraryConfigResponse': + @pulumi.getter + def requests(self) -> 'outputs.PolicyControllerResourceListResponse': """ - Configures the installation of the Template Library. + Requests describes the amount of compute resources reserved for the container by the kube-scheduler. """ - return pulumi.get(self, "template_library") + return pulumi.get(self, "requests") @pulumi.output_type @@ -3702,6 +5671,61 @@ def installation(self) -> str: return pulumi.get(self, "installation") +@pulumi.output_type +class PolicyControllerTolerationResponse(dict): + """ + Toleration of a node taint. + """ + def __init__(__self__, *, + effect: str, + key: str, + operator: str, + value: str): + """ + Toleration of a node taint. + :param str effect: Matches a taint effect. + :param str key: Matches a taint key (not necessarily unique). + :param str operator: Matches a taint operator. + :param str value: Matches a taint value. + """ + pulumi.set(__self__, "effect", effect) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> str: + """ + Matches a taint effect. + """ + return pulumi.get(self, "effect") + + @property + @pulumi.getter + def key(self) -> str: + """ + Matches a taint key (not necessarily unique). + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def operator(self) -> str: + """ + Matches a taint operator. + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def value(self) -> str: + """ + Matches a taint value. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class RBACRoleBindingLifecycleStateResponse(dict): """ @@ -3878,6 +5902,40 @@ def predefined_role(self) -> str: return pulumi.get(self, "predefined_role") +@pulumi.output_type +class ScopeFeatureSpecResponse(dict): + """ + ScopeFeatureSpec contains feature specs for a fleet scope. + """ + def __init__(__self__): + """ + ScopeFeatureSpec contains feature specs for a fleet scope. + """ + pass + + +@pulumi.output_type +class ScopeFeatureStateResponse(dict): + """ + ScopeFeatureState contains Scope-wide Feature status information. + """ + def __init__(__self__, *, + state: 'outputs.FeatureStateResponse'): + """ + ScopeFeatureState contains Scope-wide Feature status information. + :param 'FeatureStateResponse' state: The "running state" of the Feature in this Scope. + """ + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def state(self) -> 'outputs.FeatureStateResponse': + """ + The "running state" of the Feature in this Scope. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class ScopeLifecycleStateResponse(dict): """ @@ -3950,6 +6008,72 @@ def vulnerability_mode(self) -> str: return pulumi.get(self, "vulnerability_mode") +@pulumi.output_type +class ServiceMeshControlPlaneManagementResponse(dict): + """ + Status of control plane management. + """ + def __init__(__self__, *, + details: Sequence['outputs.ServiceMeshStatusDetailsResponse'], + state: str): + """ + Status of control plane management. + :param Sequence['ServiceMeshStatusDetailsResponse'] details: Explanation of state. + :param str state: LifecycleState of control plane management. + """ + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def details(self) -> Sequence['outputs.ServiceMeshStatusDetailsResponse']: + """ + Explanation of state. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def state(self) -> str: + """ + LifecycleState of control plane management. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class ServiceMeshDataPlaneManagementResponse(dict): + """ + Status of data plane management. Only reported per-member. + """ + def __init__(__self__, *, + details: Sequence['outputs.ServiceMeshStatusDetailsResponse'], + state: str): + """ + Status of data plane management. Only reported per-member. + :param Sequence['ServiceMeshStatusDetailsResponse'] details: Explanation of the status. + :param str state: Lifecycle status of data plane management. + """ + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def details(self) -> Sequence['outputs.ServiceMeshStatusDetailsResponse']: + """ + Explanation of the status. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def state(self) -> str: + """ + Lifecycle status of data plane management. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class ServiceMeshMembershipSpecResponse(dict): """ @@ -4001,6 +6125,91 @@ def management(self) -> str: return pulumi.get(self, "management") +@pulumi.output_type +class ServiceMeshMembershipStateResponse(dict): + """ + **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "controlPlaneManagement": + suggest = "control_plane_management" + elif key == "dataPlaneManagement": + suggest = "data_plane_management" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServiceMeshMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServiceMeshMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServiceMeshMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + control_plane_management: 'outputs.ServiceMeshControlPlaneManagementResponse', + data_plane_management: 'outputs.ServiceMeshDataPlaneManagementResponse'): + """ + **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + :param 'ServiceMeshControlPlaneManagementResponse' control_plane_management: Status of control plane management + :param 'ServiceMeshDataPlaneManagementResponse' data_plane_management: Status of data plane management. + """ + pulumi.set(__self__, "control_plane_management", control_plane_management) + pulumi.set(__self__, "data_plane_management", data_plane_management) + + @property + @pulumi.getter(name="controlPlaneManagement") + def control_plane_management(self) -> 'outputs.ServiceMeshControlPlaneManagementResponse': + """ + Status of control plane management + """ + return pulumi.get(self, "control_plane_management") + + @property + @pulumi.getter(name="dataPlaneManagement") + def data_plane_management(self) -> 'outputs.ServiceMeshDataPlaneManagementResponse': + """ + Status of data plane management. + """ + return pulumi.get(self, "data_plane_management") + + +@pulumi.output_type +class ServiceMeshStatusDetailsResponse(dict): + """ + Structured and human-readable details for a status. + """ + def __init__(__self__, *, + code: str, + details: str): + """ + Structured and human-readable details for a status. + :param str code: A machine-readable code that further describes a broad status. + :param str details: Human-readable explanation of code. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "details", details) + + @property + @pulumi.getter + def code(self) -> str: + """ + A machine-readable code that further describes a broad status. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def details(self) -> str: + """ + Human-readable explanation of code. + """ + return pulumi.get(self, "details") + + @pulumi.output_type class StatusResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/gkehub/v1alpha/_enums.py b/sdk/python/pulumi_google_native/gkehub/v1alpha/_enums.py index 6dc3b2fece..300c8bb0a0 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1alpha/_enums.py +++ b/sdk/python/pulumi_google_native/gkehub/v1alpha/_enums.py @@ -7,6 +7,7 @@ __all__ = [ 'AuditLogConfigLogType', 'BinaryAuthorizationConfigEvaluationMode', + 'CloudBuildMembershipSpecSecurityPolicy', 'ConfigManagementPolicyControllerMonitoringBackendsItem', 'FeatureSpecProvisionGoogleCa', 'FleetObservabilityRoutingConfigMode', @@ -14,8 +15,10 @@ 'MultiClusterIngressFeatureSpecBilling', 'NamespaceActuationFeatureSpecActuationMode', 'OnPremClusterClusterType', + 'OriginType', 'PolicyControllerHubConfigInstallSpec', 'PolicyControllerMonitoringConfigBackendsItem', + 'PolicyControllerPolicyControllerDeploymentConfigPodAffinity', 'PolicyControllerTemplateLibraryConfigInstallation', 'RolePredefinedRole', 'SecurityPostureConfigMode', @@ -66,6 +69,24 @@ class BinaryAuthorizationConfigEvaluationMode(str, Enum): """ +class CloudBuildMembershipSpecSecurityPolicy(str, Enum): + """ + Whether it is allowed to run the privileged builds on the cluster or not. + """ + SECURITY_POLICY_UNSPECIFIED = "SECURITY_POLICY_UNSPECIFIED" + """ + Unspecified policy + """ + NON_PRIVILEGED = "NON_PRIVILEGED" + """ + Privileged build pods are disallowed + """ + PRIVILEGED = "PRIVILEGED" + """ + Privileged build pods are allowed + """ + + class ConfigManagementPolicyControllerMonitoringBackendsItem(str, Enum): MONITORING_BACKEND_UNSPECIFIED = "MONITORING_BACKEND_UNSPECIFIED" """ @@ -205,6 +226,28 @@ class OnPremClusterClusterType(str, Enum): """ +class OriginType(str, Enum): + """ + Type specifies which type of origin is set. + """ + TYPE_UNSPECIFIED = "TYPE_UNSPECIFIED" + """ + Type is unknown or not set. + """ + FLEET = "FLEET" + """ + Per-Membership spec was inherited from the fleet-level default. + """ + FLEET_OUT_OF_SYNC = "FLEET_OUT_OF_SYNC" + """ + Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + """ + USER = "USER" + """ + Per-Membership spec was inherited from a user specification. + """ + + class PolicyControllerHubConfigInstallSpec(str, Enum): """ The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. @@ -246,6 +289,24 @@ class PolicyControllerMonitoringConfigBackendsItem(str, Enum): """ +class PolicyControllerPolicyControllerDeploymentConfigPodAffinity(str, Enum): + """ + Pod affinity configuration. + """ + AFFINITY_UNSPECIFIED = "AFFINITY_UNSPECIFIED" + """ + No affinity configuration has been specified. + """ + NO_AFFINITY = "NO_AFFINITY" + """ + Affinity configurations will be removed from the deployment. + """ + ANTI_AFFINITY = "ANTI_AFFINITY" + """ + Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + """ + + class PolicyControllerTemplateLibraryConfigInstallation(str, Enum): """ Configures the manner in which the template library is installed on the cluster. diff --git a/sdk/python/pulumi_google_native/gkehub/v1alpha/_inputs.py b/sdk/python/pulumi_google_native/gkehub/v1alpha/_inputs.py index 05f9fe0af1..36c9e53e96 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1alpha/_inputs.py +++ b/sdk/python/pulumi_google_native/gkehub/v1alpha/_inputs.py @@ -21,10 +21,12 @@ 'BinaryAuthorizationConfigArgs', 'BindingArgs', 'CloudAuditLoggingFeatureSpecArgs', + 'CloudBuildMembershipSpecArgs', 'ClusterUpgradeFleetSpecArgs', 'ClusterUpgradeGKEUpgradeOverrideArgs', 'ClusterUpgradeGKEUpgradeArgs', 'ClusterUpgradePostConditionsArgs', + 'ClusterUpgradeScopeSpecArgs', 'CommonFeatureSpecArgs', 'CommonFleetDefaultMemberConfigSpecArgs', 'ConfigManagementBinauthzConfigArgs', @@ -41,6 +43,7 @@ 'FeatureSpecArgs', 'FleetObservabilityFeatureSpecArgs', 'FleetObservabilityLoggingConfigArgs', + 'FleetObservabilityMembershipSpecArgs', 'FleetObservabilityRoutingConfigArgs', 'GkeClusterArgs', 'IdentityServiceAuthMethodArgs', @@ -50,20 +53,29 @@ 'IdentityServiceOidcConfigArgs', 'KubernetesResourceArgs', 'MembershipEndpointArgs', + 'MembershipFeatureSpecArgs', 'MembershipSpecArgs', 'MonitoringConfigArgs', 'MultiCloudClusterArgs', 'MultiClusterIngressFeatureSpecArgs', 'NamespaceActuationFeatureSpecArgs', + 'NamespaceActuationMembershipSpecArgs', 'OnPremClusterArgs', + 'OriginArgs', 'PolicyBindingArgs', + 'PolicyControllerBundleInstallSpecArgs', 'PolicyControllerHubConfigArgs', 'PolicyControllerMembershipSpecArgs', 'PolicyControllerMonitoringConfigArgs', 'PolicyControllerPolicyContentSpecArgs', + 'PolicyControllerPolicyControllerDeploymentConfigArgs', + 'PolicyControllerResourceListArgs', + 'PolicyControllerResourceRequirementsArgs', 'PolicyControllerTemplateLibraryConfigArgs', + 'PolicyControllerTolerationArgs', 'ResourceOptionsArgs', 'RoleArgs', + 'ScopeFeatureSpecArgs', 'SecurityPostureConfigArgs', 'ServiceMeshMembershipSpecArgs', ] @@ -421,6 +433,46 @@ def allowlisted_service_accounts(self, value: Optional[pulumi.Input[Sequence[pul pulumi.set(self, "allowlisted_service_accounts", value) +@pulumi.input_type +class CloudBuildMembershipSpecArgs: + def __init__(__self__, *, + security_policy: Optional[pulumi.Input['CloudBuildMembershipSpecSecurityPolicy']] = None, + version: Optional[pulumi.Input[str]] = None): + """ + **Cloud Build**: Configurations for each Cloud Build enabled cluster. + :param pulumi.Input['CloudBuildMembershipSpecSecurityPolicy'] security_policy: Whether it is allowed to run the privileged builds on the cluster or not. + :param pulumi.Input[str] version: Version of the cloud build software on the cluster. + """ + if security_policy is not None: + pulumi.set(__self__, "security_policy", security_policy) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="securityPolicy") + def security_policy(self) -> Optional[pulumi.Input['CloudBuildMembershipSpecSecurityPolicy']]: + """ + Whether it is allowed to run the privileged builds on the cluster or not. + """ + return pulumi.get(self, "security_policy") + + @security_policy.setter + def security_policy(self, value: Optional[pulumi.Input['CloudBuildMembershipSpecSecurityPolicy']]): + pulumi.set(self, "security_policy", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + Version of the cloud build software on the cluster. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + @pulumi.input_type class ClusterUpgradeFleetSpecArgs: def __init__(__self__, *, @@ -577,6 +629,61 @@ def soaking(self, value: pulumi.Input[str]): pulumi.set(self, "soaking", value) +@pulumi.input_type +class ClusterUpgradeScopeSpecArgs: + def __init__(__self__, *, + post_conditions: pulumi.Input['ClusterUpgradePostConditionsArgs'], + gke_upgrade_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterUpgradeGKEUpgradeOverrideArgs']]]] = None, + upstream_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. + :param pulumi.Input['ClusterUpgradePostConditionsArgs'] post_conditions: Post conditions to evaluate to mark an upgrade COMPLETE. Required. + :param pulumi.Input[Sequence[pulumi.Input['ClusterUpgradeGKEUpgradeOverrideArgs']]] gke_upgrade_overrides: Allow users to override some properties of each GKE upgrade. + :param pulumi.Input[Sequence[pulumi.Input[str]]] upstream_scopes: This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + """ + pulumi.set(__self__, "post_conditions", post_conditions) + if gke_upgrade_overrides is not None: + pulumi.set(__self__, "gke_upgrade_overrides", gke_upgrade_overrides) + if upstream_scopes is not None: + pulumi.set(__self__, "upstream_scopes", upstream_scopes) + + @property + @pulumi.getter(name="postConditions") + def post_conditions(self) -> pulumi.Input['ClusterUpgradePostConditionsArgs']: + """ + Post conditions to evaluate to mark an upgrade COMPLETE. Required. + """ + return pulumi.get(self, "post_conditions") + + @post_conditions.setter + def post_conditions(self, value: pulumi.Input['ClusterUpgradePostConditionsArgs']): + pulumi.set(self, "post_conditions", value) + + @property + @pulumi.getter(name="gkeUpgradeOverrides") + def gke_upgrade_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterUpgradeGKEUpgradeOverrideArgs']]]]: + """ + Allow users to override some properties of each GKE upgrade. + """ + return pulumi.get(self, "gke_upgrade_overrides") + + @gke_upgrade_overrides.setter + def gke_upgrade_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterUpgradeGKEUpgradeOverrideArgs']]]]): + pulumi.set(self, "gke_upgrade_overrides", value) + + @property + @pulumi.getter(name="upstreamScopes") + def upstream_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + """ + return pulumi.get(self, "upstream_scopes") + + @upstream_scopes.setter + def upstream_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "upstream_scopes", value) + + @pulumi.input_type class CommonFeatureSpecArgs: def __init__(__self__, *, @@ -1721,6 +1828,15 @@ def fleet_scope_logs_config(self, value: Optional[pulumi.Input['FleetObservabili pulumi.set(self, "fleet_scope_logs_config", value) +@pulumi.input_type +class FleetObservabilityMembershipSpecArgs: + def __init__(__self__): + """ + **FleetObservability**: The membership-specific input for FleetObservability feature. + """ + pass + + @pulumi.input_type class FleetObservabilityRoutingConfigArgs: def __init__(__self__, *, @@ -2337,6 +2453,174 @@ def on_prem_cluster(self, value: Optional[pulumi.Input['OnPremClusterArgs']]): pulumi.set(self, "on_prem_cluster", value) +@pulumi.input_type +class MembershipFeatureSpecArgs: + def __init__(__self__, *, + anthosobservability: Optional[pulumi.Input['AnthosObservabilityMembershipSpecArgs']] = None, + cloudbuild: Optional[pulumi.Input['CloudBuildMembershipSpecArgs']] = None, + configmanagement: Optional[pulumi.Input['ConfigManagementMembershipSpecArgs']] = None, + fleetobservability: Optional[pulumi.Input['FleetObservabilityMembershipSpecArgs']] = None, + identityservice: Optional[pulumi.Input['IdentityServiceMembershipSpecArgs']] = None, + mesh: Optional[pulumi.Input['ServiceMeshMembershipSpecArgs']] = None, + namespaceactuation: Optional[pulumi.Input['NamespaceActuationMembershipSpecArgs']] = None, + origin: Optional[pulumi.Input['OriginArgs']] = None, + policycontroller: Optional[pulumi.Input['PolicyControllerMembershipSpecArgs']] = None, + workloadcertificate: Optional[pulumi.Input['MembershipSpecArgs']] = None): + """ + MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + :param pulumi.Input['AnthosObservabilityMembershipSpecArgs'] anthosobservability: Anthos Observability-specific spec + :param pulumi.Input['CloudBuildMembershipSpecArgs'] cloudbuild: Cloud Build-specific spec + :param pulumi.Input['ConfigManagementMembershipSpecArgs'] configmanagement: Config Management-specific spec. + :param pulumi.Input['FleetObservabilityMembershipSpecArgs'] fleetobservability: Fleet observability membership spec + :param pulumi.Input['IdentityServiceMembershipSpecArgs'] identityservice: Identity Service-specific spec. + :param pulumi.Input['ServiceMeshMembershipSpecArgs'] mesh: Anthos Service Mesh-specific spec + :param pulumi.Input['NamespaceActuationMembershipSpecArgs'] namespaceactuation: FNS Actuation membership spec + :param pulumi.Input['OriginArgs'] origin: Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + :param pulumi.Input['PolicyControllerMembershipSpecArgs'] policycontroller: Policy Controller spec. + :param pulumi.Input['MembershipSpecArgs'] workloadcertificate: Workload Certificate spec. + """ + if anthosobservability is not None: + pulumi.set(__self__, "anthosobservability", anthosobservability) + if cloudbuild is not None: + pulumi.set(__self__, "cloudbuild", cloudbuild) + if configmanagement is not None: + pulumi.set(__self__, "configmanagement", configmanagement) + if fleetobservability is not None: + pulumi.set(__self__, "fleetobservability", fleetobservability) + if identityservice is not None: + pulumi.set(__self__, "identityservice", identityservice) + if mesh is not None: + pulumi.set(__self__, "mesh", mesh) + if namespaceactuation is not None: + pulumi.set(__self__, "namespaceactuation", namespaceactuation) + if origin is not None: + pulumi.set(__self__, "origin", origin) + if policycontroller is not None: + pulumi.set(__self__, "policycontroller", policycontroller) + if workloadcertificate is not None: + pulumi.set(__self__, "workloadcertificate", workloadcertificate) + + @property + @pulumi.getter + def anthosobservability(self) -> Optional[pulumi.Input['AnthosObservabilityMembershipSpecArgs']]: + """ + Anthos Observability-specific spec + """ + return pulumi.get(self, "anthosobservability") + + @anthosobservability.setter + def anthosobservability(self, value: Optional[pulumi.Input['AnthosObservabilityMembershipSpecArgs']]): + pulumi.set(self, "anthosobservability", value) + + @property + @pulumi.getter + def cloudbuild(self) -> Optional[pulumi.Input['CloudBuildMembershipSpecArgs']]: + """ + Cloud Build-specific spec + """ + return pulumi.get(self, "cloudbuild") + + @cloudbuild.setter + def cloudbuild(self, value: Optional[pulumi.Input['CloudBuildMembershipSpecArgs']]): + pulumi.set(self, "cloudbuild", value) + + @property + @pulumi.getter + def configmanagement(self) -> Optional[pulumi.Input['ConfigManagementMembershipSpecArgs']]: + """ + Config Management-specific spec. + """ + return pulumi.get(self, "configmanagement") + + @configmanagement.setter + def configmanagement(self, value: Optional[pulumi.Input['ConfigManagementMembershipSpecArgs']]): + pulumi.set(self, "configmanagement", value) + + @property + @pulumi.getter + def fleetobservability(self) -> Optional[pulumi.Input['FleetObservabilityMembershipSpecArgs']]: + """ + Fleet observability membership spec + """ + return pulumi.get(self, "fleetobservability") + + @fleetobservability.setter + def fleetobservability(self, value: Optional[pulumi.Input['FleetObservabilityMembershipSpecArgs']]): + pulumi.set(self, "fleetobservability", value) + + @property + @pulumi.getter + def identityservice(self) -> Optional[pulumi.Input['IdentityServiceMembershipSpecArgs']]: + """ + Identity Service-specific spec. + """ + return pulumi.get(self, "identityservice") + + @identityservice.setter + def identityservice(self, value: Optional[pulumi.Input['IdentityServiceMembershipSpecArgs']]): + pulumi.set(self, "identityservice", value) + + @property + @pulumi.getter + def mesh(self) -> Optional[pulumi.Input['ServiceMeshMembershipSpecArgs']]: + """ + Anthos Service Mesh-specific spec + """ + return pulumi.get(self, "mesh") + + @mesh.setter + def mesh(self, value: Optional[pulumi.Input['ServiceMeshMembershipSpecArgs']]): + pulumi.set(self, "mesh", value) + + @property + @pulumi.getter + def namespaceactuation(self) -> Optional[pulumi.Input['NamespaceActuationMembershipSpecArgs']]: + """ + FNS Actuation membership spec + """ + return pulumi.get(self, "namespaceactuation") + + @namespaceactuation.setter + def namespaceactuation(self, value: Optional[pulumi.Input['NamespaceActuationMembershipSpecArgs']]): + pulumi.set(self, "namespaceactuation", value) + + @property + @pulumi.getter + def origin(self) -> Optional[pulumi.Input['OriginArgs']]: + """ + Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + """ + return pulumi.get(self, "origin") + + @origin.setter + def origin(self, value: Optional[pulumi.Input['OriginArgs']]): + pulumi.set(self, "origin", value) + + @property + @pulumi.getter + def policycontroller(self) -> Optional[pulumi.Input['PolicyControllerMembershipSpecArgs']]: + """ + Policy Controller spec. + """ + return pulumi.get(self, "policycontroller") + + @policycontroller.setter + def policycontroller(self, value: Optional[pulumi.Input['PolicyControllerMembershipSpecArgs']]): + pulumi.set(self, "policycontroller", value) + + @property + @pulumi.getter + def workloadcertificate(self) -> Optional[pulumi.Input['MembershipSpecArgs']]: + """ + Workload Certificate spec. + """ + return pulumi.get(self, "workloadcertificate") + + @workloadcertificate.setter + def workloadcertificate(self, value: Optional[pulumi.Input['MembershipSpecArgs']]): + pulumi.set(self, "workloadcertificate", value) + + @pulumi.input_type class MembershipSpecArgs: def __init__(__self__, *, @@ -2541,6 +2825,15 @@ def actuation_mode(self, value: Optional[pulumi.Input['NamespaceActuationFeature pulumi.set(self, "actuation_mode", value) +@pulumi.input_type +class NamespaceActuationMembershipSpecArgs: + def __init__(__self__): + """ + **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. + """ + pass + + @pulumi.input_type class OnPremClusterArgs: def __init__(__self__, *, @@ -2597,6 +2890,30 @@ def resource_link(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "resource_link", value) +@pulumi.input_type +class OriginArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input['OriginType']] = None): + """ + Origin defines where this MembershipFeatureSpec originated from. + :param pulumi.Input['OriginType'] type: Type specifies which type of origin is set. + """ + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['OriginType']]: + """ + Type specifies which type of origin is set. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['OriginType']]): + pulumi.set(self, "type", value) + + @pulumi.input_type class PolicyBindingArgs: def __init__(__self__, *, @@ -2621,12 +2938,36 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +@pulumi.input_type +class PolicyControllerBundleInstallSpecArgs: + def __init__(__self__, *, + exempted_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + BundleInstallSpec is the specification configuration for a single managed bundle. + :param pulumi.Input[Sequence[pulumi.Input[str]]] exempted_namespaces: The set of namespaces to be exempted from the bundle. + """ + if exempted_namespaces is not None: + pulumi.set(__self__, "exempted_namespaces", exempted_namespaces) + + @property + @pulumi.getter(name="exemptedNamespaces") + def exempted_namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of namespaces to be exempted from the bundle. + """ + return pulumi.get(self, "exempted_namespaces") + + @exempted_namespaces.setter + def exempted_namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "exempted_namespaces", value) + + @pulumi.input_type class PolicyControllerHubConfigArgs: def __init__(__self__, *, audit_interval_seconds: Optional[pulumi.Input[str]] = None, constraint_violation_limit: Optional[pulumi.Input[str]] = None, - deployment_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + deployment_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]]] = None, exemptable_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, install_spec: Optional[pulumi.Input['PolicyControllerHubConfigInstallSpec']] = None, log_denies_enabled: Optional[pulumi.Input[bool]] = None, @@ -2638,7 +2979,7 @@ def __init__(__self__, *, Configuration for Policy Controller :param pulumi.Input[str] audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. :param pulumi.Input[str] constraint_violation_limit: The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). + :param pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). :param pulumi.Input[Sequence[pulumi.Input[str]]] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. :param pulumi.Input['PolicyControllerHubConfigInstallSpec'] install_spec: The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. :param pulumi.Input[bool] log_denies_enabled: Logs all denies and dry run failures. @@ -2694,14 +3035,14 @@ def constraint_violation_limit(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="deploymentConfigs") - def deployment_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def deployment_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]]]: """ Map of deployment configs to deployments ("admission", "audit", "mutation'). """ return pulumi.get(self, "deployment_configs") @deployment_configs.setter - def deployment_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def deployment_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]]]): pulumi.set(self, "deployment_configs", value) @property @@ -2856,11 +3197,11 @@ def backends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyCon @pulumi.input_type class PolicyControllerPolicyContentSpecArgs: def __init__(__self__, *, - bundles: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + bundles: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]]] = None, template_library: Optional[pulumi.Input['PolicyControllerTemplateLibraryConfigArgs']] = None): """ PolicyContentSpec defines the user's desired content configuration on the cluster. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + :param pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. :param pulumi.Input['PolicyControllerTemplateLibraryConfigArgs'] template_library: Configures the installation of the Template Library. """ if bundles is not None: @@ -2870,14 +3211,14 @@ def __init__(__self__, *, @property @pulumi.getter - def bundles(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def bundles(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]]]: """ map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. """ return pulumi.get(self, "bundles") @bundles.setter - def bundles(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def bundles(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]]]): pulumi.set(self, "bundles", value) @property @@ -2893,6 +3234,174 @@ def template_library(self, value: Optional[pulumi.Input['PolicyControllerTemplat pulumi.set(self, "template_library", value) +@pulumi.input_type +class PolicyControllerPolicyControllerDeploymentConfigArgs: + def __init__(__self__, *, + container_resources: Optional[pulumi.Input['PolicyControllerResourceRequirementsArgs']] = None, + pod_affinity: Optional[pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity']] = None, + pod_anti_affinity: Optional[pulumi.Input[bool]] = None, + pod_tolerations: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]]] = None, + replica_count: Optional[pulumi.Input[str]] = None): + """ + Deployment-specific configuration. + :param pulumi.Input['PolicyControllerResourceRequirementsArgs'] container_resources: Container resource requirements. + :param pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity'] pod_affinity: Pod affinity configuration. + :param pulumi.Input[bool] pod_anti_affinity: Pod anti-affinity enablement. + :param pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]] pod_tolerations: Pod tolerations of node taints. + :param pulumi.Input[str] replica_count: Pod replica count. + """ + if container_resources is not None: + pulumi.set(__self__, "container_resources", container_resources) + if pod_affinity is not None: + pulumi.set(__self__, "pod_affinity", pod_affinity) + if pod_anti_affinity is not None: + pulumi.set(__self__, "pod_anti_affinity", pod_anti_affinity) + if pod_tolerations is not None: + pulumi.set(__self__, "pod_tolerations", pod_tolerations) + if replica_count is not None: + pulumi.set(__self__, "replica_count", replica_count) + + @property + @pulumi.getter(name="containerResources") + def container_resources(self) -> Optional[pulumi.Input['PolicyControllerResourceRequirementsArgs']]: + """ + Container resource requirements. + """ + return pulumi.get(self, "container_resources") + + @container_resources.setter + def container_resources(self, value: Optional[pulumi.Input['PolicyControllerResourceRequirementsArgs']]): + pulumi.set(self, "container_resources", value) + + @property + @pulumi.getter(name="podAffinity") + def pod_affinity(self) -> Optional[pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity']]: + """ + Pod affinity configuration. + """ + return pulumi.get(self, "pod_affinity") + + @pod_affinity.setter + def pod_affinity(self, value: Optional[pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity']]): + pulumi.set(self, "pod_affinity", value) + + @property + @pulumi.getter(name="podAntiAffinity") + def pod_anti_affinity(self) -> Optional[pulumi.Input[bool]]: + """ + Pod anti-affinity enablement. + """ + return pulumi.get(self, "pod_anti_affinity") + + @pod_anti_affinity.setter + def pod_anti_affinity(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "pod_anti_affinity", value) + + @property + @pulumi.getter(name="podTolerations") + def pod_tolerations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]]]: + """ + Pod tolerations of node taints. + """ + return pulumi.get(self, "pod_tolerations") + + @pod_tolerations.setter + def pod_tolerations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]]]): + pulumi.set(self, "pod_tolerations", value) + + @property + @pulumi.getter(name="replicaCount") + def replica_count(self) -> Optional[pulumi.Input[str]]: + """ + Pod replica count. + """ + return pulumi.get(self, "replica_count") + + @replica_count.setter + def replica_count(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "replica_count", value) + + +@pulumi.input_type +class PolicyControllerResourceListArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input[str]] = None, + memory: Optional[pulumi.Input[str]] = None): + """ + ResourceList contains container resource requirements. + :param pulumi.Input[str] cpu: CPU requirement expressed in Kubernetes resource units. + :param pulumi.Input[str] memory: Memory requirement expressed in Kubernetes resource units. + """ + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input[str]]: + """ + CPU requirement expressed in Kubernetes resource units. + """ + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cpu", value) + + @property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[str]]: + """ + Memory requirement expressed in Kubernetes resource units. + """ + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "memory", value) + + +@pulumi.input_type +class PolicyControllerResourceRequirementsArgs: + def __init__(__self__, *, + limits: Optional[pulumi.Input['PolicyControllerResourceListArgs']] = None, + requests: Optional[pulumi.Input['PolicyControllerResourceListArgs']] = None): + """ + ResourceRequirements describes the compute resource requirements. + :param pulumi.Input['PolicyControllerResourceListArgs'] limits: Limits describes the maximum amount of compute resources allowed for use by the running container. + :param pulumi.Input['PolicyControllerResourceListArgs'] requests: Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + """ + if limits is not None: + pulumi.set(__self__, "limits", limits) + if requests is not None: + pulumi.set(__self__, "requests", requests) + + @property + @pulumi.getter + def limits(self) -> Optional[pulumi.Input['PolicyControllerResourceListArgs']]: + """ + Limits describes the maximum amount of compute resources allowed for use by the running container. + """ + return pulumi.get(self, "limits") + + @limits.setter + def limits(self, value: Optional[pulumi.Input['PolicyControllerResourceListArgs']]): + pulumi.set(self, "limits", value) + + @property + @pulumi.getter + def requests(self) -> Optional[pulumi.Input['PolicyControllerResourceListArgs']]: + """ + Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + """ + return pulumi.get(self, "requests") + + @requests.setter + def requests(self, value: Optional[pulumi.Input['PolicyControllerResourceListArgs']]): + pulumi.set(self, "requests", value) + + @pulumi.input_type class PolicyControllerTemplateLibraryConfigArgs: def __init__(__self__, *, @@ -2917,6 +3426,78 @@ def installation(self, value: Optional[pulumi.Input['PolicyControllerTemplateLib pulumi.set(self, "installation", value) +@pulumi.input_type +class PolicyControllerTolerationArgs: + def __init__(__self__, *, + effect: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + operator: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + Toleration of a node taint. + :param pulumi.Input[str] effect: Matches a taint effect. + :param pulumi.Input[str] key: Matches a taint key (not necessarily unique). + :param pulumi.Input[str] operator: Matches a taint operator. + :param pulumi.Input[str] value: Matches a taint value. + """ + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if operator is not None: + pulumi.set(__self__, "operator", operator) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint effect. + """ + return pulumi.get(self, "effect") + + @effect.setter + def effect(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "effect", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint key (not necessarily unique). + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def operator(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint operator. + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + @pulumi.input_type class ResourceOptionsArgs: def __init__(__self__, *, @@ -2997,6 +3578,30 @@ def predefined_role(self, value: Optional[pulumi.Input['RolePredefinedRole']]): pulumi.set(self, "predefined_role", value) +@pulumi.input_type +class ScopeFeatureSpecArgs: + def __init__(__self__, *, + clusterupgrade: Optional[pulumi.Input['ClusterUpgradeScopeSpecArgs']] = None): + """ + ScopeFeatureSpec contains feature specs for a fleet scope. + :param pulumi.Input['ClusterUpgradeScopeSpecArgs'] clusterupgrade: Spec for the ClusterUpgrade feature at the scope level + """ + if clusterupgrade is not None: + pulumi.set(__self__, "clusterupgrade", clusterupgrade) + + @property + @pulumi.getter + def clusterupgrade(self) -> Optional[pulumi.Input['ClusterUpgradeScopeSpecArgs']]: + """ + Spec for the ClusterUpgrade feature at the scope level + """ + return pulumi.get(self, "clusterupgrade") + + @clusterupgrade.setter + def clusterupgrade(self, value: Optional[pulumi.Input['ClusterUpgradeScopeSpecArgs']]): + pulumi.set(self, "clusterupgrade", value) + + @pulumi.input_type class SecurityPostureConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/gkehub/v1alpha/feature.py b/sdk/python/pulumi_google_native/gkehub/v1alpha/feature.py index 3876e843d1..7410948d90 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1alpha/feature.py +++ b/sdk/python/pulumi_google_native/gkehub/v1alpha/feature.py @@ -21,19 +21,19 @@ def __init__(__self__, *, fleet_default_member_config: Optional[pulumi.Input['CommonFleetDefaultMemberConfigSpecArgs']] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, - scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]]] = None, spec: Optional[pulumi.Input['CommonFeatureSpecArgs']] = None): """ The set of arguments for constructing a Feature resource. :param pulumi.Input[str] feature_id: The ID of the feature to create. :param pulumi.Input['CommonFleetDefaultMemberConfigSpecArgs'] fleet_default_member_config: Optional. Feature configuration applicable to all memberships of the fleet. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this Feature. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input[str] request_id: A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input['CommonFeatureSpecArgs'] spec: Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. """ if feature_id is not None: @@ -102,14 +102,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="membershipSpecs") - def membership_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def membership_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]]]: """ Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ return pulumi.get(self, "membership_specs") @membership_specs.setter - def membership_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def membership_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]]]): pulumi.set(self, "membership_specs", value) @property @@ -135,14 +135,14 @@ def request_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="scopeSpecs") - def scope_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def scope_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]]]: """ Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ return pulumi.get(self, "scope_specs") @scope_specs.setter - def scope_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def scope_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]]]): pulumi.set(self, "scope_specs", value) @property @@ -167,10 +167,10 @@ def __init__(__self__, fleet_default_member_config: Optional[pulumi.Input[pulumi.InputType['CommonFleetDefaultMemberConfigSpecArgs']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['MembershipFeatureSpecArgs']]]]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, - scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ScopeFeatureSpecArgs']]]]] = None, spec: Optional[pulumi.Input[pulumi.InputType['CommonFeatureSpecArgs']]] = None, __props__=None): """ @@ -182,9 +182,9 @@ def __init__(__self__, :param pulumi.Input[str] feature_id: The ID of the feature to create. :param pulumi.Input[pulumi.InputType['CommonFleetDefaultMemberConfigSpecArgs']] fleet_default_member_config: Optional. Feature configuration applicable to all memberships of the fleet. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this Feature. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['MembershipFeatureSpecArgs']]]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input[str] request_id: A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ScopeFeatureSpecArgs']]]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input[pulumi.InputType['CommonFeatureSpecArgs']] spec: Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. """ ... @@ -216,10 +216,10 @@ def _internal_init(__self__, fleet_default_member_config: Optional[pulumi.Input[pulumi.InputType['CommonFleetDefaultMemberConfigSpecArgs']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['MembershipFeatureSpecArgs']]]]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, - scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ScopeFeatureSpecArgs']]]]] = None, spec: Optional[pulumi.Input[pulumi.InputType['CommonFeatureSpecArgs']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -337,7 +337,7 @@ def location(self) -> pulumi.Output[str]: @property @pulumi.getter(name="membershipSpecs") - def membership_specs(self) -> pulumi.Output[Mapping[str, str]]: + def membership_specs(self) -> pulumi.Output[Mapping[str, 'outputs.MembershipFeatureSpecResponse']]: """ Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -345,7 +345,7 @@ def membership_specs(self) -> pulumi.Output[Mapping[str, str]]: @property @pulumi.getter(name="membershipStates") - def membership_states(self) -> pulumi.Output[Mapping[str, str]]: + def membership_states(self) -> pulumi.Output[Mapping[str, 'outputs.MembershipFeatureStateResponse']]: """ Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. """ @@ -382,7 +382,7 @@ def resource_state(self) -> pulumi.Output['outputs.FeatureResourceStateResponse' @property @pulumi.getter(name="scopeSpecs") - def scope_specs(self) -> pulumi.Output[Mapping[str, str]]: + def scope_specs(self) -> pulumi.Output[Mapping[str, 'outputs.ScopeFeatureSpecResponse']]: """ Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -390,7 +390,7 @@ def scope_specs(self) -> pulumi.Output[Mapping[str, str]]: @property @pulumi.getter(name="scopeStates") - def scope_states(self) -> pulumi.Output[Mapping[str, str]]: + def scope_states(self) -> pulumi.Output[Mapping[str, 'outputs.ScopeFeatureStateResponse']]: """ Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. """ diff --git a/sdk/python/pulumi_google_native/gkehub/v1alpha/get_feature.py b/sdk/python/pulumi_google_native/gkehub/v1alpha/get_feature.py index 6a734df42a..7567864c79 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1alpha/get_feature.py +++ b/sdk/python/pulumi_google_native/gkehub/v1alpha/get_feature.py @@ -94,7 +94,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter(name="membershipSpecs") - def membership_specs(self) -> Mapping[str, str]: + def membership_specs(self) -> Mapping[str, 'outputs.MembershipFeatureSpecResponse']: """ Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -102,7 +102,7 @@ def membership_specs(self) -> Mapping[str, str]: @property @pulumi.getter(name="membershipStates") - def membership_states(self) -> Mapping[str, str]: + def membership_states(self) -> Mapping[str, 'outputs.MembershipFeatureStateResponse']: """ Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. """ @@ -126,7 +126,7 @@ def resource_state(self) -> 'outputs.FeatureResourceStateResponse': @property @pulumi.getter(name="scopeSpecs") - def scope_specs(self) -> Mapping[str, str]: + def scope_specs(self) -> Mapping[str, 'outputs.ScopeFeatureSpecResponse']: """ Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -134,7 +134,7 @@ def scope_specs(self) -> Mapping[str, str]: @property @pulumi.getter(name="scopeStates") - def scope_states(self) -> Mapping[str, str]: + def scope_states(self) -> Mapping[str, 'outputs.ScopeFeatureStateResponse']: """ Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. """ diff --git a/sdk/python/pulumi_google_native/gkehub/v1alpha/outputs.py b/sdk/python/pulumi_google_native/gkehub/v1alpha/outputs.py index a26c2df20e..b495806cb9 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1alpha/outputs.py +++ b/sdk/python/pulumi_google_native/gkehub/v1alpha/outputs.py @@ -23,6 +23,7 @@ 'BinaryAuthorizationConfigResponse', 'BindingResponse', 'CloudAuditLoggingFeatureSpecResponse', + 'CloudBuildMembershipSpecResponse', 'ClusterUpgradeFleetSpecResponse', 'ClusterUpgradeFleetStateResponse', 'ClusterUpgradeGKEUpgradeFeatureConditionResponse', @@ -30,19 +31,44 @@ 'ClusterUpgradeGKEUpgradeOverrideResponse', 'ClusterUpgradeGKEUpgradeResponse', 'ClusterUpgradeGKEUpgradeStateResponse', + 'ClusterUpgradeIgnoredMembershipResponse', + 'ClusterUpgradeMembershipGKEUpgradeStateResponse', + 'ClusterUpgradeMembershipStateResponse', 'ClusterUpgradePostConditionsResponse', + 'ClusterUpgradeScopeSpecResponse', + 'ClusterUpgradeScopeStateResponse', 'ClusterUpgradeUpgradeStatusResponse', 'CommonFeatureSpecResponse', 'CommonFeatureStateResponse', 'CommonFleetDefaultMemberConfigSpecResponse', 'ConfigManagementBinauthzConfigResponse', + 'ConfigManagementBinauthzStateResponse', + 'ConfigManagementBinauthzVersionResponse', + 'ConfigManagementConfigSyncDeploymentStateResponse', + 'ConfigManagementConfigSyncErrorResponse', 'ConfigManagementConfigSyncResponse', + 'ConfigManagementConfigSyncStateResponse', + 'ConfigManagementConfigSyncVersionResponse', + 'ConfigManagementErrorResourceResponse', + 'ConfigManagementGatekeeperDeploymentStateResponse', 'ConfigManagementGitConfigResponse', + 'ConfigManagementGroupVersionKindResponse', 'ConfigManagementHierarchyControllerConfigResponse', + 'ConfigManagementHierarchyControllerDeploymentStateResponse', + 'ConfigManagementHierarchyControllerStateResponse', + 'ConfigManagementHierarchyControllerVersionResponse', + 'ConfigManagementInstallErrorResponse', 'ConfigManagementMembershipSpecResponse', + 'ConfigManagementMembershipStateResponse', 'ConfigManagementOciConfigResponse', + 'ConfigManagementOperatorStateResponse', + 'ConfigManagementPolicyControllerMigrationResponse', 'ConfigManagementPolicyControllerMonitoringResponse', 'ConfigManagementPolicyControllerResponse', + 'ConfigManagementPolicyControllerStateResponse', + 'ConfigManagementPolicyControllerVersionResponse', + 'ConfigManagementSyncErrorResponse', + 'ConfigManagementSyncStateResponse', 'DefaultClusterConfigResponse', 'EdgeClusterResponse', 'ExprResponse', @@ -57,42 +83,65 @@ 'FleetObservabilityFleetObservabilityLoggingStateResponse', 'FleetObservabilityFleetObservabilityMonitoringStateResponse', 'FleetObservabilityLoggingConfigResponse', + 'FleetObservabilityMembershipSpecResponse', + 'FleetObservabilityMembershipStateResponse', 'FleetObservabilityRoutingConfigResponse', 'GkeClusterResponse', 'IdentityServiceAuthMethodResponse', 'IdentityServiceAzureADConfigResponse', 'IdentityServiceGoogleConfigResponse', 'IdentityServiceMembershipSpecResponse', + 'IdentityServiceMembershipStateResponse', 'IdentityServiceOidcConfigResponse', 'KubernetesMetadataResponse', 'KubernetesResourceResponse', 'MembershipBindingLifecycleStateResponse', 'MembershipEndpointResponse', + 'MembershipFeatureSpecResponse', + 'MembershipFeatureStateResponse', 'MembershipSpecResponse', 'MembershipStateResponse', + 'MeteringMembershipStateResponse', 'MonitoringConfigResponse', 'MultiCloudClusterResponse', 'MultiClusterIngressFeatureSpecResponse', 'NamespaceActuationFeatureSpecResponse', 'NamespaceActuationFeatureStateResponse', + 'NamespaceActuationMembershipSpecResponse', + 'NamespaceActuationMembershipStateResponse', 'NamespaceLifecycleStateResponse', 'OnPremClusterResponse', + 'OriginResponse', 'PolicyBindingResponse', + 'PolicyControllerBundleInstallSpecResponse', 'PolicyControllerHubConfigResponse', 'PolicyControllerMembershipSpecResponse', + 'PolicyControllerMembershipStateResponse', 'PolicyControllerMonitoringConfigResponse', + 'PolicyControllerOnClusterStateResponse', 'PolicyControllerPolicyContentSpecResponse', + 'PolicyControllerPolicyContentStateResponse', + 'PolicyControllerPolicyControllerDeploymentConfigResponse', + 'PolicyControllerResourceListResponse', + 'PolicyControllerResourceRequirementsResponse', 'PolicyControllerTemplateLibraryConfigResponse', + 'PolicyControllerTolerationResponse', 'RBACRoleBindingLifecycleStateResponse', 'ResourceManifestResponse', 'ResourceOptionsResponse', 'RoleResponse', + 'ScopeFeatureSpecResponse', + 'ScopeFeatureStateResponse', 'ScopeLifecycleStateResponse', 'SecurityPostureConfigResponse', 'ServiceMeshAnalysisMessageBaseResponse', 'ServiceMeshAnalysisMessageResponse', + 'ServiceMeshControlPlaneManagementResponse', + 'ServiceMeshDataPlaneManagementResponse', 'ServiceMeshFeatureStateResponse', 'ServiceMeshMembershipSpecResponse', + 'ServiceMeshMembershipStateResponse', + 'ServiceMeshStatusDetailsResponse', 'ServiceMeshTypeResponse', 'StatusResponse', ] @@ -602,6 +651,56 @@ def allowlisted_service_accounts(self) -> Sequence[str]: return pulumi.get(self, "allowlisted_service_accounts") +@pulumi.output_type +class CloudBuildMembershipSpecResponse(dict): + """ + **Cloud Build**: Configurations for each Cloud Build enabled cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "securityPolicy": + suggest = "security_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CloudBuildMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CloudBuildMembershipSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CloudBuildMembershipSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + security_policy: str, + version: str): + """ + **Cloud Build**: Configurations for each Cloud Build enabled cluster. + :param str security_policy: Whether it is allowed to run the privileged builds on the cluster or not. + :param str version: Version of the cloud build software on the cluster. + """ + pulumi.set(__self__, "security_policy", security_policy) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="securityPolicy") + def security_policy(self) -> str: + """ + Whether it is allowed to run the privileged builds on the cluster or not. + """ + return pulumi.get(self, "security_policy") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version of the cloud build software on the cluster. + """ + return pulumi.get(self, "version") + + @pulumi.output_type class ClusterUpgradeFleetSpecResponse(dict): """ @@ -694,12 +793,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, downstream_fleets: Sequence[str], gke_state: 'outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse', - ignored: Mapping[str, str]): + ignored: Mapping[str, 'outputs.ClusterUpgradeIgnoredMembershipResponse']): """ **ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature. :param Sequence[str] downstream_fleets: This fleets whose upstream_fleets contain the current fleet. The fleet name should be either fleet project number or id. :param 'ClusterUpgradeGKEUpgradeFeatureStateResponse' gke_state: Feature state for GKE clusters. - :param Mapping[str, str] ignored: A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. + :param Mapping[str, 'ClusterUpgradeIgnoredMembershipResponse'] ignored: A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. """ pulumi.set(__self__, "downstream_fleets", downstream_fleets) pulumi.set(__self__, "gke_state", gke_state) @@ -723,7 +822,7 @@ def gke_state(self) -> 'outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse': @property @pulumi.getter - def ignored(self) -> Mapping[str, str]: + def ignored(self) -> Mapping[str, 'outputs.ClusterUpgradeIgnoredMembershipResponse']: """ A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. """ @@ -979,6 +1078,144 @@ def upgrade(self) -> 'outputs.ClusterUpgradeGKEUpgradeResponse': return pulumi.get(self, "upgrade") +@pulumi.output_type +class ClusterUpgradeIgnoredMembershipResponse(dict): + """ + IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ignoredTime": + suggest = "ignored_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterUpgradeIgnoredMembershipResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterUpgradeIgnoredMembershipResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterUpgradeIgnoredMembershipResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ignored_time: str, + reason: str): + """ + IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + :param str ignored_time: Time when the membership was first set to ignored. + :param str reason: Reason why the membership is ignored. + """ + pulumi.set(__self__, "ignored_time", ignored_time) + pulumi.set(__self__, "reason", reason) + + @property + @pulumi.getter(name="ignoredTime") + def ignored_time(self) -> str: + """ + Time when the membership was first set to ignored. + """ + return pulumi.get(self, "ignored_time") + + @property + @pulumi.getter + def reason(self) -> str: + """ + Reason why the membership is ignored. + """ + return pulumi.get(self, "reason") + + +@pulumi.output_type +class ClusterUpgradeMembershipGKEUpgradeStateResponse(dict): + """ + ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + """ + def __init__(__self__, *, + status: 'outputs.ClusterUpgradeUpgradeStatusResponse', + upgrade: 'outputs.ClusterUpgradeGKEUpgradeResponse'): + """ + ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + :param 'ClusterUpgradeUpgradeStatusResponse' status: Status of the upgrade. + :param 'ClusterUpgradeGKEUpgradeResponse' upgrade: Which upgrade to track the state. + """ + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "upgrade", upgrade) + + @property + @pulumi.getter + def status(self) -> 'outputs.ClusterUpgradeUpgradeStatusResponse': + """ + Status of the upgrade. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def upgrade(self) -> 'outputs.ClusterUpgradeGKEUpgradeResponse': + """ + Which upgrade to track the state. + """ + return pulumi.get(self, "upgrade") + + +@pulumi.output_type +class ClusterUpgradeMembershipStateResponse(dict): + """ + Per-membership state for this feature. + """ + def __init__(__self__, *, + fleet: str, + ignored: 'outputs.ClusterUpgradeIgnoredMembershipResponse', + scopes: Sequence[str], + upgrades: Sequence['outputs.ClusterUpgradeMembershipGKEUpgradeStateResponse']): + """ + Per-membership state for this feature. + :param str fleet: Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + :param 'ClusterUpgradeIgnoredMembershipResponse' ignored: Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + :param Sequence[str] scopes: Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + :param Sequence['ClusterUpgradeMembershipGKEUpgradeStateResponse'] upgrades: Actual upgrade state against desired. + """ + pulumi.set(__self__, "fleet", fleet) + pulumi.set(__self__, "ignored", ignored) + pulumi.set(__self__, "scopes", scopes) + pulumi.set(__self__, "upgrades", upgrades) + + @property + @pulumi.getter + def fleet(self) -> str: + """ + Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + """ + return pulumi.get(self, "fleet") + + @property + @pulumi.getter + def ignored(self) -> 'outputs.ClusterUpgradeIgnoredMembershipResponse': + """ + Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + """ + return pulumi.get(self, "ignored") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter + def upgrades(self) -> Sequence['outputs.ClusterUpgradeMembershipGKEUpgradeStateResponse']: + """ + Actual upgrade state against desired. + """ + return pulumi.get(self, "upgrades") + + @pulumi.output_type class ClusterUpgradePostConditionsResponse(dict): """ @@ -1001,6 +1238,134 @@ def soaking(self) -> str: return pulumi.get(self, "soaking") +@pulumi.output_type +class ClusterUpgradeScopeSpecResponse(dict): + """ + **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "gkeUpgradeOverrides": + suggest = "gke_upgrade_overrides" + elif key == "postConditions": + suggest = "post_conditions" + elif key == "upstreamScopes": + suggest = "upstream_scopes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterUpgradeScopeSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterUpgradeScopeSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterUpgradeScopeSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + gke_upgrade_overrides: Sequence['outputs.ClusterUpgradeGKEUpgradeOverrideResponse'], + post_conditions: 'outputs.ClusterUpgradePostConditionsResponse', + upstream_scopes: Sequence[str]): + """ + **ClusterUpgrade**: The configuration for the scope-level ClusterUpgrade feature. + :param Sequence['ClusterUpgradeGKEUpgradeOverrideResponse'] gke_upgrade_overrides: Allow users to override some properties of each GKE upgrade. + :param 'ClusterUpgradePostConditionsResponse' post_conditions: Post conditions to evaluate to mark an upgrade COMPLETE. Required. + :param Sequence[str] upstream_scopes: This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + """ + pulumi.set(__self__, "gke_upgrade_overrides", gke_upgrade_overrides) + pulumi.set(__self__, "post_conditions", post_conditions) + pulumi.set(__self__, "upstream_scopes", upstream_scopes) + + @property + @pulumi.getter(name="gkeUpgradeOverrides") + def gke_upgrade_overrides(self) -> Sequence['outputs.ClusterUpgradeGKEUpgradeOverrideResponse']: + """ + Allow users to override some properties of each GKE upgrade. + """ + return pulumi.get(self, "gke_upgrade_overrides") + + @property + @pulumi.getter(name="postConditions") + def post_conditions(self) -> 'outputs.ClusterUpgradePostConditionsResponse': + """ + Post conditions to evaluate to mark an upgrade COMPLETE. Required. + """ + return pulumi.get(self, "post_conditions") + + @property + @pulumi.getter(name="upstreamScopes") + def upstream_scopes(self) -> Sequence[str]: + """ + This scope consumes upgrades that have COMPLETE status code in the upstream scopes. See UpgradeStatus.Code for code definitions. The scope name should be in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. This is defined as repeated for future proof reasons. Initial implementation will enforce at most one upstream scope. + """ + return pulumi.get(self, "upstream_scopes") + + +@pulumi.output_type +class ClusterUpgradeScopeStateResponse(dict): + """ + **ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "downstreamScopes": + suggest = "downstream_scopes" + elif key == "gkeState": + suggest = "gke_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterUpgradeScopeStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterUpgradeScopeStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterUpgradeScopeStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + downstream_scopes: Sequence[str], + gke_state: 'outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse', + ignored: Mapping[str, 'outputs.ClusterUpgradeIgnoredMembershipResponse']): + """ + **ClusterUpgrade**: The state for the scope-level ClusterUpgrade feature. + :param Sequence[str] downstream_scopes: This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. + :param 'ClusterUpgradeGKEUpgradeFeatureStateResponse' gke_state: Feature state for GKE clusters. + :param Mapping[str, 'ClusterUpgradeIgnoredMembershipResponse'] ignored: A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. + """ + pulumi.set(__self__, "downstream_scopes", downstream_scopes) + pulumi.set(__self__, "gke_state", gke_state) + pulumi.set(__self__, "ignored", ignored) + + @property + @pulumi.getter(name="downstreamScopes") + def downstream_scopes(self) -> Sequence[str]: + """ + This scopes whose upstream_scopes contain the current scope. The scope name should be in the form: `projects/{p}/locations/gloobal/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. + """ + return pulumi.get(self, "downstream_scopes") + + @property + @pulumi.getter(name="gkeState") + def gke_state(self) -> 'outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse': + """ + Feature state for GKE clusters. + """ + return pulumi.get(self, "gke_state") + + @property + @pulumi.getter + def ignored(self) -> Mapping[str, 'outputs.ClusterUpgradeIgnoredMembershipResponse']: + """ + A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. + """ + return pulumi.get(self, "ignored") + + @pulumi.output_type class ClusterUpgradeUpgradeStatusResponse(dict): """ @@ -1316,37 +1681,259 @@ def enabled(self) -> bool: @pulumi.output_type -class ConfigManagementConfigSyncResponse(dict): +class ConfigManagementBinauthzStateResponse(dict): """ - Configuration for Config Sync + State for Binauthz + """ + def __init__(__self__, *, + version: 'outputs.ConfigManagementBinauthzVersionResponse', + webhook: str): + """ + State for Binauthz + :param 'ConfigManagementBinauthzVersionResponse' version: The version of binauthz that is installed. + :param str webhook: The state of the binauthz webhook. + """ + pulumi.set(__self__, "version", version) + pulumi.set(__self__, "webhook", webhook) + + @property + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementBinauthzVersionResponse': + """ + The version of binauthz that is installed. + """ + return pulumi.get(self, "version") + + @property + @pulumi.getter + def webhook(self) -> str: + """ + The state of the binauthz webhook. + """ + return pulumi.get(self, "webhook") + + +@pulumi.output_type +class ConfigManagementBinauthzVersionResponse(dict): + """ + The version of binauthz. """ @staticmethod def __key_warning(key: str): suggest = None - if key == "allowVerticalScale": - suggest = "allow_vertical_scale" - elif key == "metricsGcpServiceAccountEmail": - suggest = "metrics_gcp_service_account_email" - elif key == "preventDrift": - suggest = "prevent_drift" - elif key == "sourceFormat": - suggest = "source_format" + if key == "webhookVersion": + suggest = "webhook_version" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementBinauthzVersionResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementConfigSyncResponse.__key_warning(key) + ConfigManagementBinauthzVersionResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementConfigSyncResponse.__key_warning(key) + ConfigManagementBinauthzVersionResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - allow_vertical_scale: bool, - enabled: bool, - git: 'outputs.ConfigManagementGitConfigResponse', + webhook_version: str): + """ + The version of binauthz. + :param str webhook_version: The version of the binauthz webhook. + """ + pulumi.set(__self__, "webhook_version", webhook_version) + + @property + @pulumi.getter(name="webhookVersion") + def webhook_version(self) -> str: + """ + The version of the binauthz webhook. + """ + return pulumi.get(self, "webhook_version") + + +@pulumi.output_type +class ConfigManagementConfigSyncDeploymentStateResponse(dict): + """ + The state of ConfigSync's deployment on a cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "admissionWebhook": + suggest = "admission_webhook" + elif key == "gitSync": + suggest = "git_sync" + elif key == "reconcilerManager": + suggest = "reconciler_manager" + elif key == "rootReconciler": + suggest = "root_reconciler" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncDeploymentStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncDeploymentStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncDeploymentStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admission_webhook: str, + git_sync: str, + importer: str, + monitor: str, + reconciler_manager: str, + root_reconciler: str, + syncer: str): + """ + The state of ConfigSync's deployment on a cluster + :param str admission_webhook: Deployment state of admission-webhook + :param str git_sync: Deployment state of the git-sync pod + :param str importer: Deployment state of the importer pod + :param str monitor: Deployment state of the monitor pod + :param str reconciler_manager: Deployment state of reconciler-manager pod + :param str root_reconciler: Deployment state of root-reconciler + :param str syncer: Deployment state of the syncer pod + """ + pulumi.set(__self__, "admission_webhook", admission_webhook) + pulumi.set(__self__, "git_sync", git_sync) + pulumi.set(__self__, "importer", importer) + pulumi.set(__self__, "monitor", monitor) + pulumi.set(__self__, "reconciler_manager", reconciler_manager) + pulumi.set(__self__, "root_reconciler", root_reconciler) + pulumi.set(__self__, "syncer", syncer) + + @property + @pulumi.getter(name="admissionWebhook") + def admission_webhook(self) -> str: + """ + Deployment state of admission-webhook + """ + return pulumi.get(self, "admission_webhook") + + @property + @pulumi.getter(name="gitSync") + def git_sync(self) -> str: + """ + Deployment state of the git-sync pod + """ + return pulumi.get(self, "git_sync") + + @property + @pulumi.getter + def importer(self) -> str: + """ + Deployment state of the importer pod + """ + return pulumi.get(self, "importer") + + @property + @pulumi.getter + def monitor(self) -> str: + """ + Deployment state of the monitor pod + """ + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="reconcilerManager") + def reconciler_manager(self) -> str: + """ + Deployment state of reconciler-manager pod + """ + return pulumi.get(self, "reconciler_manager") + + @property + @pulumi.getter(name="rootReconciler") + def root_reconciler(self) -> str: + """ + Deployment state of root-reconciler + """ + return pulumi.get(self, "root_reconciler") + + @property + @pulumi.getter + def syncer(self) -> str: + """ + Deployment state of the syncer pod + """ + return pulumi.get(self, "syncer") + + +@pulumi.output_type +class ConfigManagementConfigSyncErrorResponse(dict): + """ + Errors pertaining to the installation of Config Sync + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorMessage": + suggest = "error_message" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + error_message: str): + """ + Errors pertaining to the installation of Config Sync + :param str error_message: A string representing the user facing error message + """ + pulumi.set(__self__, "error_message", error_message) + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + A string representing the user facing error message + """ + return pulumi.get(self, "error_message") + + +@pulumi.output_type +class ConfigManagementConfigSyncResponse(dict): + """ + Configuration for Config Sync + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allowVerticalScale": + suggest = "allow_vertical_scale" + elif key == "metricsGcpServiceAccountEmail": + suggest = "metrics_gcp_service_account_email" + elif key == "preventDrift": + suggest = "prevent_drift" + elif key == "sourceFormat": + suggest = "source_format" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allow_vertical_scale: bool, + enabled: bool, + git: 'outputs.ConfigManagementGitConfigResponse', metrics_gcp_service_account_email: str, oci: 'outputs.ConfigManagementOciConfigResponse', prevent_drift: bool, @@ -1427,6 +2014,334 @@ def source_format(self) -> str: return pulumi.get(self, "source_format") +@pulumi.output_type +class ConfigManagementConfigSyncStateResponse(dict): + """ + State information for ConfigSync + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deploymentState": + suggest = "deployment_state" + elif key == "syncState": + suggest = "sync_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + deployment_state: 'outputs.ConfigManagementConfigSyncDeploymentStateResponse', + errors: Sequence['outputs.ConfigManagementConfigSyncErrorResponse'], + sync_state: 'outputs.ConfigManagementSyncStateResponse', + version: 'outputs.ConfigManagementConfigSyncVersionResponse'): + """ + State information for ConfigSync + :param 'ConfigManagementConfigSyncDeploymentStateResponse' deployment_state: Information about the deployment of ConfigSync, including the version of the various Pods deployed + :param Sequence['ConfigManagementConfigSyncErrorResponse'] errors: Errors pertaining to the installation of Config Sync. + :param 'ConfigManagementSyncStateResponse' sync_state: The state of ConfigSync's process to sync configs to a cluster + :param 'ConfigManagementConfigSyncVersionResponse' version: The version of ConfigSync deployed + """ + pulumi.set(__self__, "deployment_state", deployment_state) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "sync_state", sync_state) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="deploymentState") + def deployment_state(self) -> 'outputs.ConfigManagementConfigSyncDeploymentStateResponse': + """ + Information about the deployment of ConfigSync, including the version of the various Pods deployed + """ + return pulumi.get(self, "deployment_state") + + @property + @pulumi.getter + def errors(self) -> Sequence['outputs.ConfigManagementConfigSyncErrorResponse']: + """ + Errors pertaining to the installation of Config Sync. + """ + return pulumi.get(self, "errors") + + @property + @pulumi.getter(name="syncState") + def sync_state(self) -> 'outputs.ConfigManagementSyncStateResponse': + """ + The state of ConfigSync's process to sync configs to a cluster + """ + return pulumi.get(self, "sync_state") + + @property + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementConfigSyncVersionResponse': + """ + The version of ConfigSync deployed + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementConfigSyncVersionResponse(dict): + """ + Specific versioning information pertaining to ConfigSync's Pods + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "admissionWebhook": + suggest = "admission_webhook" + elif key == "gitSync": + suggest = "git_sync" + elif key == "reconcilerManager": + suggest = "reconciler_manager" + elif key == "rootReconciler": + suggest = "root_reconciler" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncVersionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncVersionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncVersionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admission_webhook: str, + git_sync: str, + importer: str, + monitor: str, + reconciler_manager: str, + root_reconciler: str, + syncer: str): + """ + Specific versioning information pertaining to ConfigSync's Pods + :param str admission_webhook: Version of the deployed admission_webhook pod + :param str git_sync: Version of the deployed git-sync pod + :param str importer: Version of the deployed importer pod + :param str monitor: Version of the deployed monitor pod + :param str reconciler_manager: Version of the deployed reconciler-manager pod + :param str root_reconciler: Version of the deployed reconciler container in root-reconciler pod + :param str syncer: Version of the deployed syncer pod + """ + pulumi.set(__self__, "admission_webhook", admission_webhook) + pulumi.set(__self__, "git_sync", git_sync) + pulumi.set(__self__, "importer", importer) + pulumi.set(__self__, "monitor", monitor) + pulumi.set(__self__, "reconciler_manager", reconciler_manager) + pulumi.set(__self__, "root_reconciler", root_reconciler) + pulumi.set(__self__, "syncer", syncer) + + @property + @pulumi.getter(name="admissionWebhook") + def admission_webhook(self) -> str: + """ + Version of the deployed admission_webhook pod + """ + return pulumi.get(self, "admission_webhook") + + @property + @pulumi.getter(name="gitSync") + def git_sync(self) -> str: + """ + Version of the deployed git-sync pod + """ + return pulumi.get(self, "git_sync") + + @property + @pulumi.getter + def importer(self) -> str: + """ + Version of the deployed importer pod + """ + return pulumi.get(self, "importer") + + @property + @pulumi.getter + def monitor(self) -> str: + """ + Version of the deployed monitor pod + """ + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="reconcilerManager") + def reconciler_manager(self) -> str: + """ + Version of the deployed reconciler-manager pod + """ + return pulumi.get(self, "reconciler_manager") + + @property + @pulumi.getter(name="rootReconciler") + def root_reconciler(self) -> str: + """ + Version of the deployed reconciler container in root-reconciler pod + """ + return pulumi.get(self, "root_reconciler") + + @property + @pulumi.getter + def syncer(self) -> str: + """ + Version of the deployed syncer pod + """ + return pulumi.get(self, "syncer") + + +@pulumi.output_type +class ConfigManagementErrorResourceResponse(dict): + """ + Model for a config file in the git repo with an associated Sync error + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceGvk": + suggest = "resource_gvk" + elif key == "resourceName": + suggest = "resource_name" + elif key == "resourceNamespace": + suggest = "resource_namespace" + elif key == "sourcePath": + suggest = "source_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementErrorResourceResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementErrorResourceResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementErrorResourceResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + resource_gvk: 'outputs.ConfigManagementGroupVersionKindResponse', + resource_name: str, + resource_namespace: str, + source_path: str): + """ + Model for a config file in the git repo with an associated Sync error + :param 'ConfigManagementGroupVersionKindResponse' resource_gvk: Group/version/kind of the resource that is causing an error + :param str resource_name: Metadata name of the resource that is causing an error + :param str resource_namespace: Namespace of the resource that is causing an error + :param str source_path: Path in the git repo of the erroneous config + """ + pulumi.set(__self__, "resource_gvk", resource_gvk) + pulumi.set(__self__, "resource_name", resource_name) + pulumi.set(__self__, "resource_namespace", resource_namespace) + pulumi.set(__self__, "source_path", source_path) + + @property + @pulumi.getter(name="resourceGvk") + def resource_gvk(self) -> 'outputs.ConfigManagementGroupVersionKindResponse': + """ + Group/version/kind of the resource that is causing an error + """ + return pulumi.get(self, "resource_gvk") + + @property + @pulumi.getter(name="resourceName") + def resource_name(self) -> str: + """ + Metadata name of the resource that is causing an error + """ + return pulumi.get(self, "resource_name") + + @property + @pulumi.getter(name="resourceNamespace") + def resource_namespace(self) -> str: + """ + Namespace of the resource that is causing an error + """ + return pulumi.get(self, "resource_namespace") + + @property + @pulumi.getter(name="sourcePath") + def source_path(self) -> str: + """ + Path in the git repo of the erroneous config + """ + return pulumi.get(self, "source_path") + + +@pulumi.output_type +class ConfigManagementGatekeeperDeploymentStateResponse(dict): + """ + State of Policy Controller installation. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "gatekeeperAudit": + suggest = "gatekeeper_audit" + elif key == "gatekeeperControllerManagerState": + suggest = "gatekeeper_controller_manager_state" + elif key == "gatekeeperMutation": + suggest = "gatekeeper_mutation" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementGatekeeperDeploymentStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementGatekeeperDeploymentStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementGatekeeperDeploymentStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + gatekeeper_audit: str, + gatekeeper_controller_manager_state: str, + gatekeeper_mutation: str): + """ + State of Policy Controller installation. + :param str gatekeeper_audit: Status of gatekeeper-audit deployment. + :param str gatekeeper_controller_manager_state: Status of gatekeeper-controller-manager pod. + :param str gatekeeper_mutation: Status of the pod serving the mutation webhook. + """ + pulumi.set(__self__, "gatekeeper_audit", gatekeeper_audit) + pulumi.set(__self__, "gatekeeper_controller_manager_state", gatekeeper_controller_manager_state) + pulumi.set(__self__, "gatekeeper_mutation", gatekeeper_mutation) + + @property + @pulumi.getter(name="gatekeeperAudit") + def gatekeeper_audit(self) -> str: + """ + Status of gatekeeper-audit deployment. + """ + return pulumi.get(self, "gatekeeper_audit") + + @property + @pulumi.getter(name="gatekeeperControllerManagerState") + def gatekeeper_controller_manager_state(self) -> str: + """ + Status of gatekeeper-controller-manager pod. + """ + return pulumi.get(self, "gatekeeper_controller_manager_state") + + @property + @pulumi.getter(name="gatekeeperMutation") + def gatekeeper_mutation(self) -> str: + """ + Status of the pod serving the mutation webhook. + """ + return pulumi.get(self, "gatekeeper_mutation") + + @pulumi.output_type class ConfigManagementGitConfigResponse(dict): """ @@ -1557,6 +2472,50 @@ def sync_wait_secs(self) -> str: return pulumi.get(self, "sync_wait_secs") +@pulumi.output_type +class ConfigManagementGroupVersionKindResponse(dict): + """ + A Kubernetes object's GVK + """ + def __init__(__self__, *, + group: str, + kind: str, + version: str): + """ + A Kubernetes object's GVK + :param str group: Kubernetes Group + :param str kind: Kubernetes Kind + :param str version: Kubernetes Version + """ + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "kind", kind) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def group(self) -> str: + """ + Kubernetes Group + """ + return pulumi.get(self, "group") + + @property + @pulumi.getter + def kind(self) -> str: + """ + Kubernetes Kind + """ + return pulumi.get(self, "kind") + + @property + @pulumi.getter + def version(self) -> str: + """ + Kubernetes Version + """ + return pulumi.get(self, "version") + + @pulumi.output_type class ConfigManagementHierarchyControllerConfigResponse(dict): """ @@ -1620,6 +2579,144 @@ def enabled(self) -> bool: return pulumi.get(self, "enabled") +@pulumi.output_type +class ConfigManagementHierarchyControllerDeploymentStateResponse(dict): + """ + Deployment state for Hierarchy Controller + """ + def __init__(__self__, *, + extension: str, + hnc: str): + """ + Deployment state for Hierarchy Controller + :param str extension: The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + :param str hnc: The deployment state for open source HNC (e.g. v0.7.0-hc.0) + """ + pulumi.set(__self__, "extension", extension) + pulumi.set(__self__, "hnc", hnc) + + @property + @pulumi.getter + def extension(self) -> str: + """ + The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + """ + return pulumi.get(self, "extension") + + @property + @pulumi.getter + def hnc(self) -> str: + """ + The deployment state for open source HNC (e.g. v0.7.0-hc.0) + """ + return pulumi.get(self, "hnc") + + +@pulumi.output_type +class ConfigManagementHierarchyControllerStateResponse(dict): + """ + State for Hierarchy Controller + """ + def __init__(__self__, *, + state: 'outputs.ConfigManagementHierarchyControllerDeploymentStateResponse', + version: 'outputs.ConfigManagementHierarchyControllerVersionResponse'): + """ + State for Hierarchy Controller + :param 'ConfigManagementHierarchyControllerDeploymentStateResponse' state: The deployment state for Hierarchy Controller + :param 'ConfigManagementHierarchyControllerVersionResponse' version: The version for Hierarchy Controller + """ + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def state(self) -> 'outputs.ConfigManagementHierarchyControllerDeploymentStateResponse': + """ + The deployment state for Hierarchy Controller + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementHierarchyControllerVersionResponse': + """ + The version for Hierarchy Controller + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementHierarchyControllerVersionResponse(dict): + """ + Version for Hierarchy Controller + """ + def __init__(__self__, *, + extension: str, + hnc: str): + """ + Version for Hierarchy Controller + :param str extension: Version for Hierarchy Controller extension + :param str hnc: Version for open source HNC + """ + pulumi.set(__self__, "extension", extension) + pulumi.set(__self__, "hnc", hnc) + + @property + @pulumi.getter + def extension(self) -> str: + """ + Version for Hierarchy Controller extension + """ + return pulumi.get(self, "extension") + + @property + @pulumi.getter + def hnc(self) -> str: + """ + Version for open source HNC + """ + return pulumi.get(self, "hnc") + + +@pulumi.output_type +class ConfigManagementInstallErrorResponse(dict): + """ + Errors pertaining to the installation of ACM + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorMessage": + suggest = "error_message" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementInstallErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementInstallErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementInstallErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + error_message: str): + """ + Errors pertaining to the installation of ACM + :param str error_message: A string representing the user facing error message + """ + pulumi.set(__self__, "error_message", error_message) + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + A string representing the user facing error message + """ + return pulumi.get(self, "error_message") + + @pulumi.output_type class ConfigManagementMembershipSpecResponse(dict): """ @@ -1719,6 +2816,123 @@ def version(self) -> str: return pulumi.get(self, "version") +@pulumi.output_type +class ConfigManagementMembershipStateResponse(dict): + """ + **Anthos Config Management**: State for a single cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "binauthzState": + suggest = "binauthz_state" + elif key == "clusterName": + suggest = "cluster_name" + elif key == "configSyncState": + suggest = "config_sync_state" + elif key == "hierarchyControllerState": + suggest = "hierarchy_controller_state" + elif key == "membershipSpec": + suggest = "membership_spec" + elif key == "operatorState": + suggest = "operator_state" + elif key == "policyControllerState": + suggest = "policy_controller_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + binauthz_state: 'outputs.ConfigManagementBinauthzStateResponse', + cluster_name: str, + config_sync_state: 'outputs.ConfigManagementConfigSyncStateResponse', + hierarchy_controller_state: 'outputs.ConfigManagementHierarchyControllerStateResponse', + membership_spec: 'outputs.ConfigManagementMembershipSpecResponse', + operator_state: 'outputs.ConfigManagementOperatorStateResponse', + policy_controller_state: 'outputs.ConfigManagementPolicyControllerStateResponse'): + """ + **Anthos Config Management**: State for a single cluster. + :param 'ConfigManagementBinauthzStateResponse' binauthz_state: Binauthz status + :param str cluster_name: This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + :param 'ConfigManagementConfigSyncStateResponse' config_sync_state: Current sync status + :param 'ConfigManagementHierarchyControllerStateResponse' hierarchy_controller_state: Hierarchy Controller status + :param 'ConfigManagementMembershipSpecResponse' membership_spec: Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + :param 'ConfigManagementOperatorStateResponse' operator_state: Current install status of ACM's Operator + :param 'ConfigManagementPolicyControllerStateResponse' policy_controller_state: PolicyController status + """ + pulumi.set(__self__, "binauthz_state", binauthz_state) + pulumi.set(__self__, "cluster_name", cluster_name) + pulumi.set(__self__, "config_sync_state", config_sync_state) + pulumi.set(__self__, "hierarchy_controller_state", hierarchy_controller_state) + pulumi.set(__self__, "membership_spec", membership_spec) + pulumi.set(__self__, "operator_state", operator_state) + pulumi.set(__self__, "policy_controller_state", policy_controller_state) + + @property + @pulumi.getter(name="binauthzState") + def binauthz_state(self) -> 'outputs.ConfigManagementBinauthzStateResponse': + """ + Binauthz status + """ + return pulumi.get(self, "binauthz_state") + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> str: + """ + This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + """ + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter(name="configSyncState") + def config_sync_state(self) -> 'outputs.ConfigManagementConfigSyncStateResponse': + """ + Current sync status + """ + return pulumi.get(self, "config_sync_state") + + @property + @pulumi.getter(name="hierarchyControllerState") + def hierarchy_controller_state(self) -> 'outputs.ConfigManagementHierarchyControllerStateResponse': + """ + Hierarchy Controller status + """ + return pulumi.get(self, "hierarchy_controller_state") + + @property + @pulumi.getter(name="membershipSpec") + def membership_spec(self) -> 'outputs.ConfigManagementMembershipSpecResponse': + """ + Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + """ + return pulumi.get(self, "membership_spec") + + @property + @pulumi.getter(name="operatorState") + def operator_state(self) -> 'outputs.ConfigManagementOperatorStateResponse': + """ + Current install status of ACM's Operator + """ + return pulumi.get(self, "operator_state") + + @property + @pulumi.getter(name="policyControllerState") + def policy_controller_state(self) -> 'outputs.ConfigManagementPolicyControllerStateResponse': + """ + PolicyController status + """ + return pulumi.get(self, "policy_controller_state") + + @pulumi.output_type class ConfigManagementOciConfigResponse(dict): """ @@ -1763,51 +2977,162 @@ def __init__(__self__, *, :param str sync_repo: The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. :param str sync_wait_secs: Period in seconds between consecutive syncs. Default: 15. """ - pulumi.set(__self__, "gcp_service_account_email", gcp_service_account_email) - pulumi.set(__self__, "policy_dir", policy_dir) - pulumi.set(__self__, "secret_type", secret_type) - pulumi.set(__self__, "sync_repo", sync_repo) - pulumi.set(__self__, "sync_wait_secs", sync_wait_secs) + pulumi.set(__self__, "gcp_service_account_email", gcp_service_account_email) + pulumi.set(__self__, "policy_dir", policy_dir) + pulumi.set(__self__, "secret_type", secret_type) + pulumi.set(__self__, "sync_repo", sync_repo) + pulumi.set(__self__, "sync_wait_secs", sync_wait_secs) + + @property + @pulumi.getter(name="gcpServiceAccountEmail") + def gcp_service_account_email(self) -> str: + """ + The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + """ + return pulumi.get(self, "gcp_service_account_email") + + @property + @pulumi.getter(name="policyDir") + def policy_dir(self) -> str: + """ + The absolute path of the directory that contains the local resources. Default: the root directory of the image. + """ + return pulumi.get(self, "policy_dir") + + @property + @pulumi.getter(name="secretType") + def secret_type(self) -> str: + """ + Type of secret configured for access to the Git repo. + """ + return pulumi.get(self, "secret_type") + + @property + @pulumi.getter(name="syncRepo") + def sync_repo(self) -> str: + """ + The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + """ + return pulumi.get(self, "sync_repo") + + @property + @pulumi.getter(name="syncWaitSecs") + def sync_wait_secs(self) -> str: + """ + Period in seconds between consecutive syncs. Default: 15. + """ + return pulumi.get(self, "sync_wait_secs") + + +@pulumi.output_type +class ConfigManagementOperatorStateResponse(dict): + """ + State information for an ACM's Operator + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deploymentState": + suggest = "deployment_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementOperatorStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementOperatorStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementOperatorStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + deployment_state: str, + errors: Sequence['outputs.ConfigManagementInstallErrorResponse'], + version: str): + """ + State information for an ACM's Operator + :param str deployment_state: The state of the Operator's deployment + :param Sequence['ConfigManagementInstallErrorResponse'] errors: Install errors. + :param str version: The semenatic version number of the operator + """ + pulumi.set(__self__, "deployment_state", deployment_state) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "version", version) @property - @pulumi.getter(name="gcpServiceAccountEmail") - def gcp_service_account_email(self) -> str: + @pulumi.getter(name="deploymentState") + def deployment_state(self) -> str: """ - The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + The state of the Operator's deployment """ - return pulumi.get(self, "gcp_service_account_email") + return pulumi.get(self, "deployment_state") @property - @pulumi.getter(name="policyDir") - def policy_dir(self) -> str: + @pulumi.getter + def errors(self) -> Sequence['outputs.ConfigManagementInstallErrorResponse']: """ - The absolute path of the directory that contains the local resources. Default: the root directory of the image. + Install errors. """ - return pulumi.get(self, "policy_dir") + return pulumi.get(self, "errors") @property - @pulumi.getter(name="secretType") - def secret_type(self) -> str: + @pulumi.getter + def version(self) -> str: """ - Type of secret configured for access to the Git repo. + The semenatic version number of the operator """ - return pulumi.get(self, "secret_type") + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementPolicyControllerMigrationResponse(dict): + """ + State for the migration of PolicyController from ACM -> PoCo Hub. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "copyTime": + suggest = "copy_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementPolicyControllerMigrationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementPolicyControllerMigrationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementPolicyControllerMigrationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + copy_time: str, + stage: str): + """ + State for the migration of PolicyController from ACM -> PoCo Hub. + :param str copy_time: Last time this membership spec was copied to PoCo feature. + :param str stage: Stage of the migration. + """ + pulumi.set(__self__, "copy_time", copy_time) + pulumi.set(__self__, "stage", stage) @property - @pulumi.getter(name="syncRepo") - def sync_repo(self) -> str: + @pulumi.getter(name="copyTime") + def copy_time(self) -> str: """ - The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + Last time this membership spec was copied to PoCo feature. """ - return pulumi.get(self, "sync_repo") + return pulumi.get(self, "copy_time") @property - @pulumi.getter(name="syncWaitSecs") - def sync_wait_secs(self) -> str: + @pulumi.getter + def stage(self) -> str: """ - Period in seconds between consecutive syncs. Default: 15. + Stage of the migration. """ - return pulumi.get(self, "sync_wait_secs") + return pulumi.get(self, "stage") @pulumi.output_type @@ -1971,6 +3296,266 @@ def update_time(self) -> str: return pulumi.get(self, "update_time") +@pulumi.output_type +class ConfigManagementPolicyControllerStateResponse(dict): + """ + State for PolicyControllerState. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deploymentState": + suggest = "deployment_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementPolicyControllerStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementPolicyControllerStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementPolicyControllerStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + deployment_state: 'outputs.ConfigManagementGatekeeperDeploymentStateResponse', + migration: 'outputs.ConfigManagementPolicyControllerMigrationResponse', + version: 'outputs.ConfigManagementPolicyControllerVersionResponse'): + """ + State for PolicyControllerState. + :param 'ConfigManagementGatekeeperDeploymentStateResponse' deployment_state: The state about the policy controller installation. + :param 'ConfigManagementPolicyControllerMigrationResponse' migration: Record state of ACM -> PoCo Hub migration for this feature. + :param 'ConfigManagementPolicyControllerVersionResponse' version: The version of Gatekeeper Policy Controller deployed. + """ + pulumi.set(__self__, "deployment_state", deployment_state) + pulumi.set(__self__, "migration", migration) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="deploymentState") + def deployment_state(self) -> 'outputs.ConfigManagementGatekeeperDeploymentStateResponse': + """ + The state about the policy controller installation. + """ + return pulumi.get(self, "deployment_state") + + @property + @pulumi.getter + def migration(self) -> 'outputs.ConfigManagementPolicyControllerMigrationResponse': + """ + Record state of ACM -> PoCo Hub migration for this feature. + """ + return pulumi.get(self, "migration") + + @property + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementPolicyControllerVersionResponse': + """ + The version of Gatekeeper Policy Controller deployed. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementPolicyControllerVersionResponse(dict): + """ + The build version of Gatekeeper Policy Controller is using. + """ + def __init__(__self__, *, + version: str): + """ + The build version of Gatekeeper Policy Controller is using. + :param str version: The gatekeeper image tag that is composed of ACM version, git tag, build number. + """ + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def version(self) -> str: + """ + The gatekeeper image tag that is composed of ACM version, git tag, build number. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementSyncErrorResponse(dict): + """ + An ACM created error representing a problem syncing configurations + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorMessage": + suggest = "error_message" + elif key == "errorResources": + suggest = "error_resources" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementSyncErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementSyncErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementSyncErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + code: str, + error_message: str, + error_resources: Sequence['outputs.ConfigManagementErrorResourceResponse']): + """ + An ACM created error representing a problem syncing configurations + :param str code: An ACM defined error code + :param str error_message: A description of the error + :param Sequence['ConfigManagementErrorResourceResponse'] error_resources: A list of config(s) associated with the error, if any + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "error_message", error_message) + pulumi.set(__self__, "error_resources", error_resources) + + @property + @pulumi.getter + def code(self) -> str: + """ + An ACM defined error code + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + A description of the error + """ + return pulumi.get(self, "error_message") + + @property + @pulumi.getter(name="errorResources") + def error_resources(self) -> Sequence['outputs.ConfigManagementErrorResourceResponse']: + """ + A list of config(s) associated with the error, if any + """ + return pulumi.get(self, "error_resources") + + +@pulumi.output_type +class ConfigManagementSyncStateResponse(dict): + """ + State indicating an ACM's progress syncing configurations to a cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "importToken": + suggest = "import_token" + elif key == "lastSync": + suggest = "last_sync" + elif key == "lastSyncTime": + suggest = "last_sync_time" + elif key == "sourceToken": + suggest = "source_token" + elif key == "syncToken": + suggest = "sync_token" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementSyncStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementSyncStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementSyncStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + code: str, + errors: Sequence['outputs.ConfigManagementSyncErrorResponse'], + import_token: str, + last_sync: str, + last_sync_time: str, + source_token: str, + sync_token: str): + """ + State indicating an ACM's progress syncing configurations to a cluster + :param str code: Sync status code + :param Sequence['ConfigManagementSyncErrorResponse'] errors: A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + :param str import_token: Token indicating the state of the importer. + :param str last_sync: Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + :param str last_sync_time: Timestamp type of when ACM last successfully synced the repo + :param str source_token: Token indicating the state of the repo. + :param str sync_token: Token indicating the state of the syncer. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "import_token", import_token) + pulumi.set(__self__, "last_sync", last_sync) + pulumi.set(__self__, "last_sync_time", last_sync_time) + pulumi.set(__self__, "source_token", source_token) + pulumi.set(__self__, "sync_token", sync_token) + + @property + @pulumi.getter + def code(self) -> str: + """ + Sync status code + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def errors(self) -> Sequence['outputs.ConfigManagementSyncErrorResponse']: + """ + A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + """ + return pulumi.get(self, "errors") + + @property + @pulumi.getter(name="importToken") + def import_token(self) -> str: + """ + Token indicating the state of the importer. + """ + return pulumi.get(self, "import_token") + + @property + @pulumi.getter(name="lastSync") + @_utilities.deprecated("""Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String""") + def last_sync(self) -> str: + """ + Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + """ + return pulumi.get(self, "last_sync") + + @property + @pulumi.getter(name="lastSyncTime") + def last_sync_time(self) -> str: + """ + Timestamp type of when ACM last successfully synced the repo + """ + return pulumi.get(self, "last_sync_time") + + @property + @pulumi.getter(name="sourceToken") + def source_token(self) -> str: + """ + Token indicating the state of the repo. + """ + return pulumi.get(self, "source_token") + + @property + @pulumi.getter(name="syncToken") + def sync_token(self) -> str: + """ + Token indicating the state of the syncer. + """ + return pulumi.get(self, "sync_token") + + @pulumi.output_type class DefaultClusterConfigResponse(dict): """ @@ -2538,6 +4123,30 @@ def fleet_scope_logs_config(self) -> 'outputs.FleetObservabilityRoutingConfigRes return pulumi.get(self, "fleet_scope_logs_config") +@pulumi.output_type +class FleetObservabilityMembershipSpecResponse(dict): + """ + **FleetObservability**: The membership-specific input for FleetObservability feature. + """ + def __init__(__self__): + """ + **FleetObservability**: The membership-specific input for FleetObservability feature. + """ + pass + + +@pulumi.output_type +class FleetObservabilityMembershipStateResponse(dict): + """ + **FleetObservability**: Membership-specific Feature state for fleetobservability. + """ + def __init__(__self__): + """ + **FleetObservability**: Membership-specific Feature state for fleetobservability. + """ + pass + + @pulumi.output_type class FleetObservabilityRoutingConfigResponse(dict): """ @@ -2807,46 +4416,122 @@ def disable(self) -> bool: """ Disable automatic configuration of Google Plugin on supported platforms. """ - return pulumi.get(self, "disable") + return pulumi.get(self, "disable") + + +@pulumi.output_type +class IdentityServiceMembershipSpecResponse(dict): + """ + **Anthos Identity Service**: Configuration for a single Membership. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authMethods": + suggest = "auth_methods" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IdentityServiceMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IdentityServiceMembershipSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IdentityServiceMembershipSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auth_methods: Sequence['outputs.IdentityServiceAuthMethodResponse']): + """ + **Anthos Identity Service**: Configuration for a single Membership. + :param Sequence['IdentityServiceAuthMethodResponse'] auth_methods: A member may support multiple auth methods. + """ + pulumi.set(__self__, "auth_methods", auth_methods) + + @property + @pulumi.getter(name="authMethods") + def auth_methods(self) -> Sequence['outputs.IdentityServiceAuthMethodResponse']: + """ + A member may support multiple auth methods. + """ + return pulumi.get(self, "auth_methods") @pulumi.output_type -class IdentityServiceMembershipSpecResponse(dict): +class IdentityServiceMembershipStateResponse(dict): """ - **Anthos Identity Service**: Configuration for a single Membership. + **Anthos Identity Service**: State for a single Membership. """ @staticmethod def __key_warning(key: str): suggest = None - if key == "authMethods": - suggest = "auth_methods" + if key == "failureReason": + suggest = "failure_reason" + elif key == "installedVersion": + suggest = "installed_version" + elif key == "memberConfig": + suggest = "member_config" if suggest: - pulumi.log.warn(f"Key '{key}' not found in IdentityServiceMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in IdentityServiceMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - IdentityServiceMembershipSpecResponse.__key_warning(key) + IdentityServiceMembershipStateResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - IdentityServiceMembershipSpecResponse.__key_warning(key) + IdentityServiceMembershipStateResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - auth_methods: Sequence['outputs.IdentityServiceAuthMethodResponse']): + failure_reason: str, + installed_version: str, + member_config: 'outputs.IdentityServiceMembershipSpecResponse', + state: str): """ - **Anthos Identity Service**: Configuration for a single Membership. - :param Sequence['IdentityServiceAuthMethodResponse'] auth_methods: A member may support multiple auth methods. + **Anthos Identity Service**: State for a single Membership. + :param str failure_reason: The reason of the failure. + :param str installed_version: Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + :param 'IdentityServiceMembershipSpecResponse' member_config: Last reconciled membership configuration + :param str state: Deployment state on this member """ - pulumi.set(__self__, "auth_methods", auth_methods) + pulumi.set(__self__, "failure_reason", failure_reason) + pulumi.set(__self__, "installed_version", installed_version) + pulumi.set(__self__, "member_config", member_config) + pulumi.set(__self__, "state", state) @property - @pulumi.getter(name="authMethods") - def auth_methods(self) -> Sequence['outputs.IdentityServiceAuthMethodResponse']: + @pulumi.getter(name="failureReason") + def failure_reason(self) -> str: """ - A member may support multiple auth methods. + The reason of the failure. """ - return pulumi.get(self, "auth_methods") + return pulumi.get(self, "failure_reason") + + @property + @pulumi.getter(name="installedVersion") + def installed_version(self) -> str: + """ + Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + """ + return pulumi.get(self, "installed_version") + + @property + @pulumi.getter(name="memberConfig") + def member_config(self) -> 'outputs.IdentityServiceMembershipSpecResponse': + """ + Last reconciled membership configuration + """ + return pulumi.get(self, "member_config") + + @property + @pulumi.getter + def state(self) -> str: + """ + Deployment state on this member + """ + return pulumi.get(self, "state") @pulumi.output_type @@ -3389,6 +5074,248 @@ def on_prem_cluster(self) -> 'outputs.OnPremClusterResponse': return pulumi.get(self, "on_prem_cluster") +@pulumi.output_type +class MembershipFeatureSpecResponse(dict): + """ + MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + """ + def __init__(__self__, *, + anthosobservability: 'outputs.AnthosObservabilityMembershipSpecResponse', + cloudbuild: 'outputs.CloudBuildMembershipSpecResponse', + configmanagement: 'outputs.ConfigManagementMembershipSpecResponse', + fleetobservability: 'outputs.FleetObservabilityMembershipSpecResponse', + identityservice: 'outputs.IdentityServiceMembershipSpecResponse', + mesh: 'outputs.ServiceMeshMembershipSpecResponse', + namespaceactuation: 'outputs.NamespaceActuationMembershipSpecResponse', + origin: 'outputs.OriginResponse', + policycontroller: 'outputs.PolicyControllerMembershipSpecResponse', + workloadcertificate: 'outputs.MembershipSpecResponse'): + """ + MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + :param 'AnthosObservabilityMembershipSpecResponse' anthosobservability: Anthos Observability-specific spec + :param 'CloudBuildMembershipSpecResponse' cloudbuild: Cloud Build-specific spec + :param 'ConfigManagementMembershipSpecResponse' configmanagement: Config Management-specific spec. + :param 'FleetObservabilityMembershipSpecResponse' fleetobservability: Fleet observability membership spec + :param 'IdentityServiceMembershipSpecResponse' identityservice: Identity Service-specific spec. + :param 'ServiceMeshMembershipSpecResponse' mesh: Anthos Service Mesh-specific spec + :param 'NamespaceActuationMembershipSpecResponse' namespaceactuation: FNS Actuation membership spec + :param 'OriginResponse' origin: Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + :param 'PolicyControllerMembershipSpecResponse' policycontroller: Policy Controller spec. + :param 'MembershipSpecResponse' workloadcertificate: Workload Certificate spec. + """ + pulumi.set(__self__, "anthosobservability", anthosobservability) + pulumi.set(__self__, "cloudbuild", cloudbuild) + pulumi.set(__self__, "configmanagement", configmanagement) + pulumi.set(__self__, "fleetobservability", fleetobservability) + pulumi.set(__self__, "identityservice", identityservice) + pulumi.set(__self__, "mesh", mesh) + pulumi.set(__self__, "namespaceactuation", namespaceactuation) + pulumi.set(__self__, "origin", origin) + pulumi.set(__self__, "policycontroller", policycontroller) + pulumi.set(__self__, "workloadcertificate", workloadcertificate) + + @property + @pulumi.getter + def anthosobservability(self) -> 'outputs.AnthosObservabilityMembershipSpecResponse': + """ + Anthos Observability-specific spec + """ + return pulumi.get(self, "anthosobservability") + + @property + @pulumi.getter + def cloudbuild(self) -> 'outputs.CloudBuildMembershipSpecResponse': + """ + Cloud Build-specific spec + """ + return pulumi.get(self, "cloudbuild") + + @property + @pulumi.getter + def configmanagement(self) -> 'outputs.ConfigManagementMembershipSpecResponse': + """ + Config Management-specific spec. + """ + return pulumi.get(self, "configmanagement") + + @property + @pulumi.getter + def fleetobservability(self) -> 'outputs.FleetObservabilityMembershipSpecResponse': + """ + Fleet observability membership spec + """ + return pulumi.get(self, "fleetobservability") + + @property + @pulumi.getter + def identityservice(self) -> 'outputs.IdentityServiceMembershipSpecResponse': + """ + Identity Service-specific spec. + """ + return pulumi.get(self, "identityservice") + + @property + @pulumi.getter + def mesh(self) -> 'outputs.ServiceMeshMembershipSpecResponse': + """ + Anthos Service Mesh-specific spec + """ + return pulumi.get(self, "mesh") + + @property + @pulumi.getter + def namespaceactuation(self) -> 'outputs.NamespaceActuationMembershipSpecResponse': + """ + FNS Actuation membership spec + """ + return pulumi.get(self, "namespaceactuation") + + @property + @pulumi.getter + def origin(self) -> 'outputs.OriginResponse': + """ + Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + """ + return pulumi.get(self, "origin") + + @property + @pulumi.getter + def policycontroller(self) -> 'outputs.PolicyControllerMembershipSpecResponse': + """ + Policy Controller spec. + """ + return pulumi.get(self, "policycontroller") + + @property + @pulumi.getter + def workloadcertificate(self) -> 'outputs.MembershipSpecResponse': + """ + Workload Certificate spec. + """ + return pulumi.get(self, "workloadcertificate") + + +@pulumi.output_type +class MembershipFeatureStateResponse(dict): + """ + MembershipFeatureState contains Feature status information for a single Membership. + """ + def __init__(__self__, *, + appdevexperience: 'outputs.AppDevExperienceFeatureStateResponse', + clusterupgrade: 'outputs.ClusterUpgradeMembershipStateResponse', + configmanagement: 'outputs.ConfigManagementMembershipStateResponse', + fleetobservability: 'outputs.FleetObservabilityMembershipStateResponse', + identityservice: 'outputs.IdentityServiceMembershipStateResponse', + metering: 'outputs.MeteringMembershipStateResponse', + namespaceactuation: 'outputs.NamespaceActuationMembershipStateResponse', + policycontroller: 'outputs.PolicyControllerMembershipStateResponse', + servicemesh: 'outputs.ServiceMeshMembershipStateResponse', + state: 'outputs.FeatureStateResponse'): + """ + MembershipFeatureState contains Feature status information for a single Membership. + :param 'AppDevExperienceFeatureStateResponse' appdevexperience: Appdevexperience specific state. + :param 'ClusterUpgradeMembershipStateResponse' clusterupgrade: ClusterUpgrade state. + :param 'ConfigManagementMembershipStateResponse' configmanagement: Config Management-specific state. + :param 'FleetObservabilityMembershipStateResponse' fleetobservability: Fleet observability membership state. + :param 'IdentityServiceMembershipStateResponse' identityservice: Identity Service-specific state. + :param 'MeteringMembershipStateResponse' metering: Metering-specific state. + :param 'NamespaceActuationMembershipStateResponse' namespaceactuation: FNS Actuation membership state + :param 'PolicyControllerMembershipStateResponse' policycontroller: Policycontroller-specific state. + :param 'ServiceMeshMembershipStateResponse' servicemesh: Service Mesh-specific state. + :param 'FeatureStateResponse' state: The high-level state of this Feature for a single membership. + """ + pulumi.set(__self__, "appdevexperience", appdevexperience) + pulumi.set(__self__, "clusterupgrade", clusterupgrade) + pulumi.set(__self__, "configmanagement", configmanagement) + pulumi.set(__self__, "fleetobservability", fleetobservability) + pulumi.set(__self__, "identityservice", identityservice) + pulumi.set(__self__, "metering", metering) + pulumi.set(__self__, "namespaceactuation", namespaceactuation) + pulumi.set(__self__, "policycontroller", policycontroller) + pulumi.set(__self__, "servicemesh", servicemesh) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def appdevexperience(self) -> 'outputs.AppDevExperienceFeatureStateResponse': + """ + Appdevexperience specific state. + """ + return pulumi.get(self, "appdevexperience") + + @property + @pulumi.getter + def clusterupgrade(self) -> 'outputs.ClusterUpgradeMembershipStateResponse': + """ + ClusterUpgrade state. + """ + return pulumi.get(self, "clusterupgrade") + + @property + @pulumi.getter + def configmanagement(self) -> 'outputs.ConfigManagementMembershipStateResponse': + """ + Config Management-specific state. + """ + return pulumi.get(self, "configmanagement") + + @property + @pulumi.getter + def fleetobservability(self) -> 'outputs.FleetObservabilityMembershipStateResponse': + """ + Fleet observability membership state. + """ + return pulumi.get(self, "fleetobservability") + + @property + @pulumi.getter + def identityservice(self) -> 'outputs.IdentityServiceMembershipStateResponse': + """ + Identity Service-specific state. + """ + return pulumi.get(self, "identityservice") + + @property + @pulumi.getter + def metering(self) -> 'outputs.MeteringMembershipStateResponse': + """ + Metering-specific state. + """ + return pulumi.get(self, "metering") + + @property + @pulumi.getter + def namespaceactuation(self) -> 'outputs.NamespaceActuationMembershipStateResponse': + """ + FNS Actuation membership state + """ + return pulumi.get(self, "namespaceactuation") + + @property + @pulumi.getter + def policycontroller(self) -> 'outputs.PolicyControllerMembershipStateResponse': + """ + Policycontroller-specific state. + """ + return pulumi.get(self, "policycontroller") + + @property + @pulumi.getter + def servicemesh(self) -> 'outputs.ServiceMeshMembershipStateResponse': + """ + Service Mesh-specific state. + """ + return pulumi.get(self, "servicemesh") + + @property + @pulumi.getter + def state(self) -> 'outputs.FeatureStateResponse': + """ + The high-level state of this Feature for a single membership. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class MembershipSpecResponse(dict): """ @@ -3450,6 +5377,58 @@ def code(self) -> str: return pulumi.get(self, "code") +@pulumi.output_type +class MeteringMembershipStateResponse(dict): + """ + **Metering**: Per-Membership Feature State. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lastMeasurementTime": + suggest = "last_measurement_time" + elif key == "preciseLastMeasuredClusterVcpuCapacity": + suggest = "precise_last_measured_cluster_vcpu_capacity" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MeteringMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MeteringMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MeteringMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + last_measurement_time: str, + precise_last_measured_cluster_vcpu_capacity: float): + """ + **Metering**: Per-Membership Feature State. + :param str last_measurement_time: The time stamp of the most recent measurement of the number of vCPUs in the cluster. + :param float precise_last_measured_cluster_vcpu_capacity: The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + """ + pulumi.set(__self__, "last_measurement_time", last_measurement_time) + pulumi.set(__self__, "precise_last_measured_cluster_vcpu_capacity", precise_last_measured_cluster_vcpu_capacity) + + @property + @pulumi.getter(name="lastMeasurementTime") + def last_measurement_time(self) -> str: + """ + The time stamp of the most recent measurement of the number of vCPUs in the cluster. + """ + return pulumi.get(self, "last_measurement_time") + + @property + @pulumi.getter(name="preciseLastMeasuredClusterVcpuCapacity") + def precise_last_measured_cluster_vcpu_capacity(self) -> float: + """ + The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + """ + return pulumi.get(self, "precise_last_measured_cluster_vcpu_capacity") + + @pulumi.output_type class MonitoringConfigResponse(dict): """ @@ -3672,19 +5651,43 @@ def __init__(__self__, *, @pulumi.getter(name="actuationMode") def actuation_mode(self) -> str: """ - actuation_mode controls the behavior of the controller + actuation_mode controls the behavior of the controller + """ + return pulumi.get(self, "actuation_mode") + + +@pulumi.output_type +class NamespaceActuationFeatureStateResponse(dict): + """ + NamespaceActuation Feature State. + """ + def __init__(__self__): + """ + NamespaceActuation Feature State. + """ + pass + + +@pulumi.output_type +class NamespaceActuationMembershipSpecResponse(dict): + """ + **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. + """ + def __init__(__self__): + """ + **Namespace Actuation**: The membership-specific input for NamespaceActuation feature. """ - return pulumi.get(self, "actuation_mode") + pass @pulumi.output_type -class NamespaceActuationFeatureStateResponse(dict): +class NamespaceActuationMembershipStateResponse(dict): """ - NamespaceActuation Feature State. + **Namespace Actuation**: An empty state left as an example membership-specific Feature state. """ def __init__(__self__): """ - NamespaceActuation Feature State. + **Namespace Actuation**: An empty state left as an example membership-specific Feature state. """ pass @@ -3789,6 +5792,28 @@ def resource_link(self) -> str: return pulumi.get(self, "resource_link") +@pulumi.output_type +class OriginResponse(dict): + """ + Origin defines where this MembershipFeatureSpec originated from. + """ + def __init__(__self__, *, + type: str): + """ + Origin defines where this MembershipFeatureSpec originated from. + :param str type: Type specifies which type of origin is set. + """ + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> str: + """ + Type specifies which type of origin is set. + """ + return pulumi.get(self, "type") + + @pulumi.output_type class PolicyBindingResponse(dict): """ @@ -3811,6 +5836,45 @@ def name(self) -> str: return pulumi.get(self, "name") +@pulumi.output_type +class PolicyControllerBundleInstallSpecResponse(dict): + """ + BundleInstallSpec is the specification configuration for a single managed bundle. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "exemptedNamespaces": + suggest = "exempted_namespaces" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerBundleInstallSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerBundleInstallSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerBundleInstallSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exempted_namespaces: Sequence[str]): + """ + BundleInstallSpec is the specification configuration for a single managed bundle. + :param Sequence[str] exempted_namespaces: The set of namespaces to be exempted from the bundle. + """ + pulumi.set(__self__, "exempted_namespaces", exempted_namespaces) + + @property + @pulumi.getter(name="exemptedNamespaces") + def exempted_namespaces(self) -> Sequence[str]: + """ + The set of namespaces to be exempted from the bundle. + """ + return pulumi.get(self, "exempted_namespaces") + + @pulumi.output_type class PolicyControllerHubConfigResponse(dict): """ @@ -3852,7 +5916,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, audit_interval_seconds: str, constraint_violation_limit: str, - deployment_configs: Mapping[str, str], + deployment_configs: Mapping[str, 'outputs.PolicyControllerPolicyControllerDeploymentConfigResponse'], exemptable_namespaces: Sequence[str], install_spec: str, log_denies_enabled: bool, @@ -3864,7 +5928,7 @@ def __init__(__self__, *, Configuration for Policy Controller :param str audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. :param str constraint_violation_limit: The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - :param Mapping[str, str] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). + :param Mapping[str, 'PolicyControllerPolicyControllerDeploymentConfigResponse'] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). :param Sequence[str] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. :param str install_spec: The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. :param bool log_denies_enabled: Logs all denies and dry run failures. @@ -3902,7 +5966,7 @@ def constraint_violation_limit(self) -> str: @property @pulumi.getter(name="deploymentConfigs") - def deployment_configs(self) -> Mapping[str, str]: + def deployment_configs(self) -> Mapping[str, 'outputs.PolicyControllerPolicyControllerDeploymentConfigResponse']: """ Map of deployment configs to deployments ("admission", "audit", "mutation'). """ @@ -3966,125 +6030,443 @@ def referential_rules_enabled(self) -> bool: @pulumi.output_type -class PolicyControllerMembershipSpecResponse(dict): +class PolicyControllerMembershipSpecResponse(dict): + """ + **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "policyControllerHubConfig": + suggest = "policy_controller_hub_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerMembershipSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerMembershipSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + policy_controller_hub_config: 'outputs.PolicyControllerHubConfigResponse', + version: str): + """ + **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + :param 'PolicyControllerHubConfigResponse' policy_controller_hub_config: Policy Controller configuration for the cluster. + :param str version: Version of Policy Controller installed. + """ + pulumi.set(__self__, "policy_controller_hub_config", policy_controller_hub_config) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="policyControllerHubConfig") + def policy_controller_hub_config(self) -> 'outputs.PolicyControllerHubConfigResponse': + """ + Policy Controller configuration for the cluster. + """ + return pulumi.get(self, "policy_controller_hub_config") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version of Policy Controller installed. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class PolicyControllerMembershipStateResponse(dict): + """ + **Policy Controller**: State for a single cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "componentStates": + suggest = "component_states" + elif key == "policyContentState": + suggest = "policy_content_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + component_states: Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse'], + policy_content_state: 'outputs.PolicyControllerPolicyContentStateResponse', + state: str): + """ + **Policy Controller**: State for a single cluster. + :param Mapping[str, 'PolicyControllerOnClusterStateResponse'] component_states: Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + :param 'PolicyControllerPolicyContentStateResponse' policy_content_state: The overall content state observed by the Hub Feature controller. + :param str state: The overall Policy Controller lifecycle state observed by the Hub Feature controller. + """ + pulumi.set(__self__, "component_states", component_states) + pulumi.set(__self__, "policy_content_state", policy_content_state) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="componentStates") + def component_states(self) -> Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse']: + """ + Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + """ + return pulumi.get(self, "component_states") + + @property + @pulumi.getter(name="policyContentState") + def policy_content_state(self) -> 'outputs.PolicyControllerPolicyContentStateResponse': + """ + The overall content state observed by the Hub Feature controller. + """ + return pulumi.get(self, "policy_content_state") + + @property + @pulumi.getter + def state(self) -> str: + """ + The overall Policy Controller lifecycle state observed by the Hub Feature controller. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class PolicyControllerMonitoringConfigResponse(dict): + """ + MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + """ + def __init__(__self__, *, + backends: Sequence[str]): + """ + MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + pulumi.set(__self__, "backends", backends) + + @property + @pulumi.getter + def backends(self) -> Sequence[str]: + """ + Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + return pulumi.get(self, "backends") + + +@pulumi.output_type +class PolicyControllerOnClusterStateResponse(dict): + """ + OnClusterState represents the state of a sub-component of Policy Controller. + """ + def __init__(__self__, *, + details: str, + state: str): + """ + OnClusterState represents the state of a sub-component of Policy Controller. + :param str details: Surface potential errors or information logs. + :param str state: The lifecycle state of this component. + """ + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def details(self) -> str: + """ + Surface potential errors or information logs. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def state(self) -> str: + """ + The lifecycle state of this component. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class PolicyControllerPolicyContentSpecResponse(dict): + """ + PolicyContentSpec defines the user's desired content configuration on the cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "templateLibrary": + suggest = "template_library" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyContentSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerPolicyContentSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerPolicyContentSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bundles: Mapping[str, 'outputs.PolicyControllerBundleInstallSpecResponse'], + template_library: 'outputs.PolicyControllerTemplateLibraryConfigResponse'): + """ + PolicyContentSpec defines the user's desired content configuration on the cluster. + :param Mapping[str, 'PolicyControllerBundleInstallSpecResponse'] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + :param 'PolicyControllerTemplateLibraryConfigResponse' template_library: Configures the installation of the Template Library. + """ + pulumi.set(__self__, "bundles", bundles) + pulumi.set(__self__, "template_library", template_library) + + @property + @pulumi.getter + def bundles(self) -> Mapping[str, 'outputs.PolicyControllerBundleInstallSpecResponse']: + """ + map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + """ + return pulumi.get(self, "bundles") + + @property + @pulumi.getter(name="templateLibrary") + def template_library(self) -> 'outputs.PolicyControllerTemplateLibraryConfigResponse': + """ + Configures the installation of the Template Library. + """ + return pulumi.get(self, "template_library") + + +@pulumi.output_type +class PolicyControllerPolicyContentStateResponse(dict): + """ + The state of the policy controller policy content + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bundleStates": + suggest = "bundle_states" + elif key == "referentialSyncConfigState": + suggest = "referential_sync_config_state" + elif key == "templateLibraryState": + suggest = "template_library_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyContentStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerPolicyContentStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerPolicyContentStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bundle_states: Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse'], + referential_sync_config_state: 'outputs.PolicyControllerOnClusterStateResponse', + template_library_state: 'outputs.PolicyControllerOnClusterStateResponse'): + """ + The state of the policy controller policy content + :param Mapping[str, 'PolicyControllerOnClusterStateResponse'] bundle_states: The state of the any bundles included in the chosen version of the manifest + :param 'PolicyControllerOnClusterStateResponse' referential_sync_config_state: The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + :param 'PolicyControllerOnClusterStateResponse' template_library_state: The state of the template library + """ + pulumi.set(__self__, "bundle_states", bundle_states) + pulumi.set(__self__, "referential_sync_config_state", referential_sync_config_state) + pulumi.set(__self__, "template_library_state", template_library_state) + + @property + @pulumi.getter(name="bundleStates") + def bundle_states(self) -> Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse']: + """ + The state of the any bundles included in the chosen version of the manifest + """ + return pulumi.get(self, "bundle_states") + + @property + @pulumi.getter(name="referentialSyncConfigState") + def referential_sync_config_state(self) -> 'outputs.PolicyControllerOnClusterStateResponse': + """ + The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + """ + return pulumi.get(self, "referential_sync_config_state") + + @property + @pulumi.getter(name="templateLibraryState") + def template_library_state(self) -> 'outputs.PolicyControllerOnClusterStateResponse': + """ + The state of the template library + """ + return pulumi.get(self, "template_library_state") + + +@pulumi.output_type +class PolicyControllerPolicyControllerDeploymentConfigResponse(dict): """ - **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + Deployment-specific configuration. """ @staticmethod def __key_warning(key: str): suggest = None - if key == "policyControllerHubConfig": - suggest = "policy_controller_hub_config" + if key == "containerResources": + suggest = "container_resources" + elif key == "podAffinity": + suggest = "pod_affinity" + elif key == "podAntiAffinity": + suggest = "pod_anti_affinity" + elif key == "podTolerations": + suggest = "pod_tolerations" + elif key == "replicaCount": + suggest = "replica_count" if suggest: - pulumi.log.warn(f"Key '{key}' not found in PolicyControllerMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyControllerDeploymentConfigResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - PolicyControllerMembershipSpecResponse.__key_warning(key) + PolicyControllerPolicyControllerDeploymentConfigResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - PolicyControllerMembershipSpecResponse.__key_warning(key) + PolicyControllerPolicyControllerDeploymentConfigResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - policy_controller_hub_config: 'outputs.PolicyControllerHubConfigResponse', - version: str): + container_resources: 'outputs.PolicyControllerResourceRequirementsResponse', + pod_affinity: str, + pod_anti_affinity: bool, + pod_tolerations: Sequence['outputs.PolicyControllerTolerationResponse'], + replica_count: str): """ - **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. - :param 'PolicyControllerHubConfigResponse' policy_controller_hub_config: Policy Controller configuration for the cluster. - :param str version: Version of Policy Controller installed. + Deployment-specific configuration. + :param 'PolicyControllerResourceRequirementsResponse' container_resources: Container resource requirements. + :param str pod_affinity: Pod affinity configuration. + :param bool pod_anti_affinity: Pod anti-affinity enablement. + :param Sequence['PolicyControllerTolerationResponse'] pod_tolerations: Pod tolerations of node taints. + :param str replica_count: Pod replica count. """ - pulumi.set(__self__, "policy_controller_hub_config", policy_controller_hub_config) - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "container_resources", container_resources) + pulumi.set(__self__, "pod_affinity", pod_affinity) + pulumi.set(__self__, "pod_anti_affinity", pod_anti_affinity) + pulumi.set(__self__, "pod_tolerations", pod_tolerations) + pulumi.set(__self__, "replica_count", replica_count) @property - @pulumi.getter(name="policyControllerHubConfig") - def policy_controller_hub_config(self) -> 'outputs.PolicyControllerHubConfigResponse': + @pulumi.getter(name="containerResources") + def container_resources(self) -> 'outputs.PolicyControllerResourceRequirementsResponse': """ - Policy Controller configuration for the cluster. + Container resource requirements. """ - return pulumi.get(self, "policy_controller_hub_config") + return pulumi.get(self, "container_resources") @property - @pulumi.getter - def version(self) -> str: + @pulumi.getter(name="podAffinity") + def pod_affinity(self) -> str: """ - Version of Policy Controller installed. + Pod affinity configuration. """ - return pulumi.get(self, "version") + return pulumi.get(self, "pod_affinity") + + @property + @pulumi.getter(name="podAntiAffinity") + def pod_anti_affinity(self) -> bool: + """ + Pod anti-affinity enablement. + """ + return pulumi.get(self, "pod_anti_affinity") + + @property + @pulumi.getter(name="podTolerations") + def pod_tolerations(self) -> Sequence['outputs.PolicyControllerTolerationResponse']: + """ + Pod tolerations of node taints. + """ + return pulumi.get(self, "pod_tolerations") + + @property + @pulumi.getter(name="replicaCount") + def replica_count(self) -> str: + """ + Pod replica count. + """ + return pulumi.get(self, "replica_count") @pulumi.output_type -class PolicyControllerMonitoringConfigResponse(dict): +class PolicyControllerResourceListResponse(dict): """ - MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + ResourceList contains container resource requirements. """ def __init__(__self__, *, - backends: Sequence[str]): + cpu: str, + memory: str): """ - MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] - :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + ResourceList contains container resource requirements. + :param str cpu: CPU requirement expressed in Kubernetes resource units. + :param str memory: Memory requirement expressed in Kubernetes resource units. """ - pulumi.set(__self__, "backends", backends) + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "memory", memory) @property @pulumi.getter - def backends(self) -> Sequence[str]: + def cpu(self) -> str: """ - Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + CPU requirement expressed in Kubernetes resource units. """ - return pulumi.get(self, "backends") + return pulumi.get(self, "cpu") + + @property + @pulumi.getter + def memory(self) -> str: + """ + Memory requirement expressed in Kubernetes resource units. + """ + return pulumi.get(self, "memory") @pulumi.output_type -class PolicyControllerPolicyContentSpecResponse(dict): +class PolicyControllerResourceRequirementsResponse(dict): """ - PolicyContentSpec defines the user's desired content configuration on the cluster. + ResourceRequirements describes the compute resource requirements. """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "templateLibrary": - suggest = "template_library" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyContentSpecResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - PolicyControllerPolicyContentSpecResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - PolicyControllerPolicyContentSpecResponse.__key_warning(key) - return super().get(key, default) - def __init__(__self__, *, - bundles: Mapping[str, str], - template_library: 'outputs.PolicyControllerTemplateLibraryConfigResponse'): + limits: 'outputs.PolicyControllerResourceListResponse', + requests: 'outputs.PolicyControllerResourceListResponse'): """ - PolicyContentSpec defines the user's desired content configuration on the cluster. - :param Mapping[str, str] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - :param 'PolicyControllerTemplateLibraryConfigResponse' template_library: Configures the installation of the Template Library. + ResourceRequirements describes the compute resource requirements. + :param 'PolicyControllerResourceListResponse' limits: Limits describes the maximum amount of compute resources allowed for use by the running container. + :param 'PolicyControllerResourceListResponse' requests: Requests describes the amount of compute resources reserved for the container by the kube-scheduler. """ - pulumi.set(__self__, "bundles", bundles) - pulumi.set(__self__, "template_library", template_library) + pulumi.set(__self__, "limits", limits) + pulumi.set(__self__, "requests", requests) @property @pulumi.getter - def bundles(self) -> Mapping[str, str]: + def limits(self) -> 'outputs.PolicyControllerResourceListResponse': """ - map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + Limits describes the maximum amount of compute resources allowed for use by the running container. """ - return pulumi.get(self, "bundles") + return pulumi.get(self, "limits") @property - @pulumi.getter(name="templateLibrary") - def template_library(self) -> 'outputs.PolicyControllerTemplateLibraryConfigResponse': + @pulumi.getter + def requests(self) -> 'outputs.PolicyControllerResourceListResponse': """ - Configures the installation of the Template Library. + Requests describes the amount of compute resources reserved for the container by the kube-scheduler. """ - return pulumi.get(self, "template_library") + return pulumi.get(self, "requests") @pulumi.output_type @@ -4109,6 +6491,61 @@ def installation(self) -> str: return pulumi.get(self, "installation") +@pulumi.output_type +class PolicyControllerTolerationResponse(dict): + """ + Toleration of a node taint. + """ + def __init__(__self__, *, + effect: str, + key: str, + operator: str, + value: str): + """ + Toleration of a node taint. + :param str effect: Matches a taint effect. + :param str key: Matches a taint key (not necessarily unique). + :param str operator: Matches a taint operator. + :param str value: Matches a taint value. + """ + pulumi.set(__self__, "effect", effect) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> str: + """ + Matches a taint effect. + """ + return pulumi.get(self, "effect") + + @property + @pulumi.getter + def key(self) -> str: + """ + Matches a taint key (not necessarily unique). + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def operator(self) -> str: + """ + Matches a taint operator. + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def value(self) -> str: + """ + Matches a taint value. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class RBACRoleBindingLifecycleStateResponse(dict): """ @@ -4285,6 +6722,61 @@ def predefined_role(self) -> str: return pulumi.get(self, "predefined_role") +@pulumi.output_type +class ScopeFeatureSpecResponse(dict): + """ + ScopeFeatureSpec contains feature specs for a fleet scope. + """ + def __init__(__self__, *, + clusterupgrade: 'outputs.ClusterUpgradeScopeSpecResponse'): + """ + ScopeFeatureSpec contains feature specs for a fleet scope. + :param 'ClusterUpgradeScopeSpecResponse' clusterupgrade: Spec for the ClusterUpgrade feature at the scope level + """ + pulumi.set(__self__, "clusterupgrade", clusterupgrade) + + @property + @pulumi.getter + def clusterupgrade(self) -> 'outputs.ClusterUpgradeScopeSpecResponse': + """ + Spec for the ClusterUpgrade feature at the scope level + """ + return pulumi.get(self, "clusterupgrade") + + +@pulumi.output_type +class ScopeFeatureStateResponse(dict): + """ + ScopeFeatureState contains Scope-wide Feature status information. + """ + def __init__(__self__, *, + clusterupgrade: 'outputs.ClusterUpgradeScopeStateResponse', + state: 'outputs.FeatureStateResponse'): + """ + ScopeFeatureState contains Scope-wide Feature status information. + :param 'ClusterUpgradeScopeStateResponse' clusterupgrade: State for the ClusterUpgrade feature at the scope level + :param 'FeatureStateResponse' state: The "running state" of the Feature in this Scope. + """ + pulumi.set(__self__, "clusterupgrade", clusterupgrade) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def clusterupgrade(self) -> 'outputs.ClusterUpgradeScopeStateResponse': + """ + State for the ClusterUpgrade feature at the scope level + """ + return pulumi.get(self, "clusterupgrade") + + @property + @pulumi.getter + def state(self) -> 'outputs.FeatureStateResponse': + """ + The "running state" of the Feature in this Scope. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class ScopeLifecycleStateResponse(dict): """ @@ -4443,13 +6935,13 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - args: Mapping[str, str], + args: Mapping[str, Any], description: str, message_base: 'outputs.ServiceMeshAnalysisMessageBaseResponse', resource_paths: Sequence[str]): """ AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration. - :param Mapping[str, str] args: A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. + :param Mapping[str, Any] args: A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. :param str description: A human readable description of what the error means. It is suitable for non-internationalize display purposes. :param 'ServiceMeshAnalysisMessageBaseResponse' message_base: Details common to all types of Istio and ServiceMesh analysis messages. :param Sequence[str] resource_paths: A list of strings specifying the resource identifiers that were the cause of message generation. A "path" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster @@ -4461,7 +6953,7 @@ def __init__(__self__, *, @property @pulumi.getter - def args(self) -> Mapping[str, str]: + def args(self) -> Mapping[str, Any]: """ A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. """ @@ -4492,6 +6984,72 @@ def resource_paths(self) -> Sequence[str]: return pulumi.get(self, "resource_paths") +@pulumi.output_type +class ServiceMeshControlPlaneManagementResponse(dict): + """ + Status of control plane management. + """ + def __init__(__self__, *, + details: Sequence['outputs.ServiceMeshStatusDetailsResponse'], + state: str): + """ + Status of control plane management. + :param Sequence['ServiceMeshStatusDetailsResponse'] details: Explanation of state. + :param str state: LifecycleState of control plane management. + """ + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def details(self) -> Sequence['outputs.ServiceMeshStatusDetailsResponse']: + """ + Explanation of state. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def state(self) -> str: + """ + LifecycleState of control plane management. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class ServiceMeshDataPlaneManagementResponse(dict): + """ + Status of data plane management. Only reported per-member. + """ + def __init__(__self__, *, + details: Sequence['outputs.ServiceMeshStatusDetailsResponse'], + state: str): + """ + Status of data plane management. Only reported per-member. + :param Sequence['ServiceMeshStatusDetailsResponse'] details: Explanation of the status. + :param str state: Lifecycle status of data plane management. + """ + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def details(self) -> Sequence['outputs.ServiceMeshStatusDetailsResponse']: + """ + Explanation of the status. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def state(self) -> str: + """ + Lifecycle status of data plane management. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class ServiceMeshFeatureStateResponse(dict): """ @@ -4595,6 +7153,117 @@ def management(self) -> str: return pulumi.get(self, "management") +@pulumi.output_type +class ServiceMeshMembershipStateResponse(dict): + """ + **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "analysisMessages": + suggest = "analysis_messages" + elif key == "configApiVersion": + suggest = "config_api_version" + elif key == "controlPlaneManagement": + suggest = "control_plane_management" + elif key == "dataPlaneManagement": + suggest = "data_plane_management" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServiceMeshMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServiceMeshMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServiceMeshMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + analysis_messages: Sequence['outputs.ServiceMeshAnalysisMessageResponse'], + config_api_version: str, + control_plane_management: 'outputs.ServiceMeshControlPlaneManagementResponse', + data_plane_management: 'outputs.ServiceMeshDataPlaneManagementResponse'): + """ + **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + :param Sequence['ServiceMeshAnalysisMessageResponse'] analysis_messages: Results of running Service Mesh analyzers. + :param str config_api_version: The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field. + :param 'ServiceMeshControlPlaneManagementResponse' control_plane_management: Status of control plane management + :param 'ServiceMeshDataPlaneManagementResponse' data_plane_management: Status of data plane management. + """ + pulumi.set(__self__, "analysis_messages", analysis_messages) + pulumi.set(__self__, "config_api_version", config_api_version) + pulumi.set(__self__, "control_plane_management", control_plane_management) + pulumi.set(__self__, "data_plane_management", data_plane_management) + + @property + @pulumi.getter(name="analysisMessages") + def analysis_messages(self) -> Sequence['outputs.ServiceMeshAnalysisMessageResponse']: + """ + Results of running Service Mesh analyzers. + """ + return pulumi.get(self, "analysis_messages") + + @property + @pulumi.getter(name="configApiVersion") + def config_api_version(self) -> str: + """ + The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field. + """ + return pulumi.get(self, "config_api_version") + + @property + @pulumi.getter(name="controlPlaneManagement") + def control_plane_management(self) -> 'outputs.ServiceMeshControlPlaneManagementResponse': + """ + Status of control plane management + """ + return pulumi.get(self, "control_plane_management") + + @property + @pulumi.getter(name="dataPlaneManagement") + def data_plane_management(self) -> 'outputs.ServiceMeshDataPlaneManagementResponse': + """ + Status of data plane management. + """ + return pulumi.get(self, "data_plane_management") + + +@pulumi.output_type +class ServiceMeshStatusDetailsResponse(dict): + """ + Structured and human-readable details for a status. + """ + def __init__(__self__, *, + code: str, + details: str): + """ + Structured and human-readable details for a status. + :param str code: A machine-readable code that further describes a broad status. + :param str details: Human-readable explanation of code. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "details", details) + + @property + @pulumi.getter + def code(self) -> str: + """ + A machine-readable code that further describes a broad status. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def details(self) -> str: + """ + Human-readable explanation of code. + """ + return pulumi.get(self, "details") + + @pulumi.output_type class ServiceMeshTypeResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/gkehub/v1beta/_enums.py b/sdk/python/pulumi_google_native/gkehub/v1beta/_enums.py index a10185513a..a512b54de0 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1beta/_enums.py +++ b/sdk/python/pulumi_google_native/gkehub/v1beta/_enums.py @@ -9,10 +9,13 @@ 'BinaryAuthorizationConfigEvaluationMode', 'ConfigManagementPolicyControllerMonitoringBackendsItem', 'FleetObservabilityRoutingConfigMode', + 'MembershipSpecSecurityPolicy', 'MultiClusterIngressFeatureSpecBilling', 'OnPremClusterClusterType', + 'OriginType', 'PolicyControllerHubConfigInstallSpec', 'PolicyControllerMonitoringConfigBackendsItem', + 'PolicyControllerPolicyControllerDeploymentConfigPodAffinity', 'PolicyControllerTemplateLibraryConfigInstallation', 'RolePredefinedRole', 'SecurityPostureConfigMode', @@ -95,6 +98,24 @@ class FleetObservabilityRoutingConfigMode(str, Enum): """ +class MembershipSpecSecurityPolicy(str, Enum): + """ + Whether it is allowed to run the privileged builds on the cluster or not. + """ + SECURITY_POLICY_UNSPECIFIED = "SECURITY_POLICY_UNSPECIFIED" + """ + Unspecified policy + """ + NON_PRIVILEGED = "NON_PRIVILEGED" + """ + Privileged build pods are disallowed + """ + PRIVILEGED = "PRIVILEGED" + """ + Privileged build pods are allowed + """ + + class MultiClusterIngressFeatureSpecBilling(str, Enum): """ Deprecated: This field will be ignored and should not be set. Customer's billing structure. @@ -139,6 +160,28 @@ class OnPremClusterClusterType(str, Enum): """ +class OriginType(str, Enum): + """ + Type specifies which type of origin is set. + """ + TYPE_UNSPECIFIED = "TYPE_UNSPECIFIED" + """ + Type is unknown or not set. + """ + FLEET = "FLEET" + """ + Per-Membership spec was inherited from the fleet-level default. + """ + FLEET_OUT_OF_SYNC = "FLEET_OUT_OF_SYNC" + """ + Per-Membership spec was inherited from the fleet-level default but is now out of sync with the current default. + """ + USER = "USER" + """ + Per-Membership spec was inherited from a user specification. + """ + + class PolicyControllerHubConfigInstallSpec(str, Enum): """ The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. @@ -180,6 +223,24 @@ class PolicyControllerMonitoringConfigBackendsItem(str, Enum): """ +class PolicyControllerPolicyControllerDeploymentConfigPodAffinity(str, Enum): + """ + Pod affinity configuration. + """ + AFFINITY_UNSPECIFIED = "AFFINITY_UNSPECIFIED" + """ + No affinity configuration has been specified. + """ + NO_AFFINITY = "NO_AFFINITY" + """ + Affinity configurations will be removed from the deployment. + """ + ANTI_AFFINITY = "ANTI_AFFINITY" + """ + Anti-affinity configuration will be applied to this deployment. Default for admissions deployment. + """ + + class PolicyControllerTemplateLibraryConfigInstallation(str, Enum): """ Configures the manner in which the template library is installed on the cluster. diff --git a/sdk/python/pulumi_google_native/gkehub/v1beta/_inputs.py b/sdk/python/pulumi_google_native/gkehub/v1beta/_inputs.py index 9c0ceb31a0..8217126bc2 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1beta/_inputs.py +++ b/sdk/python/pulumi_google_native/gkehub/v1beta/_inputs.py @@ -39,6 +39,7 @@ 'ExprArgs', 'FleetObservabilityFeatureSpecArgs', 'FleetObservabilityLoggingConfigArgs', + 'FleetObservabilityMembershipSpecArgs', 'FleetObservabilityRoutingConfigArgs', 'GkeClusterArgs', 'IdentityServiceAuthMethodArgs', @@ -48,18 +49,27 @@ 'IdentityServiceOidcConfigArgs', 'KubernetesResourceArgs', 'MembershipEndpointArgs', + 'MembershipFeatureSpecArgs', + 'MembershipSpecArgs', 'MonitoringConfigArgs', 'MultiCloudClusterArgs', 'MultiClusterIngressFeatureSpecArgs', 'OnPremClusterArgs', + 'OriginArgs', 'PolicyBindingArgs', + 'PolicyControllerBundleInstallSpecArgs', 'PolicyControllerHubConfigArgs', 'PolicyControllerMembershipSpecArgs', 'PolicyControllerMonitoringConfigArgs', 'PolicyControllerPolicyContentSpecArgs', + 'PolicyControllerPolicyControllerDeploymentConfigArgs', + 'PolicyControllerResourceListArgs', + 'PolicyControllerResourceRequirementsArgs', 'PolicyControllerTemplateLibraryConfigArgs', + 'PolicyControllerTolerationArgs', 'ResourceOptionsArgs', 'RoleArgs', + 'ScopeFeatureSpecArgs', 'SecurityPostureConfigArgs', 'ServiceMeshMembershipSpecArgs', ] @@ -1605,6 +1615,15 @@ def fleet_scope_logs_config(self, value: Optional[pulumi.Input['FleetObservabili pulumi.set(self, "fleet_scope_logs_config", value) +@pulumi.input_type +class FleetObservabilityMembershipSpecArgs: + def __init__(__self__): + """ + **FleetObservability**: The membership-specific input for FleetObservability feature. + """ + pass + + @pulumi.input_type class FleetObservabilityRoutingConfigArgs: def __init__(__self__, *, @@ -2221,6 +2240,182 @@ def on_prem_cluster(self, value: Optional[pulumi.Input['OnPremClusterArgs']]): pulumi.set(self, "on_prem_cluster", value) +@pulumi.input_type +class MembershipFeatureSpecArgs: + def __init__(__self__, *, + anthosobservability: Optional[pulumi.Input['AnthosObservabilityMembershipSpecArgs']] = None, + cloudbuild: Optional[pulumi.Input['MembershipSpecArgs']] = None, + configmanagement: Optional[pulumi.Input['ConfigManagementMembershipSpecArgs']] = None, + fleetobservability: Optional[pulumi.Input['FleetObservabilityMembershipSpecArgs']] = None, + identityservice: Optional[pulumi.Input['IdentityServiceMembershipSpecArgs']] = None, + mesh: Optional[pulumi.Input['ServiceMeshMembershipSpecArgs']] = None, + origin: Optional[pulumi.Input['OriginArgs']] = None, + policycontroller: Optional[pulumi.Input['PolicyControllerMembershipSpecArgs']] = None): + """ + MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + :param pulumi.Input['AnthosObservabilityMembershipSpecArgs'] anthosobservability: Anthos Observability-specific spec + :param pulumi.Input['MembershipSpecArgs'] cloudbuild: Cloud Build-specific spec + :param pulumi.Input['ConfigManagementMembershipSpecArgs'] configmanagement: Config Management-specific spec. + :param pulumi.Input['FleetObservabilityMembershipSpecArgs'] fleetobservability: Fleet observability membership spec + :param pulumi.Input['IdentityServiceMembershipSpecArgs'] identityservice: Identity Service-specific spec. + :param pulumi.Input['ServiceMeshMembershipSpecArgs'] mesh: Anthos Service Mesh-specific spec + :param pulumi.Input['OriginArgs'] origin: Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + :param pulumi.Input['PolicyControllerMembershipSpecArgs'] policycontroller: Policy Controller spec. + """ + if anthosobservability is not None: + pulumi.set(__self__, "anthosobservability", anthosobservability) + if cloudbuild is not None: + pulumi.set(__self__, "cloudbuild", cloudbuild) + if configmanagement is not None: + pulumi.set(__self__, "configmanagement", configmanagement) + if fleetobservability is not None: + pulumi.set(__self__, "fleetobservability", fleetobservability) + if identityservice is not None: + pulumi.set(__self__, "identityservice", identityservice) + if mesh is not None: + pulumi.set(__self__, "mesh", mesh) + if origin is not None: + pulumi.set(__self__, "origin", origin) + if policycontroller is not None: + pulumi.set(__self__, "policycontroller", policycontroller) + + @property + @pulumi.getter + def anthosobservability(self) -> Optional[pulumi.Input['AnthosObservabilityMembershipSpecArgs']]: + """ + Anthos Observability-specific spec + """ + return pulumi.get(self, "anthosobservability") + + @anthosobservability.setter + def anthosobservability(self, value: Optional[pulumi.Input['AnthosObservabilityMembershipSpecArgs']]): + pulumi.set(self, "anthosobservability", value) + + @property + @pulumi.getter + def cloudbuild(self) -> Optional[pulumi.Input['MembershipSpecArgs']]: + """ + Cloud Build-specific spec + """ + return pulumi.get(self, "cloudbuild") + + @cloudbuild.setter + def cloudbuild(self, value: Optional[pulumi.Input['MembershipSpecArgs']]): + pulumi.set(self, "cloudbuild", value) + + @property + @pulumi.getter + def configmanagement(self) -> Optional[pulumi.Input['ConfigManagementMembershipSpecArgs']]: + """ + Config Management-specific spec. + """ + return pulumi.get(self, "configmanagement") + + @configmanagement.setter + def configmanagement(self, value: Optional[pulumi.Input['ConfigManagementMembershipSpecArgs']]): + pulumi.set(self, "configmanagement", value) + + @property + @pulumi.getter + def fleetobservability(self) -> Optional[pulumi.Input['FleetObservabilityMembershipSpecArgs']]: + """ + Fleet observability membership spec + """ + return pulumi.get(self, "fleetobservability") + + @fleetobservability.setter + def fleetobservability(self, value: Optional[pulumi.Input['FleetObservabilityMembershipSpecArgs']]): + pulumi.set(self, "fleetobservability", value) + + @property + @pulumi.getter + def identityservice(self) -> Optional[pulumi.Input['IdentityServiceMembershipSpecArgs']]: + """ + Identity Service-specific spec. + """ + return pulumi.get(self, "identityservice") + + @identityservice.setter + def identityservice(self, value: Optional[pulumi.Input['IdentityServiceMembershipSpecArgs']]): + pulumi.set(self, "identityservice", value) + + @property + @pulumi.getter + def mesh(self) -> Optional[pulumi.Input['ServiceMeshMembershipSpecArgs']]: + """ + Anthos Service Mesh-specific spec + """ + return pulumi.get(self, "mesh") + + @mesh.setter + def mesh(self, value: Optional[pulumi.Input['ServiceMeshMembershipSpecArgs']]): + pulumi.set(self, "mesh", value) + + @property + @pulumi.getter + def origin(self) -> Optional[pulumi.Input['OriginArgs']]: + """ + Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + """ + return pulumi.get(self, "origin") + + @origin.setter + def origin(self, value: Optional[pulumi.Input['OriginArgs']]): + pulumi.set(self, "origin", value) + + @property + @pulumi.getter + def policycontroller(self) -> Optional[pulumi.Input['PolicyControllerMembershipSpecArgs']]: + """ + Policy Controller spec. + """ + return pulumi.get(self, "policycontroller") + + @policycontroller.setter + def policycontroller(self, value: Optional[pulumi.Input['PolicyControllerMembershipSpecArgs']]): + pulumi.set(self, "policycontroller", value) + + +@pulumi.input_type +class MembershipSpecArgs: + def __init__(__self__, *, + security_policy: Optional[pulumi.Input['MembershipSpecSecurityPolicy']] = None, + version: Optional[pulumi.Input[str]] = None): + """ + **Cloud Build**: Configurations for each Cloud Build enabled cluster. + :param pulumi.Input['MembershipSpecSecurityPolicy'] security_policy: Whether it is allowed to run the privileged builds on the cluster or not. + :param pulumi.Input[str] version: Version of the cloud build software on the cluster. + """ + if security_policy is not None: + pulumi.set(__self__, "security_policy", security_policy) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="securityPolicy") + def security_policy(self) -> Optional[pulumi.Input['MembershipSpecSecurityPolicy']]: + """ + Whether it is allowed to run the privileged builds on the cluster or not. + """ + return pulumi.get(self, "security_policy") + + @security_policy.setter + def security_policy(self, value: Optional[pulumi.Input['MembershipSpecSecurityPolicy']]): + pulumi.set(self, "security_policy", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + Version of the cloud build software on the cluster. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + @pulumi.input_type class MonitoringConfigArgs: def __init__(__self__, *, @@ -2433,6 +2628,30 @@ def resource_link(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "resource_link", value) +@pulumi.input_type +class OriginArgs: + def __init__(__self__, *, + type: Optional[pulumi.Input['OriginType']] = None): + """ + Origin defines where this MembershipFeatureSpec originated from. + :param pulumi.Input['OriginType'] type: Type specifies which type of origin is set. + """ + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input['OriginType']]: + """ + Type specifies which type of origin is set. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input['OriginType']]): + pulumi.set(self, "type", value) + + @pulumi.input_type class PolicyBindingArgs: def __init__(__self__, *, @@ -2457,12 +2676,36 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +@pulumi.input_type +class PolicyControllerBundleInstallSpecArgs: + def __init__(__self__, *, + exempted_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + BundleInstallSpec is the specification configuration for a single managed bundle. + :param pulumi.Input[Sequence[pulumi.Input[str]]] exempted_namespaces: The set of namespaces to be exempted from the bundle. + """ + if exempted_namespaces is not None: + pulumi.set(__self__, "exempted_namespaces", exempted_namespaces) + + @property + @pulumi.getter(name="exemptedNamespaces") + def exempted_namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The set of namespaces to be exempted from the bundle. + """ + return pulumi.get(self, "exempted_namespaces") + + @exempted_namespaces.setter + def exempted_namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "exempted_namespaces", value) + + @pulumi.input_type class PolicyControllerHubConfigArgs: def __init__(__self__, *, audit_interval_seconds: Optional[pulumi.Input[str]] = None, constraint_violation_limit: Optional[pulumi.Input[str]] = None, - deployment_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + deployment_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]]] = None, exemptable_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, install_spec: Optional[pulumi.Input['PolicyControllerHubConfigInstallSpec']] = None, log_denies_enabled: Optional[pulumi.Input[bool]] = None, @@ -2474,7 +2717,7 @@ def __init__(__self__, *, Configuration for Policy Controller :param pulumi.Input[str] audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. :param pulumi.Input[str] constraint_violation_limit: The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). + :param pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). :param pulumi.Input[Sequence[pulumi.Input[str]]] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. :param pulumi.Input['PolicyControllerHubConfigInstallSpec'] install_spec: The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. :param pulumi.Input[bool] log_denies_enabled: Logs all denies and dry run failures. @@ -2530,14 +2773,14 @@ def constraint_violation_limit(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="deploymentConfigs") - def deployment_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def deployment_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]]]: """ Map of deployment configs to deployments ("admission", "audit", "mutation'). """ return pulumi.get(self, "deployment_configs") @deployment_configs.setter - def deployment_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def deployment_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigArgs']]]]): pulumi.set(self, "deployment_configs", value) @property @@ -2692,11 +2935,11 @@ def backends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyCon @pulumi.input_type class PolicyControllerPolicyContentSpecArgs: def __init__(__self__, *, - bundles: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + bundles: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]]] = None, template_library: Optional[pulumi.Input['PolicyControllerTemplateLibraryConfigArgs']] = None): """ PolicyContentSpec defines the user's desired content configuration on the cluster. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + :param pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. :param pulumi.Input['PolicyControllerTemplateLibraryConfigArgs'] template_library: Configures the installation of the Template Library. """ if bundles is not None: @@ -2706,14 +2949,14 @@ def __init__(__self__, *, @property @pulumi.getter - def bundles(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def bundles(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]]]: """ map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. """ return pulumi.get(self, "bundles") @bundles.setter - def bundles(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def bundles(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['PolicyControllerBundleInstallSpecArgs']]]]): pulumi.set(self, "bundles", value) @property @@ -2729,6 +2972,174 @@ def template_library(self, value: Optional[pulumi.Input['PolicyControllerTemplat pulumi.set(self, "template_library", value) +@pulumi.input_type +class PolicyControllerPolicyControllerDeploymentConfigArgs: + def __init__(__self__, *, + container_resources: Optional[pulumi.Input['PolicyControllerResourceRequirementsArgs']] = None, + pod_affinity: Optional[pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity']] = None, + pod_anti_affinity: Optional[pulumi.Input[bool]] = None, + pod_tolerations: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]]] = None, + replica_count: Optional[pulumi.Input[str]] = None): + """ + Deployment-specific configuration. + :param pulumi.Input['PolicyControllerResourceRequirementsArgs'] container_resources: Container resource requirements. + :param pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity'] pod_affinity: Pod affinity configuration. + :param pulumi.Input[bool] pod_anti_affinity: Pod anti-affinity enablement. + :param pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]] pod_tolerations: Pod tolerations of node taints. + :param pulumi.Input[str] replica_count: Pod replica count. + """ + if container_resources is not None: + pulumi.set(__self__, "container_resources", container_resources) + if pod_affinity is not None: + pulumi.set(__self__, "pod_affinity", pod_affinity) + if pod_anti_affinity is not None: + pulumi.set(__self__, "pod_anti_affinity", pod_anti_affinity) + if pod_tolerations is not None: + pulumi.set(__self__, "pod_tolerations", pod_tolerations) + if replica_count is not None: + pulumi.set(__self__, "replica_count", replica_count) + + @property + @pulumi.getter(name="containerResources") + def container_resources(self) -> Optional[pulumi.Input['PolicyControllerResourceRequirementsArgs']]: + """ + Container resource requirements. + """ + return pulumi.get(self, "container_resources") + + @container_resources.setter + def container_resources(self, value: Optional[pulumi.Input['PolicyControllerResourceRequirementsArgs']]): + pulumi.set(self, "container_resources", value) + + @property + @pulumi.getter(name="podAffinity") + def pod_affinity(self) -> Optional[pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity']]: + """ + Pod affinity configuration. + """ + return pulumi.get(self, "pod_affinity") + + @pod_affinity.setter + def pod_affinity(self, value: Optional[pulumi.Input['PolicyControllerPolicyControllerDeploymentConfigPodAffinity']]): + pulumi.set(self, "pod_affinity", value) + + @property + @pulumi.getter(name="podAntiAffinity") + def pod_anti_affinity(self) -> Optional[pulumi.Input[bool]]: + """ + Pod anti-affinity enablement. + """ + return pulumi.get(self, "pod_anti_affinity") + + @pod_anti_affinity.setter + def pod_anti_affinity(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "pod_anti_affinity", value) + + @property + @pulumi.getter(name="podTolerations") + def pod_tolerations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]]]: + """ + Pod tolerations of node taints. + """ + return pulumi.get(self, "pod_tolerations") + + @pod_tolerations.setter + def pod_tolerations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyControllerTolerationArgs']]]]): + pulumi.set(self, "pod_tolerations", value) + + @property + @pulumi.getter(name="replicaCount") + def replica_count(self) -> Optional[pulumi.Input[str]]: + """ + Pod replica count. + """ + return pulumi.get(self, "replica_count") + + @replica_count.setter + def replica_count(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "replica_count", value) + + +@pulumi.input_type +class PolicyControllerResourceListArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input[str]] = None, + memory: Optional[pulumi.Input[str]] = None): + """ + ResourceList contains container resource requirements. + :param pulumi.Input[str] cpu: CPU requirement expressed in Kubernetes resource units. + :param pulumi.Input[str] memory: Memory requirement expressed in Kubernetes resource units. + """ + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + if memory is not None: + pulumi.set(__self__, "memory", memory) + + @property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input[str]]: + """ + CPU requirement expressed in Kubernetes resource units. + """ + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cpu", value) + + @property + @pulumi.getter + def memory(self) -> Optional[pulumi.Input[str]]: + """ + Memory requirement expressed in Kubernetes resource units. + """ + return pulumi.get(self, "memory") + + @memory.setter + def memory(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "memory", value) + + +@pulumi.input_type +class PolicyControllerResourceRequirementsArgs: + def __init__(__self__, *, + limits: Optional[pulumi.Input['PolicyControllerResourceListArgs']] = None, + requests: Optional[pulumi.Input['PolicyControllerResourceListArgs']] = None): + """ + ResourceRequirements describes the compute resource requirements. + :param pulumi.Input['PolicyControllerResourceListArgs'] limits: Limits describes the maximum amount of compute resources allowed for use by the running container. + :param pulumi.Input['PolicyControllerResourceListArgs'] requests: Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + """ + if limits is not None: + pulumi.set(__self__, "limits", limits) + if requests is not None: + pulumi.set(__self__, "requests", requests) + + @property + @pulumi.getter + def limits(self) -> Optional[pulumi.Input['PolicyControllerResourceListArgs']]: + """ + Limits describes the maximum amount of compute resources allowed for use by the running container. + """ + return pulumi.get(self, "limits") + + @limits.setter + def limits(self, value: Optional[pulumi.Input['PolicyControllerResourceListArgs']]): + pulumi.set(self, "limits", value) + + @property + @pulumi.getter + def requests(self) -> Optional[pulumi.Input['PolicyControllerResourceListArgs']]: + """ + Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + """ + return pulumi.get(self, "requests") + + @requests.setter + def requests(self, value: Optional[pulumi.Input['PolicyControllerResourceListArgs']]): + pulumi.set(self, "requests", value) + + @pulumi.input_type class PolicyControllerTemplateLibraryConfigArgs: def __init__(__self__, *, @@ -2753,6 +3164,78 @@ def installation(self, value: Optional[pulumi.Input['PolicyControllerTemplateLib pulumi.set(self, "installation", value) +@pulumi.input_type +class PolicyControllerTolerationArgs: + def __init__(__self__, *, + effect: Optional[pulumi.Input[str]] = None, + key: Optional[pulumi.Input[str]] = None, + operator: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + Toleration of a node taint. + :param pulumi.Input[str] effect: Matches a taint effect. + :param pulumi.Input[str] key: Matches a taint key (not necessarily unique). + :param pulumi.Input[str] operator: Matches a taint operator. + :param pulumi.Input[str] value: Matches a taint value. + """ + if effect is not None: + pulumi.set(__self__, "effect", effect) + if key is not None: + pulumi.set(__self__, "key", key) + if operator is not None: + pulumi.set(__self__, "operator", operator) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint effect. + """ + return pulumi.get(self, "effect") + + @effect.setter + def effect(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "effect", value) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint key (not necessarily unique). + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def operator(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint operator. + """ + return pulumi.get(self, "operator") + + @operator.setter + def operator(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "operator", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Matches a taint value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + @pulumi.input_type class ResourceOptionsArgs: def __init__(__self__, *, @@ -2833,6 +3316,15 @@ def predefined_role(self, value: Optional[pulumi.Input['RolePredefinedRole']]): pulumi.set(self, "predefined_role", value) +@pulumi.input_type +class ScopeFeatureSpecArgs: + def __init__(__self__): + """ + ScopeFeatureSpec contains feature specs for a fleet scope. + """ + pass + + @pulumi.input_type class SecurityPostureConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/gkehub/v1beta/feature.py b/sdk/python/pulumi_google_native/gkehub/v1beta/feature.py index 2d6062f172..d0b19296dc 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1beta/feature.py +++ b/sdk/python/pulumi_google_native/gkehub/v1beta/feature.py @@ -21,19 +21,19 @@ def __init__(__self__, *, fleet_default_member_config: Optional[pulumi.Input['CommonFleetDefaultMemberConfigSpecArgs']] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, - scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]]] = None, spec: Optional[pulumi.Input['CommonFeatureSpecArgs']] = None): """ The set of arguments for constructing a Feature resource. :param pulumi.Input[str] feature_id: The ID of the feature to create. :param pulumi.Input['CommonFleetDefaultMemberConfigSpecArgs'] fleet_default_member_config: Optional. Feature configuration applicable to all memberships of the fleet. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this Feature. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input[str] request_id: A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input['CommonFeatureSpecArgs'] spec: Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. """ if feature_id is not None: @@ -102,14 +102,14 @@ def location(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="membershipSpecs") - def membership_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def membership_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]]]: """ Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ return pulumi.get(self, "membership_specs") @membership_specs.setter - def membership_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def membership_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['MembershipFeatureSpecArgs']]]]): pulumi.set(self, "membership_specs", value) @property @@ -135,14 +135,14 @@ def request_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="scopeSpecs") - def scope_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def scope_specs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]]]: """ Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ return pulumi.get(self, "scope_specs") @scope_specs.setter - def scope_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def scope_specs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['ScopeFeatureSpecArgs']]]]): pulumi.set(self, "scope_specs", value) @property @@ -167,10 +167,10 @@ def __init__(__self__, fleet_default_member_config: Optional[pulumi.Input[pulumi.InputType['CommonFleetDefaultMemberConfigSpecArgs']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['MembershipFeatureSpecArgs']]]]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, - scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ScopeFeatureSpecArgs']]]]] = None, spec: Optional[pulumi.Input[pulumi.InputType['CommonFeatureSpecArgs']]] = None, __props__=None): """ @@ -182,9 +182,9 @@ def __init__(__self__, :param pulumi.Input[str] feature_id: The ID of the feature to create. :param pulumi.Input[pulumi.InputType['CommonFleetDefaultMemberConfigSpecArgs']] fleet_default_member_config: Optional. Feature configuration applicable to all memberships of the fleet. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels for this Feature. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['MembershipFeatureSpecArgs']]]] membership_specs: Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input[str] request_id: A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ScopeFeatureSpecArgs']]]] scope_specs: Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. :param pulumi.Input[pulumi.InputType['CommonFeatureSpecArgs']] spec: Optional. Hub-wide Feature configuration. If this Feature does not support any Hub-wide configuration, this field may be unused. """ ... @@ -216,10 +216,10 @@ def _internal_init(__self__, fleet_default_member_config: Optional[pulumi.Input[pulumi.InputType['CommonFleetDefaultMemberConfigSpecArgs']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, - membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + membership_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['MembershipFeatureSpecArgs']]]]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, - scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + scope_specs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['ScopeFeatureSpecArgs']]]]] = None, spec: Optional[pulumi.Input[pulumi.InputType['CommonFeatureSpecArgs']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -337,7 +337,7 @@ def location(self) -> pulumi.Output[str]: @property @pulumi.getter(name="membershipSpecs") - def membership_specs(self) -> pulumi.Output[Mapping[str, str]]: + def membership_specs(self) -> pulumi.Output[Mapping[str, 'outputs.MembershipFeatureSpecResponse']]: """ Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -345,7 +345,7 @@ def membership_specs(self) -> pulumi.Output[Mapping[str, str]]: @property @pulumi.getter(name="membershipStates") - def membership_states(self) -> pulumi.Output[Mapping[str, str]]: + def membership_states(self) -> pulumi.Output[Mapping[str, 'outputs.MembershipFeatureStateResponse']]: """ Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. """ @@ -382,7 +382,7 @@ def resource_state(self) -> pulumi.Output['outputs.FeatureResourceStateResponse' @property @pulumi.getter(name="scopeSpecs") - def scope_specs(self) -> pulumi.Output[Mapping[str, str]]: + def scope_specs(self) -> pulumi.Output[Mapping[str, 'outputs.ScopeFeatureSpecResponse']]: """ Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -390,7 +390,7 @@ def scope_specs(self) -> pulumi.Output[Mapping[str, str]]: @property @pulumi.getter(name="scopeStates") - def scope_states(self) -> pulumi.Output[Mapping[str, str]]: + def scope_states(self) -> pulumi.Output[Mapping[str, 'outputs.ScopeFeatureStateResponse']]: """ Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. """ diff --git a/sdk/python/pulumi_google_native/gkehub/v1beta/get_feature.py b/sdk/python/pulumi_google_native/gkehub/v1beta/get_feature.py index abeae3ee6a..6a96ba7418 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1beta/get_feature.py +++ b/sdk/python/pulumi_google_native/gkehub/v1beta/get_feature.py @@ -94,7 +94,7 @@ def labels(self) -> Mapping[str, str]: @property @pulumi.getter(name="membershipSpecs") - def membership_specs(self) -> Mapping[str, str]: + def membership_specs(self) -> Mapping[str, 'outputs.MembershipFeatureSpecResponse']: """ Optional. Membership-specific configuration for this Feature. If this Feature does not support any per-Membership configuration, this field may be unused. The keys indicate which Membership the configuration is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Membership is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -102,7 +102,7 @@ def membership_specs(self) -> Mapping[str, str]: @property @pulumi.getter(name="membershipStates") - def membership_states(self) -> Mapping[str, str]: + def membership_states(self) -> Mapping[str, 'outputs.MembershipFeatureStateResponse']: """ Membership-specific Feature status. If this Feature does report any per-Membership status, this field may be unused. The keys indicate which Membership the state is for, in the form: `projects/{p}/locations/{l}/memberships/{m}` Where {p} is the project number, {l} is a valid location and {m} is a valid Membership in this project at that location. {p} MUST match the Feature's project number. """ @@ -126,7 +126,7 @@ def resource_state(self) -> 'outputs.FeatureResourceStateResponse': @property @pulumi.getter(name="scopeSpecs") - def scope_specs(self) -> Mapping[str, str]: + def scope_specs(self) -> Mapping[str, 'outputs.ScopeFeatureSpecResponse']: """ Optional. Scope-specific configuration for this Feature. If this Feature does not support any per-Scope configuration, this field may be unused. The keys indicate which Scope the configuration is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. {p} will always be returned as the project number, but the project ID is also accepted during input. If the same Scope is specified in the map twice (using the project ID form, and the project number form), exactly ONE of the entries will be saved, with no guarantees as to which. For this reason, it is recommended the same format be used for all entries when mutating a Feature. """ @@ -134,7 +134,7 @@ def scope_specs(self) -> Mapping[str, str]: @property @pulumi.getter(name="scopeStates") - def scope_states(self) -> Mapping[str, str]: + def scope_states(self) -> Mapping[str, 'outputs.ScopeFeatureStateResponse']: """ Scope-specific Feature status. If this Feature does report any per-Scope status, this field may be unused. The keys indicate which Scope the state is for, in the form: `projects/{p}/locations/global/scopes/{s}` Where {p} is the project, {s} is a valid Scope in this project. {p} WILL match the Feature's project. """ diff --git a/sdk/python/pulumi_google_native/gkehub/v1beta/outputs.py b/sdk/python/pulumi_google_native/gkehub/v1beta/outputs.py index 743c6b9f55..5b4eb1ed68 100644 --- a/sdk/python/pulumi_google_native/gkehub/v1beta/outputs.py +++ b/sdk/python/pulumi_google_native/gkehub/v1beta/outputs.py @@ -29,19 +29,42 @@ 'ClusterUpgradeGKEUpgradeOverrideResponse', 'ClusterUpgradeGKEUpgradeResponse', 'ClusterUpgradeGKEUpgradeStateResponse', + 'ClusterUpgradeIgnoredMembershipResponse', + 'ClusterUpgradeMembershipGKEUpgradeStateResponse', + 'ClusterUpgradeMembershipStateResponse', 'ClusterUpgradePostConditionsResponse', 'ClusterUpgradeUpgradeStatusResponse', 'CommonFeatureSpecResponse', 'CommonFeatureStateResponse', 'CommonFleetDefaultMemberConfigSpecResponse', 'ConfigManagementBinauthzConfigResponse', + 'ConfigManagementBinauthzStateResponse', + 'ConfigManagementBinauthzVersionResponse', + 'ConfigManagementConfigSyncDeploymentStateResponse', + 'ConfigManagementConfigSyncErrorResponse', 'ConfigManagementConfigSyncResponse', + 'ConfigManagementConfigSyncStateResponse', + 'ConfigManagementConfigSyncVersionResponse', + 'ConfigManagementErrorResourceResponse', + 'ConfigManagementGatekeeperDeploymentStateResponse', 'ConfigManagementGitConfigResponse', + 'ConfigManagementGroupVersionKindResponse', 'ConfigManagementHierarchyControllerConfigResponse', + 'ConfigManagementHierarchyControllerDeploymentStateResponse', + 'ConfigManagementHierarchyControllerStateResponse', + 'ConfigManagementHierarchyControllerVersionResponse', + 'ConfigManagementInstallErrorResponse', 'ConfigManagementMembershipSpecResponse', + 'ConfigManagementMembershipStateResponse', 'ConfigManagementOciConfigResponse', + 'ConfigManagementOperatorStateResponse', + 'ConfigManagementPolicyControllerMigrationResponse', 'ConfigManagementPolicyControllerMonitoringResponse', 'ConfigManagementPolicyControllerResponse', + 'ConfigManagementPolicyControllerStateResponse', + 'ConfigManagementPolicyControllerVersionResponse', + 'ConfigManagementSyncErrorResponse', + 'ConfigManagementSyncStateResponse', 'DefaultClusterConfigResponse', 'EdgeClusterResponse', 'ExprResponse', @@ -55,36 +78,58 @@ 'FleetObservabilityFleetObservabilityLoggingStateResponse', 'FleetObservabilityFleetObservabilityMonitoringStateResponse', 'FleetObservabilityLoggingConfigResponse', + 'FleetObservabilityMembershipSpecResponse', + 'FleetObservabilityMembershipStateResponse', 'FleetObservabilityRoutingConfigResponse', 'GkeClusterResponse', 'IdentityServiceAuthMethodResponse', 'IdentityServiceAzureADConfigResponse', 'IdentityServiceGoogleConfigResponse', 'IdentityServiceMembershipSpecResponse', + 'IdentityServiceMembershipStateResponse', 'IdentityServiceOidcConfigResponse', 'KubernetesMetadataResponse', 'KubernetesResourceResponse', 'MembershipBindingLifecycleStateResponse', 'MembershipEndpointResponse', + 'MembershipFeatureSpecResponse', + 'MembershipFeatureStateResponse', + 'MembershipSpecResponse', 'MembershipStateResponse', + 'MeteringMembershipStateResponse', 'MonitoringConfigResponse', 'MultiCloudClusterResponse', 'MultiClusterIngressFeatureSpecResponse', 'NamespaceLifecycleStateResponse', 'OnPremClusterResponse', + 'OriginResponse', 'PolicyBindingResponse', + 'PolicyControllerBundleInstallSpecResponse', 'PolicyControllerHubConfigResponse', 'PolicyControllerMembershipSpecResponse', + 'PolicyControllerMembershipStateResponse', 'PolicyControllerMonitoringConfigResponse', + 'PolicyControllerOnClusterStateResponse', 'PolicyControllerPolicyContentSpecResponse', + 'PolicyControllerPolicyContentStateResponse', + 'PolicyControllerPolicyControllerDeploymentConfigResponse', + 'PolicyControllerResourceListResponse', + 'PolicyControllerResourceRequirementsResponse', 'PolicyControllerTemplateLibraryConfigResponse', + 'PolicyControllerTolerationResponse', 'RBACRoleBindingLifecycleStateResponse', 'ResourceManifestResponse', 'ResourceOptionsResponse', 'RoleResponse', + 'ScopeFeatureSpecResponse', + 'ScopeFeatureStateResponse', 'ScopeLifecycleStateResponse', 'SecurityPostureConfigResponse', + 'ServiceMeshControlPlaneManagementResponse', + 'ServiceMeshDataPlaneManagementResponse', 'ServiceMeshMembershipSpecResponse', + 'ServiceMeshMembershipStateResponse', + 'ServiceMeshStatusDetailsResponse', 'StatusResponse', ] @@ -646,12 +691,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, downstream_fleets: Sequence[str], gke_state: 'outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse', - ignored: Mapping[str, str]): + ignored: Mapping[str, 'outputs.ClusterUpgradeIgnoredMembershipResponse']): """ **ClusterUpgrade**: The state for the fleet-level ClusterUpgrade feature. :param Sequence[str] downstream_fleets: This fleets whose upstream_fleets contain the current fleet. The fleet name should be either fleet project number or id. :param 'ClusterUpgradeGKEUpgradeFeatureStateResponse' gke_state: Feature state for GKE clusters. - :param Mapping[str, str] ignored: A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. + :param Mapping[str, 'ClusterUpgradeIgnoredMembershipResponse'] ignored: A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. """ pulumi.set(__self__, "downstream_fleets", downstream_fleets) pulumi.set(__self__, "gke_state", gke_state) @@ -675,7 +720,7 @@ def gke_state(self) -> 'outputs.ClusterUpgradeGKEUpgradeFeatureStateResponse': @property @pulumi.getter - def ignored(self) -> Mapping[str, str]: + def ignored(self) -> Mapping[str, 'outputs.ClusterUpgradeIgnoredMembershipResponse']: """ A list of memberships ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. The membership resource is in the format: `projects/{p}/locations/{l}/membership/{m}`. """ @@ -931,6 +976,144 @@ def upgrade(self) -> 'outputs.ClusterUpgradeGKEUpgradeResponse': return pulumi.get(self, "upgrade") +@pulumi.output_type +class ClusterUpgradeIgnoredMembershipResponse(dict): + """ + IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ignoredTime": + suggest = "ignored_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterUpgradeIgnoredMembershipResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterUpgradeIgnoredMembershipResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterUpgradeIgnoredMembershipResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ignored_time: str, + reason: str): + """ + IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + :param str ignored_time: Time when the membership was first set to ignored. + :param str reason: Reason why the membership is ignored. + """ + pulumi.set(__self__, "ignored_time", ignored_time) + pulumi.set(__self__, "reason", reason) + + @property + @pulumi.getter(name="ignoredTime") + def ignored_time(self) -> str: + """ + Time when the membership was first set to ignored. + """ + return pulumi.get(self, "ignored_time") + + @property + @pulumi.getter + def reason(self) -> str: + """ + Reason why the membership is ignored. + """ + return pulumi.get(self, "reason") + + +@pulumi.output_type +class ClusterUpgradeMembershipGKEUpgradeStateResponse(dict): + """ + ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + """ + def __init__(__self__, *, + status: 'outputs.ClusterUpgradeUpgradeStatusResponse', + upgrade: 'outputs.ClusterUpgradeGKEUpgradeResponse'): + """ + ScopeGKEUpgradeState is a GKEUpgrade and its state per-membership. + :param 'ClusterUpgradeUpgradeStatusResponse' status: Status of the upgrade. + :param 'ClusterUpgradeGKEUpgradeResponse' upgrade: Which upgrade to track the state. + """ + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "upgrade", upgrade) + + @property + @pulumi.getter + def status(self) -> 'outputs.ClusterUpgradeUpgradeStatusResponse': + """ + Status of the upgrade. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def upgrade(self) -> 'outputs.ClusterUpgradeGKEUpgradeResponse': + """ + Which upgrade to track the state. + """ + return pulumi.get(self, "upgrade") + + +@pulumi.output_type +class ClusterUpgradeMembershipStateResponse(dict): + """ + Per-membership state for this feature. + """ + def __init__(__self__, *, + fleet: str, + ignored: 'outputs.ClusterUpgradeIgnoredMembershipResponse', + scopes: Sequence[str], + upgrades: Sequence['outputs.ClusterUpgradeMembershipGKEUpgradeStateResponse']): + """ + Per-membership state for this feature. + :param str fleet: Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + :param 'ClusterUpgradeIgnoredMembershipResponse' ignored: Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + :param Sequence[str] scopes: Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + :param Sequence['ClusterUpgradeMembershipGKEUpgradeStateResponse'] upgrades: Actual upgrade state against desired. + """ + pulumi.set(__self__, "fleet", fleet) + pulumi.set(__self__, "ignored", ignored) + pulumi.set(__self__, "scopes", scopes) + pulumi.set(__self__, "upgrades", upgrades) + + @property + @pulumi.getter + def fleet(self) -> str: + """ + Project number or id of the fleet. It is set only for Memberships that are part of fleet-based Rollout Sequencing. + """ + return pulumi.get(self, "fleet") + + @property + @pulumi.getter + def ignored(self) -> 'outputs.ClusterUpgradeIgnoredMembershipResponse': + """ + Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. + """ + return pulumi.get(self, "ignored") + + @property + @pulumi.getter + def scopes(self) -> Sequence[str]: + """ + Fully qualified scope names that this clusters is bound to which also have rollout sequencing enabled. + """ + return pulumi.get(self, "scopes") + + @property + @pulumi.getter + def upgrades(self) -> Sequence['outputs.ClusterUpgradeMembershipGKEUpgradeStateResponse']: + """ + Actual upgrade state against desired. + """ + return pulumi.get(self, "upgrades") + + @pulumi.output_type class ClusterUpgradePostConditionsResponse(dict): """ @@ -1212,6 +1395,228 @@ def enabled(self) -> bool: return pulumi.get(self, "enabled") +@pulumi.output_type +class ConfigManagementBinauthzStateResponse(dict): + """ + State for Binauthz + """ + def __init__(__self__, *, + version: 'outputs.ConfigManagementBinauthzVersionResponse', + webhook: str): + """ + State for Binauthz + :param 'ConfigManagementBinauthzVersionResponse' version: The version of binauthz that is installed. + :param str webhook: The state of the binauthz webhook. + """ + pulumi.set(__self__, "version", version) + pulumi.set(__self__, "webhook", webhook) + + @property + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementBinauthzVersionResponse': + """ + The version of binauthz that is installed. + """ + return pulumi.get(self, "version") + + @property + @pulumi.getter + def webhook(self) -> str: + """ + The state of the binauthz webhook. + """ + return pulumi.get(self, "webhook") + + +@pulumi.output_type +class ConfigManagementBinauthzVersionResponse(dict): + """ + The version of binauthz. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "webhookVersion": + suggest = "webhook_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementBinauthzVersionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementBinauthzVersionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementBinauthzVersionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + webhook_version: str): + """ + The version of binauthz. + :param str webhook_version: The version of the binauthz webhook. + """ + pulumi.set(__self__, "webhook_version", webhook_version) + + @property + @pulumi.getter(name="webhookVersion") + def webhook_version(self) -> str: + """ + The version of the binauthz webhook. + """ + return pulumi.get(self, "webhook_version") + + +@pulumi.output_type +class ConfigManagementConfigSyncDeploymentStateResponse(dict): + """ + The state of ConfigSync's deployment on a cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "admissionWebhook": + suggest = "admission_webhook" + elif key == "gitSync": + suggest = "git_sync" + elif key == "reconcilerManager": + suggest = "reconciler_manager" + elif key == "rootReconciler": + suggest = "root_reconciler" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncDeploymentStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncDeploymentStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncDeploymentStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admission_webhook: str, + git_sync: str, + importer: str, + monitor: str, + reconciler_manager: str, + root_reconciler: str, + syncer: str): + """ + The state of ConfigSync's deployment on a cluster + :param str admission_webhook: Deployment state of admission-webhook + :param str git_sync: Deployment state of the git-sync pod + :param str importer: Deployment state of the importer pod + :param str monitor: Deployment state of the monitor pod + :param str reconciler_manager: Deployment state of reconciler-manager pod + :param str root_reconciler: Deployment state of root-reconciler + :param str syncer: Deployment state of the syncer pod + """ + pulumi.set(__self__, "admission_webhook", admission_webhook) + pulumi.set(__self__, "git_sync", git_sync) + pulumi.set(__self__, "importer", importer) + pulumi.set(__self__, "monitor", monitor) + pulumi.set(__self__, "reconciler_manager", reconciler_manager) + pulumi.set(__self__, "root_reconciler", root_reconciler) + pulumi.set(__self__, "syncer", syncer) + + @property + @pulumi.getter(name="admissionWebhook") + def admission_webhook(self) -> str: + """ + Deployment state of admission-webhook + """ + return pulumi.get(self, "admission_webhook") + + @property + @pulumi.getter(name="gitSync") + def git_sync(self) -> str: + """ + Deployment state of the git-sync pod + """ + return pulumi.get(self, "git_sync") + + @property + @pulumi.getter + def importer(self) -> str: + """ + Deployment state of the importer pod + """ + return pulumi.get(self, "importer") + + @property + @pulumi.getter + def monitor(self) -> str: + """ + Deployment state of the monitor pod + """ + return pulumi.get(self, "monitor") + + @property + @pulumi.getter(name="reconcilerManager") + def reconciler_manager(self) -> str: + """ + Deployment state of reconciler-manager pod + """ + return pulumi.get(self, "reconciler_manager") + + @property + @pulumi.getter(name="rootReconciler") + def root_reconciler(self) -> str: + """ + Deployment state of root-reconciler + """ + return pulumi.get(self, "root_reconciler") + + @property + @pulumi.getter + def syncer(self) -> str: + """ + Deployment state of the syncer pod + """ + return pulumi.get(self, "syncer") + + +@pulumi.output_type +class ConfigManagementConfigSyncErrorResponse(dict): + """ + Errors pertaining to the installation of Config Sync + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorMessage": + suggest = "error_message" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + error_message: str): + """ + Errors pertaining to the installation of Config Sync + :param str error_message: A string representing the user facing error message + """ + pulumi.set(__self__, "error_message", error_message) + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + A string representing the user facing error message + """ + return pulumi.get(self, "error_message") + + @pulumi.output_type class ConfigManagementConfigSyncResponse(dict): """ @@ -1325,345 +1730,396 @@ def source_format(self) -> str: @pulumi.output_type -class ConfigManagementGitConfigResponse(dict): +class ConfigManagementConfigSyncStateResponse(dict): """ - Git repo configuration for a single cluster. + State information for ConfigSync """ @staticmethod def __key_warning(key: str): suggest = None - if key == "gcpServiceAccountEmail": - suggest = "gcp_service_account_email" - elif key == "httpsProxy": - suggest = "https_proxy" - elif key == "policyDir": - suggest = "policy_dir" - elif key == "secretType": - suggest = "secret_type" - elif key == "syncBranch": - suggest = "sync_branch" - elif key == "syncRepo": - suggest = "sync_repo" - elif key == "syncRev": - suggest = "sync_rev" - elif key == "syncWaitSecs": - suggest = "sync_wait_secs" + if key == "deploymentState": + suggest = "deployment_state" + elif key == "syncState": + suggest = "sync_state" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementGitConfigResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncStateResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementGitConfigResponse.__key_warning(key) + ConfigManagementConfigSyncStateResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementGitConfigResponse.__key_warning(key) + ConfigManagementConfigSyncStateResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - gcp_service_account_email: str, - https_proxy: str, - policy_dir: str, - secret_type: str, - sync_branch: str, - sync_repo: str, - sync_rev: str, - sync_wait_secs: str): + deployment_state: 'outputs.ConfigManagementConfigSyncDeploymentStateResponse', + errors: Sequence['outputs.ConfigManagementConfigSyncErrorResponse'], + sync_state: 'outputs.ConfigManagementSyncStateResponse', + version: 'outputs.ConfigManagementConfigSyncVersionResponse'): + """ + State information for ConfigSync + :param 'ConfigManagementConfigSyncDeploymentStateResponse' deployment_state: Information about the deployment of ConfigSync, including the version of the various Pods deployed + :param Sequence['ConfigManagementConfigSyncErrorResponse'] errors: Errors pertaining to the installation of Config Sync. + :param 'ConfigManagementSyncStateResponse' sync_state: The state of ConfigSync's process to sync configs to a cluster + :param 'ConfigManagementConfigSyncVersionResponse' version: The version of ConfigSync deployed + """ + pulumi.set(__self__, "deployment_state", deployment_state) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "sync_state", sync_state) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="deploymentState") + def deployment_state(self) -> 'outputs.ConfigManagementConfigSyncDeploymentStateResponse': """ - Git repo configuration for a single cluster. - :param str gcp_service_account_email: The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. - :param str https_proxy: URL for the HTTPS proxy to be used when communicating with the Git repo. - :param str policy_dir: The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. - :param str secret_type: Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. - :param str sync_branch: The branch of the repository to sync from. Default: master. - :param str sync_repo: The URL of the Git repository to use as the source of truth. - :param str sync_rev: Git revision (tag or hash) to check out. Default HEAD. - :param str sync_wait_secs: Period in seconds between consecutive syncs. Default: 15. + Information about the deployment of ConfigSync, including the version of the various Pods deployed """ - pulumi.set(__self__, "gcp_service_account_email", gcp_service_account_email) - pulumi.set(__self__, "https_proxy", https_proxy) - pulumi.set(__self__, "policy_dir", policy_dir) - pulumi.set(__self__, "secret_type", secret_type) - pulumi.set(__self__, "sync_branch", sync_branch) - pulumi.set(__self__, "sync_repo", sync_repo) - pulumi.set(__self__, "sync_rev", sync_rev) - pulumi.set(__self__, "sync_wait_secs", sync_wait_secs) + return pulumi.get(self, "deployment_state") @property - @pulumi.getter(name="gcpServiceAccountEmail") - def gcp_service_account_email(self) -> str: + @pulumi.getter + def errors(self) -> Sequence['outputs.ConfigManagementConfigSyncErrorResponse']: """ - The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + Errors pertaining to the installation of Config Sync. """ - return pulumi.get(self, "gcp_service_account_email") + return pulumi.get(self, "errors") @property - @pulumi.getter(name="httpsProxy") - def https_proxy(self) -> str: + @pulumi.getter(name="syncState") + def sync_state(self) -> 'outputs.ConfigManagementSyncStateResponse': """ - URL for the HTTPS proxy to be used when communicating with the Git repo. + The state of ConfigSync's process to sync configs to a cluster """ - return pulumi.get(self, "https_proxy") + return pulumi.get(self, "sync_state") @property - @pulumi.getter(name="policyDir") - def policy_dir(self) -> str: + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementConfigSyncVersionResponse': """ - The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. + The version of ConfigSync deployed """ - return pulumi.get(self, "policy_dir") + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementConfigSyncVersionResponse(dict): + """ + Specific versioning information pertaining to ConfigSync's Pods + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "admissionWebhook": + suggest = "admission_webhook" + elif key == "gitSync": + suggest = "git_sync" + elif key == "reconcilerManager": + suggest = "reconciler_manager" + elif key == "rootReconciler": + suggest = "root_reconciler" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementConfigSyncVersionResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementConfigSyncVersionResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementConfigSyncVersionResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + admission_webhook: str, + git_sync: str, + importer: str, + monitor: str, + reconciler_manager: str, + root_reconciler: str, + syncer: str): + """ + Specific versioning information pertaining to ConfigSync's Pods + :param str admission_webhook: Version of the deployed admission_webhook pod + :param str git_sync: Version of the deployed git-sync pod + :param str importer: Version of the deployed importer pod + :param str monitor: Version of the deployed monitor pod + :param str reconciler_manager: Version of the deployed reconciler-manager pod + :param str root_reconciler: Version of the deployed reconciler container in root-reconciler pod + :param str syncer: Version of the deployed syncer pod + """ + pulumi.set(__self__, "admission_webhook", admission_webhook) + pulumi.set(__self__, "git_sync", git_sync) + pulumi.set(__self__, "importer", importer) + pulumi.set(__self__, "monitor", monitor) + pulumi.set(__self__, "reconciler_manager", reconciler_manager) + pulumi.set(__self__, "root_reconciler", root_reconciler) + pulumi.set(__self__, "syncer", syncer) @property - @pulumi.getter(name="secretType") - def secret_type(self) -> str: + @pulumi.getter(name="admissionWebhook") + def admission_webhook(self) -> str: """ - Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. + Version of the deployed admission_webhook pod """ - return pulumi.get(self, "secret_type") + return pulumi.get(self, "admission_webhook") @property - @pulumi.getter(name="syncBranch") - def sync_branch(self) -> str: + @pulumi.getter(name="gitSync") + def git_sync(self) -> str: """ - The branch of the repository to sync from. Default: master. + Version of the deployed git-sync pod """ - return pulumi.get(self, "sync_branch") + return pulumi.get(self, "git_sync") @property - @pulumi.getter(name="syncRepo") - def sync_repo(self) -> str: + @pulumi.getter + def importer(self) -> str: """ - The URL of the Git repository to use as the source of truth. + Version of the deployed importer pod """ - return pulumi.get(self, "sync_repo") + return pulumi.get(self, "importer") @property - @pulumi.getter(name="syncRev") - def sync_rev(self) -> str: + @pulumi.getter + def monitor(self) -> str: """ - Git revision (tag or hash) to check out. Default HEAD. + Version of the deployed monitor pod """ - return pulumi.get(self, "sync_rev") + return pulumi.get(self, "monitor") @property - @pulumi.getter(name="syncWaitSecs") - def sync_wait_secs(self) -> str: + @pulumi.getter(name="reconcilerManager") + def reconciler_manager(self) -> str: """ - Period in seconds between consecutive syncs. Default: 15. + Version of the deployed reconciler-manager pod """ - return pulumi.get(self, "sync_wait_secs") + return pulumi.get(self, "reconciler_manager") + + @property + @pulumi.getter(name="rootReconciler") + def root_reconciler(self) -> str: + """ + Version of the deployed reconciler container in root-reconciler pod + """ + return pulumi.get(self, "root_reconciler") + + @property + @pulumi.getter + def syncer(self) -> str: + """ + Version of the deployed syncer pod + """ + return pulumi.get(self, "syncer") @pulumi.output_type -class ConfigManagementHierarchyControllerConfigResponse(dict): +class ConfigManagementErrorResourceResponse(dict): """ - Configuration for Hierarchy Controller + Model for a config file in the git repo with an associated Sync error """ @staticmethod def __key_warning(key: str): suggest = None - if key == "enableHierarchicalResourceQuota": - suggest = "enable_hierarchical_resource_quota" - elif key == "enablePodTreeLabels": - suggest = "enable_pod_tree_labels" + if key == "resourceGvk": + suggest = "resource_gvk" + elif key == "resourceName": + suggest = "resource_name" + elif key == "resourceNamespace": + suggest = "resource_namespace" + elif key == "sourcePath": + suggest = "source_path" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementHierarchyControllerConfigResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementErrorResourceResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementHierarchyControllerConfigResponse.__key_warning(key) + ConfigManagementErrorResourceResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementHierarchyControllerConfigResponse.__key_warning(key) + ConfigManagementErrorResourceResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - enable_hierarchical_resource_quota: bool, - enable_pod_tree_labels: bool, - enabled: bool): + resource_gvk: 'outputs.ConfigManagementGroupVersionKindResponse', + resource_name: str, + resource_namespace: str, + source_path: str): """ - Configuration for Hierarchy Controller - :param bool enable_hierarchical_resource_quota: Whether hierarchical resource quota is enabled in this cluster. - :param bool enable_pod_tree_labels: Whether pod tree labels are enabled in this cluster. - :param bool enabled: Whether Hierarchy Controller is enabled in this cluster. + Model for a config file in the git repo with an associated Sync error + :param 'ConfigManagementGroupVersionKindResponse' resource_gvk: Group/version/kind of the resource that is causing an error + :param str resource_name: Metadata name of the resource that is causing an error + :param str resource_namespace: Namespace of the resource that is causing an error + :param str source_path: Path in the git repo of the erroneous config """ - pulumi.set(__self__, "enable_hierarchical_resource_quota", enable_hierarchical_resource_quota) - pulumi.set(__self__, "enable_pod_tree_labels", enable_pod_tree_labels) - pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "resource_gvk", resource_gvk) + pulumi.set(__self__, "resource_name", resource_name) + pulumi.set(__self__, "resource_namespace", resource_namespace) + pulumi.set(__self__, "source_path", source_path) @property - @pulumi.getter(name="enableHierarchicalResourceQuota") - def enable_hierarchical_resource_quota(self) -> bool: + @pulumi.getter(name="resourceGvk") + def resource_gvk(self) -> 'outputs.ConfigManagementGroupVersionKindResponse': """ - Whether hierarchical resource quota is enabled in this cluster. + Group/version/kind of the resource that is causing an error """ - return pulumi.get(self, "enable_hierarchical_resource_quota") + return pulumi.get(self, "resource_gvk") @property - @pulumi.getter(name="enablePodTreeLabels") - def enable_pod_tree_labels(self) -> bool: + @pulumi.getter(name="resourceName") + def resource_name(self) -> str: """ - Whether pod tree labels are enabled in this cluster. + Metadata name of the resource that is causing an error """ - return pulumi.get(self, "enable_pod_tree_labels") + return pulumi.get(self, "resource_name") @property - @pulumi.getter - def enabled(self) -> bool: + @pulumi.getter(name="resourceNamespace") + def resource_namespace(self) -> str: """ - Whether Hierarchy Controller is enabled in this cluster. + Namespace of the resource that is causing an error """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "resource_namespace") + + @property + @pulumi.getter(name="sourcePath") + def source_path(self) -> str: + """ + Path in the git repo of the erroneous config + """ + return pulumi.get(self, "source_path") @pulumi.output_type -class ConfigManagementMembershipSpecResponse(dict): +class ConfigManagementGatekeeperDeploymentStateResponse(dict): """ - **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + State of Policy Controller installation. """ @staticmethod def __key_warning(key: str): suggest = None - if key == "configSync": - suggest = "config_sync" - elif key == "hierarchyController": - suggest = "hierarchy_controller" - elif key == "policyController": - suggest = "policy_controller" + if key == "gatekeeperAudit": + suggest = "gatekeeper_audit" + elif key == "gatekeeperControllerManagerState": + suggest = "gatekeeper_controller_manager_state" + elif key == "gatekeeperMutation": + suggest = "gatekeeper_mutation" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementGatekeeperDeploymentStateResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementMembershipSpecResponse.__key_warning(key) + ConfigManagementGatekeeperDeploymentStateResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementMembershipSpecResponse.__key_warning(key) + ConfigManagementGatekeeperDeploymentStateResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - binauthz: 'outputs.ConfigManagementBinauthzConfigResponse', - cluster: str, - config_sync: 'outputs.ConfigManagementConfigSyncResponse', - hierarchy_controller: 'outputs.ConfigManagementHierarchyControllerConfigResponse', - policy_controller: 'outputs.ConfigManagementPolicyControllerResponse', - version: str): - """ - **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. - :param 'ConfigManagementBinauthzConfigResponse' binauthz: Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. - :param str cluster: The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. - :param 'ConfigManagementConfigSyncResponse' config_sync: Config Sync configuration for the cluster. - :param 'ConfigManagementHierarchyControllerConfigResponse' hierarchy_controller: Hierarchy Controller configuration for the cluster. - :param 'ConfigManagementPolicyControllerResponse' policy_controller: Policy Controller configuration for the cluster. - :param str version: Version of ACM installed. - """ - pulumi.set(__self__, "binauthz", binauthz) - pulumi.set(__self__, "cluster", cluster) - pulumi.set(__self__, "config_sync", config_sync) - pulumi.set(__self__, "hierarchy_controller", hierarchy_controller) - pulumi.set(__self__, "policy_controller", policy_controller) - pulumi.set(__self__, "version", version) - - @property - @pulumi.getter - @_utilities.deprecated("""Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set.""") - def binauthz(self) -> 'outputs.ConfigManagementBinauthzConfigResponse': - """ - Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. - """ - return pulumi.get(self, "binauthz") - - @property - @pulumi.getter - def cluster(self) -> str: - """ - The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. - """ - return pulumi.get(self, "cluster") - - @property - @pulumi.getter(name="configSync") - def config_sync(self) -> 'outputs.ConfigManagementConfigSyncResponse': + gatekeeper_audit: str, + gatekeeper_controller_manager_state: str, + gatekeeper_mutation: str): """ - Config Sync configuration for the cluster. + State of Policy Controller installation. + :param str gatekeeper_audit: Status of gatekeeper-audit deployment. + :param str gatekeeper_controller_manager_state: Status of gatekeeper-controller-manager pod. + :param str gatekeeper_mutation: Status of the pod serving the mutation webhook. """ - return pulumi.get(self, "config_sync") + pulumi.set(__self__, "gatekeeper_audit", gatekeeper_audit) + pulumi.set(__self__, "gatekeeper_controller_manager_state", gatekeeper_controller_manager_state) + pulumi.set(__self__, "gatekeeper_mutation", gatekeeper_mutation) @property - @pulumi.getter(name="hierarchyController") - def hierarchy_controller(self) -> 'outputs.ConfigManagementHierarchyControllerConfigResponse': + @pulumi.getter(name="gatekeeperAudit") + def gatekeeper_audit(self) -> str: """ - Hierarchy Controller configuration for the cluster. + Status of gatekeeper-audit deployment. """ - return pulumi.get(self, "hierarchy_controller") + return pulumi.get(self, "gatekeeper_audit") @property - @pulumi.getter(name="policyController") - def policy_controller(self) -> 'outputs.ConfigManagementPolicyControllerResponse': + @pulumi.getter(name="gatekeeperControllerManagerState") + def gatekeeper_controller_manager_state(self) -> str: """ - Policy Controller configuration for the cluster. + Status of gatekeeper-controller-manager pod. """ - return pulumi.get(self, "policy_controller") + return pulumi.get(self, "gatekeeper_controller_manager_state") @property - @pulumi.getter - def version(self) -> str: + @pulumi.getter(name="gatekeeperMutation") + def gatekeeper_mutation(self) -> str: """ - Version of ACM installed. + Status of the pod serving the mutation webhook. """ - return pulumi.get(self, "version") + return pulumi.get(self, "gatekeeper_mutation") @pulumi.output_type -class ConfigManagementOciConfigResponse(dict): +class ConfigManagementGitConfigResponse(dict): """ - OCI repo configuration for a single cluster + Git repo configuration for a single cluster. """ @staticmethod def __key_warning(key: str): suggest = None if key == "gcpServiceAccountEmail": suggest = "gcp_service_account_email" + elif key == "httpsProxy": + suggest = "https_proxy" elif key == "policyDir": suggest = "policy_dir" elif key == "secretType": suggest = "secret_type" + elif key == "syncBranch": + suggest = "sync_branch" elif key == "syncRepo": suggest = "sync_repo" + elif key == "syncRev": + suggest = "sync_rev" elif key == "syncWaitSecs": suggest = "sync_wait_secs" if suggest: - pulumi.log.warn(f"Key '{key}' not found in ConfigManagementOciConfigResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementGitConfigResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - ConfigManagementOciConfigResponse.__key_warning(key) + ConfigManagementGitConfigResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - ConfigManagementOciConfigResponse.__key_warning(key) + ConfigManagementGitConfigResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, gcp_service_account_email: str, + https_proxy: str, policy_dir: str, secret_type: str, + sync_branch: str, sync_repo: str, + sync_rev: str, sync_wait_secs: str): """ - OCI repo configuration for a single cluster + Git repo configuration for a single cluster. :param str gcp_service_account_email: The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. - :param str policy_dir: The absolute path of the directory that contains the local resources. Default: the root directory of the image. - :param str secret_type: Type of secret configured for access to the Git repo. - :param str sync_repo: The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + :param str https_proxy: URL for the HTTPS proxy to be used when communicating with the Git repo. + :param str policy_dir: The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. + :param str secret_type: Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. + :param str sync_branch: The branch of the repository to sync from. Default: master. + :param str sync_repo: The URL of the Git repository to use as the source of truth. + :param str sync_rev: Git revision (tag or hash) to check out. Default HEAD. :param str sync_wait_secs: Period in seconds between consecutive syncs. Default: 15. """ pulumi.set(__self__, "gcp_service_account_email", gcp_service_account_email) + pulumi.set(__self__, "https_proxy", https_proxy) pulumi.set(__self__, "policy_dir", policy_dir) pulumi.set(__self__, "secret_type", secret_type) + pulumi.set(__self__, "sync_branch", sync_branch) pulumi.set(__self__, "sync_repo", sync_repo) + pulumi.set(__self__, "sync_rev", sync_rev) pulumi.set(__self__, "sync_wait_secs", sync_wait_secs) @property @@ -1674,11 +2130,19 @@ def gcp_service_account_email(self) -> str: """ return pulumi.get(self, "gcp_service_account_email") + @property + @pulumi.getter(name="httpsProxy") + def https_proxy(self) -> str: + """ + URL for the HTTPS proxy to be used when communicating with the Git repo. + """ + return pulumi.get(self, "https_proxy") + @property @pulumi.getter(name="policyDir") def policy_dir(self) -> str: """ - The absolute path of the directory that contains the local resources. Default: the root directory of the image. + The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. """ return pulumi.get(self, "policy_dir") @@ -1686,18 +2150,34 @@ def policy_dir(self) -> str: @pulumi.getter(name="secretType") def secret_type(self) -> str: """ - Type of secret configured for access to the Git repo. + Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. """ return pulumi.get(self, "secret_type") + @property + @pulumi.getter(name="syncBranch") + def sync_branch(self) -> str: + """ + The branch of the repository to sync from. Default: master. + """ + return pulumi.get(self, "sync_branch") + @property @pulumi.getter(name="syncRepo") def sync_repo(self) -> str: """ - The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + The URL of the Git repository to use as the source of truth. """ return pulumi.get(self, "sync_repo") + @property + @pulumi.getter(name="syncRev") + def sync_rev(self) -> str: + """ + Git revision (tag or hash) to check out. Default HEAD. + """ + return pulumi.get(self, "sync_rev") + @property @pulumi.getter(name="syncWaitSecs") def sync_wait_secs(self) -> str: @@ -1708,31 +2188,694 @@ def sync_wait_secs(self) -> str: @pulumi.output_type -class ConfigManagementPolicyControllerMonitoringResponse(dict): +class ConfigManagementGroupVersionKindResponse(dict): """ - PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + A Kubernetes object's GVK """ def __init__(__self__, *, - backends: Sequence[str]): + group: str, + kind: str, + version: str): """ - PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] - :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + A Kubernetes object's GVK + :param str group: Kubernetes Group + :param str kind: Kubernetes Kind + :param str version: Kubernetes Version """ - pulumi.set(__self__, "backends", backends) + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "kind", kind) + pulumi.set(__self__, "version", version) @property @pulumi.getter - def backends(self) -> Sequence[str]: + def group(self) -> str: """ - Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + Kubernetes Group """ - return pulumi.get(self, "backends") + return pulumi.get(self, "group") + @property + @pulumi.getter + def kind(self) -> str: + """ + Kubernetes Kind + """ + return pulumi.get(self, "kind") -@pulumi.output_type -class ConfigManagementPolicyControllerResponse(dict): - """ - Configuration for Policy Controller + @property + @pulumi.getter + def version(self) -> str: + """ + Kubernetes Version + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementHierarchyControllerConfigResponse(dict): + """ + Configuration for Hierarchy Controller + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "enableHierarchicalResourceQuota": + suggest = "enable_hierarchical_resource_quota" + elif key == "enablePodTreeLabels": + suggest = "enable_pod_tree_labels" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementHierarchyControllerConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementHierarchyControllerConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementHierarchyControllerConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enable_hierarchical_resource_quota: bool, + enable_pod_tree_labels: bool, + enabled: bool): + """ + Configuration for Hierarchy Controller + :param bool enable_hierarchical_resource_quota: Whether hierarchical resource quota is enabled in this cluster. + :param bool enable_pod_tree_labels: Whether pod tree labels are enabled in this cluster. + :param bool enabled: Whether Hierarchy Controller is enabled in this cluster. + """ + pulumi.set(__self__, "enable_hierarchical_resource_quota", enable_hierarchical_resource_quota) + pulumi.set(__self__, "enable_pod_tree_labels", enable_pod_tree_labels) + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter(name="enableHierarchicalResourceQuota") + def enable_hierarchical_resource_quota(self) -> bool: + """ + Whether hierarchical resource quota is enabled in this cluster. + """ + return pulumi.get(self, "enable_hierarchical_resource_quota") + + @property + @pulumi.getter(name="enablePodTreeLabels") + def enable_pod_tree_labels(self) -> bool: + """ + Whether pod tree labels are enabled in this cluster. + """ + return pulumi.get(self, "enable_pod_tree_labels") + + @property + @pulumi.getter + def enabled(self) -> bool: + """ + Whether Hierarchy Controller is enabled in this cluster. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class ConfigManagementHierarchyControllerDeploymentStateResponse(dict): + """ + Deployment state for Hierarchy Controller + """ + def __init__(__self__, *, + extension: str, + hnc: str): + """ + Deployment state for Hierarchy Controller + :param str extension: The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + :param str hnc: The deployment state for open source HNC (e.g. v0.7.0-hc.0) + """ + pulumi.set(__self__, "extension", extension) + pulumi.set(__self__, "hnc", hnc) + + @property + @pulumi.getter + def extension(self) -> str: + """ + The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1) + """ + return pulumi.get(self, "extension") + + @property + @pulumi.getter + def hnc(self) -> str: + """ + The deployment state for open source HNC (e.g. v0.7.0-hc.0) + """ + return pulumi.get(self, "hnc") + + +@pulumi.output_type +class ConfigManagementHierarchyControllerStateResponse(dict): + """ + State for Hierarchy Controller + """ + def __init__(__self__, *, + state: 'outputs.ConfigManagementHierarchyControllerDeploymentStateResponse', + version: 'outputs.ConfigManagementHierarchyControllerVersionResponse'): + """ + State for Hierarchy Controller + :param 'ConfigManagementHierarchyControllerDeploymentStateResponse' state: The deployment state for Hierarchy Controller + :param 'ConfigManagementHierarchyControllerVersionResponse' version: The version for Hierarchy Controller + """ + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def state(self) -> 'outputs.ConfigManagementHierarchyControllerDeploymentStateResponse': + """ + The deployment state for Hierarchy Controller + """ + return pulumi.get(self, "state") + + @property + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementHierarchyControllerVersionResponse': + """ + The version for Hierarchy Controller + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementHierarchyControllerVersionResponse(dict): + """ + Version for Hierarchy Controller + """ + def __init__(__self__, *, + extension: str, + hnc: str): + """ + Version for Hierarchy Controller + :param str extension: Version for Hierarchy Controller extension + :param str hnc: Version for open source HNC + """ + pulumi.set(__self__, "extension", extension) + pulumi.set(__self__, "hnc", hnc) + + @property + @pulumi.getter + def extension(self) -> str: + """ + Version for Hierarchy Controller extension + """ + return pulumi.get(self, "extension") + + @property + @pulumi.getter + def hnc(self) -> str: + """ + Version for open source HNC + """ + return pulumi.get(self, "hnc") + + +@pulumi.output_type +class ConfigManagementInstallErrorResponse(dict): + """ + Errors pertaining to the installation of ACM + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorMessage": + suggest = "error_message" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementInstallErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementInstallErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementInstallErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + error_message: str): + """ + Errors pertaining to the installation of ACM + :param str error_message: A string representing the user facing error message + """ + pulumi.set(__self__, "error_message", error_message) + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + A string representing the user facing error message + """ + return pulumi.get(self, "error_message") + + +@pulumi.output_type +class ConfigManagementMembershipSpecResponse(dict): + """ + **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "configSync": + suggest = "config_sync" + elif key == "hierarchyController": + suggest = "hierarchy_controller" + elif key == "policyController": + suggest = "policy_controller" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementMembershipSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementMembershipSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + binauthz: 'outputs.ConfigManagementBinauthzConfigResponse', + cluster: str, + config_sync: 'outputs.ConfigManagementConfigSyncResponse', + hierarchy_controller: 'outputs.ConfigManagementHierarchyControllerConfigResponse', + policy_controller: 'outputs.ConfigManagementPolicyControllerResponse', + version: str): + """ + **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + :param 'ConfigManagementBinauthzConfigResponse' binauthz: Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. + :param str cluster: The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + :param 'ConfigManagementConfigSyncResponse' config_sync: Config Sync configuration for the cluster. + :param 'ConfigManagementHierarchyControllerConfigResponse' hierarchy_controller: Hierarchy Controller configuration for the cluster. + :param 'ConfigManagementPolicyControllerResponse' policy_controller: Policy Controller configuration for the cluster. + :param str version: Version of ACM installed. + """ + pulumi.set(__self__, "binauthz", binauthz) + pulumi.set(__self__, "cluster", cluster) + pulumi.set(__self__, "config_sync", config_sync) + pulumi.set(__self__, "hierarchy_controller", hierarchy_controller) + pulumi.set(__self__, "policy_controller", policy_controller) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + @_utilities.deprecated("""Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set.""") + def binauthz(self) -> 'outputs.ConfigManagementBinauthzConfigResponse': + """ + Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. + """ + return pulumi.get(self, "binauthz") + + @property + @pulumi.getter + def cluster(self) -> str: + """ + The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + """ + return pulumi.get(self, "cluster") + + @property + @pulumi.getter(name="configSync") + def config_sync(self) -> 'outputs.ConfigManagementConfigSyncResponse': + """ + Config Sync configuration for the cluster. + """ + return pulumi.get(self, "config_sync") + + @property + @pulumi.getter(name="hierarchyController") + def hierarchy_controller(self) -> 'outputs.ConfigManagementHierarchyControllerConfigResponse': + """ + Hierarchy Controller configuration for the cluster. + """ + return pulumi.get(self, "hierarchy_controller") + + @property + @pulumi.getter(name="policyController") + def policy_controller(self) -> 'outputs.ConfigManagementPolicyControllerResponse': + """ + Policy Controller configuration for the cluster. + """ + return pulumi.get(self, "policy_controller") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version of ACM installed. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementMembershipStateResponse(dict): + """ + **Anthos Config Management**: State for a single cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "binauthzState": + suggest = "binauthz_state" + elif key == "clusterName": + suggest = "cluster_name" + elif key == "configSyncState": + suggest = "config_sync_state" + elif key == "hierarchyControllerState": + suggest = "hierarchy_controller_state" + elif key == "membershipSpec": + suggest = "membership_spec" + elif key == "operatorState": + suggest = "operator_state" + elif key == "policyControllerState": + suggest = "policy_controller_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + binauthz_state: 'outputs.ConfigManagementBinauthzStateResponse', + cluster_name: str, + config_sync_state: 'outputs.ConfigManagementConfigSyncStateResponse', + hierarchy_controller_state: 'outputs.ConfigManagementHierarchyControllerStateResponse', + membership_spec: 'outputs.ConfigManagementMembershipSpecResponse', + operator_state: 'outputs.ConfigManagementOperatorStateResponse', + policy_controller_state: 'outputs.ConfigManagementPolicyControllerStateResponse'): + """ + **Anthos Config Management**: State for a single cluster. + :param 'ConfigManagementBinauthzStateResponse' binauthz_state: Binauthz status + :param str cluster_name: This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + :param 'ConfigManagementConfigSyncStateResponse' config_sync_state: Current sync status + :param 'ConfigManagementHierarchyControllerStateResponse' hierarchy_controller_state: Hierarchy Controller status + :param 'ConfigManagementMembershipSpecResponse' membership_spec: Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + :param 'ConfigManagementOperatorStateResponse' operator_state: Current install status of ACM's Operator + :param 'ConfigManagementPolicyControllerStateResponse' policy_controller_state: PolicyController status + """ + pulumi.set(__self__, "binauthz_state", binauthz_state) + pulumi.set(__self__, "cluster_name", cluster_name) + pulumi.set(__self__, "config_sync_state", config_sync_state) + pulumi.set(__self__, "hierarchy_controller_state", hierarchy_controller_state) + pulumi.set(__self__, "membership_spec", membership_spec) + pulumi.set(__self__, "operator_state", operator_state) + pulumi.set(__self__, "policy_controller_state", policy_controller_state) + + @property + @pulumi.getter(name="binauthzState") + def binauthz_state(self) -> 'outputs.ConfigManagementBinauthzStateResponse': + """ + Binauthz status + """ + return pulumi.get(self, "binauthz_state") + + @property + @pulumi.getter(name="clusterName") + def cluster_name(self) -> str: + """ + This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + """ + return pulumi.get(self, "cluster_name") + + @property + @pulumi.getter(name="configSyncState") + def config_sync_state(self) -> 'outputs.ConfigManagementConfigSyncStateResponse': + """ + Current sync status + """ + return pulumi.get(self, "config_sync_state") + + @property + @pulumi.getter(name="hierarchyControllerState") + def hierarchy_controller_state(self) -> 'outputs.ConfigManagementHierarchyControllerStateResponse': + """ + Hierarchy Controller status + """ + return pulumi.get(self, "hierarchy_controller_state") + + @property + @pulumi.getter(name="membershipSpec") + def membership_spec(self) -> 'outputs.ConfigManagementMembershipSpecResponse': + """ + Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + """ + return pulumi.get(self, "membership_spec") + + @property + @pulumi.getter(name="operatorState") + def operator_state(self) -> 'outputs.ConfigManagementOperatorStateResponse': + """ + Current install status of ACM's Operator + """ + return pulumi.get(self, "operator_state") + + @property + @pulumi.getter(name="policyControllerState") + def policy_controller_state(self) -> 'outputs.ConfigManagementPolicyControllerStateResponse': + """ + PolicyController status + """ + return pulumi.get(self, "policy_controller_state") + + +@pulumi.output_type +class ConfigManagementOciConfigResponse(dict): + """ + OCI repo configuration for a single cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "gcpServiceAccountEmail": + suggest = "gcp_service_account_email" + elif key == "policyDir": + suggest = "policy_dir" + elif key == "secretType": + suggest = "secret_type" + elif key == "syncRepo": + suggest = "sync_repo" + elif key == "syncWaitSecs": + suggest = "sync_wait_secs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementOciConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementOciConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementOciConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + gcp_service_account_email: str, + policy_dir: str, + secret_type: str, + sync_repo: str, + sync_wait_secs: str): + """ + OCI repo configuration for a single cluster + :param str gcp_service_account_email: The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + :param str policy_dir: The absolute path of the directory that contains the local resources. Default: the root directory of the image. + :param str secret_type: Type of secret configured for access to the Git repo. + :param str sync_repo: The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + :param str sync_wait_secs: Period in seconds between consecutive syncs. Default: 15. + """ + pulumi.set(__self__, "gcp_service_account_email", gcp_service_account_email) + pulumi.set(__self__, "policy_dir", policy_dir) + pulumi.set(__self__, "secret_type", secret_type) + pulumi.set(__self__, "sync_repo", sync_repo) + pulumi.set(__self__, "sync_wait_secs", sync_wait_secs) + + @property + @pulumi.getter(name="gcpServiceAccountEmail") + def gcp_service_account_email(self) -> str: + """ + The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + """ + return pulumi.get(self, "gcp_service_account_email") + + @property + @pulumi.getter(name="policyDir") + def policy_dir(self) -> str: + """ + The absolute path of the directory that contains the local resources. Default: the root directory of the image. + """ + return pulumi.get(self, "policy_dir") + + @property + @pulumi.getter(name="secretType") + def secret_type(self) -> str: + """ + Type of secret configured for access to the Git repo. + """ + return pulumi.get(self, "secret_type") + + @property + @pulumi.getter(name="syncRepo") + def sync_repo(self) -> str: + """ + The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + """ + return pulumi.get(self, "sync_repo") + + @property + @pulumi.getter(name="syncWaitSecs") + def sync_wait_secs(self) -> str: + """ + Period in seconds between consecutive syncs. Default: 15. + """ + return pulumi.get(self, "sync_wait_secs") + + +@pulumi.output_type +class ConfigManagementOperatorStateResponse(dict): + """ + State information for an ACM's Operator + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deploymentState": + suggest = "deployment_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementOperatorStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementOperatorStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementOperatorStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + deployment_state: str, + errors: Sequence['outputs.ConfigManagementInstallErrorResponse'], + version: str): + """ + State information for an ACM's Operator + :param str deployment_state: The state of the Operator's deployment + :param Sequence['ConfigManagementInstallErrorResponse'] errors: Install errors. + :param str version: The semenatic version number of the operator + """ + pulumi.set(__self__, "deployment_state", deployment_state) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="deploymentState") + def deployment_state(self) -> str: + """ + The state of the Operator's deployment + """ + return pulumi.get(self, "deployment_state") + + @property + @pulumi.getter + def errors(self) -> Sequence['outputs.ConfigManagementInstallErrorResponse']: + """ + Install errors. + """ + return pulumi.get(self, "errors") + + @property + @pulumi.getter + def version(self) -> str: + """ + The semenatic version number of the operator + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementPolicyControllerMigrationResponse(dict): + """ + State for the migration of PolicyController from ACM -> PoCo Hub. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "copyTime": + suggest = "copy_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementPolicyControllerMigrationResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementPolicyControllerMigrationResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementPolicyControllerMigrationResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + copy_time: str, + stage: str): + """ + State for the migration of PolicyController from ACM -> PoCo Hub. + :param str copy_time: Last time this membership spec was copied to PoCo feature. + :param str stage: Stage of the migration. + """ + pulumi.set(__self__, "copy_time", copy_time) + pulumi.set(__self__, "stage", stage) + + @property + @pulumi.getter(name="copyTime") + def copy_time(self) -> str: + """ + Last time this membership spec was copied to PoCo feature. + """ + return pulumi.get(self, "copy_time") + + @property + @pulumi.getter + def stage(self) -> str: + """ + Stage of the migration. + """ + return pulumi.get(self, "stage") + + +@pulumi.output_type +class ConfigManagementPolicyControllerMonitoringResponse(dict): + """ + PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + """ + def __init__(__self__, *, + backends: Sequence[str]): + """ + PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + pulumi.set(__self__, "backends", backends) + + @property + @pulumi.getter + def backends(self) -> Sequence[str]: + """ + Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + return pulumi.get(self, "backends") + + +@pulumi.output_type +class ConfigManagementPolicyControllerResponse(dict): + """ + Configuration for Policy Controller """ @staticmethod def __key_warning(key: str): @@ -1868,6 +3011,266 @@ def update_time(self) -> str: return pulumi.get(self, "update_time") +@pulumi.output_type +class ConfigManagementPolicyControllerStateResponse(dict): + """ + State for PolicyControllerState. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "deploymentState": + suggest = "deployment_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementPolicyControllerStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementPolicyControllerStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementPolicyControllerStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + deployment_state: 'outputs.ConfigManagementGatekeeperDeploymentStateResponse', + migration: 'outputs.ConfigManagementPolicyControllerMigrationResponse', + version: 'outputs.ConfigManagementPolicyControllerVersionResponse'): + """ + State for PolicyControllerState. + :param 'ConfigManagementGatekeeperDeploymentStateResponse' deployment_state: The state about the policy controller installation. + :param 'ConfigManagementPolicyControllerMigrationResponse' migration: Record state of ACM -> PoCo Hub migration for this feature. + :param 'ConfigManagementPolicyControllerVersionResponse' version: The version of Gatekeeper Policy Controller deployed. + """ + pulumi.set(__self__, "deployment_state", deployment_state) + pulumi.set(__self__, "migration", migration) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="deploymentState") + def deployment_state(self) -> 'outputs.ConfigManagementGatekeeperDeploymentStateResponse': + """ + The state about the policy controller installation. + """ + return pulumi.get(self, "deployment_state") + + @property + @pulumi.getter + def migration(self) -> 'outputs.ConfigManagementPolicyControllerMigrationResponse': + """ + Record state of ACM -> PoCo Hub migration for this feature. + """ + return pulumi.get(self, "migration") + + @property + @pulumi.getter + def version(self) -> 'outputs.ConfigManagementPolicyControllerVersionResponse': + """ + The version of Gatekeeper Policy Controller deployed. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementPolicyControllerVersionResponse(dict): + """ + The build version of Gatekeeper Policy Controller is using. + """ + def __init__(__self__, *, + version: str): + """ + The build version of Gatekeeper Policy Controller is using. + :param str version: The gatekeeper image tag that is composed of ACM version, git tag, build number. + """ + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def version(self) -> str: + """ + The gatekeeper image tag that is composed of ACM version, git tag, build number. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class ConfigManagementSyncErrorResponse(dict): + """ + An ACM created error representing a problem syncing configurations + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "errorMessage": + suggest = "error_message" + elif key == "errorResources": + suggest = "error_resources" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementSyncErrorResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementSyncErrorResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementSyncErrorResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + code: str, + error_message: str, + error_resources: Sequence['outputs.ConfigManagementErrorResourceResponse']): + """ + An ACM created error representing a problem syncing configurations + :param str code: An ACM defined error code + :param str error_message: A description of the error + :param Sequence['ConfigManagementErrorResourceResponse'] error_resources: A list of config(s) associated with the error, if any + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "error_message", error_message) + pulumi.set(__self__, "error_resources", error_resources) + + @property + @pulumi.getter + def code(self) -> str: + """ + An ACM defined error code + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter(name="errorMessage") + def error_message(self) -> str: + """ + A description of the error + """ + return pulumi.get(self, "error_message") + + @property + @pulumi.getter(name="errorResources") + def error_resources(self) -> Sequence['outputs.ConfigManagementErrorResourceResponse']: + """ + A list of config(s) associated with the error, if any + """ + return pulumi.get(self, "error_resources") + + +@pulumi.output_type +class ConfigManagementSyncStateResponse(dict): + """ + State indicating an ACM's progress syncing configurations to a cluster + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "importToken": + suggest = "import_token" + elif key == "lastSync": + suggest = "last_sync" + elif key == "lastSyncTime": + suggest = "last_sync_time" + elif key == "sourceToken": + suggest = "source_token" + elif key == "syncToken": + suggest = "sync_token" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigManagementSyncStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigManagementSyncStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigManagementSyncStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + code: str, + errors: Sequence['outputs.ConfigManagementSyncErrorResponse'], + import_token: str, + last_sync: str, + last_sync_time: str, + source_token: str, + sync_token: str): + """ + State indicating an ACM's progress syncing configurations to a cluster + :param str code: Sync status code + :param Sequence['ConfigManagementSyncErrorResponse'] errors: A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + :param str import_token: Token indicating the state of the importer. + :param str last_sync: Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + :param str last_sync_time: Timestamp type of when ACM last successfully synced the repo + :param str source_token: Token indicating the state of the repo. + :param str sync_token: Token indicating the state of the syncer. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "import_token", import_token) + pulumi.set(__self__, "last_sync", last_sync) + pulumi.set(__self__, "last_sync_time", last_sync_time) + pulumi.set(__self__, "source_token", source_token) + pulumi.set(__self__, "sync_token", sync_token) + + @property + @pulumi.getter + def code(self) -> str: + """ + Sync status code + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def errors(self) -> Sequence['outputs.ConfigManagementSyncErrorResponse']: + """ + A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + """ + return pulumi.get(self, "errors") + + @property + @pulumi.getter(name="importToken") + def import_token(self) -> str: + """ + Token indicating the state of the importer. + """ + return pulumi.get(self, "import_token") + + @property + @pulumi.getter(name="lastSync") + @_utilities.deprecated("""Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String""") + def last_sync(self) -> str: + """ + Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo The time format is specified in https://golang.org/pkg/time/#Time.String + """ + return pulumi.get(self, "last_sync") + + @property + @pulumi.getter(name="lastSyncTime") + def last_sync_time(self) -> str: + """ + Timestamp type of when ACM last successfully synced the repo + """ + return pulumi.get(self, "last_sync_time") + + @property + @pulumi.getter(name="sourceToken") + def source_token(self) -> str: + """ + Token indicating the state of the repo. + """ + return pulumi.get(self, "source_token") + + @property + @pulumi.getter(name="syncToken") + def sync_token(self) -> str: + """ + Token indicating the state of the syncer. + """ + return pulumi.get(self, "sync_token") + + @pulumi.output_type class DefaultClusterConfigResponse(dict): """ @@ -2383,6 +3786,30 @@ def fleet_scope_logs_config(self) -> 'outputs.FleetObservabilityRoutingConfigRes return pulumi.get(self, "fleet_scope_logs_config") +@pulumi.output_type +class FleetObservabilityMembershipSpecResponse(dict): + """ + **FleetObservability**: The membership-specific input for FleetObservability feature. + """ + def __init__(__self__): + """ + **FleetObservability**: The membership-specific input for FleetObservability feature. + """ + pass + + +@pulumi.output_type +class FleetObservabilityMembershipStateResponse(dict): + """ + **FleetObservability**: Membership-specific Feature state for fleetobservability. + """ + def __init__(__self__): + """ + **FleetObservability**: Membership-specific Feature state for fleetobservability. + """ + pass + + @pulumi.output_type class FleetObservabilityRoutingConfigResponse(dict): """ @@ -2667,31 +4094,107 @@ def __key_warning(key: str): suggest = "auth_methods" if suggest: - pulumi.log.warn(f"Key '{key}' not found in IdentityServiceMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in IdentityServiceMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + IdentityServiceMembershipSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + IdentityServiceMembershipSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + auth_methods: Sequence['outputs.IdentityServiceAuthMethodResponse']): + """ + **Anthos Identity Service**: Configuration for a single Membership. + :param Sequence['IdentityServiceAuthMethodResponse'] auth_methods: A member may support multiple auth methods. + """ + pulumi.set(__self__, "auth_methods", auth_methods) + + @property + @pulumi.getter(name="authMethods") + def auth_methods(self) -> Sequence['outputs.IdentityServiceAuthMethodResponse']: + """ + A member may support multiple auth methods. + """ + return pulumi.get(self, "auth_methods") + + +@pulumi.output_type +class IdentityServiceMembershipStateResponse(dict): + """ + **Anthos Identity Service**: State for a single Membership. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "failureReason": + suggest = "failure_reason" + elif key == "installedVersion": + suggest = "installed_version" + elif key == "memberConfig": + suggest = "member_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in IdentityServiceMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - IdentityServiceMembershipSpecResponse.__key_warning(key) + IdentityServiceMembershipStateResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - IdentityServiceMembershipSpecResponse.__key_warning(key) + IdentityServiceMembershipStateResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - auth_methods: Sequence['outputs.IdentityServiceAuthMethodResponse']): + failure_reason: str, + installed_version: str, + member_config: 'outputs.IdentityServiceMembershipSpecResponse', + state: str): """ - **Anthos Identity Service**: Configuration for a single Membership. - :param Sequence['IdentityServiceAuthMethodResponse'] auth_methods: A member may support multiple auth methods. + **Anthos Identity Service**: State for a single Membership. + :param str failure_reason: The reason of the failure. + :param str installed_version: Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + :param 'IdentityServiceMembershipSpecResponse' member_config: Last reconciled membership configuration + :param str state: Deployment state on this member """ - pulumi.set(__self__, "auth_methods", auth_methods) + pulumi.set(__self__, "failure_reason", failure_reason) + pulumi.set(__self__, "installed_version", installed_version) + pulumi.set(__self__, "member_config", member_config) + pulumi.set(__self__, "state", state) @property - @pulumi.getter(name="authMethods") - def auth_methods(self) -> Sequence['outputs.IdentityServiceAuthMethodResponse']: + @pulumi.getter(name="failureReason") + def failure_reason(self) -> str: """ - A member may support multiple auth methods. + The reason of the failure. """ - return pulumi.get(self, "auth_methods") + return pulumi.get(self, "failure_reason") + + @property + @pulumi.getter(name="installedVersion") + def installed_version(self) -> str: + """ + Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + """ + return pulumi.get(self, "installed_version") + + @property + @pulumi.getter(name="memberConfig") + def member_config(self) -> 'outputs.IdentityServiceMembershipSpecResponse': + """ + Last reconciled membership configuration + """ + return pulumi.get(self, "member_config") + + @property + @pulumi.getter + def state(self) -> str: + """ + Deployment state on this member + """ + return pulumi.get(self, "state") @pulumi.output_type @@ -3234,6 +4737,265 @@ def on_prem_cluster(self) -> 'outputs.OnPremClusterResponse': return pulumi.get(self, "on_prem_cluster") +@pulumi.output_type +class MembershipFeatureSpecResponse(dict): + """ + MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + """ + def __init__(__self__, *, + anthosobservability: 'outputs.AnthosObservabilityMembershipSpecResponse', + cloudbuild: 'outputs.MembershipSpecResponse', + configmanagement: 'outputs.ConfigManagementMembershipSpecResponse', + fleetobservability: 'outputs.FleetObservabilityMembershipSpecResponse', + identityservice: 'outputs.IdentityServiceMembershipSpecResponse', + mesh: 'outputs.ServiceMeshMembershipSpecResponse', + origin: 'outputs.OriginResponse', + policycontroller: 'outputs.PolicyControllerMembershipSpecResponse'): + """ + MembershipFeatureSpec contains configuration information for a single Membership. NOTE: Please use snake case in your feature name. + :param 'AnthosObservabilityMembershipSpecResponse' anthosobservability: Anthos Observability-specific spec + :param 'MembershipSpecResponse' cloudbuild: Cloud Build-specific spec + :param 'ConfigManagementMembershipSpecResponse' configmanagement: Config Management-specific spec. + :param 'FleetObservabilityMembershipSpecResponse' fleetobservability: Fleet observability membership spec + :param 'IdentityServiceMembershipSpecResponse' identityservice: Identity Service-specific spec. + :param 'ServiceMeshMembershipSpecResponse' mesh: Anthos Service Mesh-specific spec + :param 'OriginResponse' origin: Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + :param 'PolicyControllerMembershipSpecResponse' policycontroller: Policy Controller spec. + """ + pulumi.set(__self__, "anthosobservability", anthosobservability) + pulumi.set(__self__, "cloudbuild", cloudbuild) + pulumi.set(__self__, "configmanagement", configmanagement) + pulumi.set(__self__, "fleetobservability", fleetobservability) + pulumi.set(__self__, "identityservice", identityservice) + pulumi.set(__self__, "mesh", mesh) + pulumi.set(__self__, "origin", origin) + pulumi.set(__self__, "policycontroller", policycontroller) + + @property + @pulumi.getter + def anthosobservability(self) -> 'outputs.AnthosObservabilityMembershipSpecResponse': + """ + Anthos Observability-specific spec + """ + return pulumi.get(self, "anthosobservability") + + @property + @pulumi.getter + def cloudbuild(self) -> 'outputs.MembershipSpecResponse': + """ + Cloud Build-specific spec + """ + return pulumi.get(self, "cloudbuild") + + @property + @pulumi.getter + def configmanagement(self) -> 'outputs.ConfigManagementMembershipSpecResponse': + """ + Config Management-specific spec. + """ + return pulumi.get(self, "configmanagement") + + @property + @pulumi.getter + def fleetobservability(self) -> 'outputs.FleetObservabilityMembershipSpecResponse': + """ + Fleet observability membership spec + """ + return pulumi.get(self, "fleetobservability") + + @property + @pulumi.getter + def identityservice(self) -> 'outputs.IdentityServiceMembershipSpecResponse': + """ + Identity Service-specific spec. + """ + return pulumi.get(self, "identityservice") + + @property + @pulumi.getter + def mesh(self) -> 'outputs.ServiceMeshMembershipSpecResponse': + """ + Anthos Service Mesh-specific spec + """ + return pulumi.get(self, "mesh") + + @property + @pulumi.getter + def origin(self) -> 'outputs.OriginResponse': + """ + Whether this per-Membership spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Membership config (updated to USER implicitly) or setting to FLEET explicitly. + """ + return pulumi.get(self, "origin") + + @property + @pulumi.getter + def policycontroller(self) -> 'outputs.PolicyControllerMembershipSpecResponse': + """ + Policy Controller spec. + """ + return pulumi.get(self, "policycontroller") + + +@pulumi.output_type +class MembershipFeatureStateResponse(dict): + """ + MembershipFeatureState contains Feature status information for a single Membership. + """ + def __init__(__self__, *, + appdevexperience: 'outputs.AppDevExperienceFeatureStateResponse', + clusterupgrade: 'outputs.ClusterUpgradeMembershipStateResponse', + configmanagement: 'outputs.ConfigManagementMembershipStateResponse', + fleetobservability: 'outputs.FleetObservabilityMembershipStateResponse', + identityservice: 'outputs.IdentityServiceMembershipStateResponse', + metering: 'outputs.MeteringMembershipStateResponse', + policycontroller: 'outputs.PolicyControllerMembershipStateResponse', + servicemesh: 'outputs.ServiceMeshMembershipStateResponse', + state: 'outputs.FeatureStateResponse'): + """ + MembershipFeatureState contains Feature status information for a single Membership. + :param 'AppDevExperienceFeatureStateResponse' appdevexperience: Appdevexperience specific state. + :param 'ClusterUpgradeMembershipStateResponse' clusterupgrade: ClusterUpgrade state. + :param 'ConfigManagementMembershipStateResponse' configmanagement: Config Management-specific state. + :param 'FleetObservabilityMembershipStateResponse' fleetobservability: Fleet observability membership state. + :param 'IdentityServiceMembershipStateResponse' identityservice: Identity Service-specific state. + :param 'MeteringMembershipStateResponse' metering: Metering-specific state. + :param 'PolicyControllerMembershipStateResponse' policycontroller: Policycontroller-specific state. + :param 'ServiceMeshMembershipStateResponse' servicemesh: Service Mesh-specific state. + :param 'FeatureStateResponse' state: The high-level state of this Feature for a single membership. + """ + pulumi.set(__self__, "appdevexperience", appdevexperience) + pulumi.set(__self__, "clusterupgrade", clusterupgrade) + pulumi.set(__self__, "configmanagement", configmanagement) + pulumi.set(__self__, "fleetobservability", fleetobservability) + pulumi.set(__self__, "identityservice", identityservice) + pulumi.set(__self__, "metering", metering) + pulumi.set(__self__, "policycontroller", policycontroller) + pulumi.set(__self__, "servicemesh", servicemesh) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def appdevexperience(self) -> 'outputs.AppDevExperienceFeatureStateResponse': + """ + Appdevexperience specific state. + """ + return pulumi.get(self, "appdevexperience") + + @property + @pulumi.getter + def clusterupgrade(self) -> 'outputs.ClusterUpgradeMembershipStateResponse': + """ + ClusterUpgrade state. + """ + return pulumi.get(self, "clusterupgrade") + + @property + @pulumi.getter + def configmanagement(self) -> 'outputs.ConfigManagementMembershipStateResponse': + """ + Config Management-specific state. + """ + return pulumi.get(self, "configmanagement") + + @property + @pulumi.getter + def fleetobservability(self) -> 'outputs.FleetObservabilityMembershipStateResponse': + """ + Fleet observability membership state. + """ + return pulumi.get(self, "fleetobservability") + + @property + @pulumi.getter + def identityservice(self) -> 'outputs.IdentityServiceMembershipStateResponse': + """ + Identity Service-specific state. + """ + return pulumi.get(self, "identityservice") + + @property + @pulumi.getter + def metering(self) -> 'outputs.MeteringMembershipStateResponse': + """ + Metering-specific state. + """ + return pulumi.get(self, "metering") + + @property + @pulumi.getter + def policycontroller(self) -> 'outputs.PolicyControllerMembershipStateResponse': + """ + Policycontroller-specific state. + """ + return pulumi.get(self, "policycontroller") + + @property + @pulumi.getter + def servicemesh(self) -> 'outputs.ServiceMeshMembershipStateResponse': + """ + Service Mesh-specific state. + """ + return pulumi.get(self, "servicemesh") + + @property + @pulumi.getter + def state(self) -> 'outputs.FeatureStateResponse': + """ + The high-level state of this Feature for a single membership. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class MembershipSpecResponse(dict): + """ + **Cloud Build**: Configurations for each Cloud Build enabled cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "securityPolicy": + suggest = "security_policy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MembershipSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MembershipSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + security_policy: str, + version: str): + """ + **Cloud Build**: Configurations for each Cloud Build enabled cluster. + :param str security_policy: Whether it is allowed to run the privileged builds on the cluster or not. + :param str version: Version of the cloud build software on the cluster. + """ + pulumi.set(__self__, "security_policy", security_policy) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="securityPolicy") + def security_policy(self) -> str: + """ + Whether it is allowed to run the privileged builds on the cluster or not. + """ + return pulumi.get(self, "security_policy") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version of the cloud build software on the cluster. + """ + return pulumi.get(self, "version") + + @pulumi.output_type class MembershipStateResponse(dict): """ @@ -3256,6 +5018,58 @@ def code(self) -> str: return pulumi.get(self, "code") +@pulumi.output_type +class MeteringMembershipStateResponse(dict): + """ + **Metering**: Per-Membership Feature State. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lastMeasurementTime": + suggest = "last_measurement_time" + elif key == "preciseLastMeasuredClusterVcpuCapacity": + suggest = "precise_last_measured_cluster_vcpu_capacity" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MeteringMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MeteringMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MeteringMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + last_measurement_time: str, + precise_last_measured_cluster_vcpu_capacity: float): + """ + **Metering**: Per-Membership Feature State. + :param str last_measurement_time: The time stamp of the most recent measurement of the number of vCPUs in the cluster. + :param float precise_last_measured_cluster_vcpu_capacity: The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + """ + pulumi.set(__self__, "last_measurement_time", last_measurement_time) + pulumi.set(__self__, "precise_last_measured_cluster_vcpu_capacity", precise_last_measured_cluster_vcpu_capacity) + + @property + @pulumi.getter(name="lastMeasurementTime") + def last_measurement_time(self) -> str: + """ + The time stamp of the most recent measurement of the number of vCPUs in the cluster. + """ + return pulumi.get(self, "last_measurement_time") + + @property + @pulumi.getter(name="preciseLastMeasuredClusterVcpuCapacity") + def precise_last_measured_cluster_vcpu_capacity(self) -> float: + """ + The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + """ + return pulumi.get(self, "precise_last_measured_cluster_vcpu_capacity") + + @pulumi.output_type class MonitoringConfigResponse(dict): """ @@ -3539,9 +5353,31 @@ def cluster_type(self) -> str: @pulumi.getter(name="resourceLink") def resource_link(self) -> str: """ - Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + Immutable. Self-link of the Google Cloud resource for the GKE On-Prem cluster. For example: //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/vmwareClusters/my-cluster //gkeonprem.googleapis.com/projects/my-project/locations/us-west1-a/bareMetalClusters/my-cluster + """ + return pulumi.get(self, "resource_link") + + +@pulumi.output_type +class OriginResponse(dict): + """ + Origin defines where this MembershipFeatureSpec originated from. + """ + def __init__(__self__, *, + type: str): + """ + Origin defines where this MembershipFeatureSpec originated from. + :param str type: Type specifies which type of origin is set. + """ + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter + def type(self) -> str: + """ + Type specifies which type of origin is set. """ - return pulumi.get(self, "resource_link") + return pulumi.get(self, "type") @pulumi.output_type @@ -3566,6 +5402,45 @@ def name(self) -> str: return pulumi.get(self, "name") +@pulumi.output_type +class PolicyControllerBundleInstallSpecResponse(dict): + """ + BundleInstallSpec is the specification configuration for a single managed bundle. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "exemptedNamespaces": + suggest = "exempted_namespaces" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerBundleInstallSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerBundleInstallSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerBundleInstallSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exempted_namespaces: Sequence[str]): + """ + BundleInstallSpec is the specification configuration for a single managed bundle. + :param Sequence[str] exempted_namespaces: The set of namespaces to be exempted from the bundle. + """ + pulumi.set(__self__, "exempted_namespaces", exempted_namespaces) + + @property + @pulumi.getter(name="exemptedNamespaces") + def exempted_namespaces(self) -> Sequence[str]: + """ + The set of namespaces to be exempted from the bundle. + """ + return pulumi.get(self, "exempted_namespaces") + + @pulumi.output_type class PolicyControllerHubConfigResponse(dict): """ @@ -3607,7 +5482,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, audit_interval_seconds: str, constraint_violation_limit: str, - deployment_configs: Mapping[str, str], + deployment_configs: Mapping[str, 'outputs.PolicyControllerPolicyControllerDeploymentConfigResponse'], exemptable_namespaces: Sequence[str], install_spec: str, log_denies_enabled: bool, @@ -3619,7 +5494,7 @@ def __init__(__self__, *, Configuration for Policy Controller :param str audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. :param str constraint_violation_limit: The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. - :param Mapping[str, str] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). + :param Mapping[str, 'PolicyControllerPolicyControllerDeploymentConfigResponse'] deployment_configs: Map of deployment configs to deployments ("admission", "audit", "mutation'). :param Sequence[str] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. :param str install_spec: The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. :param bool log_denies_enabled: Logs all denies and dry run failures. @@ -3657,7 +5532,7 @@ def constraint_violation_limit(self) -> str: @property @pulumi.getter(name="deploymentConfigs") - def deployment_configs(self) -> Mapping[str, str]: + def deployment_configs(self) -> Mapping[str, 'outputs.PolicyControllerPolicyControllerDeploymentConfigResponse']: """ Map of deployment configs to deployments ("admission", "audit", "mutation'). """ @@ -3679,167 +5554,485 @@ def install_spec(self) -> str: """ return pulumi.get(self, "install_spec") - @property - @pulumi.getter(name="logDeniesEnabled") - def log_denies_enabled(self) -> bool: - """ - Logs all denies and dry run failures. - """ - return pulumi.get(self, "log_denies_enabled") + @property + @pulumi.getter(name="logDeniesEnabled") + def log_denies_enabled(self) -> bool: + """ + Logs all denies and dry run failures. + """ + return pulumi.get(self, "log_denies_enabled") + + @property + @pulumi.getter + def monitoring(self) -> 'outputs.PolicyControllerMonitoringConfigResponse': + """ + Monitoring specifies the configuration of monitoring. + """ + return pulumi.get(self, "monitoring") + + @property + @pulumi.getter(name="mutationEnabled") + def mutation_enabled(self) -> bool: + """ + Enables the ability to mutate resources using Policy Controller. + """ + return pulumi.get(self, "mutation_enabled") + + @property + @pulumi.getter(name="policyContent") + def policy_content(self) -> 'outputs.PolicyControllerPolicyContentSpecResponse': + """ + Specifies the desired policy content on the cluster + """ + return pulumi.get(self, "policy_content") + + @property + @pulumi.getter(name="referentialRulesEnabled") + def referential_rules_enabled(self) -> bool: + """ + Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + """ + return pulumi.get(self, "referential_rules_enabled") + + +@pulumi.output_type +class PolicyControllerMembershipSpecResponse(dict): + """ + **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "policyControllerHubConfig": + suggest = "policy_controller_hub_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerMembershipSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerMembershipSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + policy_controller_hub_config: 'outputs.PolicyControllerHubConfigResponse', + version: str): + """ + **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + :param 'PolicyControllerHubConfigResponse' policy_controller_hub_config: Policy Controller configuration for the cluster. + :param str version: Version of Policy Controller installed. + """ + pulumi.set(__self__, "policy_controller_hub_config", policy_controller_hub_config) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="policyControllerHubConfig") + def policy_controller_hub_config(self) -> 'outputs.PolicyControllerHubConfigResponse': + """ + Policy Controller configuration for the cluster. + """ + return pulumi.get(self, "policy_controller_hub_config") + + @property + @pulumi.getter + def version(self) -> str: + """ + Version of Policy Controller installed. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class PolicyControllerMembershipStateResponse(dict): + """ + **Policy Controller**: State for a single cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "componentStates": + suggest = "component_states" + elif key == "policyContentState": + suggest = "policy_content_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + component_states: Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse'], + policy_content_state: 'outputs.PolicyControllerPolicyContentStateResponse', + state: str): + """ + **Policy Controller**: State for a single cluster. + :param Mapping[str, 'PolicyControllerOnClusterStateResponse'] component_states: Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + :param 'PolicyControllerPolicyContentStateResponse' policy_content_state: The overall content state observed by the Hub Feature controller. + :param str state: The overall Policy Controller lifecycle state observed by the Hub Feature controller. + """ + pulumi.set(__self__, "component_states", component_states) + pulumi.set(__self__, "policy_content_state", policy_content_state) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter(name="componentStates") + def component_states(self) -> Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse']: + """ + Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + """ + return pulumi.get(self, "component_states") + + @property + @pulumi.getter(name="policyContentState") + def policy_content_state(self) -> 'outputs.PolicyControllerPolicyContentStateResponse': + """ + The overall content state observed by the Hub Feature controller. + """ + return pulumi.get(self, "policy_content_state") + + @property + @pulumi.getter + def state(self) -> str: + """ + The overall Policy Controller lifecycle state observed by the Hub Feature controller. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class PolicyControllerMonitoringConfigResponse(dict): + """ + MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + """ + def __init__(__self__, *, + backends: Sequence[str]): + """ + MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + pulumi.set(__self__, "backends", backends) + + @property + @pulumi.getter + def backends(self) -> Sequence[str]: + """ + Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + """ + return pulumi.get(self, "backends") + + +@pulumi.output_type +class PolicyControllerOnClusterStateResponse(dict): + """ + OnClusterState represents the state of a sub-component of Policy Controller. + """ + def __init__(__self__, *, + details: str, + state: str): + """ + OnClusterState represents the state of a sub-component of Policy Controller. + :param str details: Surface potential errors or information logs. + :param str state: The lifecycle state of this component. + """ + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def details(self) -> str: + """ + Surface potential errors or information logs. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def state(self) -> str: + """ + The lifecycle state of this component. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class PolicyControllerPolicyContentSpecResponse(dict): + """ + PolicyContentSpec defines the user's desired content configuration on the cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "templateLibrary": + suggest = "template_library" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyContentSpecResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerPolicyContentSpecResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerPolicyContentSpecResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bundles: Mapping[str, 'outputs.PolicyControllerBundleInstallSpecResponse'], + template_library: 'outputs.PolicyControllerTemplateLibraryConfigResponse'): + """ + PolicyContentSpec defines the user's desired content configuration on the cluster. + :param Mapping[str, 'PolicyControllerBundleInstallSpecResponse'] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + :param 'PolicyControllerTemplateLibraryConfigResponse' template_library: Configures the installation of the Template Library. + """ + pulumi.set(__self__, "bundles", bundles) + pulumi.set(__self__, "template_library", template_library) + + @property + @pulumi.getter + def bundles(self) -> Mapping[str, 'outputs.PolicyControllerBundleInstallSpecResponse']: + """ + map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + """ + return pulumi.get(self, "bundles") + + @property + @pulumi.getter(name="templateLibrary") + def template_library(self) -> 'outputs.PolicyControllerTemplateLibraryConfigResponse': + """ + Configures the installation of the Template Library. + """ + return pulumi.get(self, "template_library") + + +@pulumi.output_type +class PolicyControllerPolicyContentStateResponse(dict): + """ + The state of the policy controller policy content + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bundleStates": + suggest = "bundle_states" + elif key == "referentialSyncConfigState": + suggest = "referential_sync_config_state" + elif key == "templateLibraryState": + suggest = "template_library_state" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyContentStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyControllerPolicyContentStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyControllerPolicyContentStateResponse.__key_warning(key) + return super().get(key, default) - @property - @pulumi.getter - def monitoring(self) -> 'outputs.PolicyControllerMonitoringConfigResponse': + def __init__(__self__, *, + bundle_states: Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse'], + referential_sync_config_state: 'outputs.PolicyControllerOnClusterStateResponse', + template_library_state: 'outputs.PolicyControllerOnClusterStateResponse'): """ - Monitoring specifies the configuration of monitoring. + The state of the policy controller policy content + :param Mapping[str, 'PolicyControllerOnClusterStateResponse'] bundle_states: The state of the any bundles included in the chosen version of the manifest + :param 'PolicyControllerOnClusterStateResponse' referential_sync_config_state: The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + :param 'PolicyControllerOnClusterStateResponse' template_library_state: The state of the template library """ - return pulumi.get(self, "monitoring") + pulumi.set(__self__, "bundle_states", bundle_states) + pulumi.set(__self__, "referential_sync_config_state", referential_sync_config_state) + pulumi.set(__self__, "template_library_state", template_library_state) @property - @pulumi.getter(name="mutationEnabled") - def mutation_enabled(self) -> bool: + @pulumi.getter(name="bundleStates") + def bundle_states(self) -> Mapping[str, 'outputs.PolicyControllerOnClusterStateResponse']: """ - Enables the ability to mutate resources using Policy Controller. + The state of the any bundles included in the chosen version of the manifest """ - return pulumi.get(self, "mutation_enabled") + return pulumi.get(self, "bundle_states") @property - @pulumi.getter(name="policyContent") - def policy_content(self) -> 'outputs.PolicyControllerPolicyContentSpecResponse': + @pulumi.getter(name="referentialSyncConfigState") + def referential_sync_config_state(self) -> 'outputs.PolicyControllerOnClusterStateResponse': """ - Specifies the desired policy content on the cluster + The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. """ - return pulumi.get(self, "policy_content") + return pulumi.get(self, "referential_sync_config_state") @property - @pulumi.getter(name="referentialRulesEnabled") - def referential_rules_enabled(self) -> bool: + @pulumi.getter(name="templateLibraryState") + def template_library_state(self) -> 'outputs.PolicyControllerOnClusterStateResponse': """ - Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + The state of the template library """ - return pulumi.get(self, "referential_rules_enabled") + return pulumi.get(self, "template_library_state") @pulumi.output_type -class PolicyControllerMembershipSpecResponse(dict): +class PolicyControllerPolicyControllerDeploymentConfigResponse(dict): """ - **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + Deployment-specific configuration. """ @staticmethod def __key_warning(key: str): suggest = None - if key == "policyControllerHubConfig": - suggest = "policy_controller_hub_config" + if key == "containerResources": + suggest = "container_resources" + elif key == "podAffinity": + suggest = "pod_affinity" + elif key == "podAntiAffinity": + suggest = "pod_anti_affinity" + elif key == "podTolerations": + suggest = "pod_tolerations" + elif key == "replicaCount": + suggest = "replica_count" if suggest: - pulumi.log.warn(f"Key '{key}' not found in PolicyControllerMembershipSpecResponse. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyControllerDeploymentConfigResponse. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - PolicyControllerMembershipSpecResponse.__key_warning(key) + PolicyControllerPolicyControllerDeploymentConfigResponse.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - PolicyControllerMembershipSpecResponse.__key_warning(key) + PolicyControllerPolicyControllerDeploymentConfigResponse.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - policy_controller_hub_config: 'outputs.PolicyControllerHubConfigResponse', - version: str): + container_resources: 'outputs.PolicyControllerResourceRequirementsResponse', + pod_affinity: str, + pod_anti_affinity: bool, + pod_tolerations: Sequence['outputs.PolicyControllerTolerationResponse'], + replica_count: str): """ - **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. - :param 'PolicyControllerHubConfigResponse' policy_controller_hub_config: Policy Controller configuration for the cluster. - :param str version: Version of Policy Controller installed. + Deployment-specific configuration. + :param 'PolicyControllerResourceRequirementsResponse' container_resources: Container resource requirements. + :param str pod_affinity: Pod affinity configuration. + :param bool pod_anti_affinity: Pod anti-affinity enablement. + :param Sequence['PolicyControllerTolerationResponse'] pod_tolerations: Pod tolerations of node taints. + :param str replica_count: Pod replica count. """ - pulumi.set(__self__, "policy_controller_hub_config", policy_controller_hub_config) - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "container_resources", container_resources) + pulumi.set(__self__, "pod_affinity", pod_affinity) + pulumi.set(__self__, "pod_anti_affinity", pod_anti_affinity) + pulumi.set(__self__, "pod_tolerations", pod_tolerations) + pulumi.set(__self__, "replica_count", replica_count) @property - @pulumi.getter(name="policyControllerHubConfig") - def policy_controller_hub_config(self) -> 'outputs.PolicyControllerHubConfigResponse': + @pulumi.getter(name="containerResources") + def container_resources(self) -> 'outputs.PolicyControllerResourceRequirementsResponse': """ - Policy Controller configuration for the cluster. + Container resource requirements. """ - return pulumi.get(self, "policy_controller_hub_config") + return pulumi.get(self, "container_resources") @property - @pulumi.getter - def version(self) -> str: + @pulumi.getter(name="podAffinity") + def pod_affinity(self) -> str: """ - Version of Policy Controller installed. + Pod affinity configuration. """ - return pulumi.get(self, "version") + return pulumi.get(self, "pod_affinity") + + @property + @pulumi.getter(name="podAntiAffinity") + def pod_anti_affinity(self) -> bool: + """ + Pod anti-affinity enablement. + """ + return pulumi.get(self, "pod_anti_affinity") + + @property + @pulumi.getter(name="podTolerations") + def pod_tolerations(self) -> Sequence['outputs.PolicyControllerTolerationResponse']: + """ + Pod tolerations of node taints. + """ + return pulumi.get(self, "pod_tolerations") + + @property + @pulumi.getter(name="replicaCount") + def replica_count(self) -> str: + """ + Pod replica count. + """ + return pulumi.get(self, "replica_count") @pulumi.output_type -class PolicyControllerMonitoringConfigResponse(dict): +class PolicyControllerResourceListResponse(dict): """ - MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + ResourceList contains container resource requirements. """ def __init__(__self__, *, - backends: Sequence[str]): + cpu: str, + memory: str): """ - MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] - :param Sequence[str] backends: Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + ResourceList contains container resource requirements. + :param str cpu: CPU requirement expressed in Kubernetes resource units. + :param str memory: Memory requirement expressed in Kubernetes resource units. """ - pulumi.set(__self__, "backends", backends) + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "memory", memory) @property @pulumi.getter - def backends(self) -> Sequence[str]: + def cpu(self) -> str: """ - Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + CPU requirement expressed in Kubernetes resource units. """ - return pulumi.get(self, "backends") + return pulumi.get(self, "cpu") + + @property + @pulumi.getter + def memory(self) -> str: + """ + Memory requirement expressed in Kubernetes resource units. + """ + return pulumi.get(self, "memory") @pulumi.output_type -class PolicyControllerPolicyContentSpecResponse(dict): +class PolicyControllerResourceRequirementsResponse(dict): """ - PolicyContentSpec defines the user's desired content configuration on the cluster. + ResourceRequirements describes the compute resource requirements. """ - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "templateLibrary": - suggest = "template_library" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in PolicyControllerPolicyContentSpecResponse. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - PolicyControllerPolicyContentSpecResponse.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - PolicyControllerPolicyContentSpecResponse.__key_warning(key) - return super().get(key, default) - def __init__(__self__, *, - bundles: Mapping[str, str], - template_library: 'outputs.PolicyControllerTemplateLibraryConfigResponse'): + limits: 'outputs.PolicyControllerResourceListResponse', + requests: 'outputs.PolicyControllerResourceListResponse'): """ - PolicyContentSpec defines the user's desired content configuration on the cluster. - :param Mapping[str, str] bundles: map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. - :param 'PolicyControllerTemplateLibraryConfigResponse' template_library: Configures the installation of the Template Library. + ResourceRequirements describes the compute resource requirements. + :param 'PolicyControllerResourceListResponse' limits: Limits describes the maximum amount of compute resources allowed for use by the running container. + :param 'PolicyControllerResourceListResponse' requests: Requests describes the amount of compute resources reserved for the container by the kube-scheduler. """ - pulumi.set(__self__, "bundles", bundles) - pulumi.set(__self__, "template_library", template_library) + pulumi.set(__self__, "limits", limits) + pulumi.set(__self__, "requests", requests) @property @pulumi.getter - def bundles(self) -> Mapping[str, str]: + def limits(self) -> 'outputs.PolicyControllerResourceListResponse': """ - map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + Limits describes the maximum amount of compute resources allowed for use by the running container. """ - return pulumi.get(self, "bundles") + return pulumi.get(self, "limits") @property - @pulumi.getter(name="templateLibrary") - def template_library(self) -> 'outputs.PolicyControllerTemplateLibraryConfigResponse': + @pulumi.getter + def requests(self) -> 'outputs.PolicyControllerResourceListResponse': """ - Configures the installation of the Template Library. + Requests describes the amount of compute resources reserved for the container by the kube-scheduler. """ - return pulumi.get(self, "template_library") + return pulumi.get(self, "requests") @pulumi.output_type @@ -3864,6 +6057,61 @@ def installation(self) -> str: return pulumi.get(self, "installation") +@pulumi.output_type +class PolicyControllerTolerationResponse(dict): + """ + Toleration of a node taint. + """ + def __init__(__self__, *, + effect: str, + key: str, + operator: str, + value: str): + """ + Toleration of a node taint. + :param str effect: Matches a taint effect. + :param str key: Matches a taint key (not necessarily unique). + :param str operator: Matches a taint operator. + :param str value: Matches a taint value. + """ + pulumi.set(__self__, "effect", effect) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "operator", operator) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def effect(self) -> str: + """ + Matches a taint effect. + """ + return pulumi.get(self, "effect") + + @property + @pulumi.getter + def key(self) -> str: + """ + Matches a taint key (not necessarily unique). + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def operator(self) -> str: + """ + Matches a taint operator. + """ + return pulumi.get(self, "operator") + + @property + @pulumi.getter + def value(self) -> str: + """ + Matches a taint value. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class RBACRoleBindingLifecycleStateResponse(dict): """ @@ -4040,6 +6288,40 @@ def predefined_role(self) -> str: return pulumi.get(self, "predefined_role") +@pulumi.output_type +class ScopeFeatureSpecResponse(dict): + """ + ScopeFeatureSpec contains feature specs for a fleet scope. + """ + def __init__(__self__): + """ + ScopeFeatureSpec contains feature specs for a fleet scope. + """ + pass + + +@pulumi.output_type +class ScopeFeatureStateResponse(dict): + """ + ScopeFeatureState contains Scope-wide Feature status information. + """ + def __init__(__self__, *, + state: 'outputs.FeatureStateResponse'): + """ + ScopeFeatureState contains Scope-wide Feature status information. + :param 'FeatureStateResponse' state: The "running state" of the Feature in this Scope. + """ + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def state(self) -> 'outputs.FeatureStateResponse': + """ + The "running state" of the Feature in this Scope. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class ScopeLifecycleStateResponse(dict): """ @@ -4112,6 +6394,72 @@ def vulnerability_mode(self) -> str: return pulumi.get(self, "vulnerability_mode") +@pulumi.output_type +class ServiceMeshControlPlaneManagementResponse(dict): + """ + Status of control plane management. + """ + def __init__(__self__, *, + details: Sequence['outputs.ServiceMeshStatusDetailsResponse'], + state: str): + """ + Status of control plane management. + :param Sequence['ServiceMeshStatusDetailsResponse'] details: Explanation of state. + :param str state: LifecycleState of control plane management. + """ + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def details(self) -> Sequence['outputs.ServiceMeshStatusDetailsResponse']: + """ + Explanation of state. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def state(self) -> str: + """ + LifecycleState of control plane management. + """ + return pulumi.get(self, "state") + + +@pulumi.output_type +class ServiceMeshDataPlaneManagementResponse(dict): + """ + Status of data plane management. Only reported per-member. + """ + def __init__(__self__, *, + details: Sequence['outputs.ServiceMeshStatusDetailsResponse'], + state: str): + """ + Status of data plane management. Only reported per-member. + :param Sequence['ServiceMeshStatusDetailsResponse'] details: Explanation of the status. + :param str state: Lifecycle status of data plane management. + """ + pulumi.set(__self__, "details", details) + pulumi.set(__self__, "state", state) + + @property + @pulumi.getter + def details(self) -> Sequence['outputs.ServiceMeshStatusDetailsResponse']: + """ + Explanation of the status. + """ + return pulumi.get(self, "details") + + @property + @pulumi.getter + def state(self) -> str: + """ + Lifecycle status of data plane management. + """ + return pulumi.get(self, "state") + + @pulumi.output_type class ServiceMeshMembershipSpecResponse(dict): """ @@ -4163,6 +6511,91 @@ def management(self) -> str: return pulumi.get(self, "management") +@pulumi.output_type +class ServiceMeshMembershipStateResponse(dict): + """ + **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "controlPlaneManagement": + suggest = "control_plane_management" + elif key == "dataPlaneManagement": + suggest = "data_plane_management" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ServiceMeshMembershipStateResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ServiceMeshMembershipStateResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ServiceMeshMembershipStateResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + control_plane_management: 'outputs.ServiceMeshControlPlaneManagementResponse', + data_plane_management: 'outputs.ServiceMeshDataPlaneManagementResponse'): + """ + **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + :param 'ServiceMeshControlPlaneManagementResponse' control_plane_management: Status of control plane management + :param 'ServiceMeshDataPlaneManagementResponse' data_plane_management: Status of data plane management. + """ + pulumi.set(__self__, "control_plane_management", control_plane_management) + pulumi.set(__self__, "data_plane_management", data_plane_management) + + @property + @pulumi.getter(name="controlPlaneManagement") + def control_plane_management(self) -> 'outputs.ServiceMeshControlPlaneManagementResponse': + """ + Status of control plane management + """ + return pulumi.get(self, "control_plane_management") + + @property + @pulumi.getter(name="dataPlaneManagement") + def data_plane_management(self) -> 'outputs.ServiceMeshDataPlaneManagementResponse': + """ + Status of data plane management. + """ + return pulumi.get(self, "data_plane_management") + + +@pulumi.output_type +class ServiceMeshStatusDetailsResponse(dict): + """ + Structured and human-readable details for a status. + """ + def __init__(__self__, *, + code: str, + details: str): + """ + Structured and human-readable details for a status. + :param str code: A machine-readable code that further describes a broad status. + :param str details: Human-readable explanation of code. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "details", details) + + @property + @pulumi.getter + def code(self) -> str: + """ + A machine-readable code that further describes a broad status. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def details(self) -> str: + """ + Human-readable explanation of code. + """ + return pulumi.get(self, "details") + + @pulumi.output_type class StatusResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/healthcare/v1/_inputs.py b/sdk/python/pulumi_google_native/healthcare/v1/_inputs.py index 401f38ac15..10238b4636 100644 --- a/sdk/python/pulumi_google_native/healthcare/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/healthcare/v1/_inputs.py @@ -30,6 +30,7 @@ 'GoogleCloudHealthcareV1DicomBigQueryDestinationArgs', 'GoogleCloudHealthcareV1DicomStreamConfigArgs', 'GoogleCloudHealthcareV1FhirBigQueryDestinationArgs', + 'GroupOrSegmentArgs', 'Hl7SchemaConfigArgs', 'Hl7TypesConfigArgs', 'Hl7V2NotificationConfigArgs', @@ -43,7 +44,9 @@ 'RedactConfigArgs', 'ReplaceWithInfoTypeConfigArgs', 'SchemaConfigArgs', + 'SchemaGroupArgs', 'SchemaPackageArgs', + 'SchemaSegmentArgs', 'SchematizedDataArgs', 'SignatureArgs', 'StreamConfigArgs', @@ -1021,14 +1024,46 @@ def write_disposition(self, value: Optional[pulumi.Input['GoogleCloudHealthcareV pulumi.set(self, "write_disposition", value) +@pulumi.input_type +class GroupOrSegmentArgs: + def __init__(__self__, *, + group: Optional[pulumi.Input['SchemaGroupArgs']] = None, + segment: Optional[pulumi.Input['SchemaSegmentArgs']] = None): + """ + Construct representing a logical group or a segment. + """ + if group is not None: + pulumi.set(__self__, "group", group) + if segment is not None: + pulumi.set(__self__, "segment", segment) + + @property + @pulumi.getter + def group(self) -> Optional[pulumi.Input['SchemaGroupArgs']]: + return pulumi.get(self, "group") + + @group.setter + def group(self, value: Optional[pulumi.Input['SchemaGroupArgs']]): + pulumi.set(self, "group", value) + + @property + @pulumi.getter + def segment(self) -> Optional[pulumi.Input['SchemaSegmentArgs']]: + return pulumi.get(self, "segment") + + @segment.setter + def segment(self, value: Optional[pulumi.Input['SchemaSegmentArgs']]): + pulumi.set(self, "segment", value) + + @pulumi.input_type class Hl7SchemaConfigArgs: def __init__(__self__, *, - message_schema_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + message_schema_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['SchemaGroupArgs']]]] = None, version: Optional[pulumi.Input[Sequence[pulumi.Input['VersionSourceArgs']]]] = None): """ Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] message_schema_configs: Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. + :param pulumi.Input[Mapping[str, pulumi.Input['SchemaGroupArgs']]] message_schema_configs: Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. :param pulumi.Input[Sequence[pulumi.Input['VersionSourceArgs']]] version: Each VersionSource is tested and only if they all match is the schema used for the message. """ if message_schema_configs is not None: @@ -1038,14 +1073,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="messageSchemaConfigs") - def message_schema_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def message_schema_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['SchemaGroupArgs']]]]: """ Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. """ return pulumi.get(self, "message_schema_configs") @message_schema_configs.setter - def message_schema_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def message_schema_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['SchemaGroupArgs']]]]): pulumi.set(self, "message_schema_configs", value) @property @@ -1573,6 +1608,94 @@ def schema_type(self, value: Optional[pulumi.Input['SchemaConfigSchemaType']]): pulumi.set(self, "schema_type", value) +@pulumi.input_type +class SchemaGroupArgs: + def __init__(__self__, *, + choice: Optional[pulumi.Input[bool]] = None, + max_occurs: Optional[pulumi.Input[int]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input['GroupOrSegmentArgs']]]] = None, + min_occurs: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + An HL7v2 logical group construct. + :param pulumi.Input[bool] choice: True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + :param pulumi.Input[int] max_occurs: The maximum number of times this group can be repeated. 0 or -1 means unbounded. + :param pulumi.Input[Sequence[pulumi.Input['GroupOrSegmentArgs']]] members: Nested groups and/or segments. + :param pulumi.Input[int] min_occurs: The minimum number of times this group must be present/repeated. + :param pulumi.Input[str] name: The name of this group. For example, "ORDER_DETAIL". + """ + if choice is not None: + pulumi.set(__self__, "choice", choice) + if max_occurs is not None: + pulumi.set(__self__, "max_occurs", max_occurs) + if members is not None: + pulumi.set(__self__, "members", members) + if min_occurs is not None: + pulumi.set(__self__, "min_occurs", min_occurs) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def choice(self) -> Optional[pulumi.Input[bool]]: + """ + True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + """ + return pulumi.get(self, "choice") + + @choice.setter + def choice(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "choice", value) + + @property + @pulumi.getter(name="maxOccurs") + def max_occurs(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of times this group can be repeated. 0 or -1 means unbounded. + """ + return pulumi.get(self, "max_occurs") + + @max_occurs.setter + def max_occurs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_occurs", value) + + @property + @pulumi.getter + def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GroupOrSegmentArgs']]]]: + """ + Nested groups and/or segments. + """ + return pulumi.get(self, "members") + + @members.setter + def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GroupOrSegmentArgs']]]]): + pulumi.set(self, "members", value) + + @property + @pulumi.getter(name="minOccurs") + def min_occurs(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of times this group must be present/repeated. + """ + return pulumi.get(self, "min_occurs") + + @min_occurs.setter + def min_occurs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_occurs", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of this group. For example, "ORDER_DETAIL". + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @pulumi.input_type class SchemaPackageArgs: def __init__(__self__, *, @@ -1661,6 +1784,62 @@ def unexpected_segment_handling(self, value: Optional[pulumi.Input['SchemaPackag pulumi.set(self, "unexpected_segment_handling", value) +@pulumi.input_type +class SchemaSegmentArgs: + def __init__(__self__, *, + max_occurs: Optional[pulumi.Input[int]] = None, + min_occurs: Optional[pulumi.Input[int]] = None, + type: Optional[pulumi.Input[str]] = None): + """ + An HL7v2 Segment. + :param pulumi.Input[int] max_occurs: The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + :param pulumi.Input[int] min_occurs: The minimum number of times this segment can be present in this group. + :param pulumi.Input[str] type: The Segment type. For example, "PID". + """ + if max_occurs is not None: + pulumi.set(__self__, "max_occurs", max_occurs) + if min_occurs is not None: + pulumi.set(__self__, "min_occurs", min_occurs) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="maxOccurs") + def max_occurs(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + """ + return pulumi.get(self, "max_occurs") + + @max_occurs.setter + def max_occurs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_occurs", value) + + @property + @pulumi.getter(name="minOccurs") + def min_occurs(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of times this segment can be present in this group. + """ + return pulumi.get(self, "min_occurs") + + @min_occurs.setter + def min_occurs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_occurs", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The Segment type. For example, "PID". + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @pulumi.input_type class SchematizedDataArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/healthcare/v1/get_fhir.py b/sdk/python/pulumi_google_native/healthcare/v1/get_fhir.py index 6283ed1064..35a6edd3a1 100644 --- a/sdk/python/pulumi_google_native/healthcare/v1/get_fhir.py +++ b/sdk/python/pulumi_google_native/healthcare/v1/get_fhir.py @@ -47,7 +47,7 @@ def data(self) -> str: @property @pulumi.getter - def extensions(self) -> Sequence[Mapping[str, str]]: + def extensions(self) -> Sequence[Mapping[str, Any]]: """ Application specific response metadata. Must be set in the first response for streaming APIs. """ diff --git a/sdk/python/pulumi_google_native/healthcare/v1/outputs.py b/sdk/python/pulumi_google_native/healthcare/v1/outputs.py index 1e26327947..62746b45da 100644 --- a/sdk/python/pulumi_google_native/healthcare/v1/outputs.py +++ b/sdk/python/pulumi_google_native/healthcare/v1/outputs.py @@ -31,6 +31,7 @@ 'GoogleCloudHealthcareV1DicomBigQueryDestinationResponse', 'GoogleCloudHealthcareV1DicomStreamConfigResponse', 'GoogleCloudHealthcareV1FhirBigQueryDestinationResponse', + 'GroupOrSegmentResponse', 'Hl7SchemaConfigResponse', 'Hl7TypesConfigResponse', 'Hl7V2NotificationConfigResponse', @@ -45,7 +46,9 @@ 'RedactConfigResponse', 'ReplaceWithInfoTypeConfigResponse', 'SchemaConfigResponse', + 'SchemaGroupResponse', 'SchemaPackageResponse', + 'SchemaSegmentResponse', 'SchematizedDataResponse', 'SegmentResponse', 'SignatureResponse', @@ -1111,6 +1114,31 @@ def write_disposition(self) -> str: return pulumi.get(self, "write_disposition") +@pulumi.output_type +class GroupOrSegmentResponse(dict): + """ + Construct representing a logical group or a segment. + """ + def __init__(__self__, *, + group: 'outputs.SchemaGroupResponse', + segment: 'outputs.SchemaSegmentResponse'): + """ + Construct representing a logical group or a segment. + """ + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "segment", segment) + + @property + @pulumi.getter + def group(self) -> 'outputs.SchemaGroupResponse': + return pulumi.get(self, "group") + + @property + @pulumi.getter + def segment(self) -> 'outputs.SchemaSegmentResponse': + return pulumi.get(self, "segment") + + @pulumi.output_type class Hl7SchemaConfigResponse(dict): """ @@ -1134,11 +1162,11 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - message_schema_configs: Mapping[str, str], + message_schema_configs: Mapping[str, 'outputs.SchemaGroupResponse'], version: Sequence['outputs.VersionSourceResponse']): """ Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. - :param Mapping[str, str] message_schema_configs: Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. + :param Mapping[str, 'SchemaGroupResponse'] message_schema_configs: Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. :param Sequence['VersionSourceResponse'] version: Each VersionSource is tested and only if they all match is the schema used for the message. """ pulumi.set(__self__, "message_schema_configs", message_schema_configs) @@ -1146,7 +1174,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="messageSchemaConfigs") - def message_schema_configs(self) -> Mapping[str, str]: + def message_schema_configs(self) -> Mapping[str, 'outputs.SchemaGroupResponse']: """ Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. """ @@ -1757,6 +1785,91 @@ def schema_type(self) -> str: return pulumi.get(self, "schema_type") +@pulumi.output_type +class SchemaGroupResponse(dict): + """ + An HL7v2 logical group construct. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxOccurs": + suggest = "max_occurs" + elif key == "minOccurs": + suggest = "min_occurs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SchemaGroupResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SchemaGroupResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SchemaGroupResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + choice: bool, + max_occurs: int, + members: Sequence['outputs.GroupOrSegmentResponse'], + min_occurs: int, + name: str): + """ + An HL7v2 logical group construct. + :param bool choice: True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + :param int max_occurs: The maximum number of times this group can be repeated. 0 or -1 means unbounded. + :param Sequence['GroupOrSegmentResponse'] members: Nested groups and/or segments. + :param int min_occurs: The minimum number of times this group must be present/repeated. + :param str name: The name of this group. For example, "ORDER_DETAIL". + """ + pulumi.set(__self__, "choice", choice) + pulumi.set(__self__, "max_occurs", max_occurs) + pulumi.set(__self__, "members", members) + pulumi.set(__self__, "min_occurs", min_occurs) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def choice(self) -> bool: + """ + True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + """ + return pulumi.get(self, "choice") + + @property + @pulumi.getter(name="maxOccurs") + def max_occurs(self) -> int: + """ + The maximum number of times this group can be repeated. 0 or -1 means unbounded. + """ + return pulumi.get(self, "max_occurs") + + @property + @pulumi.getter + def members(self) -> Sequence['outputs.GroupOrSegmentResponse']: + """ + Nested groups and/or segments. + """ + return pulumi.get(self, "members") + + @property + @pulumi.getter(name="minOccurs") + def min_occurs(self) -> int: + """ + The minimum number of times this group must be present/repeated. + """ + return pulumi.get(self, "min_occurs") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of this group. For example, "ORDER_DETAIL". + """ + return pulumi.get(self, "name") + + @pulumi.output_type class SchemaPackageResponse(dict): """ @@ -1844,6 +1957,69 @@ def unexpected_segment_handling(self) -> str: return pulumi.get(self, "unexpected_segment_handling") +@pulumi.output_type +class SchemaSegmentResponse(dict): + """ + An HL7v2 Segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxOccurs": + suggest = "max_occurs" + elif key == "minOccurs": + suggest = "min_occurs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SchemaSegmentResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SchemaSegmentResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SchemaSegmentResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_occurs: int, + min_occurs: int, + type: str): + """ + An HL7v2 Segment. + :param int max_occurs: The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + :param int min_occurs: The minimum number of times this segment can be present in this group. + :param str type: The Segment type. For example, "PID". + """ + pulumi.set(__self__, "max_occurs", max_occurs) + pulumi.set(__self__, "min_occurs", min_occurs) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="maxOccurs") + def max_occurs(self) -> int: + """ + The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + """ + return pulumi.get(self, "max_occurs") + + @property + @pulumi.getter(name="minOccurs") + def min_occurs(self) -> int: + """ + The minimum number of times this segment can be present in this group. + """ + return pulumi.get(self, "min_occurs") + + @property + @pulumi.getter + def type(self) -> str: + """ + The Segment type. For example, "PID". + """ + return pulumi.get(self, "type") + + @pulumi.output_type class SchematizedDataResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/healthcare/v1beta1/_inputs.py b/sdk/python/pulumi_google_native/healthcare/v1beta1/_inputs.py index 6600b23091..9e43ac2ac7 100644 --- a/sdk/python/pulumi_google_native/healthcare/v1beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/healthcare/v1beta1/_inputs.py @@ -37,6 +37,7 @@ 'DeidentifyConfigArgs', 'DeidentifyOperationMetadataArgs', 'DeleteTagArgs', + 'DetailArgs', 'DicomConfigArgs', 'DicomTagConfigArgs', 'ExprArgs', @@ -46,12 +47,14 @@ 'FhirOutputArgs', 'FieldMetadataArgs', 'FieldArgs', + 'FindingArgs', 'GoogleCloudHealthcareV1beta1ConsentPolicyArgs', 'GoogleCloudHealthcareV1beta1DeidentifyFieldMetadataArgs', 'GoogleCloudHealthcareV1beta1DeidentifyOptionsArgs', 'GoogleCloudHealthcareV1beta1DicomBigQueryDestinationArgs', 'GoogleCloudHealthcareV1beta1DicomStreamConfigArgs', 'GoogleCloudHealthcareV1beta1FhirBigQueryDestinationArgs', + 'GroupOrSegmentArgs', 'Hl7SchemaConfigArgs', 'Hl7TypesConfigArgs', 'Hl7V2NotificationConfigArgs', @@ -76,7 +79,9 @@ 'ResetTagArgs', 'ResourceAnnotationArgs', 'SchemaConfigArgs', + 'SchemaGroupArgs', 'SchemaPackageArgs', + 'SchemaSegmentArgs', 'SchematizedDataArgs', 'SearchConfigArgs', 'SearchParameterArgs', @@ -1087,6 +1092,26 @@ def __init__(__self__): pass +@pulumi.input_type +class DetailArgs: + def __init__(__self__, *, + findings: Optional[pulumi.Input[Sequence[pulumi.Input['FindingArgs']]]] = None): + """ + Contains multiple sensitive information findings for each resource slice. + """ + if findings is not None: + pulumi.set(__self__, "findings", findings) + + @property + @pulumi.getter + def findings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FindingArgs']]]]: + return pulumi.get(self, "findings") + + @findings.setter + def findings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FindingArgs']]]]): + pulumi.set(self, "findings", value) + + @pulumi.input_type class DicomConfigArgs: def __init__(__self__, *, @@ -1591,6 +1616,77 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class FindingArgs: + def __init__(__self__, *, + end: Optional[pulumi.Input[str]] = None, + info_type: Optional[pulumi.Input[str]] = None, + quote: Optional[pulumi.Input[str]] = None, + start: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] end: Zero-based ending index of the found text, exclusively. + :param pulumi.Input[str] info_type: The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + :param pulumi.Input[str] quote: The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + :param pulumi.Input[str] start: Zero-based starting index of the found text, inclusively. + """ + if end is not None: + pulumi.set(__self__, "end", end) + if info_type is not None: + pulumi.set(__self__, "info_type", info_type) + if quote is not None: + pulumi.set(__self__, "quote", quote) + if start is not None: + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> Optional[pulumi.Input[str]]: + """ + Zero-based ending index of the found text, exclusively. + """ + return pulumi.get(self, "end") + + @end.setter + def end(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "end", value) + + @property + @pulumi.getter(name="infoType") + def info_type(self) -> Optional[pulumi.Input[str]]: + """ + The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + """ + return pulumi.get(self, "info_type") + + @info_type.setter + def info_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "info_type", value) + + @property + @pulumi.getter + def quote(self) -> Optional[pulumi.Input[str]]: + """ + The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + """ + return pulumi.get(self, "quote") + + @quote.setter + def quote(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "quote", value) + + @property + @pulumi.getter + def start(self) -> Optional[pulumi.Input[str]]: + """ + Zero-based starting index of the found text, inclusively. + """ + return pulumi.get(self, "start") + + @start.setter + def start(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "start", value) + + @pulumi.input_type class GoogleCloudHealthcareV1beta1ConsentPolicyArgs: def __init__(__self__, *, @@ -1990,14 +2086,46 @@ def write_disposition(self, value: Optional[pulumi.Input['GoogleCloudHealthcareV pulumi.set(self, "write_disposition", value) +@pulumi.input_type +class GroupOrSegmentArgs: + def __init__(__self__, *, + group: Optional[pulumi.Input['SchemaGroupArgs']] = None, + segment: Optional[pulumi.Input['SchemaSegmentArgs']] = None): + """ + Construct representing a logical group or a segment. + """ + if group is not None: + pulumi.set(__self__, "group", group) + if segment is not None: + pulumi.set(__self__, "segment", segment) + + @property + @pulumi.getter + def group(self) -> Optional[pulumi.Input['SchemaGroupArgs']]: + return pulumi.get(self, "group") + + @group.setter + def group(self, value: Optional[pulumi.Input['SchemaGroupArgs']]): + pulumi.set(self, "group", value) + + @property + @pulumi.getter + def segment(self) -> Optional[pulumi.Input['SchemaSegmentArgs']]: + return pulumi.get(self, "segment") + + @segment.setter + def segment(self, value: Optional[pulumi.Input['SchemaSegmentArgs']]): + pulumi.set(self, "segment", value) + + @pulumi.input_type class Hl7SchemaConfigArgs: def __init__(__self__, *, - message_schema_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + message_schema_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['SchemaGroupArgs']]]] = None, version: Optional[pulumi.Input[Sequence[pulumi.Input['VersionSourceArgs']]]] = None): """ Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] message_schema_configs: Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. + :param pulumi.Input[Mapping[str, pulumi.Input['SchemaGroupArgs']]] message_schema_configs: Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. :param pulumi.Input[Sequence[pulumi.Input['VersionSourceArgs']]] version: Each VersionSource is tested and only if they all match is the schema used for the message. """ if message_schema_configs is not None: @@ -2007,14 +2135,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="messageSchemaConfigs") - def message_schema_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def message_schema_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['SchemaGroupArgs']]]]: """ Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. """ return pulumi.get(self, "message_schema_configs") @message_schema_configs.setter - def message_schema_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def message_schema_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['SchemaGroupArgs']]]]): pulumi.set(self, "message_schema_configs", value) @property @@ -2766,6 +2894,94 @@ def schema_type(self, value: Optional[pulumi.Input['SchemaConfigSchemaType']]): pulumi.set(self, "schema_type", value) +@pulumi.input_type +class SchemaGroupArgs: + def __init__(__self__, *, + choice: Optional[pulumi.Input[bool]] = None, + max_occurs: Optional[pulumi.Input[int]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input['GroupOrSegmentArgs']]]] = None, + min_occurs: Optional[pulumi.Input[int]] = None, + name: Optional[pulumi.Input[str]] = None): + """ + An HL7v2 logical group construct. + :param pulumi.Input[bool] choice: True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + :param pulumi.Input[int] max_occurs: The maximum number of times this group can be repeated. 0 or -1 means unbounded. + :param pulumi.Input[Sequence[pulumi.Input['GroupOrSegmentArgs']]] members: Nested groups and/or segments. + :param pulumi.Input[int] min_occurs: The minimum number of times this group must be present/repeated. + :param pulumi.Input[str] name: The name of this group. For example, "ORDER_DETAIL". + """ + if choice is not None: + pulumi.set(__self__, "choice", choice) + if max_occurs is not None: + pulumi.set(__self__, "max_occurs", max_occurs) + if members is not None: + pulumi.set(__self__, "members", members) + if min_occurs is not None: + pulumi.set(__self__, "min_occurs", min_occurs) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def choice(self) -> Optional[pulumi.Input[bool]]: + """ + True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + """ + return pulumi.get(self, "choice") + + @choice.setter + def choice(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "choice", value) + + @property + @pulumi.getter(name="maxOccurs") + def max_occurs(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of times this group can be repeated. 0 or -1 means unbounded. + """ + return pulumi.get(self, "max_occurs") + + @max_occurs.setter + def max_occurs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_occurs", value) + + @property + @pulumi.getter + def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GroupOrSegmentArgs']]]]: + """ + Nested groups and/or segments. + """ + return pulumi.get(self, "members") + + @members.setter + def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GroupOrSegmentArgs']]]]): + pulumi.set(self, "members", value) + + @property + @pulumi.getter(name="minOccurs") + def min_occurs(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of times this group must be present/repeated. + """ + return pulumi.get(self, "min_occurs") + + @min_occurs.setter + def min_occurs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_occurs", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name of this group. For example, "ORDER_DETAIL". + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @pulumi.input_type class SchemaPackageArgs: def __init__(__self__, *, @@ -2854,6 +3070,62 @@ def unexpected_segment_handling(self, value: Optional[pulumi.Input['SchemaPackag pulumi.set(self, "unexpected_segment_handling", value) +@pulumi.input_type +class SchemaSegmentArgs: + def __init__(__self__, *, + max_occurs: Optional[pulumi.Input[int]] = None, + min_occurs: Optional[pulumi.Input[int]] = None, + type: Optional[pulumi.Input[str]] = None): + """ + An HL7v2 Segment. + :param pulumi.Input[int] max_occurs: The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + :param pulumi.Input[int] min_occurs: The minimum number of times this segment can be present in this group. + :param pulumi.Input[str] type: The Segment type. For example, "PID". + """ + if max_occurs is not None: + pulumi.set(__self__, "max_occurs", max_occurs) + if min_occurs is not None: + pulumi.set(__self__, "min_occurs", min_occurs) + if type is not None: + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="maxOccurs") + def max_occurs(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + """ + return pulumi.get(self, "max_occurs") + + @max_occurs.setter + def max_occurs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_occurs", value) + + @property + @pulumi.getter(name="minOccurs") + def min_occurs(self) -> Optional[pulumi.Input[int]]: + """ + The minimum number of times this segment can be present in this group. + """ + return pulumi.get(self, "min_occurs") + + @min_occurs.setter + def min_occurs(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "min_occurs", value) + + @property + @pulumi.getter + def type(self) -> Optional[pulumi.Input[str]]: + """ + The Segment type. For example, "PID". + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "type", value) + + @pulumi.input_type class SchematizedDataArgs: def __init__(__self__, *, @@ -2961,24 +3233,24 @@ def parameter(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class SensitiveTextAnnotationArgs: def __init__(__self__, *, - details: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + details: Optional[pulumi.Input[Mapping[str, pulumi.Input['DetailArgs']]]] = None): """ A TextAnnotation specifies a text range that includes sensitive information. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] details: Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} + :param pulumi.Input[Mapping[str, pulumi.Input['DetailArgs']]] details: Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} """ if details is not None: pulumi.set(__self__, "details", details) @property @pulumi.getter - def details(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def details(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['DetailArgs']]]]: """ Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} """ return pulumi.get(self, "details") @details.setter - def details(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def details(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['DetailArgs']]]]): pulumi.set(self, "details", value) diff --git a/sdk/python/pulumi_google_native/healthcare/v1beta1/get_fhir.py b/sdk/python/pulumi_google_native/healthcare/v1beta1/get_fhir.py index 2e3741d5e1..c10c9cb07f 100644 --- a/sdk/python/pulumi_google_native/healthcare/v1beta1/get_fhir.py +++ b/sdk/python/pulumi_google_native/healthcare/v1beta1/get_fhir.py @@ -47,7 +47,7 @@ def data(self) -> str: @property @pulumi.getter - def extensions(self) -> Sequence[Mapping[str, str]]: + def extensions(self) -> Sequence[Mapping[str, Any]]: """ Application specific response metadata. Must be set in the first response for streaming APIs. """ diff --git a/sdk/python/pulumi_google_native/healthcare/v1beta1/outputs.py b/sdk/python/pulumi_google_native/healthcare/v1beta1/outputs.py index 8ee0051001..d843da199a 100644 --- a/sdk/python/pulumi_google_native/healthcare/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/healthcare/v1beta1/outputs.py @@ -38,6 +38,7 @@ 'DeidentifyConfigResponse', 'DeidentifyOperationMetadataResponse', 'DeleteTagResponse', + 'DetailResponse', 'DicomConfigResponse', 'DicomTagConfigResponse', 'ExprResponse', @@ -47,12 +48,14 @@ 'FhirOutputResponse', 'FieldMetadataResponse', 'FieldResponse', + 'FindingResponse', 'GoogleCloudHealthcareV1beta1ConsentPolicyResponse', 'GoogleCloudHealthcareV1beta1DeidentifyFieldMetadataResponse', 'GoogleCloudHealthcareV1beta1DeidentifyOptionsResponse', 'GoogleCloudHealthcareV1beta1DicomBigQueryDestinationResponse', 'GoogleCloudHealthcareV1beta1DicomStreamConfigResponse', 'GoogleCloudHealthcareV1beta1FhirBigQueryDestinationResponse', + 'GroupOrSegmentResponse', 'Hl7SchemaConfigResponse', 'Hl7TypesConfigResponse', 'Hl7V2NotificationConfigResponse', @@ -78,7 +81,9 @@ 'ResetTagResponse', 'ResourceAnnotationResponse', 'SchemaConfigResponse', + 'SchemaGroupResponse', 'SchemaPackageResponse', + 'SchemaSegmentResponse', 'SchematizedDataResponse', 'SearchConfigResponse', 'SearchParameterResponse', @@ -1175,6 +1180,24 @@ def __init__(__self__): pass +@pulumi.output_type +class DetailResponse(dict): + """ + Contains multiple sensitive information findings for each resource slice. + """ + def __init__(__self__, *, + findings: Sequence['outputs.FindingResponse']): + """ + Contains multiple sensitive information findings for each resource slice. + """ + pulumi.set(__self__, "findings", findings) + + @property + @pulumi.getter + def findings(self) -> Sequence['outputs.FindingResponse']: + return pulumi.get(self, "findings") + + @pulumi.output_type class DicomConfigResponse(dict): """ @@ -1706,6 +1729,74 @@ def type(self) -> str: return pulumi.get(self, "type") +@pulumi.output_type +class FindingResponse(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "infoType": + suggest = "info_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FindingResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FindingResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FindingResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + end: str, + info_type: str, + quote: str, + start: str): + """ + :param str end: Zero-based ending index of the found text, exclusively. + :param str info_type: The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + :param str quote: The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + :param str start: Zero-based starting index of the found text, inclusively. + """ + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "info_type", info_type) + pulumi.set(__self__, "quote", quote) + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> str: + """ + Zero-based ending index of the found text, exclusively. + """ + return pulumi.get(self, "end") + + @property + @pulumi.getter(name="infoType") + def info_type(self) -> str: + """ + The type of information stored in this text range. For example, HumanName, BirthDate, or Address. + """ + return pulumi.get(self, "info_type") + + @property + @pulumi.getter + def quote(self) -> str: + """ + The snippet of the sensitive text. This field is only populated during deidentification if `store_quote` is set to true in DeidentifyConfig. + """ + return pulumi.get(self, "quote") + + @property + @pulumi.getter + def start(self) -> str: + """ + Zero-based starting index of the found text, inclusively. + """ + return pulumi.get(self, "start") + + @pulumi.output_type class GoogleCloudHealthcareV1beta1ConsentPolicyResponse(dict): """ @@ -2142,6 +2233,31 @@ def write_disposition(self) -> str: return pulumi.get(self, "write_disposition") +@pulumi.output_type +class GroupOrSegmentResponse(dict): + """ + Construct representing a logical group or a segment. + """ + def __init__(__self__, *, + group: 'outputs.SchemaGroupResponse', + segment: 'outputs.SchemaSegmentResponse'): + """ + Construct representing a logical group or a segment. + """ + pulumi.set(__self__, "group", group) + pulumi.set(__self__, "segment", segment) + + @property + @pulumi.getter + def group(self) -> 'outputs.SchemaGroupResponse': + return pulumi.get(self, "group") + + @property + @pulumi.getter + def segment(self) -> 'outputs.SchemaSegmentResponse': + return pulumi.get(self, "segment") + + @pulumi.output_type class Hl7SchemaConfigResponse(dict): """ @@ -2165,11 +2281,11 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - message_schema_configs: Mapping[str, str], + message_schema_configs: Mapping[str, 'outputs.SchemaGroupResponse'], version: Sequence['outputs.VersionSourceResponse']): """ Root config message for HL7v2 schema. This contains a schema structure of groups and segments, and filters that determine which messages to apply the schema structure to. - :param Mapping[str, str] message_schema_configs: Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. + :param Mapping[str, 'SchemaGroupResponse'] message_schema_configs: Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. :param Sequence['VersionSourceResponse'] version: Each VersionSource is tested and only if they all match is the schema used for the message. """ pulumi.set(__self__, "message_schema_configs", message_schema_configs) @@ -2177,7 +2293,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="messageSchemaConfigs") - def message_schema_configs(self) -> Mapping[str, str]: + def message_schema_configs(self) -> Mapping[str, 'outputs.SchemaGroupResponse']: """ Map from each HL7v2 message type and trigger event pair, such as ADT_A04, to its schema configuration root group. """ @@ -3049,6 +3165,91 @@ def schema_type(self) -> str: return pulumi.get(self, "schema_type") +@pulumi.output_type +class SchemaGroupResponse(dict): + """ + An HL7v2 logical group construct. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxOccurs": + suggest = "max_occurs" + elif key == "minOccurs": + suggest = "min_occurs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SchemaGroupResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SchemaGroupResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SchemaGroupResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + choice: bool, + max_occurs: int, + members: Sequence['outputs.GroupOrSegmentResponse'], + min_occurs: int, + name: str): + """ + An HL7v2 logical group construct. + :param bool choice: True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + :param int max_occurs: The maximum number of times this group can be repeated. 0 or -1 means unbounded. + :param Sequence['GroupOrSegmentResponse'] members: Nested groups and/or segments. + :param int min_occurs: The minimum number of times this group must be present/repeated. + :param str name: The name of this group. For example, "ORDER_DETAIL". + """ + pulumi.set(__self__, "choice", choice) + pulumi.set(__self__, "max_occurs", max_occurs) + pulumi.set(__self__, "members", members) + pulumi.set(__self__, "min_occurs", min_occurs) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def choice(self) -> bool: + """ + True indicates that this is a choice group, meaning that only one of its segments can exist in a given message. + """ + return pulumi.get(self, "choice") + + @property + @pulumi.getter(name="maxOccurs") + def max_occurs(self) -> int: + """ + The maximum number of times this group can be repeated. 0 or -1 means unbounded. + """ + return pulumi.get(self, "max_occurs") + + @property + @pulumi.getter + def members(self) -> Sequence['outputs.GroupOrSegmentResponse']: + """ + Nested groups and/or segments. + """ + return pulumi.get(self, "members") + + @property + @pulumi.getter(name="minOccurs") + def min_occurs(self) -> int: + """ + The minimum number of times this group must be present/repeated. + """ + return pulumi.get(self, "min_occurs") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of this group. For example, "ORDER_DETAIL". + """ + return pulumi.get(self, "name") + + @pulumi.output_type class SchemaPackageResponse(dict): """ @@ -3136,6 +3337,69 @@ def unexpected_segment_handling(self) -> str: return pulumi.get(self, "unexpected_segment_handling") +@pulumi.output_type +class SchemaSegmentResponse(dict): + """ + An HL7v2 Segment. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxOccurs": + suggest = "max_occurs" + elif key == "minOccurs": + suggest = "min_occurs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SchemaSegmentResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SchemaSegmentResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SchemaSegmentResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_occurs: int, + min_occurs: int, + type: str): + """ + An HL7v2 Segment. + :param int max_occurs: The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + :param int min_occurs: The minimum number of times this segment can be present in this group. + :param str type: The Segment type. For example, "PID". + """ + pulumi.set(__self__, "max_occurs", max_occurs) + pulumi.set(__self__, "min_occurs", min_occurs) + pulumi.set(__self__, "type", type) + + @property + @pulumi.getter(name="maxOccurs") + def max_occurs(self) -> int: + """ + The maximum number of times this segment can be present in this group. 0 or -1 means unbounded. + """ + return pulumi.get(self, "max_occurs") + + @property + @pulumi.getter(name="minOccurs") + def min_occurs(self) -> int: + """ + The minimum number of times this segment can be present in this group. + """ + return pulumi.get(self, "min_occurs") + + @property + @pulumi.getter + def type(self) -> str: + """ + The Segment type. For example, "PID". + """ + return pulumi.get(self, "type") + + @pulumi.output_type class SchematizedDataResponse(dict): """ @@ -3327,16 +3591,16 @@ class SensitiveTextAnnotationResponse(dict): A TextAnnotation specifies a text range that includes sensitive information. """ def __init__(__self__, *, - details: Mapping[str, str]): + details: Mapping[str, 'outputs.DetailResponse']): """ A TextAnnotation specifies a text range that includes sensitive information. - :param Mapping[str, str] details: Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} + :param Mapping[str, 'DetailResponse'] details: Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} """ pulumi.set(__self__, "details", details) @property @pulumi.getter - def details(self) -> Mapping[str, str]: + def details(self) -> Mapping[str, 'outputs.DetailResponse']: """ Maps from a resource slice. For example, FHIR resource field path to a set of sensitive text findings. For example, Appointment.Narrative text1 --> {findings_1, findings_2, findings_3} """ diff --git a/sdk/python/pulumi_google_native/integrations/v1alpha/_inputs.py b/sdk/python/pulumi_google_native/integrations/v1alpha/_inputs.py index a2171184d5..87aa932362 100644 --- a/sdk/python/pulumi_google_native/integrations/v1alpha/_inputs.py +++ b/sdk/python/pulumi_google_native/integrations/v1alpha/_inputs.py @@ -1326,7 +1326,7 @@ def __init__(__self__, *, int_array: Optional[pulumi.Input['EnterpriseCrmEventbusProtoIntParameterArrayArgs']] = None, int_value: Optional[pulumi.Input[str]] = None, proto_array: Optional[pulumi.Input['EnterpriseCrmEventbusProtoProtoParameterArrayArgs']] = None, - proto_value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + proto_value: Optional[pulumi.Input[Mapping[str, Any]]] = None, serialized_object_value: Optional[pulumi.Input['EnterpriseCrmEventbusProtoSerializedObjectParameterArgs']] = None, string_array: Optional[pulumi.Input['EnterpriseCrmEventbusProtoStringParameterArrayArgs']] = None, string_value: Optional[pulumi.Input[str]] = None): @@ -1421,11 +1421,11 @@ def proto_array(self, value: Optional[pulumi.Input['EnterpriseCrmEventbusProtoPr @property @pulumi.getter(name="protoValue") - def proto_value(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def proto_value(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "proto_value") @proto_value.setter - def proto_value(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def proto_value(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "proto_value", value) @property @@ -1499,17 +1499,17 @@ def value(self, value: Optional[pulumi.Input['EnterpriseCrmEventbusProtoValueTyp @pulumi.input_type class EnterpriseCrmEventbusProtoProtoParameterArrayArgs: def __init__(__self__, *, - proto_values: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None): + proto_values: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None): if proto_values is not None: pulumi.set(__self__, "proto_values", proto_values) @property @pulumi.getter(name="protoValues") - def proto_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def proto_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: return pulumi.get(self, "proto_values") @proto_values.setter - def proto_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def proto_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "proto_values", value) @@ -2397,7 +2397,7 @@ def __init__(__self__, *, double_value: Optional[pulumi.Input[float]] = None, int_array: Optional[pulumi.Input['EnterpriseCrmEventbusProtoIntArrayArgs']] = None, int_value: Optional[pulumi.Input[str]] = None, - proto_value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + proto_value: Optional[pulumi.Input[Mapping[str, Any]]] = None, string_array: Optional[pulumi.Input['EnterpriseCrmEventbusProtoStringArrayArgs']] = None, string_value: Optional[pulumi.Input[str]] = None): """ @@ -2467,11 +2467,11 @@ def int_value(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="protoValue") - def proto_value(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def proto_value(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "proto_value") @proto_value.setter - def proto_value(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def proto_value(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "proto_value", value) @property @@ -3275,7 +3275,7 @@ def __init__(__self__, *, int_value: Optional[pulumi.Input[str]] = None, json_value: Optional[pulumi.Input[str]] = None, proto_array: Optional[pulumi.Input['EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs']] = None, - proto_value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + proto_value: Optional[pulumi.Input[Mapping[str, Any]]] = None, serialized_object_value: Optional[pulumi.Input['EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterArgs']] = None, string_array: Optional[pulumi.Input['EnterpriseCrmFrontendsEventbusProtoStringParameterArrayArgs']] = None, string_value: Optional[pulumi.Input[str]] = None): @@ -3381,11 +3381,11 @@ def proto_array(self, value: Optional[pulumi.Input['EnterpriseCrmFrontendsEventb @property @pulumi.getter(name="protoValue") - def proto_value(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def proto_value(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: return pulumi.get(self, "proto_value") @proto_value.setter - def proto_value(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def proto_value(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "proto_value", value) @property @@ -3419,17 +3419,17 @@ def string_value(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayArgs: def __init__(__self__, *, - proto_values: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None): + proto_values: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None): if proto_values is not None: pulumi.set(__self__, "proto_values", proto_values) @property @pulumi.getter(name="protoValues") - def proto_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def proto_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: return pulumi.get(self, "proto_values") @proto_values.setter - def proto_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def proto_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "proto_values", value) @@ -3538,7 +3538,7 @@ def __init__(__self__, *, last_modified_time: Optional[pulumi.Input[str]] = None, next_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['EnterpriseCrmEventbusProtoNextTaskArgs']]]] = None, next_tasks_execution_policy: Optional[pulumi.Input['EnterpriseCrmFrontendsEventbusProtoTaskConfigNextTasksExecutionPolicy']] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input['EnterpriseCrmFrontendsEventbusProtoParameterEntryArgs']]]] = None, position: Optional[pulumi.Input['EnterpriseCrmEventbusProtoCoordinateArgs']] = None, precondition: Optional[pulumi.Input[str]] = None, precondition_label: Optional[pulumi.Input[str]] = None, @@ -3567,7 +3567,7 @@ def __init__(__self__, *, :param pulumi.Input[str] last_modified_time: Auto-generated. :param pulumi.Input[Sequence[pulumi.Input['EnterpriseCrmEventbusProtoNextTaskArgs']]] next_tasks: The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true. :param pulumi.Input['EnterpriseCrmFrontendsEventbusProtoTaskConfigNextTasksExecutionPolicy'] next_tasks_execution_policy: The policy dictating the execution of the next set of tasks for the current task. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: The customized parameters the user can pass to this task. + :param pulumi.Input[Mapping[str, pulumi.Input['EnterpriseCrmFrontendsEventbusProtoParameterEntryArgs']]] parameters: The customized parameters the user can pass to this task. :param pulumi.Input['EnterpriseCrmEventbusProtoCoordinateArgs'] position: Optional. Informs the front-end application where to draw this task config on the UI. :param pulumi.Input[str] precondition: Optional. Standard filter expression evaluated before execution. Independent of other conditions and tasks. Can be used to enable rollout. e.g. "rollout(5)" will only allow 5% of incoming traffic to task. :param pulumi.Input[str] precondition_label: Optional. User-provided label that is attached to precondition in the UI. @@ -3806,14 +3806,14 @@ def next_tasks_execution_policy(self, value: Optional[pulumi.Input['EnterpriseCr @property @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['EnterpriseCrmFrontendsEventbusProtoParameterEntryArgs']]]]: """ The customized parameters the user can pass to this task. """ return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['EnterpriseCrmFrontendsEventbusProtoParameterEntryArgs']]]]): pulumi.set(self, "parameters", value) @property @@ -6877,7 +6877,7 @@ def __init__(__self__, *, json_validation_option: Optional[pulumi.Input['GoogleCloudIntegrationsV1alphaTaskConfigJsonValidationOption']] = None, next_tasks: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudIntegrationsV1alphaNextTaskArgs']]]] = None, next_tasks_execution_policy: Optional[pulumi.Input['GoogleCloudIntegrationsV1alphaTaskConfigNextTasksExecutionPolicy']] = None, - parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudIntegrationsV1alphaEventParameterArgs']]]] = None, position: Optional[pulumi.Input['GoogleCloudIntegrationsV1alphaCoordinateArgs']] = None, success_policy: Optional[pulumi.Input['GoogleCloudIntegrationsV1alphaSuccessPolicyArgs']] = None, synchronous_call_failure_policy: Optional[pulumi.Input['GoogleCloudIntegrationsV1alphaFailurePolicyArgs']] = None, @@ -6895,7 +6895,7 @@ def __init__(__self__, *, :param pulumi.Input['GoogleCloudIntegrationsV1alphaTaskConfigJsonValidationOption'] json_validation_option: Optional. If set, overrides the option configured in the Task implementation class. :param pulumi.Input[Sequence[pulumi.Input['GoogleCloudIntegrationsV1alphaNextTaskArgs']]] next_tasks: Optional. The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true. :param pulumi.Input['GoogleCloudIntegrationsV1alphaTaskConfigNextTasksExecutionPolicy'] next_tasks_execution_policy: Optional. The policy dictating the execution of the next set of tasks for the current task. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Optional. The customized parameters the user can pass to this task. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudIntegrationsV1alphaEventParameterArgs']]] parameters: Optional. The customized parameters the user can pass to this task. :param pulumi.Input['GoogleCloudIntegrationsV1alphaCoordinateArgs'] position: Optional. Informs the front-end application where to draw this error catcher config on the UI. :param pulumi.Input['GoogleCloudIntegrationsV1alphaSuccessPolicyArgs'] success_policy: Optional. Determines what action to take upon successful task completion. :param pulumi.Input['GoogleCloudIntegrationsV1alphaFailurePolicyArgs'] synchronous_call_failure_policy: Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post). @@ -7045,14 +7045,14 @@ def next_tasks_execution_policy(self, value: Optional[pulumi.Input['GoogleCloudI @property @pulumi.getter - def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudIntegrationsV1alphaEventParameterArgs']]]]: """ Optional. The customized parameters the user can pass to this task. """ return pulumi.get(self, "parameters") @parameters.setter - def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudIntegrationsV1alphaEventParameterArgs']]]]): pulumi.set(self, "parameters", value) @property diff --git a/sdk/python/pulumi_google_native/integrations/v1alpha/outputs.py b/sdk/python/pulumi_google_native/integrations/v1alpha/outputs.py index 0b39c20185..df897a3162 100644 --- a/sdk/python/pulumi_google_native/integrations/v1alpha/outputs.py +++ b/sdk/python/pulumi_google_native/integrations/v1alpha/outputs.py @@ -1371,7 +1371,7 @@ def __init__(__self__, *, int_array: 'outputs.EnterpriseCrmEventbusProtoIntParameterArrayResponse', int_value: str, proto_array: 'outputs.EnterpriseCrmEventbusProtoProtoParameterArrayResponse', - proto_value: Mapping[str, str], + proto_value: Mapping[str, Any], serialized_object_value: 'outputs.EnterpriseCrmEventbusProtoSerializedObjectParameterResponse', string_array: 'outputs.EnterpriseCrmEventbusProtoStringParameterArrayResponse', string_value: str): @@ -1427,7 +1427,7 @@ def proto_array(self) -> 'outputs.EnterpriseCrmEventbusProtoProtoParameterArrayR @property @pulumi.getter(name="protoValue") - def proto_value(self) -> Mapping[str, str]: + def proto_value(self) -> Mapping[str, Any]: return pulumi.get(self, "proto_value") @property @@ -1499,12 +1499,12 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - proto_values: Sequence[Mapping[str, str]]): + proto_values: Sequence[Mapping[str, Any]]): pulumi.set(__self__, "proto_values", proto_values) @property @pulumi.getter(name="protoValues") - def proto_values(self) -> Sequence[Mapping[str, str]]: + def proto_values(self) -> Sequence[Mapping[str, Any]]: return pulumi.get(self, "proto_values") @@ -2425,7 +2425,7 @@ def __init__(__self__, *, double_value: float, int_array: 'outputs.EnterpriseCrmEventbusProtoIntArrayResponse', int_value: str, - proto_value: Mapping[str, str], + proto_value: Mapping[str, Any], string_array: 'outputs.EnterpriseCrmEventbusProtoStringArrayResponse', string_value: str): """ @@ -2467,7 +2467,7 @@ def int_value(self) -> str: @property @pulumi.getter(name="protoValue") - def proto_value(self) -> Mapping[str, str]: + def proto_value(self) -> Mapping[str, Any]: return pulumi.get(self, "proto_value") @property @@ -3278,7 +3278,7 @@ def __init__(__self__, *, int_value: str, json_value: str, proto_array: 'outputs.EnterpriseCrmFrontendsEventbusProtoProtoParameterArrayResponse', - proto_value: Mapping[str, str], + proto_value: Mapping[str, Any], serialized_object_value: 'outputs.EnterpriseCrmFrontendsEventbusProtoSerializedObjectParameterResponse', string_array: 'outputs.EnterpriseCrmFrontendsEventbusProtoStringParameterArrayResponse', string_value: str): @@ -3340,7 +3340,7 @@ def proto_array(self) -> 'outputs.EnterpriseCrmFrontendsEventbusProtoProtoParame @property @pulumi.getter(name="protoValue") - def proto_value(self) -> Mapping[str, str]: + def proto_value(self) -> Mapping[str, Any]: return pulumi.get(self, "proto_value") @property @@ -3379,12 +3379,12 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - proto_values: Sequence[Mapping[str, str]]): + proto_values: Sequence[Mapping[str, Any]]): pulumi.set(__self__, "proto_values", proto_values) @property @pulumi.getter(name="protoValues") - def proto_values(self) -> Sequence[Mapping[str, str]]: + def proto_values(self) -> Sequence[Mapping[str, Any]]: return pulumi.get(self, "proto_values") @@ -3590,7 +3590,7 @@ def __init__(__self__, *, last_modified_time: str, next_tasks: Sequence['outputs.EnterpriseCrmEventbusProtoNextTaskResponse'], next_tasks_execution_policy: str, - parameters: Mapping[str, str], + parameters: Mapping[str, 'outputs.EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse'], position: 'outputs.EnterpriseCrmEventbusProtoCoordinateResponse', precondition: str, precondition_label: str, @@ -3619,7 +3619,7 @@ def __init__(__self__, *, :param str last_modified_time: Auto-generated. :param Sequence['EnterpriseCrmEventbusProtoNextTaskResponse'] next_tasks: The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true. :param str next_tasks_execution_policy: The policy dictating the execution of the next set of tasks for the current task. - :param Mapping[str, str] parameters: The customized parameters the user can pass to this task. + :param Mapping[str, 'EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse'] parameters: The customized parameters the user can pass to this task. :param 'EnterpriseCrmEventbusProtoCoordinateResponse' position: Optional. Informs the front-end application where to draw this task config on the UI. :param str precondition: Optional. Standard filter expression evaluated before execution. Independent of other conditions and tasks. Can be used to enable rollout. e.g. "rollout(5)" will only allow 5% of incoming traffic to task. :param str precondition_label: Optional. User-provided label that is attached to precondition in the UI. @@ -3774,7 +3774,7 @@ def next_tasks_execution_policy(self) -> str: @property @pulumi.getter - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, 'outputs.EnterpriseCrmFrontendsEventbusProtoParameterEntryResponse']: """ The customized parameters the user can pass to this task. """ @@ -6800,7 +6800,7 @@ def __init__(__self__, *, json_validation_option: str, next_tasks: Sequence['outputs.GoogleCloudIntegrationsV1alphaNextTaskResponse'], next_tasks_execution_policy: str, - parameters: Mapping[str, str], + parameters: Mapping[str, 'outputs.GoogleCloudIntegrationsV1alphaEventParameterResponse'], position: 'outputs.GoogleCloudIntegrationsV1alphaCoordinateResponse', success_policy: 'outputs.GoogleCloudIntegrationsV1alphaSuccessPolicyResponse', synchronous_call_failure_policy: 'outputs.GoogleCloudIntegrationsV1alphaFailurePolicyResponse', @@ -6818,7 +6818,7 @@ def __init__(__self__, *, :param str json_validation_option: Optional. If set, overrides the option configured in the Task implementation class. :param Sequence['GoogleCloudIntegrationsV1alphaNextTaskResponse'] next_tasks: Optional. The set of tasks that are next in line to be executed as per the execution graph defined for the parent event, specified by `event_config_id`. Each of these next tasks are executed only if the condition associated with them evaluates to true. :param str next_tasks_execution_policy: Optional. The policy dictating the execution of the next set of tasks for the current task. - :param Mapping[str, str] parameters: Optional. The customized parameters the user can pass to this task. + :param Mapping[str, 'GoogleCloudIntegrationsV1alphaEventParameterResponse'] parameters: Optional. The customized parameters the user can pass to this task. :param 'GoogleCloudIntegrationsV1alphaCoordinateResponse' position: Optional. Informs the front-end application where to draw this error catcher config on the UI. :param 'GoogleCloudIntegrationsV1alphaSuccessPolicyResponse' success_policy: Optional. Determines what action to take upon successful task completion. :param 'GoogleCloudIntegrationsV1alphaFailurePolicyResponse' synchronous_call_failure_policy: Optional. Determines the number of times the task will be retried on failure and with what retry strategy. This is applicable for synchronous calls to Eventbus alone (Post). @@ -6910,7 +6910,7 @@ def next_tasks_execution_policy(self) -> str: @property @pulumi.getter - def parameters(self) -> Mapping[str, str]: + def parameters(self) -> Mapping[str, 'outputs.GoogleCloudIntegrationsV1alphaEventParameterResponse']: """ Optional. The customized parameters the user can pass to this task. """ diff --git a/sdk/python/pulumi_google_native/jobs/v3/_inputs.py b/sdk/python/pulumi_google_native/jobs/v3/_inputs.py index 33c1b5d8ff..ba3af0628f 100644 --- a/sdk/python/pulumi_google_native/jobs/v3/_inputs.py +++ b/sdk/python/pulumi_google_native/jobs/v3/_inputs.py @@ -15,6 +15,7 @@ 'CompensationEntryArgs', 'CompensationInfoArgs', 'CompensationRangeArgs', + 'CustomAttributeArgs', 'MoneyArgs', 'ProcessingOptionsArgs', ] @@ -243,6 +244,62 @@ def min_compensation(self, value: Optional[pulumi.Input['MoneyArgs']]): pulumi.set(self, "min_compensation", value) +@pulumi.input_type +class CustomAttributeArgs: + def __init__(__self__, *, + filterable: Optional[pulumi.Input[bool]] = None, + long_values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + string_values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Custom attribute values that are either filterable or non-filterable. + :param pulumi.Input[bool] filterable: Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + :param pulumi.Input[Sequence[pulumi.Input[str]]] long_values: Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + :param pulumi.Input[Sequence[pulumi.Input[str]]] string_values: Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + """ + if filterable is not None: + pulumi.set(__self__, "filterable", filterable) + if long_values is not None: + pulumi.set(__self__, "long_values", long_values) + if string_values is not None: + pulumi.set(__self__, "string_values", string_values) + + @property + @pulumi.getter + def filterable(self) -> Optional[pulumi.Input[bool]]: + """ + Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + """ + return pulumi.get(self, "filterable") + + @filterable.setter + def filterable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "filterable", value) + + @property + @pulumi.getter(name="longValues") + def long_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + """ + return pulumi.get(self, "long_values") + + @long_values.setter + def long_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "long_values", value) + + @property + @pulumi.getter(name="stringValues") + def string_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + """ + return pulumi.get(self, "string_values") + + @string_values.setter + def string_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "string_values", value) + + @pulumi.input_type class MoneyArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/jobs/v3/get_job.py b/sdk/python/pulumi_google_native/jobs/v3/get_job.py index 7191597a49..e2aba9b1e2 100644 --- a/sdk/python/pulumi_google_native/jobs/v3/get_job.py +++ b/sdk/python/pulumi_google_native/jobs/v3/get_job.py @@ -153,7 +153,7 @@ def compensation_info(self) -> 'outputs.CompensationInfoResponse': @property @pulumi.getter(name="customAttributes") - def custom_attributes(self) -> Mapping[str, str]: + def custom_attributes(self) -> Mapping[str, 'outputs.CustomAttributeResponse']: """ Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. """ diff --git a/sdk/python/pulumi_google_native/jobs/v3/job.py b/sdk/python/pulumi_google_native/jobs/v3/job.py index 7455f8983b..3c2035a1f2 100644 --- a/sdk/python/pulumi_google_native/jobs/v3/job.py +++ b/sdk/python/pulumi_google_native/jobs/v3/job.py @@ -24,7 +24,7 @@ def __init__(__self__, *, title: pulumi.Input[str], addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, compensation_info: Optional[pulumi.Input['CompensationInfoArgs']] = None, - custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input['CustomAttributeArgs']]]] = None, degree_types: Optional[pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]]] = None, department: Optional[pulumi.Input[str]] = None, employment_types: Optional[pulumi.Input[Sequence[pulumi.Input['JobEmploymentTypesItem']]]] = None, @@ -53,7 +53,7 @@ def __init__(__self__, *, :param pulumi.Input[str] title: The title of the job, such as "Software Engineer" The maximum number of allowed characters is 500. :param pulumi.Input[Sequence[pulumi.Input[str]]] addresses: Optional but strongly recommended for the best service experience. Location(s) where the employer is looking to hire for this job posting. Specifying the full street address(es) of the hiring location enables better API results, especially job searches by commute time. At most 50 locations are allowed for best search performance. If a job has more locations, it is suggested to split it into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as multiple jobs with the same company_name, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience. Jobs with multiple addresses must have their addresses with the same LocationType to allow location filtering to work properly. (For example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View, CA, USA" and "London, UK" may not have location filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed characters is 500. :param pulumi.Input['CompensationInfoArgs'] compensation_info: Optional. Job compensation information. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. + :param pulumi.Input[Mapping[str, pulumi.Input['CustomAttributeArgs']]] custom_attributes: Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. :param pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]] degree_types: Optional. The desired education degrees for the job, such as Bachelors, Masters. :param pulumi.Input[str] department: Optional. The department or functional area within the company with the open position. The maximum number of allowed characters is 255. :param pulumi.Input[Sequence[pulumi.Input['JobEmploymentTypesItem']]] employment_types: Optional. The employment type(s) of a job, for example, full time or part time. @@ -212,14 +212,14 @@ def compensation_info(self, value: Optional[pulumi.Input['CompensationInfoArgs'] @property @pulumi.getter(name="customAttributes") - def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['CustomAttributeArgs']]]]: """ Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. """ return pulumi.get(self, "custom_attributes") @custom_attributes.setter - def custom_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def custom_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['CustomAttributeArgs']]]]): pulumi.set(self, "custom_attributes", value) @property @@ -458,7 +458,7 @@ def __init__(__self__, application_info: Optional[pulumi.Input[pulumi.InputType['ApplicationInfoArgs']]] = None, company_name: Optional[pulumi.Input[str]] = None, compensation_info: Optional[pulumi.Input[pulumi.InputType['CompensationInfoArgs']]] = None, - custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['CustomAttributeArgs']]]]] = None, degree_types: Optional[pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]]] = None, department: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, @@ -491,7 +491,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['ApplicationInfoArgs']] application_info: At least one field within ApplicationInfo must be specified. Job application information. :param pulumi.Input[str] company_name: The resource name of the company listing the job, such as "projects/api-test-project/companies/foo". :param pulumi.Input[pulumi.InputType['CompensationInfoArgs']] compensation_info: Optional. Job compensation information. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['CustomAttributeArgs']]]] custom_attributes: Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. :param pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]] degree_types: Optional. The desired education degrees for the job, such as Bachelors, Masters. :param pulumi.Input[str] department: Optional. The department or functional area within the company with the open position. The maximum number of allowed characters is 255. :param pulumi.Input[str] description: The description of the job, which typically includes a multi-paragraph description of the company and related information. Separate fields are provided on the job object for responsibilities, qualifications, and other job characteristics. Use of these separate job fields is recommended. This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of allowed characters is 100,000. @@ -542,7 +542,7 @@ def _internal_init(__self__, application_info: Optional[pulumi.Input[pulumi.InputType['ApplicationInfoArgs']]] = None, company_name: Optional[pulumi.Input[str]] = None, compensation_info: Optional[pulumi.Input[pulumi.InputType['CompensationInfoArgs']]] = None, - custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['CustomAttributeArgs']]]]] = None, degree_types: Optional[pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]]] = None, department: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, @@ -714,7 +714,7 @@ def compensation_info(self) -> pulumi.Output['outputs.CompensationInfoResponse'] @property @pulumi.getter(name="customAttributes") - def custom_attributes(self) -> pulumi.Output[Mapping[str, str]]: + def custom_attributes(self) -> pulumi.Output[Mapping[str, 'outputs.CustomAttributeResponse']]: """ Optional. A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: a-zA-Z*. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. """ diff --git a/sdk/python/pulumi_google_native/jobs/v3/outputs.py b/sdk/python/pulumi_google_native/jobs/v3/outputs.py index cc171758b4..cefe7147dd 100644 --- a/sdk/python/pulumi_google_native/jobs/v3/outputs.py +++ b/sdk/python/pulumi_google_native/jobs/v3/outputs.py @@ -17,6 +17,7 @@ 'CompensationEntryResponse', 'CompensationInfoResponse', 'CompensationRangeResponse', + 'CustomAttributeResponse', 'JobDerivedInfoResponse', 'LatLngResponse', 'LocationResponse', @@ -317,6 +318,69 @@ def min_compensation(self) -> 'outputs.MoneyResponse': return pulumi.get(self, "min_compensation") +@pulumi.output_type +class CustomAttributeResponse(dict): + """ + Custom attribute values that are either filterable or non-filterable. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "longValues": + suggest = "long_values" + elif key == "stringValues": + suggest = "string_values" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomAttributeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomAttributeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomAttributeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + filterable: bool, + long_values: Sequence[str], + string_values: Sequence[str]): + """ + Custom attribute values that are either filterable or non-filterable. + :param bool filterable: Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + :param Sequence[str] long_values: Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + :param Sequence[str] string_values: Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + """ + pulumi.set(__self__, "filterable", filterable) + pulumi.set(__self__, "long_values", long_values) + pulumi.set(__self__, "string_values", string_values) + + @property + @pulumi.getter + def filterable(self) -> bool: + """ + Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + """ + return pulumi.get(self, "filterable") + + @property + @pulumi.getter(name="longValues") + def long_values(self) -> Sequence[str]: + """ + Optional but exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + """ + return pulumi.get(self, "long_values") + + @property + @pulumi.getter(name="stringValues") + def string_values(self) -> Sequence[str]: + """ + Optional but exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string is not allowed. + """ + return pulumi.get(self, "string_values") + + @pulumi.output_type class JobDerivedInfoResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/jobs/v4/_inputs.py b/sdk/python/pulumi_google_native/jobs/v4/_inputs.py index bc5803f5ac..c0f8a1c0d2 100644 --- a/sdk/python/pulumi_google_native/jobs/v4/_inputs.py +++ b/sdk/python/pulumi_google_native/jobs/v4/_inputs.py @@ -15,6 +15,7 @@ 'CompensationEntryArgs', 'CompensationInfoArgs', 'CompensationRangeArgs', + 'CustomAttributeArgs', 'MoneyArgs', 'ProcessingOptionsArgs', ] @@ -243,6 +244,78 @@ def min_compensation(self, value: Optional[pulumi.Input['MoneyArgs']]): pulumi.set(self, "min_compensation", value) +@pulumi.input_type +class CustomAttributeArgs: + def __init__(__self__, *, + filterable: Optional[pulumi.Input[bool]] = None, + keyword_searchable: Optional[pulumi.Input[bool]] = None, + long_values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + string_values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + Custom attribute values that are either filterable or non-filterable. + :param pulumi.Input[bool] filterable: If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + :param pulumi.Input[bool] keyword_searchable: If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + :param pulumi.Input[Sequence[pulumi.Input[str]]] long_values: Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + :param pulumi.Input[Sequence[pulumi.Input[str]]] string_values: Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + """ + if filterable is not None: + pulumi.set(__self__, "filterable", filterable) + if keyword_searchable is not None: + pulumi.set(__self__, "keyword_searchable", keyword_searchable) + if long_values is not None: + pulumi.set(__self__, "long_values", long_values) + if string_values is not None: + pulumi.set(__self__, "string_values", string_values) + + @property + @pulumi.getter + def filterable(self) -> Optional[pulumi.Input[bool]]: + """ + If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + """ + return pulumi.get(self, "filterable") + + @filterable.setter + def filterable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "filterable", value) + + @property + @pulumi.getter(name="keywordSearchable") + def keyword_searchable(self) -> Optional[pulumi.Input[bool]]: + """ + If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + """ + return pulumi.get(self, "keyword_searchable") + + @keyword_searchable.setter + def keyword_searchable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "keyword_searchable", value) + + @property + @pulumi.getter(name="longValues") + def long_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + """ + return pulumi.get(self, "long_values") + + @long_values.setter + def long_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "long_values", value) + + @property + @pulumi.getter(name="stringValues") + def string_values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + """ + return pulumi.get(self, "string_values") + + @string_values.setter + def string_values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "string_values", value) + + @pulumi.input_type class MoneyArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/jobs/v4/get_job.py b/sdk/python/pulumi_google_native/jobs/v4/get_job.py index 142b02f132..9465e28c3f 100644 --- a/sdk/python/pulumi_google_native/jobs/v4/get_job.py +++ b/sdk/python/pulumi_google_native/jobs/v4/get_job.py @@ -153,7 +153,7 @@ def compensation_info(self) -> 'outputs.CompensationInfoResponse': @property @pulumi.getter(name="customAttributes") - def custom_attributes(self) -> Mapping[str, str]: + def custom_attributes(self) -> Mapping[str, 'outputs.CustomAttributeResponse']: """ A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. """ diff --git a/sdk/python/pulumi_google_native/jobs/v4/job.py b/sdk/python/pulumi_google_native/jobs/v4/job.py index b2353c9403..f2bce2b314 100644 --- a/sdk/python/pulumi_google_native/jobs/v4/job.py +++ b/sdk/python/pulumi_google_native/jobs/v4/job.py @@ -25,7 +25,7 @@ def __init__(__self__, *, addresses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, application_info: Optional[pulumi.Input['ApplicationInfoArgs']] = None, compensation_info: Optional[pulumi.Input['CompensationInfoArgs']] = None, - custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input['CustomAttributeArgs']]]] = None, degree_types: Optional[pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]]] = None, department: Optional[pulumi.Input[str]] = None, employment_types: Optional[pulumi.Input[Sequence[pulumi.Input['JobEmploymentTypesItem']]]] = None, @@ -54,7 +54,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] addresses: Strongly recommended for the best service experience. Location(s) where the employer is looking to hire for this job posting. Specifying the full street address(es) of the hiring location enables better API results, especially job searches by commute time. At most 50 locations are allowed for best search performance. If a job has more locations, it is suggested to split it into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience. Jobs with multiple addresses must have their addresses with the same LocationType to allow location filtering to work properly. (For example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View, CA, USA" and "London, UK" may not have location filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed characters is 500. :param pulumi.Input['ApplicationInfoArgs'] application_info: Job application information. :param pulumi.Input['CompensationInfoArgs'] compensation_info: Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the employee. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. + :param pulumi.Input[Mapping[str, pulumi.Input['CustomAttributeArgs']]] custom_attributes: A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. :param pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]] degree_types: The desired education degrees for the job, such as Bachelors, Masters. :param pulumi.Input[str] department: The department or functional area within the company with the open position. The maximum number of allowed characters is 255. :param pulumi.Input[Sequence[pulumi.Input['JobEmploymentTypesItem']]] employment_types: The employment type(s) of a job, for example, full time or part time. @@ -224,14 +224,14 @@ def compensation_info(self, value: Optional[pulumi.Input['CompensationInfoArgs'] @property @pulumi.getter(name="customAttributes") - def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def custom_attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['CustomAttributeArgs']]]]: """ A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. """ return pulumi.get(self, "custom_attributes") @custom_attributes.setter - def custom_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def custom_attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['CustomAttributeArgs']]]]): pulumi.set(self, "custom_attributes", value) @property @@ -470,7 +470,7 @@ def __init__(__self__, application_info: Optional[pulumi.Input[pulumi.InputType['ApplicationInfoArgs']]] = None, company: Optional[pulumi.Input[str]] = None, compensation_info: Optional[pulumi.Input[pulumi.InputType['CompensationInfoArgs']]] = None, - custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['CustomAttributeArgs']]]]] = None, degree_types: Optional[pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]]] = None, department: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, @@ -504,7 +504,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['ApplicationInfoArgs']] application_info: Job application information. :param pulumi.Input[str] company: The resource name of the company listing the job. The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, "projects/foo/tenants/bar/companies/baz". :param pulumi.Input[pulumi.InputType['CompensationInfoArgs']] compensation_info: Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the employee. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] custom_attributes: A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['CustomAttributeArgs']]]] custom_attributes: A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. :param pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]] degree_types: The desired education degrees for the job, such as Bachelors, Masters. :param pulumi.Input[str] department: The department or functional area within the company with the open position. The maximum number of allowed characters is 255. :param pulumi.Input[str] description: The description of the job, which typically includes a multi-paragraph description of the company and related information. Separate fields are provided on the job object for responsibilities, qualifications, and other job characteristics. Use of these separate job fields is recommended. This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of allowed characters is 100,000. @@ -555,7 +555,7 @@ def _internal_init(__self__, application_info: Optional[pulumi.Input[pulumi.InputType['ApplicationInfoArgs']]] = None, company: Optional[pulumi.Input[str]] = None, compensation_info: Optional[pulumi.Input[pulumi.InputType['CompensationInfoArgs']]] = None, - custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + custom_attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['CustomAttributeArgs']]]]] = None, degree_types: Optional[pulumi.Input[Sequence[pulumi.Input['JobDegreeTypesItem']]]] = None, department: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, @@ -730,7 +730,7 @@ def compensation_info(self) -> pulumi.Output['outputs.CompensationInfoResponse'] @property @pulumi.getter(name="customAttributes") - def custom_attributes(self) -> pulumi.Output[Mapping[str, str]]: + def custom_attributes(self) -> pulumi.Output[Mapping[str, 'outputs.CustomAttributeResponse']]: """ A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB. """ diff --git a/sdk/python/pulumi_google_native/jobs/v4/outputs.py b/sdk/python/pulumi_google_native/jobs/v4/outputs.py index 04a142493b..05d9dd6233 100644 --- a/sdk/python/pulumi_google_native/jobs/v4/outputs.py +++ b/sdk/python/pulumi_google_native/jobs/v4/outputs.py @@ -17,6 +17,7 @@ 'CompensationEntryResponse', 'CompensationInfoResponse', 'CompensationRangeResponse', + 'CustomAttributeResponse', 'JobDerivedInfoResponse', 'LatLngResponse', 'LocationResponse', @@ -317,6 +318,82 @@ def min_compensation(self) -> 'outputs.MoneyResponse': return pulumi.get(self, "min_compensation") +@pulumi.output_type +class CustomAttributeResponse(dict): + """ + Custom attribute values that are either filterable or non-filterable. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "keywordSearchable": + suggest = "keyword_searchable" + elif key == "longValues": + suggest = "long_values" + elif key == "stringValues": + suggest = "string_values" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomAttributeResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomAttributeResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomAttributeResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + filterable: bool, + keyword_searchable: bool, + long_values: Sequence[str], + string_values: Sequence[str]): + """ + Custom attribute values that are either filterable or non-filterable. + :param bool filterable: If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + :param bool keyword_searchable: If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + :param Sequence[str] long_values: Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + :param Sequence[str] string_values: Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + """ + pulumi.set(__self__, "filterable", filterable) + pulumi.set(__self__, "keyword_searchable", keyword_searchable) + pulumi.set(__self__, "long_values", long_values) + pulumi.set(__self__, "string_values", string_values) + + @property + @pulumi.getter + def filterable(self) -> bool: + """ + If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false. + """ + return pulumi.get(self, "filterable") + + @property + @pulumi.getter(name="keywordSearchable") + def keyword_searchable(self) -> bool: + """ + If the `keyword_searchable` flag is true, the keywords in custom fields are searchable by keyword match. If false, the values are not searchable by keyword match. Default is false. + """ + return pulumi.get(self, "keyword_searchable") + + @property + @pulumi.getter(name="longValues") + def long_values(self) -> Sequence[str]: + """ + Exactly one of string_values or long_values must be specified. This field is used to perform number range search. (`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`. Currently at most 1 long_values is supported. + """ + return pulumi.get(self, "long_values") + + @property + @pulumi.getter(name="stringValues") + def string_values(self) -> Sequence[str]: + """ + Exactly one of string_values or long_values must be specified. This field is used to perform a string match (`CASE_SENSITIVE_MATCH` or `CASE_INSENSITIVE_MATCH`) search. For filterable `string_value`s, a maximum total number of 200 values is allowed, with each `string_value` has a byte size of no more than 500B. For unfilterable `string_values`, the maximum total byte size of unfilterable `string_values` is 50KB. Empty string isn't allowed. + """ + return pulumi.get(self, "string_values") + + @pulumi.output_type class JobDerivedInfoResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/metastore/v1/_enums.py b/sdk/python/pulumi_google_native/metastore/v1/_enums.py index 4a2da0d797..f632eff95f 100644 --- a/sdk/python/pulumi_google_native/metastore/v1/_enums.py +++ b/sdk/python/pulumi_google_native/metastore/v1/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'AuditLogConfigLogType', + 'BackendMetastoreMetastoreType', 'DatabaseDumpDatabaseType', 'DatabaseDumpType', 'HiveMetastoreConfigEndpointProtocol', @@ -40,6 +41,24 @@ class AuditLogConfigLogType(str, Enum): """ +class BackendMetastoreMetastoreType(str, Enum): + """ + The type of the backend metastore. + """ + METASTORE_TYPE_UNSPECIFIED = "METASTORE_TYPE_UNSPECIFIED" + """ + The metastore type is not set. + """ + BIGQUERY = "BIGQUERY" + """ + The backend metastore is BigQuery. + """ + DATAPROC_METASTORE = "DATAPROC_METASTORE" + """ + The backend metastore is Dataproc Metastore. + """ + + class DatabaseDumpDatabaseType(str, Enum): """ The type of the database. diff --git a/sdk/python/pulumi_google_native/metastore/v1/_inputs.py b/sdk/python/pulumi_google_native/metastore/v1/_inputs.py index b481ad604a..e794c699c0 100644 --- a/sdk/python/pulumi_google_native/metastore/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/metastore/v1/_inputs.py @@ -13,6 +13,8 @@ __all__ = [ 'AuditConfigArgs', 'AuditLogConfigArgs', + 'AuxiliaryVersionConfigArgs', + 'BackendMetastoreArgs', 'BindingArgs', 'ConsumerArgs', 'DataCatalogConfigArgs', @@ -109,6 +111,86 @@ def log_type(self, value: Optional[pulumi.Input['AuditLogConfigLogType']]): pulumi.set(self, "log_type", value) +@pulumi.input_type +class AuxiliaryVersionConfigArgs: + def __init__(__self__, *, + config_overrides: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Configuration information for the auxiliary service versions. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + :param pulumi.Input[str] version: The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + if config_overrides is not None: + pulumi.set(__self__, "config_overrides", config_overrides) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="configOverrides") + def config_overrides(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + """ + return pulumi.get(self, "config_overrides") + + @config_overrides.setter + def config_overrides(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "config_overrides", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class BackendMetastoreArgs: + def __init__(__self__, *, + metastore_type: Optional[pulumi.Input['BackendMetastoreMetastoreType']] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Represents a backend metastore for the federation. + :param pulumi.Input['BackendMetastoreMetastoreType'] metastore_type: The type of the backend metastore. + :param pulumi.Input[str] name: The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + if metastore_type is not None: + pulumi.set(__self__, "metastore_type", metastore_type) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="metastoreType") + def metastore_type(self) -> Optional[pulumi.Input['BackendMetastoreMetastoreType']]: + """ + The type of the backend metastore. + """ + return pulumi.get(self, "metastore_type") + + @metastore_type.setter + def metastore_type(self, value: Optional[pulumi.Input['BackendMetastoreMetastoreType']]): + pulumi.set(self, "metastore_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @pulumi.input_type class BindingArgs: def __init__(__self__, *, @@ -384,14 +466,14 @@ def title(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class HiveMetastoreConfigArgs: def __init__(__self__, *, - auxiliary_versions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + auxiliary_versions: Optional[pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]]] = None, config_overrides: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, endpoint_protocol: Optional[pulumi.Input['HiveMetastoreConfigEndpointProtocol']] = None, kerberos_config: Optional[pulumi.Input['KerberosConfigArgs']] = None, version: Optional[pulumi.Input[str]] = None): """ Specifies configuration information specific to running Hive metastore software as the metastore service. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. + :param pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. :param pulumi.Input['HiveMetastoreConfigEndpointProtocol'] endpoint_protocol: The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. :param pulumi.Input['KerberosConfigArgs'] kerberos_config: Information used to configure the Hive metastore service as a service principal in a Kerberos realm. To disable Kerberos, use the UpdateService method and specify this field's path (hive_metastore_config.kerberos_config) in the request's update_mask while omitting this field from the request's service. @@ -410,14 +492,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="auxiliaryVersions") - def auxiliary_versions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def auxiliary_versions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]]]: """ A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. """ return pulumi.get(self, "auxiliary_versions") @auxiliary_versions.setter - def auxiliary_versions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def auxiliary_versions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]]]): pulumi.set(self, "auxiliary_versions", value) @property diff --git a/sdk/python/pulumi_google_native/metastore/v1/federation.py b/sdk/python/pulumi_google_native/metastore/v1/federation.py index 7eba77dcfd..178b535b9f 100644 --- a/sdk/python/pulumi_google_native/metastore/v1/federation.py +++ b/sdk/python/pulumi_google_native/metastore/v1/federation.py @@ -8,6 +8,9 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * __all__ = ['FederationArgs', 'Federation'] @@ -15,7 +18,7 @@ class FederationArgs: def __init__(__self__, *, federation_id: pulumi.Input[str], - backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -25,7 +28,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a Federation resource. :param pulumi.Input[str] federation_id: Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. + :param pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the metastore federation. :param pulumi.Input[str] name: Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`. :param pulumi.Input[str] request_id: Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. @@ -61,14 +64,14 @@ def federation_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="backendMetastores") - def backend_metastores(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def backend_metastores(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]]]: """ A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. """ return pulumi.get(self, "backend_metastores") @backend_metastores.setter - def backend_metastores(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def backend_metastores(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]]]): pulumi.set(self, "backend_metastores", value) @property @@ -143,7 +146,7 @@ class Federation(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['BackendMetastoreArgs']]]]] = None, federation_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, @@ -157,7 +160,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['BackendMetastoreArgs']]]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. :param pulumi.Input[str] federation_id: Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the metastore federation. :param pulumi.Input[str] name: Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`. @@ -188,7 +191,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['BackendMetastoreArgs']]]]] = None, federation_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, @@ -263,7 +266,7 @@ def get(resource_name: str, @property @pulumi.getter(name="backendMetastores") - def backend_metastores(self) -> pulumi.Output[Mapping[str, str]]: + def backend_metastores(self) -> pulumi.Output[Mapping[str, 'outputs.BackendMetastoreResponse']]: """ A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. """ diff --git a/sdk/python/pulumi_google_native/metastore/v1/get_federation.py b/sdk/python/pulumi_google_native/metastore/v1/get_federation.py index 9e98793e3e..f00dea3018 100644 --- a/sdk/python/pulumi_google_native/metastore/v1/get_federation.py +++ b/sdk/python/pulumi_google_native/metastore/v1/get_federation.py @@ -8,6 +8,7 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs __all__ = [ 'GetFederationResult', @@ -52,7 +53,7 @@ def __init__(__self__, backend_metastores=None, create_time=None, endpoint_uri=N @property @pulumi.getter(name="backendMetastores") - def backend_metastores(self) -> Mapping[str, str]: + def backend_metastores(self) -> Mapping[str, 'outputs.BackendMetastoreResponse']: """ A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. """ diff --git a/sdk/python/pulumi_google_native/metastore/v1/outputs.py b/sdk/python/pulumi_google_native/metastore/v1/outputs.py index 453edfcc5b..bd9da51068 100644 --- a/sdk/python/pulumi_google_native/metastore/v1/outputs.py +++ b/sdk/python/pulumi_google_native/metastore/v1/outputs.py @@ -14,6 +14,8 @@ __all__ = [ 'AuditConfigResponse', 'AuditLogConfigResponse', + 'AuxiliaryVersionConfigResponse', + 'BackendMetastoreResponse', 'BindingResponse', 'ConsumerResponse', 'DataCatalogConfigResponse', @@ -136,6 +138,119 @@ def log_type(self) -> str: return pulumi.get(self, "log_type") +@pulumi.output_type +class AuxiliaryVersionConfigResponse(dict): + """ + Configuration information for the auxiliary service versions. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "configOverrides": + suggest = "config_overrides" + elif key == "networkConfig": + suggest = "network_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AuxiliaryVersionConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AuxiliaryVersionConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AuxiliaryVersionConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + config_overrides: Mapping[str, str], + network_config: 'outputs.NetworkConfigResponse', + version: str): + """ + Configuration information for the auxiliary service versions. + :param Mapping[str, str] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + :param 'NetworkConfigResponse' network_config: The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + :param str version: The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + pulumi.set(__self__, "config_overrides", config_overrides) + pulumi.set(__self__, "network_config", network_config) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="configOverrides") + def config_overrides(self) -> Mapping[str, str]: + """ + A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + """ + return pulumi.get(self, "config_overrides") + + @property + @pulumi.getter(name="networkConfig") + def network_config(self) -> 'outputs.NetworkConfigResponse': + """ + The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + """ + return pulumi.get(self, "network_config") + + @property + @pulumi.getter + def version(self) -> str: + """ + The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class BackendMetastoreResponse(dict): + """ + Represents a backend metastore for the federation. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metastoreType": + suggest = "metastore_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackendMetastoreResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackendMetastoreResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackendMetastoreResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metastore_type: str, + name: str): + """ + Represents a backend metastore for the federation. + :param str metastore_type: The type of the backend metastore. + :param str name: The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + pulumi.set(__self__, "metastore_type", metastore_type) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="metastoreType") + def metastore_type(self) -> str: + """ + The type of the backend metastore. + """ + return pulumi.get(self, "metastore_type") + + @property + @pulumi.getter + def name(self) -> str: + """ + The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + return pulumi.get(self, "name") + + @pulumi.output_type class BindingResponse(dict): """ @@ -464,14 +579,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - auxiliary_versions: Mapping[str, str], + auxiliary_versions: Mapping[str, 'outputs.AuxiliaryVersionConfigResponse'], config_overrides: Mapping[str, str], endpoint_protocol: str, kerberos_config: 'outputs.KerberosConfigResponse', version: str): """ Specifies configuration information specific to running Hive metastore software as the metastore service. - :param Mapping[str, str] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. + :param Mapping[str, 'AuxiliaryVersionConfigResponse'] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. :param Mapping[str, str] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. :param str endpoint_protocol: The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. :param 'KerberosConfigResponse' kerberos_config: Information used to configure the Hive metastore service as a service principal in a Kerberos realm. To disable Kerberos, use the UpdateService method and specify this field's path (hive_metastore_config.kerberos_config) in the request's update_mask while omitting this field from the request's service. @@ -485,7 +600,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="auxiliaryVersions") - def auxiliary_versions(self) -> Mapping[str, str]: + def auxiliary_versions(self) -> Mapping[str, 'outputs.AuxiliaryVersionConfigResponse']: """ A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. """ diff --git a/sdk/python/pulumi_google_native/metastore/v1alpha/_enums.py b/sdk/python/pulumi_google_native/metastore/v1alpha/_enums.py index 4a2da0d797..91761255d0 100644 --- a/sdk/python/pulumi_google_native/metastore/v1alpha/_enums.py +++ b/sdk/python/pulumi_google_native/metastore/v1alpha/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'AuditLogConfigLogType', + 'BackendMetastoreMetastoreType', 'DatabaseDumpDatabaseType', 'DatabaseDumpType', 'HiveMetastoreConfigEndpointProtocol', @@ -40,6 +41,28 @@ class AuditLogConfigLogType(str, Enum): """ +class BackendMetastoreMetastoreType(str, Enum): + """ + The type of the backend metastore. + """ + METASTORE_TYPE_UNSPECIFIED = "METASTORE_TYPE_UNSPECIFIED" + """ + The metastore type is not set. + """ + DATAPLEX = "DATAPLEX" + """ + The backend metastore is Dataplex. + """ + BIGQUERY = "BIGQUERY" + """ + The backend metastore is BigQuery. + """ + DATAPROC_METASTORE = "DATAPROC_METASTORE" + """ + The backend metastore is Dataproc Metastore. + """ + + class DatabaseDumpDatabaseType(str, Enum): """ The type of the database. diff --git a/sdk/python/pulumi_google_native/metastore/v1alpha/_inputs.py b/sdk/python/pulumi_google_native/metastore/v1alpha/_inputs.py index 61d8bb7770..5b0c08a3e9 100644 --- a/sdk/python/pulumi_google_native/metastore/v1alpha/_inputs.py +++ b/sdk/python/pulumi_google_native/metastore/v1alpha/_inputs.py @@ -13,6 +13,8 @@ __all__ = [ 'AuditConfigArgs', 'AuditLogConfigArgs', + 'AuxiliaryVersionConfigArgs', + 'BackendMetastoreArgs', 'BindingArgs', 'ConsumerArgs', 'DataCatalogConfigArgs', @@ -22,6 +24,7 @@ 'ExprArgs', 'HiveMetastoreConfigArgs', 'KerberosConfigArgs', + 'LakeArgs', 'MaintenanceWindowArgs', 'MetadataIntegrationArgs', 'NetworkConfigArgs', @@ -110,6 +113,86 @@ def log_type(self, value: Optional[pulumi.Input['AuditLogConfigLogType']]): pulumi.set(self, "log_type", value) +@pulumi.input_type +class AuxiliaryVersionConfigArgs: + def __init__(__self__, *, + config_overrides: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Configuration information for the auxiliary service versions. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + :param pulumi.Input[str] version: The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + if config_overrides is not None: + pulumi.set(__self__, "config_overrides", config_overrides) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="configOverrides") + def config_overrides(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + """ + return pulumi.get(self, "config_overrides") + + @config_overrides.setter + def config_overrides(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "config_overrides", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class BackendMetastoreArgs: + def __init__(__self__, *, + metastore_type: Optional[pulumi.Input['BackendMetastoreMetastoreType']] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Represents a backend metastore for the federation. + :param pulumi.Input['BackendMetastoreMetastoreType'] metastore_type: The type of the backend metastore. + :param pulumi.Input[str] name: The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + if metastore_type is not None: + pulumi.set(__self__, "metastore_type", metastore_type) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="metastoreType") + def metastore_type(self) -> Optional[pulumi.Input['BackendMetastoreMetastoreType']]: + """ + The type of the backend metastore. + """ + return pulumi.get(self, "metastore_type") + + @metastore_type.setter + def metastore_type(self, value: Optional[pulumi.Input['BackendMetastoreMetastoreType']]): + pulumi.set(self, "metastore_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @pulumi.input_type class BindingArgs: def __init__(__self__, *, @@ -289,24 +372,24 @@ def type(self, value: Optional[pulumi.Input['DatabaseDumpType']]): @pulumi.input_type class DataplexConfigArgs: def __init__(__self__, *, - lake_resources: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + lake_resources: Optional[pulumi.Input[Mapping[str, pulumi.Input['LakeArgs']]]] = None): """ Specifies how metastore metadata should be integrated with the Dataplex service. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] lake_resources: A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. + :param pulumi.Input[Mapping[str, pulumi.Input['LakeArgs']]] lake_resources: A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. """ if lake_resources is not None: pulumi.set(__self__, "lake_resources", lake_resources) @property @pulumi.getter(name="lakeResources") - def lake_resources(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def lake_resources(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['LakeArgs']]]]: """ A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. """ return pulumi.get(self, "lake_resources") @lake_resources.setter - def lake_resources(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def lake_resources(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['LakeArgs']]]]): pulumi.set(self, "lake_resources", value) @@ -409,14 +492,14 @@ def title(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class HiveMetastoreConfigArgs: def __init__(__self__, *, - auxiliary_versions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + auxiliary_versions: Optional[pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]]] = None, config_overrides: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, endpoint_protocol: Optional[pulumi.Input['HiveMetastoreConfigEndpointProtocol']] = None, kerberos_config: Optional[pulumi.Input['KerberosConfigArgs']] = None, version: Optional[pulumi.Input[str]] = None): """ Specifies configuration information specific to running Hive metastore software as the metastore service. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. + :param pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. :param pulumi.Input['HiveMetastoreConfigEndpointProtocol'] endpoint_protocol: The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. :param pulumi.Input['KerberosConfigArgs'] kerberos_config: Information used to configure the Hive metastore service as a service principal in a Kerberos realm. To disable Kerberos, use the UpdateService method and specify this field's path (hive_metastore_config.kerberos_config) in the request's update_mask while omitting this field from the request's service. @@ -435,14 +518,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="auxiliaryVersions") - def auxiliary_versions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def auxiliary_versions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]]]: """ A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. """ return pulumi.get(self, "auxiliary_versions") @auxiliary_versions.setter - def auxiliary_versions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def auxiliary_versions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]]]): pulumi.set(self, "auxiliary_versions", value) @property @@ -550,6 +633,30 @@ def principal(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "principal", value) +@pulumi.input_type +class LakeArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None): + """ + Represents a Lake resource + :param pulumi.Input[str] name: The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + """ + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @pulumi.input_type class MaintenanceWindowArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/metastore/v1alpha/federation.py b/sdk/python/pulumi_google_native/metastore/v1alpha/federation.py index b337d389e0..ef34bf605e 100644 --- a/sdk/python/pulumi_google_native/metastore/v1alpha/federation.py +++ b/sdk/python/pulumi_google_native/metastore/v1alpha/federation.py @@ -8,6 +8,9 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * __all__ = ['FederationArgs', 'Federation'] @@ -15,7 +18,7 @@ class FederationArgs: def __init__(__self__, *, federation_id: pulumi.Input[str], - backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -25,7 +28,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a Federation resource. :param pulumi.Input[str] federation_id: Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. + :param pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the metastore federation. :param pulumi.Input[str] name: Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`. :param pulumi.Input[str] request_id: Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. @@ -61,14 +64,14 @@ def federation_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="backendMetastores") - def backend_metastores(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def backend_metastores(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]]]: """ A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. """ return pulumi.get(self, "backend_metastores") @backend_metastores.setter - def backend_metastores(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def backend_metastores(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]]]): pulumi.set(self, "backend_metastores", value) @property @@ -143,7 +146,7 @@ class Federation(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['BackendMetastoreArgs']]]]] = None, federation_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, @@ -157,7 +160,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['BackendMetastoreArgs']]]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. :param pulumi.Input[str] federation_id: Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the metastore federation. :param pulumi.Input[str] name: Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`. @@ -188,7 +191,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['BackendMetastoreArgs']]]]] = None, federation_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, @@ -263,7 +266,7 @@ def get(resource_name: str, @property @pulumi.getter(name="backendMetastores") - def backend_metastores(self) -> pulumi.Output[Mapping[str, str]]: + def backend_metastores(self) -> pulumi.Output[Mapping[str, 'outputs.BackendMetastoreResponse']]: """ A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. """ diff --git a/sdk/python/pulumi_google_native/metastore/v1alpha/get_federation.py b/sdk/python/pulumi_google_native/metastore/v1alpha/get_federation.py index e8a841b21a..2c43bf751d 100644 --- a/sdk/python/pulumi_google_native/metastore/v1alpha/get_federation.py +++ b/sdk/python/pulumi_google_native/metastore/v1alpha/get_federation.py @@ -8,6 +8,7 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs __all__ = [ 'GetFederationResult', @@ -52,7 +53,7 @@ def __init__(__self__, backend_metastores=None, create_time=None, endpoint_uri=N @property @pulumi.getter(name="backendMetastores") - def backend_metastores(self) -> Mapping[str, str]: + def backend_metastores(self) -> Mapping[str, 'outputs.BackendMetastoreResponse']: """ A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. """ diff --git a/sdk/python/pulumi_google_native/metastore/v1alpha/outputs.py b/sdk/python/pulumi_google_native/metastore/v1alpha/outputs.py index b4c3bd2e09..3324b187c2 100644 --- a/sdk/python/pulumi_google_native/metastore/v1alpha/outputs.py +++ b/sdk/python/pulumi_google_native/metastore/v1alpha/outputs.py @@ -14,6 +14,8 @@ __all__ = [ 'AuditConfigResponse', 'AuditLogConfigResponse', + 'AuxiliaryVersionConfigResponse', + 'BackendMetastoreResponse', 'BindingResponse', 'ConsumerResponse', 'DataCatalogConfigResponse', @@ -23,6 +25,7 @@ 'ExprResponse', 'HiveMetastoreConfigResponse', 'KerberosConfigResponse', + 'LakeResponse', 'MaintenanceWindowResponse', 'MetadataExportResponse', 'MetadataIntegrationResponse', @@ -137,6 +140,119 @@ def log_type(self) -> str: return pulumi.get(self, "log_type") +@pulumi.output_type +class AuxiliaryVersionConfigResponse(dict): + """ + Configuration information for the auxiliary service versions. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "configOverrides": + suggest = "config_overrides" + elif key == "networkConfig": + suggest = "network_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AuxiliaryVersionConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AuxiliaryVersionConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AuxiliaryVersionConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + config_overrides: Mapping[str, str], + network_config: 'outputs.NetworkConfigResponse', + version: str): + """ + Configuration information for the auxiliary service versions. + :param Mapping[str, str] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + :param 'NetworkConfigResponse' network_config: The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + :param str version: The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + pulumi.set(__self__, "config_overrides", config_overrides) + pulumi.set(__self__, "network_config", network_config) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="configOverrides") + def config_overrides(self) -> Mapping[str, str]: + """ + A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + """ + return pulumi.get(self, "config_overrides") + + @property + @pulumi.getter(name="networkConfig") + def network_config(self) -> 'outputs.NetworkConfigResponse': + """ + The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + """ + return pulumi.get(self, "network_config") + + @property + @pulumi.getter + def version(self) -> str: + """ + The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class BackendMetastoreResponse(dict): + """ + Represents a backend metastore for the federation. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metastoreType": + suggest = "metastore_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackendMetastoreResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackendMetastoreResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackendMetastoreResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metastore_type: str, + name: str): + """ + Represents a backend metastore for the federation. + :param str metastore_type: The type of the backend metastore. + :param str name: The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + pulumi.set(__self__, "metastore_type", metastore_type) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="metastoreType") + def metastore_type(self) -> str: + """ + The type of the backend metastore. + """ + return pulumi.get(self, "metastore_type") + + @property + @pulumi.getter + def name(self) -> str: + """ + The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + return pulumi.get(self, "name") + + @pulumi.output_type class BindingResponse(dict): """ @@ -365,16 +481,16 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - lake_resources: Mapping[str, str]): + lake_resources: Mapping[str, 'outputs.LakeResponse']): """ Specifies how metastore metadata should be integrated with the Dataplex service. - :param Mapping[str, str] lake_resources: A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. + :param Mapping[str, 'LakeResponse'] lake_resources: A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. """ pulumi.set(__self__, "lake_resources", lake_resources) @property @pulumi.getter(name="lakeResources") - def lake_resources(self) -> Mapping[str, str]: + def lake_resources(self) -> Mapping[str, 'outputs.LakeResponse']: """ A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. """ @@ -504,14 +620,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - auxiliary_versions: Mapping[str, str], + auxiliary_versions: Mapping[str, 'outputs.AuxiliaryVersionConfigResponse'], config_overrides: Mapping[str, str], endpoint_protocol: str, kerberos_config: 'outputs.KerberosConfigResponse', version: str): """ Specifies configuration information specific to running Hive metastore software as the metastore service. - :param Mapping[str, str] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. + :param Mapping[str, 'AuxiliaryVersionConfigResponse'] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. :param Mapping[str, str] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. :param str endpoint_protocol: The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. :param 'KerberosConfigResponse' kerberos_config: Information used to configure the Hive metastore service as a service principal in a Kerberos realm. To disable Kerberos, use the UpdateService method and specify this field's path (hive_metastore_config.kerberos_config) in the request's update_mask while omitting this field from the request's service. @@ -525,7 +641,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="auxiliaryVersions") - def auxiliary_versions(self) -> Mapping[str, str]: + def auxiliary_versions(self) -> Mapping[str, 'outputs.AuxiliaryVersionConfigResponse']: """ A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. """ @@ -625,6 +741,28 @@ def principal(self) -> str: return pulumi.get(self, "principal") +@pulumi.output_type +class LakeResponse(dict): + """ + Represents a Lake resource + """ + def __init__(__self__, *, + name: str): + """ + Represents a Lake resource + :param str name: The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> str: + """ + The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + """ + return pulumi.get(self, "name") + + @pulumi.output_type class MaintenanceWindowResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/metastore/v1beta/_enums.py b/sdk/python/pulumi_google_native/metastore/v1beta/_enums.py index 4a2da0d797..91761255d0 100644 --- a/sdk/python/pulumi_google_native/metastore/v1beta/_enums.py +++ b/sdk/python/pulumi_google_native/metastore/v1beta/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'AuditLogConfigLogType', + 'BackendMetastoreMetastoreType', 'DatabaseDumpDatabaseType', 'DatabaseDumpType', 'HiveMetastoreConfigEndpointProtocol', @@ -40,6 +41,28 @@ class AuditLogConfigLogType(str, Enum): """ +class BackendMetastoreMetastoreType(str, Enum): + """ + The type of the backend metastore. + """ + METASTORE_TYPE_UNSPECIFIED = "METASTORE_TYPE_UNSPECIFIED" + """ + The metastore type is not set. + """ + DATAPLEX = "DATAPLEX" + """ + The backend metastore is Dataplex. + """ + BIGQUERY = "BIGQUERY" + """ + The backend metastore is BigQuery. + """ + DATAPROC_METASTORE = "DATAPROC_METASTORE" + """ + The backend metastore is Dataproc Metastore. + """ + + class DatabaseDumpDatabaseType(str, Enum): """ The type of the database. diff --git a/sdk/python/pulumi_google_native/metastore/v1beta/_inputs.py b/sdk/python/pulumi_google_native/metastore/v1beta/_inputs.py index 61d8bb7770..5b0c08a3e9 100644 --- a/sdk/python/pulumi_google_native/metastore/v1beta/_inputs.py +++ b/sdk/python/pulumi_google_native/metastore/v1beta/_inputs.py @@ -13,6 +13,8 @@ __all__ = [ 'AuditConfigArgs', 'AuditLogConfigArgs', + 'AuxiliaryVersionConfigArgs', + 'BackendMetastoreArgs', 'BindingArgs', 'ConsumerArgs', 'DataCatalogConfigArgs', @@ -22,6 +24,7 @@ 'ExprArgs', 'HiveMetastoreConfigArgs', 'KerberosConfigArgs', + 'LakeArgs', 'MaintenanceWindowArgs', 'MetadataIntegrationArgs', 'NetworkConfigArgs', @@ -110,6 +113,86 @@ def log_type(self, value: Optional[pulumi.Input['AuditLogConfigLogType']]): pulumi.set(self, "log_type", value) +@pulumi.input_type +class AuxiliaryVersionConfigArgs: + def __init__(__self__, *, + config_overrides: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + Configuration information for the auxiliary service versions. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + :param pulumi.Input[str] version: The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + if config_overrides is not None: + pulumi.set(__self__, "config_overrides", config_overrides) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="configOverrides") + def config_overrides(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + """ + return pulumi.get(self, "config_overrides") + + @config_overrides.setter + def config_overrides(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "config_overrides", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class BackendMetastoreArgs: + def __init__(__self__, *, + metastore_type: Optional[pulumi.Input['BackendMetastoreMetastoreType']] = None, + name: Optional[pulumi.Input[str]] = None): + """ + Represents a backend metastore for the federation. + :param pulumi.Input['BackendMetastoreMetastoreType'] metastore_type: The type of the backend metastore. + :param pulumi.Input[str] name: The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + if metastore_type is not None: + pulumi.set(__self__, "metastore_type", metastore_type) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="metastoreType") + def metastore_type(self) -> Optional[pulumi.Input['BackendMetastoreMetastoreType']]: + """ + The type of the backend metastore. + """ + return pulumi.get(self, "metastore_type") + + @metastore_type.setter + def metastore_type(self, value: Optional[pulumi.Input['BackendMetastoreMetastoreType']]): + pulumi.set(self, "metastore_type", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @pulumi.input_type class BindingArgs: def __init__(__self__, *, @@ -289,24 +372,24 @@ def type(self, value: Optional[pulumi.Input['DatabaseDumpType']]): @pulumi.input_type class DataplexConfigArgs: def __init__(__self__, *, - lake_resources: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + lake_resources: Optional[pulumi.Input[Mapping[str, pulumi.Input['LakeArgs']]]] = None): """ Specifies how metastore metadata should be integrated with the Dataplex service. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] lake_resources: A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. + :param pulumi.Input[Mapping[str, pulumi.Input['LakeArgs']]] lake_resources: A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. """ if lake_resources is not None: pulumi.set(__self__, "lake_resources", lake_resources) @property @pulumi.getter(name="lakeResources") - def lake_resources(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def lake_resources(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['LakeArgs']]]]: """ A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. """ return pulumi.get(self, "lake_resources") @lake_resources.setter - def lake_resources(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def lake_resources(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['LakeArgs']]]]): pulumi.set(self, "lake_resources", value) @@ -409,14 +492,14 @@ def title(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class HiveMetastoreConfigArgs: def __init__(__self__, *, - auxiliary_versions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + auxiliary_versions: Optional[pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]]] = None, config_overrides: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, endpoint_protocol: Optional[pulumi.Input['HiveMetastoreConfigEndpointProtocol']] = None, kerberos_config: Optional[pulumi.Input['KerberosConfigArgs']] = None, version: Optional[pulumi.Input[str]] = None): """ Specifies configuration information specific to running Hive metastore software as the metastore service. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. + :param pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. :param pulumi.Input['HiveMetastoreConfigEndpointProtocol'] endpoint_protocol: The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. :param pulumi.Input['KerberosConfigArgs'] kerberos_config: Information used to configure the Hive metastore service as a service principal in a Kerberos realm. To disable Kerberos, use the UpdateService method and specify this field's path (hive_metastore_config.kerberos_config) in the request's update_mask while omitting this field from the request's service. @@ -435,14 +518,14 @@ def __init__(__self__, *, @property @pulumi.getter(name="auxiliaryVersions") - def auxiliary_versions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def auxiliary_versions(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]]]: """ A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. """ return pulumi.get(self, "auxiliary_versions") @auxiliary_versions.setter - def auxiliary_versions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def auxiliary_versions(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['AuxiliaryVersionConfigArgs']]]]): pulumi.set(self, "auxiliary_versions", value) @property @@ -550,6 +633,30 @@ def principal(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "principal", value) +@pulumi.input_type +class LakeArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None): + """ + Represents a Lake resource + :param pulumi.Input[str] name: The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + """ + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @pulumi.input_type class MaintenanceWindowArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/metastore/v1beta/federation.py b/sdk/python/pulumi_google_native/metastore/v1beta/federation.py index 20bbf93d6a..e1a675220a 100644 --- a/sdk/python/pulumi_google_native/metastore/v1beta/federation.py +++ b/sdk/python/pulumi_google_native/metastore/v1beta/federation.py @@ -8,6 +8,9 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs +from ._enums import * +from ._inputs import * __all__ = ['FederationArgs', 'Federation'] @@ -15,7 +18,7 @@ class FederationArgs: def __init__(__self__, *, federation_id: pulumi.Input[str], - backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, @@ -25,7 +28,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a Federation resource. :param pulumi.Input[str] federation_id: Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. + :param pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the metastore federation. :param pulumi.Input[str] name: Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`. :param pulumi.Input[str] request_id: Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. @@ -61,14 +64,14 @@ def federation_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="backendMetastores") - def backend_metastores(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def backend_metastores(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]]]: """ A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. """ return pulumi.get(self, "backend_metastores") @backend_metastores.setter - def backend_metastores(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def backend_metastores(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['BackendMetastoreArgs']]]]): pulumi.set(self, "backend_metastores", value) @property @@ -143,7 +146,7 @@ class Federation(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['BackendMetastoreArgs']]]]] = None, federation_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, @@ -157,7 +160,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['BackendMetastoreArgs']]]] backend_metastores: A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. :param pulumi.Input[str] federation_id: Required. The ID of the metastore federation, which is used as the final component of the metastore federation's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the metastore federation. :param pulumi.Input[str] name: Immutable. The relative resource name of the federation, of the form: projects/{project_number}/locations/{location_id}/federations/{federation_id}`. @@ -188,7 +191,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + backend_metastores: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['BackendMetastoreArgs']]]]] = None, federation_id: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, location: Optional[pulumi.Input[str]] = None, @@ -263,7 +266,7 @@ def get(resource_name: str, @property @pulumi.getter(name="backendMetastores") - def backend_metastores(self) -> pulumi.Output[Mapping[str, str]]: + def backend_metastores(self) -> pulumi.Output[Mapping[str, 'outputs.BackendMetastoreResponse']]: """ A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. """ diff --git a/sdk/python/pulumi_google_native/metastore/v1beta/get_federation.py b/sdk/python/pulumi_google_native/metastore/v1beta/get_federation.py index fe6b293c3a..d292e841b0 100644 --- a/sdk/python/pulumi_google_native/metastore/v1beta/get_federation.py +++ b/sdk/python/pulumi_google_native/metastore/v1beta/get_federation.py @@ -8,6 +8,7 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities +from . import outputs __all__ = [ 'GetFederationResult', @@ -52,7 +53,7 @@ def __init__(__self__, backend_metastores=None, create_time=None, endpoint_uri=N @property @pulumi.getter(name="backendMetastores") - def backend_metastores(self) -> Mapping[str, str]: + def backend_metastores(self) -> Mapping[str, 'outputs.BackendMetastoreResponse']: """ A map from BackendMetastore rank to BackendMetastores from which the federation service serves metadata at query time. The map key represents the order in which BackendMetastores should be evaluated to resolve database names at query time and should be greater than or equal to zero. A BackendMetastore with a lower number will be evaluated before a BackendMetastore with a higher number. """ diff --git a/sdk/python/pulumi_google_native/metastore/v1beta/outputs.py b/sdk/python/pulumi_google_native/metastore/v1beta/outputs.py index b4c3bd2e09..3324b187c2 100644 --- a/sdk/python/pulumi_google_native/metastore/v1beta/outputs.py +++ b/sdk/python/pulumi_google_native/metastore/v1beta/outputs.py @@ -14,6 +14,8 @@ __all__ = [ 'AuditConfigResponse', 'AuditLogConfigResponse', + 'AuxiliaryVersionConfigResponse', + 'BackendMetastoreResponse', 'BindingResponse', 'ConsumerResponse', 'DataCatalogConfigResponse', @@ -23,6 +25,7 @@ 'ExprResponse', 'HiveMetastoreConfigResponse', 'KerberosConfigResponse', + 'LakeResponse', 'MaintenanceWindowResponse', 'MetadataExportResponse', 'MetadataIntegrationResponse', @@ -137,6 +140,119 @@ def log_type(self) -> str: return pulumi.get(self, "log_type") +@pulumi.output_type +class AuxiliaryVersionConfigResponse(dict): + """ + Configuration information for the auxiliary service versions. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "configOverrides": + suggest = "config_overrides" + elif key == "networkConfig": + suggest = "network_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AuxiliaryVersionConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AuxiliaryVersionConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AuxiliaryVersionConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + config_overrides: Mapping[str, str], + network_config: 'outputs.NetworkConfigResponse', + version: str): + """ + Configuration information for the auxiliary service versions. + :param Mapping[str, str] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + :param 'NetworkConfigResponse' network_config: The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + :param str version: The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + pulumi.set(__self__, "config_overrides", config_overrides) + pulumi.set(__self__, "network_config", network_config) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="configOverrides") + def config_overrides(self) -> Mapping[str, str]: + """ + A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + """ + return pulumi.get(self, "config_overrides") + + @property + @pulumi.getter(name="networkConfig") + def network_config(self) -> 'outputs.NetworkConfigResponse': + """ + The network configuration contains the endpoint URI(s) of the auxiliary Hive metastore service. + """ + return pulumi.get(self, "network_config") + + @property + @pulumi.getter + def version(self) -> str: + """ + The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class BackendMetastoreResponse(dict): + """ + Represents a backend metastore for the federation. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metastoreType": + suggest = "metastore_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in BackendMetastoreResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + BackendMetastoreResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + BackendMetastoreResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metastore_type: str, + name: str): + """ + Represents a backend metastore for the federation. + :param str metastore_type: The type of the backend metastore. + :param str name: The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + pulumi.set(__self__, "metastore_type", metastore_type) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter(name="metastoreType") + def metastore_type(self) -> str: + """ + The type of the backend metastore. + """ + return pulumi.get(self, "metastore_type") + + @property + @pulumi.getter + def name(self) -> str: + """ + The relative resource name of the metastore that is being federated. The formats of the relative resource names for the currently supported metastores are listed below: BigQuery projects/{project_id} Dataproc Metastore projects/{project_id}/locations/{location}/services/{service_id} + """ + return pulumi.get(self, "name") + + @pulumi.output_type class BindingResponse(dict): """ @@ -365,16 +481,16 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - lake_resources: Mapping[str, str]): + lake_resources: Mapping[str, 'outputs.LakeResponse']): """ Specifies how metastore metadata should be integrated with the Dataplex service. - :param Mapping[str, str] lake_resources: A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. + :param Mapping[str, 'LakeResponse'] lake_resources: A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. """ pulumi.set(__self__, "lake_resources", lake_resources) @property @pulumi.getter(name="lakeResources") - def lake_resources(self) -> Mapping[str, str]: + def lake_resources(self) -> Mapping[str, 'outputs.LakeResponse']: """ A reference to the Lake resources that this metastore service is attached to. The key is the lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id}. """ @@ -504,14 +620,14 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - auxiliary_versions: Mapping[str, str], + auxiliary_versions: Mapping[str, 'outputs.AuxiliaryVersionConfigResponse'], config_overrides: Mapping[str, str], endpoint_protocol: str, kerberos_config: 'outputs.KerberosConfigResponse', version: str): """ Specifies configuration information specific to running Hive metastore software as the metastore service. - :param Mapping[str, str] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. + :param Mapping[str, 'AuxiliaryVersionConfigResponse'] auxiliary_versions: A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. :param Mapping[str, str] config_overrides: A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. :param str endpoint_protocol: The protocol to use for the metastore service endpoint. If unspecified, defaults to THRIFT. :param 'KerberosConfigResponse' kerberos_config: Information used to configure the Hive metastore service as a service principal in a Kerberos realm. To disable Kerberos, use the UpdateService method and specify this field's path (hive_metastore_config.kerberos_config) in the request's update_mask while omitting this field from the request's service. @@ -525,7 +641,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="auxiliaryVersions") - def auxiliary_versions(self) -> Mapping[str, str]: + def auxiliary_versions(self) -> Mapping[str, 'outputs.AuxiliaryVersionConfigResponse']: """ A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. """ @@ -625,6 +741,28 @@ def principal(self) -> str: return pulumi.get(self, "principal") +@pulumi.output_type +class LakeResponse(dict): + """ + Represents a Lake resource + """ + def __init__(__self__, *, + name: str): + """ + Represents a Lake resource + :param str name: The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + """ + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def name(self) -> str: + """ + The Lake resource name. Example: projects/{project_number}/locations/{location_id}/lakes/{lake_id} + """ + return pulumi.get(self, "name") + + @pulumi.output_type class MaintenanceWindowResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/monitoring/v3/_inputs.py b/sdk/python/pulumi_google_native/monitoring/v3/_inputs.py index a8ba0cd407..3497881ffd 100644 --- a/sdk/python/pulumi_google_native/monitoring/v3/_inputs.py +++ b/sdk/python/pulumi_google_native/monitoring/v3/_inputs.py @@ -2645,12 +2645,12 @@ def windows_based(self, value: Optional[pulumi.Input['WindowsBasedSliArgs']]): class StatusArgs: def __init__(__self__, *, code: Optional[pulumi.Input[int]] = None, - details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None, + details: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]] = None, message: Optional[pulumi.Input[str]] = None): """ The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). :param pulumi.Input[int] code: The status code, which should be an enum value of google.rpc.Code. - :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param pulumi.Input[str] message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ if code is not None: @@ -2674,14 +2674,14 @@ def code(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter - def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]: + def details(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ return pulumi.get(self, "details") @details.setter - def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]): + def details(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, Any]]]]]): pulumi.set(self, "details", value) @property diff --git a/sdk/python/pulumi_google_native/monitoring/v3/outputs.py b/sdk/python/pulumi_google_native/monitoring/v3/outputs.py index f745e8c01a..4edf9ff160 100644 --- a/sdk/python/pulumi_google_native/monitoring/v3/outputs.py +++ b/sdk/python/pulumi_google_native/monitoring/v3/outputs.py @@ -2839,12 +2839,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -2861,7 +2861,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/networkconnectivity/v1/outputs.py b/sdk/python/pulumi_google_native/networkconnectivity/v1/outputs.py index 0bd32f6553..e45d3eff8d 100644 --- a/sdk/python/pulumi_google_native/networkconnectivity/v1/outputs.py +++ b/sdk/python/pulumi_google_native/networkconnectivity/v1/outputs.py @@ -601,12 +601,12 @@ class GoogleRpcStatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -623,7 +623,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/networkmanagement/v1/outputs.py b/sdk/python/pulumi_google_native/networkmanagement/v1/outputs.py index 3982578605..a0540d0779 100644 --- a/sdk/python/pulumi_google_native/networkmanagement/v1/outputs.py +++ b/sdk/python/pulumi_google_native/networkmanagement/v1/outputs.py @@ -2521,12 +2521,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -2543,7 +2543,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/networkmanagement/v1beta1/outputs.py b/sdk/python/pulumi_google_native/networkmanagement/v1beta1/outputs.py index 9d5300acf4..f6ae5e4cb1 100644 --- a/sdk/python/pulumi_google_native/networkmanagement/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/networkmanagement/v1beta1/outputs.py @@ -2534,12 +2534,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -2556,7 +2556,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/policysimulator/v1/_enums.py b/sdk/python/pulumi_google_native/policysimulator/v1/_enums.py index d048c334af..24c2fa2399 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1/_enums.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1ReplayConfigLogSource', + 'GoogleIamV1AuditLogConfigLogType', ] @@ -21,3 +22,25 @@ class GoogleCloudPolicysimulatorV1ReplayConfigLogSource(str, Enum): """ All access logs from the last 90 days. These logs may not include logs from the most recent 7 days. """ + + +class GoogleIamV1AuditLogConfigLogType(str, Enum): + """ + The log type that this config enables. + """ + LOG_TYPE_UNSPECIFIED = "LOG_TYPE_UNSPECIFIED" + """ + Default case. Should never be this. + """ + ADMIN_READ = "ADMIN_READ" + """ + Admin reads. Example: CloudIAM getIamPolicy + """ + DATA_WRITE = "DATA_WRITE" + """ + Data writes. Example: CloudSQL Users create + """ + DATA_READ = "DATA_READ" + """ + Data reads. Example: CloudSQL Users list + """ diff --git a/sdk/python/pulumi_google_native/policysimulator/v1/_inputs.py b/sdk/python/pulumi_google_native/policysimulator/v1/_inputs.py index 93401000d5..d87bb722ba 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1/_inputs.py @@ -12,17 +12,22 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1ReplayConfigArgs', + 'GoogleIamV1AuditConfigArgs', + 'GoogleIamV1AuditLogConfigArgs', + 'GoogleIamV1BindingArgs', + 'GoogleIamV1PolicyArgs', + 'GoogleTypeExprArgs', ] @pulumi.input_type class GoogleCloudPolicysimulatorV1ReplayConfigArgs: def __init__(__self__, *, log_source: Optional[pulumi.Input['GoogleCloudPolicysimulatorV1ReplayConfigLogSource']] = None, - policy_overlay: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + policy_overlay: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]] = None): """ The configuration used for a Replay. :param pulumi.Input['GoogleCloudPolicysimulatorV1ReplayConfigLogSource'] log_source: The logs to use as input for the Replay. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ if log_source is not None: pulumi.set(__self__, "log_source", log_source) @@ -43,14 +48,294 @@ def log_source(self, value: Optional[pulumi.Input['GoogleCloudPolicysimulatorV1R @property @pulumi.getter(name="policyOverlay") - def policy_overlay(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def policy_overlay(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]]: """ A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ return pulumi.get(self, "policy_overlay") @policy_overlay.setter - def policy_overlay(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def policy_overlay(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]]): pulumi.set(self, "policy_overlay", value) +@pulumi.input_type +class GoogleIamV1AuditConfigArgs: + def __init__(__self__, *, + audit_log_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]] = None, + service: Optional[pulumi.Input[str]] = None): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]] audit_log_configs: The configuration for logging of each type of permission. + :param pulumi.Input[str] service: Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + if audit_log_configs is not None: + pulumi.set(__self__, "audit_log_configs", audit_log_configs) + if service is not None: + pulumi.set(__self__, "service", service) + + @property + @pulumi.getter(name="auditLogConfigs") + def audit_log_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]]: + """ + The configuration for logging of each type of permission. + """ + return pulumi.get(self, "audit_log_configs") + + @audit_log_configs.setter + def audit_log_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]]): + pulumi.set(self, "audit_log_configs", value) + + @property + @pulumi.getter + def service(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + return pulumi.get(self, "service") + + @service.setter + def service(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service", value) + + +@pulumi.input_type +class GoogleIamV1AuditLogConfigArgs: + def __init__(__self__, *, + exempted_members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_type: Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']] = None): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + :param pulumi.Input[Sequence[pulumi.Input[str]]] exempted_members: Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + :param pulumi.Input['GoogleIamV1AuditLogConfigLogType'] log_type: The log type that this config enables. + """ + if exempted_members is not None: + pulumi.set(__self__, "exempted_members", exempted_members) + if log_type is not None: + pulumi.set(__self__, "log_type", log_type) + + @property + @pulumi.getter(name="exemptedMembers") + def exempted_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + """ + return pulumi.get(self, "exempted_members") + + @exempted_members.setter + def exempted_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "exempted_members", value) + + @property + @pulumi.getter(name="logType") + def log_type(self) -> Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']]: + """ + The log type that this config enables. + """ + return pulumi.get(self, "log_type") + + @log_type.setter + def log_type(self, value: Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']]): + pulumi.set(self, "log_type", value) + + +@pulumi.input_type +class GoogleIamV1BindingArgs: + def __init__(__self__, *, + condition: Optional[pulumi.Input['GoogleTypeExprArgs']] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + role: Optional[pulumi.Input[str]] = None): + """ + Associates `members`, or principals, with a `role`. + :param pulumi.Input['GoogleTypeExprArgs'] condition: The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + :param pulumi.Input[str] role: Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + if condition is not None: + pulumi.set(__self__, "condition", condition) + if members is not None: + pulumi.set(__self__, "members", members) + if role is not None: + pulumi.set(__self__, "role", role) + + @property + @pulumi.getter + def condition(self) -> Optional[pulumi.Input['GoogleTypeExprArgs']]: + """ + The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "condition") + + @condition.setter + def condition(self, value: Optional[pulumi.Input['GoogleTypeExprArgs']]): + pulumi.set(self, "condition", value) + + @property + @pulumi.getter + def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + """ + return pulumi.get(self, "members") + + @members.setter + def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "members", value) + + @property + @pulumi.getter + def role(self) -> Optional[pulumi.Input[str]]: + """ + Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role", value) + + +@pulumi.input_type +class GoogleIamV1PolicyArgs: + def __init__(__self__, *, + audit_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]] = None, + bindings: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]] = None, + etag: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[int]] = None): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]] audit_configs: Specifies cloud audit logging configuration for this policy. + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]] bindings: Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + :param pulumi.Input[str] etag: `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + :param pulumi.Input[int] version: Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + if audit_configs is not None: + pulumi.set(__self__, "audit_configs", audit_configs) + if bindings is not None: + pulumi.set(__self__, "bindings", bindings) + if etag is not None: + pulumi.set(__self__, "etag", etag) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="auditConfigs") + def audit_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]]: + """ + Specifies cloud audit logging configuration for this policy. + """ + return pulumi.get(self, "audit_configs") + + @audit_configs.setter + def audit_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]]): + pulumi.set(self, "audit_configs", value) + + @property + @pulumi.getter + def bindings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]]: + """ + Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + """ + return pulumi.get(self, "bindings") + + @bindings.setter + def bindings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]]): + pulumi.set(self, "bindings", value) + + @property + @pulumi.getter + def etag(self) -> Optional[pulumi.Input[str]]: + """ + `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + """ + return pulumi.get(self, "etag") + + @etag.setter + def etag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "etag", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class GoogleTypeExprArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + expression: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + title: Optional[pulumi.Input[str]] = None): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + :param pulumi.Input[str] description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax. + :param pulumi.Input[str] location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + :param pulumi.Input[str] title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if expression is not None: + pulumi.set(__self__, "expression", expression) + if location is not None: + pulumi.set(__self__, "location", location) + if title is not None: + pulumi.set(__self__, "title", title) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def expression(self) -> Optional[pulumi.Input[str]]: + """ + Textual representation of an expression in Common Expression Language syntax. + """ + return pulumi.get(self, "expression") + + @expression.setter + def expression(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expression", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def title(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + return pulumi.get(self, "title") + + @title.setter + def title(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "title", value) + + diff --git a/sdk/python/pulumi_google_native/policysimulator/v1/outputs.py b/sdk/python/pulumi_google_native/policysimulator/v1/outputs.py index 12e3fcdb92..f316e6743d 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1/outputs.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1/outputs.py @@ -14,7 +14,12 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1ReplayConfigResponse', 'GoogleCloudPolicysimulatorV1ReplayResultsSummaryResponse', + 'GoogleIamV1AuditConfigResponse', + 'GoogleIamV1AuditLogConfigResponse', + 'GoogleIamV1BindingResponse', + 'GoogleIamV1PolicyResponse', 'GoogleTypeDateResponse', + 'GoogleTypeExprResponse', ] @pulumi.output_type @@ -43,11 +48,11 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, log_source: str, - policy_overlay: Mapping[str, str]): + policy_overlay: Mapping[str, 'outputs.GoogleIamV1PolicyResponse']): """ The configuration used for a Replay. :param str log_source: The logs to use as input for the Replay. - :param Mapping[str, str] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. + :param Mapping[str, 'GoogleIamV1PolicyResponse'] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ pulumi.set(__self__, "log_source", log_source) pulumi.set(__self__, "policy_overlay", policy_overlay) @@ -62,7 +67,7 @@ def log_source(self) -> str: @property @pulumi.getter(name="policyOverlay") - def policy_overlay(self) -> Mapping[str, str]: + def policy_overlay(self) -> Mapping[str, 'outputs.GoogleIamV1PolicyResponse']: """ A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ @@ -173,6 +178,224 @@ def unchanged_count(self) -> int: return pulumi.get(self, "unchanged_count") +@pulumi.output_type +class GoogleIamV1AuditConfigResponse(dict): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "auditLogConfigs": + suggest = "audit_log_configs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1AuditConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1AuditConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1AuditConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + audit_log_configs: Sequence['outputs.GoogleIamV1AuditLogConfigResponse'], + service: str): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + :param Sequence['GoogleIamV1AuditLogConfigResponse'] audit_log_configs: The configuration for logging of each type of permission. + :param str service: Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + pulumi.set(__self__, "audit_log_configs", audit_log_configs) + pulumi.set(__self__, "service", service) + + @property + @pulumi.getter(name="auditLogConfigs") + def audit_log_configs(self) -> Sequence['outputs.GoogleIamV1AuditLogConfigResponse']: + """ + The configuration for logging of each type of permission. + """ + return pulumi.get(self, "audit_log_configs") + + @property + @pulumi.getter + def service(self) -> str: + """ + Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + return pulumi.get(self, "service") + + +@pulumi.output_type +class GoogleIamV1AuditLogConfigResponse(dict): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "exemptedMembers": + suggest = "exempted_members" + elif key == "logType": + suggest = "log_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1AuditLogConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1AuditLogConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1AuditLogConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exempted_members: Sequence[str], + log_type: str): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + :param Sequence[str] exempted_members: Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + :param str log_type: The log type that this config enables. + """ + pulumi.set(__self__, "exempted_members", exempted_members) + pulumi.set(__self__, "log_type", log_type) + + @property + @pulumi.getter(name="exemptedMembers") + def exempted_members(self) -> Sequence[str]: + """ + Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + """ + return pulumi.get(self, "exempted_members") + + @property + @pulumi.getter(name="logType") + def log_type(self) -> str: + """ + The log type that this config enables. + """ + return pulumi.get(self, "log_type") + + +@pulumi.output_type +class GoogleIamV1BindingResponse(dict): + """ + Associates `members`, or principals, with a `role`. + """ + def __init__(__self__, *, + condition: 'outputs.GoogleTypeExprResponse', + members: Sequence[str], + role: str): + """ + Associates `members`, or principals, with a `role`. + :param 'GoogleTypeExprResponse' condition: The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + :param Sequence[str] members: Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + :param str role: Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + pulumi.set(__self__, "condition", condition) + pulumi.set(__self__, "members", members) + pulumi.set(__self__, "role", role) + + @property + @pulumi.getter + def condition(self) -> 'outputs.GoogleTypeExprResponse': + """ + The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "condition") + + @property + @pulumi.getter + def members(self) -> Sequence[str]: + """ + Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + """ + return pulumi.get(self, "members") + + @property + @pulumi.getter + def role(self) -> str: + """ + Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + return pulumi.get(self, "role") + + +@pulumi.output_type +class GoogleIamV1PolicyResponse(dict): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "auditConfigs": + suggest = "audit_configs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1PolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1PolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1PolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + audit_configs: Sequence['outputs.GoogleIamV1AuditConfigResponse'], + bindings: Sequence['outputs.GoogleIamV1BindingResponse'], + etag: str, + version: int): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + :param Sequence['GoogleIamV1AuditConfigResponse'] audit_configs: Specifies cloud audit logging configuration for this policy. + :param Sequence['GoogleIamV1BindingResponse'] bindings: Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + :param str etag: `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + :param int version: Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + pulumi.set(__self__, "audit_configs", audit_configs) + pulumi.set(__self__, "bindings", bindings) + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="auditConfigs") + def audit_configs(self) -> Sequence['outputs.GoogleIamV1AuditConfigResponse']: + """ + Specifies cloud audit logging configuration for this policy. + """ + return pulumi.get(self, "audit_configs") + + @property + @pulumi.getter + def bindings(self) -> Sequence['outputs.GoogleIamV1BindingResponse']: + """ + Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + """ + return pulumi.get(self, "bindings") + + @property + @pulumi.getter + def etag(self) -> str: + """ + `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter + def version(self) -> int: + """ + Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "version") + + @pulumi.output_type class GoogleTypeDateResponse(dict): """ @@ -217,3 +440,58 @@ def year(self) -> int: return pulumi.get(self, "year") +@pulumi.output_type +class GoogleTypeExprResponse(dict): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + """ + def __init__(__self__, *, + description: str, + expression: str, + location: str, + title: str): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + :param str description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + :param str expression: Textual representation of an expression in Common Expression Language syntax. + :param str location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + :param str title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "expression", expression) + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "title", title) + + @property + @pulumi.getter + def description(self) -> str: + """ + Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def expression(self) -> str: + """ + Textual representation of an expression in Common Expression Language syntax. + """ + return pulumi.get(self, "expression") + + @property + @pulumi.getter + def location(self) -> str: + """ + Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def title(self) -> str: + """ + Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + return pulumi.get(self, "title") + + diff --git a/sdk/python/pulumi_google_native/policysimulator/v1alpha/_enums.py b/sdk/python/pulumi_google_native/policysimulator/v1alpha/_enums.py index 2e56e09b86..6cda0fc64c 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1alpha/_enums.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1alpha/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource', + 'GoogleIamV1AuditLogConfigLogType', ] @@ -21,3 +22,25 @@ class GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource(str, Enum): """ All access logs from the last 90 days. These logs may not include logs from the most recent 7 days. """ + + +class GoogleIamV1AuditLogConfigLogType(str, Enum): + """ + The log type that this config enables. + """ + LOG_TYPE_UNSPECIFIED = "LOG_TYPE_UNSPECIFIED" + """ + Default case. Should never be this. + """ + ADMIN_READ = "ADMIN_READ" + """ + Admin reads. Example: CloudIAM getIamPolicy + """ + DATA_WRITE = "DATA_WRITE" + """ + Data writes. Example: CloudSQL Users create + """ + DATA_READ = "DATA_READ" + """ + Data reads. Example: CloudSQL Users list + """ diff --git a/sdk/python/pulumi_google_native/policysimulator/v1alpha/_inputs.py b/sdk/python/pulumi_google_native/policysimulator/v1alpha/_inputs.py index b7926ecbfd..af8f046626 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1alpha/_inputs.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1alpha/_inputs.py @@ -12,17 +12,22 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1alphaReplayConfigArgs', + 'GoogleIamV1AuditConfigArgs', + 'GoogleIamV1AuditLogConfigArgs', + 'GoogleIamV1BindingArgs', + 'GoogleIamV1PolicyArgs', + 'GoogleTypeExprArgs', ] @pulumi.input_type class GoogleCloudPolicysimulatorV1alphaReplayConfigArgs: def __init__(__self__, *, log_source: Optional[pulumi.Input['GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource']] = None, - policy_overlay: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + policy_overlay: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]] = None): """ The configuration used for a Replay. :param pulumi.Input['GoogleCloudPolicysimulatorV1alphaReplayConfigLogSource'] log_source: The logs to use as input for the Replay. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ if log_source is not None: pulumi.set(__self__, "log_source", log_source) @@ -43,14 +48,294 @@ def log_source(self, value: Optional[pulumi.Input['GoogleCloudPolicysimulatorV1a @property @pulumi.getter(name="policyOverlay") - def policy_overlay(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def policy_overlay(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]]: """ A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ return pulumi.get(self, "policy_overlay") @policy_overlay.setter - def policy_overlay(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def policy_overlay(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]]): pulumi.set(self, "policy_overlay", value) +@pulumi.input_type +class GoogleIamV1AuditConfigArgs: + def __init__(__self__, *, + audit_log_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]] = None, + service: Optional[pulumi.Input[str]] = None): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]] audit_log_configs: The configuration for logging of each type of permission. + :param pulumi.Input[str] service: Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + if audit_log_configs is not None: + pulumi.set(__self__, "audit_log_configs", audit_log_configs) + if service is not None: + pulumi.set(__self__, "service", service) + + @property + @pulumi.getter(name="auditLogConfigs") + def audit_log_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]]: + """ + The configuration for logging of each type of permission. + """ + return pulumi.get(self, "audit_log_configs") + + @audit_log_configs.setter + def audit_log_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]]): + pulumi.set(self, "audit_log_configs", value) + + @property + @pulumi.getter + def service(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + return pulumi.get(self, "service") + + @service.setter + def service(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service", value) + + +@pulumi.input_type +class GoogleIamV1AuditLogConfigArgs: + def __init__(__self__, *, + exempted_members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_type: Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']] = None): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + :param pulumi.Input[Sequence[pulumi.Input[str]]] exempted_members: Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + :param pulumi.Input['GoogleIamV1AuditLogConfigLogType'] log_type: The log type that this config enables. + """ + if exempted_members is not None: + pulumi.set(__self__, "exempted_members", exempted_members) + if log_type is not None: + pulumi.set(__self__, "log_type", log_type) + + @property + @pulumi.getter(name="exemptedMembers") + def exempted_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + """ + return pulumi.get(self, "exempted_members") + + @exempted_members.setter + def exempted_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "exempted_members", value) + + @property + @pulumi.getter(name="logType") + def log_type(self) -> Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']]: + """ + The log type that this config enables. + """ + return pulumi.get(self, "log_type") + + @log_type.setter + def log_type(self, value: Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']]): + pulumi.set(self, "log_type", value) + + +@pulumi.input_type +class GoogleIamV1BindingArgs: + def __init__(__self__, *, + condition: Optional[pulumi.Input['GoogleTypeExprArgs']] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + role: Optional[pulumi.Input[str]] = None): + """ + Associates `members`, or principals, with a `role`. + :param pulumi.Input['GoogleTypeExprArgs'] condition: The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + :param pulumi.Input[str] role: Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + if condition is not None: + pulumi.set(__self__, "condition", condition) + if members is not None: + pulumi.set(__self__, "members", members) + if role is not None: + pulumi.set(__self__, "role", role) + + @property + @pulumi.getter + def condition(self) -> Optional[pulumi.Input['GoogleTypeExprArgs']]: + """ + The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "condition") + + @condition.setter + def condition(self, value: Optional[pulumi.Input['GoogleTypeExprArgs']]): + pulumi.set(self, "condition", value) + + @property + @pulumi.getter + def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + """ + return pulumi.get(self, "members") + + @members.setter + def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "members", value) + + @property + @pulumi.getter + def role(self) -> Optional[pulumi.Input[str]]: + """ + Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role", value) + + +@pulumi.input_type +class GoogleIamV1PolicyArgs: + def __init__(__self__, *, + audit_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]] = None, + bindings: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]] = None, + etag: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[int]] = None): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]] audit_configs: Specifies cloud audit logging configuration for this policy. + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]] bindings: Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + :param pulumi.Input[str] etag: `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + :param pulumi.Input[int] version: Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + if audit_configs is not None: + pulumi.set(__self__, "audit_configs", audit_configs) + if bindings is not None: + pulumi.set(__self__, "bindings", bindings) + if etag is not None: + pulumi.set(__self__, "etag", etag) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="auditConfigs") + def audit_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]]: + """ + Specifies cloud audit logging configuration for this policy. + """ + return pulumi.get(self, "audit_configs") + + @audit_configs.setter + def audit_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]]): + pulumi.set(self, "audit_configs", value) + + @property + @pulumi.getter + def bindings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]]: + """ + Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + """ + return pulumi.get(self, "bindings") + + @bindings.setter + def bindings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]]): + pulumi.set(self, "bindings", value) + + @property + @pulumi.getter + def etag(self) -> Optional[pulumi.Input[str]]: + """ + `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + """ + return pulumi.get(self, "etag") + + @etag.setter + def etag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "etag", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class GoogleTypeExprArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + expression: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + title: Optional[pulumi.Input[str]] = None): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + :param pulumi.Input[str] description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax. + :param pulumi.Input[str] location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + :param pulumi.Input[str] title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if expression is not None: + pulumi.set(__self__, "expression", expression) + if location is not None: + pulumi.set(__self__, "location", location) + if title is not None: + pulumi.set(__self__, "title", title) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def expression(self) -> Optional[pulumi.Input[str]]: + """ + Textual representation of an expression in Common Expression Language syntax. + """ + return pulumi.get(self, "expression") + + @expression.setter + def expression(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expression", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def title(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + return pulumi.get(self, "title") + + @title.setter + def title(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "title", value) + + diff --git a/sdk/python/pulumi_google_native/policysimulator/v1alpha/outputs.py b/sdk/python/pulumi_google_native/policysimulator/v1alpha/outputs.py index f29a849f09..8be5707f29 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1alpha/outputs.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1alpha/outputs.py @@ -14,7 +14,12 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1alphaReplayConfigResponse', 'GoogleCloudPolicysimulatorV1alphaReplayResultsSummaryResponse', + 'GoogleIamV1AuditConfigResponse', + 'GoogleIamV1AuditLogConfigResponse', + 'GoogleIamV1BindingResponse', + 'GoogleIamV1PolicyResponse', 'GoogleTypeDateResponse', + 'GoogleTypeExprResponse', ] @pulumi.output_type @@ -43,11 +48,11 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, log_source: str, - policy_overlay: Mapping[str, str]): + policy_overlay: Mapping[str, 'outputs.GoogleIamV1PolicyResponse']): """ The configuration used for a Replay. :param str log_source: The logs to use as input for the Replay. - :param Mapping[str, str] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. + :param Mapping[str, 'GoogleIamV1PolicyResponse'] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ pulumi.set(__self__, "log_source", log_source) pulumi.set(__self__, "policy_overlay", policy_overlay) @@ -62,7 +67,7 @@ def log_source(self) -> str: @property @pulumi.getter(name="policyOverlay") - def policy_overlay(self) -> Mapping[str, str]: + def policy_overlay(self) -> Mapping[str, 'outputs.GoogleIamV1PolicyResponse']: """ A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ @@ -173,6 +178,224 @@ def unchanged_count(self) -> int: return pulumi.get(self, "unchanged_count") +@pulumi.output_type +class GoogleIamV1AuditConfigResponse(dict): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "auditLogConfigs": + suggest = "audit_log_configs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1AuditConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1AuditConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1AuditConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + audit_log_configs: Sequence['outputs.GoogleIamV1AuditLogConfigResponse'], + service: str): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + :param Sequence['GoogleIamV1AuditLogConfigResponse'] audit_log_configs: The configuration for logging of each type of permission. + :param str service: Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + pulumi.set(__self__, "audit_log_configs", audit_log_configs) + pulumi.set(__self__, "service", service) + + @property + @pulumi.getter(name="auditLogConfigs") + def audit_log_configs(self) -> Sequence['outputs.GoogleIamV1AuditLogConfigResponse']: + """ + The configuration for logging of each type of permission. + """ + return pulumi.get(self, "audit_log_configs") + + @property + @pulumi.getter + def service(self) -> str: + """ + Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + return pulumi.get(self, "service") + + +@pulumi.output_type +class GoogleIamV1AuditLogConfigResponse(dict): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "exemptedMembers": + suggest = "exempted_members" + elif key == "logType": + suggest = "log_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1AuditLogConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1AuditLogConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1AuditLogConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exempted_members: Sequence[str], + log_type: str): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + :param Sequence[str] exempted_members: Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + :param str log_type: The log type that this config enables. + """ + pulumi.set(__self__, "exempted_members", exempted_members) + pulumi.set(__self__, "log_type", log_type) + + @property + @pulumi.getter(name="exemptedMembers") + def exempted_members(self) -> Sequence[str]: + """ + Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + """ + return pulumi.get(self, "exempted_members") + + @property + @pulumi.getter(name="logType") + def log_type(self) -> str: + """ + The log type that this config enables. + """ + return pulumi.get(self, "log_type") + + +@pulumi.output_type +class GoogleIamV1BindingResponse(dict): + """ + Associates `members`, or principals, with a `role`. + """ + def __init__(__self__, *, + condition: 'outputs.GoogleTypeExprResponse', + members: Sequence[str], + role: str): + """ + Associates `members`, or principals, with a `role`. + :param 'GoogleTypeExprResponse' condition: The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + :param Sequence[str] members: Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + :param str role: Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + pulumi.set(__self__, "condition", condition) + pulumi.set(__self__, "members", members) + pulumi.set(__self__, "role", role) + + @property + @pulumi.getter + def condition(self) -> 'outputs.GoogleTypeExprResponse': + """ + The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "condition") + + @property + @pulumi.getter + def members(self) -> Sequence[str]: + """ + Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + """ + return pulumi.get(self, "members") + + @property + @pulumi.getter + def role(self) -> str: + """ + Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + return pulumi.get(self, "role") + + +@pulumi.output_type +class GoogleIamV1PolicyResponse(dict): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "auditConfigs": + suggest = "audit_configs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1PolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1PolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1PolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + audit_configs: Sequence['outputs.GoogleIamV1AuditConfigResponse'], + bindings: Sequence['outputs.GoogleIamV1BindingResponse'], + etag: str, + version: int): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + :param Sequence['GoogleIamV1AuditConfigResponse'] audit_configs: Specifies cloud audit logging configuration for this policy. + :param Sequence['GoogleIamV1BindingResponse'] bindings: Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + :param str etag: `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + :param int version: Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + pulumi.set(__self__, "audit_configs", audit_configs) + pulumi.set(__self__, "bindings", bindings) + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="auditConfigs") + def audit_configs(self) -> Sequence['outputs.GoogleIamV1AuditConfigResponse']: + """ + Specifies cloud audit logging configuration for this policy. + """ + return pulumi.get(self, "audit_configs") + + @property + @pulumi.getter + def bindings(self) -> Sequence['outputs.GoogleIamV1BindingResponse']: + """ + Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + """ + return pulumi.get(self, "bindings") + + @property + @pulumi.getter + def etag(self) -> str: + """ + `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter + def version(self) -> int: + """ + Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "version") + + @pulumi.output_type class GoogleTypeDateResponse(dict): """ @@ -217,3 +440,58 @@ def year(self) -> int: return pulumi.get(self, "year") +@pulumi.output_type +class GoogleTypeExprResponse(dict): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + """ + def __init__(__self__, *, + description: str, + expression: str, + location: str, + title: str): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + :param str description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + :param str expression: Textual representation of an expression in Common Expression Language syntax. + :param str location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + :param str title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "expression", expression) + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "title", title) + + @property + @pulumi.getter + def description(self) -> str: + """ + Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def expression(self) -> str: + """ + Textual representation of an expression in Common Expression Language syntax. + """ + return pulumi.get(self, "expression") + + @property + @pulumi.getter + def location(self) -> str: + """ + Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def title(self) -> str: + """ + Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + return pulumi.get(self, "title") + + diff --git a/sdk/python/pulumi_google_native/policysimulator/v1beta/_enums.py b/sdk/python/pulumi_google_native/policysimulator/v1beta/_enums.py index 70b3ced685..0da4f31c86 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1beta/_enums.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1beta/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1betaReplayConfigLogSource', + 'GoogleIamV1AuditLogConfigLogType', ] @@ -21,3 +22,25 @@ class GoogleCloudPolicysimulatorV1betaReplayConfigLogSource(str, Enum): """ All access logs from the last 90 days. These logs may not include logs from the most recent 7 days. """ + + +class GoogleIamV1AuditLogConfigLogType(str, Enum): + """ + The log type that this config enables. + """ + LOG_TYPE_UNSPECIFIED = "LOG_TYPE_UNSPECIFIED" + """ + Default case. Should never be this. + """ + ADMIN_READ = "ADMIN_READ" + """ + Admin reads. Example: CloudIAM getIamPolicy + """ + DATA_WRITE = "DATA_WRITE" + """ + Data writes. Example: CloudSQL Users create + """ + DATA_READ = "DATA_READ" + """ + Data reads. Example: CloudSQL Users list + """ diff --git a/sdk/python/pulumi_google_native/policysimulator/v1beta/_inputs.py b/sdk/python/pulumi_google_native/policysimulator/v1beta/_inputs.py index 3bd1670783..a495cd5675 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1beta/_inputs.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1beta/_inputs.py @@ -12,17 +12,22 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1betaReplayConfigArgs', + 'GoogleIamV1AuditConfigArgs', + 'GoogleIamV1AuditLogConfigArgs', + 'GoogleIamV1BindingArgs', + 'GoogleIamV1PolicyArgs', + 'GoogleTypeExprArgs', ] @pulumi.input_type class GoogleCloudPolicysimulatorV1betaReplayConfigArgs: def __init__(__self__, *, log_source: Optional[pulumi.Input['GoogleCloudPolicysimulatorV1betaReplayConfigLogSource']] = None, - policy_overlay: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + policy_overlay: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]] = None): """ The configuration used for a Replay. :param pulumi.Input['GoogleCloudPolicysimulatorV1betaReplayConfigLogSource'] log_source: The logs to use as input for the Replay. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ if log_source is not None: pulumi.set(__self__, "log_source", log_source) @@ -43,14 +48,294 @@ def log_source(self, value: Optional[pulumi.Input['GoogleCloudPolicysimulatorV1b @property @pulumi.getter(name="policyOverlay") - def policy_overlay(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def policy_overlay(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]]: """ A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ return pulumi.get(self, "policy_overlay") @policy_overlay.setter - def policy_overlay(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def policy_overlay(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]]): pulumi.set(self, "policy_overlay", value) +@pulumi.input_type +class GoogleIamV1AuditConfigArgs: + def __init__(__self__, *, + audit_log_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]] = None, + service: Optional[pulumi.Input[str]] = None): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]] audit_log_configs: The configuration for logging of each type of permission. + :param pulumi.Input[str] service: Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + if audit_log_configs is not None: + pulumi.set(__self__, "audit_log_configs", audit_log_configs) + if service is not None: + pulumi.set(__self__, "service", service) + + @property + @pulumi.getter(name="auditLogConfigs") + def audit_log_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]]: + """ + The configuration for logging of each type of permission. + """ + return pulumi.get(self, "audit_log_configs") + + @audit_log_configs.setter + def audit_log_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]]): + pulumi.set(self, "audit_log_configs", value) + + @property + @pulumi.getter + def service(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + return pulumi.get(self, "service") + + @service.setter + def service(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service", value) + + +@pulumi.input_type +class GoogleIamV1AuditLogConfigArgs: + def __init__(__self__, *, + exempted_members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_type: Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']] = None): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + :param pulumi.Input[Sequence[pulumi.Input[str]]] exempted_members: Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + :param pulumi.Input['GoogleIamV1AuditLogConfigLogType'] log_type: The log type that this config enables. + """ + if exempted_members is not None: + pulumi.set(__self__, "exempted_members", exempted_members) + if log_type is not None: + pulumi.set(__self__, "log_type", log_type) + + @property + @pulumi.getter(name="exemptedMembers") + def exempted_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + """ + return pulumi.get(self, "exempted_members") + + @exempted_members.setter + def exempted_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "exempted_members", value) + + @property + @pulumi.getter(name="logType") + def log_type(self) -> Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']]: + """ + The log type that this config enables. + """ + return pulumi.get(self, "log_type") + + @log_type.setter + def log_type(self, value: Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']]): + pulumi.set(self, "log_type", value) + + +@pulumi.input_type +class GoogleIamV1BindingArgs: + def __init__(__self__, *, + condition: Optional[pulumi.Input['GoogleTypeExprArgs']] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + role: Optional[pulumi.Input[str]] = None): + """ + Associates `members`, or principals, with a `role`. + :param pulumi.Input['GoogleTypeExprArgs'] condition: The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + :param pulumi.Input[str] role: Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + if condition is not None: + pulumi.set(__self__, "condition", condition) + if members is not None: + pulumi.set(__self__, "members", members) + if role is not None: + pulumi.set(__self__, "role", role) + + @property + @pulumi.getter + def condition(self) -> Optional[pulumi.Input['GoogleTypeExprArgs']]: + """ + The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "condition") + + @condition.setter + def condition(self, value: Optional[pulumi.Input['GoogleTypeExprArgs']]): + pulumi.set(self, "condition", value) + + @property + @pulumi.getter + def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + """ + return pulumi.get(self, "members") + + @members.setter + def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "members", value) + + @property + @pulumi.getter + def role(self) -> Optional[pulumi.Input[str]]: + """ + Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role", value) + + +@pulumi.input_type +class GoogleIamV1PolicyArgs: + def __init__(__self__, *, + audit_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]] = None, + bindings: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]] = None, + etag: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[int]] = None): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]] audit_configs: Specifies cloud audit logging configuration for this policy. + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]] bindings: Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + :param pulumi.Input[str] etag: `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + :param pulumi.Input[int] version: Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + if audit_configs is not None: + pulumi.set(__self__, "audit_configs", audit_configs) + if bindings is not None: + pulumi.set(__self__, "bindings", bindings) + if etag is not None: + pulumi.set(__self__, "etag", etag) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="auditConfigs") + def audit_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]]: + """ + Specifies cloud audit logging configuration for this policy. + """ + return pulumi.get(self, "audit_configs") + + @audit_configs.setter + def audit_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]]): + pulumi.set(self, "audit_configs", value) + + @property + @pulumi.getter + def bindings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]]: + """ + Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + """ + return pulumi.get(self, "bindings") + + @bindings.setter + def bindings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]]): + pulumi.set(self, "bindings", value) + + @property + @pulumi.getter + def etag(self) -> Optional[pulumi.Input[str]]: + """ + `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + """ + return pulumi.get(self, "etag") + + @etag.setter + def etag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "etag", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class GoogleTypeExprArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + expression: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + title: Optional[pulumi.Input[str]] = None): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + :param pulumi.Input[str] description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax. + :param pulumi.Input[str] location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + :param pulumi.Input[str] title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if expression is not None: + pulumi.set(__self__, "expression", expression) + if location is not None: + pulumi.set(__self__, "location", location) + if title is not None: + pulumi.set(__self__, "title", title) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def expression(self) -> Optional[pulumi.Input[str]]: + """ + Textual representation of an expression in Common Expression Language syntax. + """ + return pulumi.get(self, "expression") + + @expression.setter + def expression(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expression", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def title(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + return pulumi.get(self, "title") + + @title.setter + def title(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "title", value) + + diff --git a/sdk/python/pulumi_google_native/policysimulator/v1beta/outputs.py b/sdk/python/pulumi_google_native/policysimulator/v1beta/outputs.py index 12ee4e126c..c322aff56f 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1beta/outputs.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1beta/outputs.py @@ -14,7 +14,12 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1betaReplayConfigResponse', 'GoogleCloudPolicysimulatorV1betaReplayResultsSummaryResponse', + 'GoogleIamV1AuditConfigResponse', + 'GoogleIamV1AuditLogConfigResponse', + 'GoogleIamV1BindingResponse', + 'GoogleIamV1PolicyResponse', 'GoogleTypeDateResponse', + 'GoogleTypeExprResponse', ] @pulumi.output_type @@ -43,11 +48,11 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, log_source: str, - policy_overlay: Mapping[str, str]): + policy_overlay: Mapping[str, 'outputs.GoogleIamV1PolicyResponse']): """ The configuration used for a Replay. :param str log_source: The logs to use as input for the Replay. - :param Mapping[str, str] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. + :param Mapping[str, 'GoogleIamV1PolicyResponse'] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ pulumi.set(__self__, "log_source", log_source) pulumi.set(__self__, "policy_overlay", policy_overlay) @@ -62,7 +67,7 @@ def log_source(self) -> str: @property @pulumi.getter(name="policyOverlay") - def policy_overlay(self) -> Mapping[str, str]: + def policy_overlay(self) -> Mapping[str, 'outputs.GoogleIamV1PolicyResponse']: """ A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ @@ -173,6 +178,224 @@ def unchanged_count(self) -> int: return pulumi.get(self, "unchanged_count") +@pulumi.output_type +class GoogleIamV1AuditConfigResponse(dict): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "auditLogConfigs": + suggest = "audit_log_configs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1AuditConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1AuditConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1AuditConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + audit_log_configs: Sequence['outputs.GoogleIamV1AuditLogConfigResponse'], + service: str): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + :param Sequence['GoogleIamV1AuditLogConfigResponse'] audit_log_configs: The configuration for logging of each type of permission. + :param str service: Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + pulumi.set(__self__, "audit_log_configs", audit_log_configs) + pulumi.set(__self__, "service", service) + + @property + @pulumi.getter(name="auditLogConfigs") + def audit_log_configs(self) -> Sequence['outputs.GoogleIamV1AuditLogConfigResponse']: + """ + The configuration for logging of each type of permission. + """ + return pulumi.get(self, "audit_log_configs") + + @property + @pulumi.getter + def service(self) -> str: + """ + Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + return pulumi.get(self, "service") + + +@pulumi.output_type +class GoogleIamV1AuditLogConfigResponse(dict): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "exemptedMembers": + suggest = "exempted_members" + elif key == "logType": + suggest = "log_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1AuditLogConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1AuditLogConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1AuditLogConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exempted_members: Sequence[str], + log_type: str): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + :param Sequence[str] exempted_members: Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + :param str log_type: The log type that this config enables. + """ + pulumi.set(__self__, "exempted_members", exempted_members) + pulumi.set(__self__, "log_type", log_type) + + @property + @pulumi.getter(name="exemptedMembers") + def exempted_members(self) -> Sequence[str]: + """ + Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + """ + return pulumi.get(self, "exempted_members") + + @property + @pulumi.getter(name="logType") + def log_type(self) -> str: + """ + The log type that this config enables. + """ + return pulumi.get(self, "log_type") + + +@pulumi.output_type +class GoogleIamV1BindingResponse(dict): + """ + Associates `members`, or principals, with a `role`. + """ + def __init__(__self__, *, + condition: 'outputs.GoogleTypeExprResponse', + members: Sequence[str], + role: str): + """ + Associates `members`, or principals, with a `role`. + :param 'GoogleTypeExprResponse' condition: The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + :param Sequence[str] members: Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + :param str role: Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + pulumi.set(__self__, "condition", condition) + pulumi.set(__self__, "members", members) + pulumi.set(__self__, "role", role) + + @property + @pulumi.getter + def condition(self) -> 'outputs.GoogleTypeExprResponse': + """ + The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "condition") + + @property + @pulumi.getter + def members(self) -> Sequence[str]: + """ + Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. + """ + return pulumi.get(self, "members") + + @property + @pulumi.getter + def role(self) -> str: + """ + Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + return pulumi.get(self, "role") + + +@pulumi.output_type +class GoogleIamV1PolicyResponse(dict): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "auditConfigs": + suggest = "audit_configs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1PolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1PolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1PolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + audit_configs: Sequence['outputs.GoogleIamV1AuditConfigResponse'], + bindings: Sequence['outputs.GoogleIamV1BindingResponse'], + etag: str, + version: int): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + :param Sequence['GoogleIamV1AuditConfigResponse'] audit_configs: Specifies cloud audit logging configuration for this policy. + :param Sequence['GoogleIamV1BindingResponse'] bindings: Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + :param str etag: `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + :param int version: Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + pulumi.set(__self__, "audit_configs", audit_configs) + pulumi.set(__self__, "bindings", bindings) + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="auditConfigs") + def audit_configs(self) -> Sequence['outputs.GoogleIamV1AuditConfigResponse']: + """ + Specifies cloud audit logging configuration for this policy. + """ + return pulumi.get(self, "audit_configs") + + @property + @pulumi.getter + def bindings(self) -> Sequence['outputs.GoogleIamV1BindingResponse']: + """ + Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + """ + return pulumi.get(self, "bindings") + + @property + @pulumi.getter + def etag(self) -> str: + """ + `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter + def version(self) -> int: + """ + Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "version") + + @pulumi.output_type class GoogleTypeDateResponse(dict): """ @@ -217,3 +440,58 @@ def year(self) -> int: return pulumi.get(self, "year") +@pulumi.output_type +class GoogleTypeExprResponse(dict): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + """ + def __init__(__self__, *, + description: str, + expression: str, + location: str, + title: str): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + :param str description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + :param str expression: Textual representation of an expression in Common Expression Language syntax. + :param str location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + :param str title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "expression", expression) + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "title", title) + + @property + @pulumi.getter + def description(self) -> str: + """ + Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def expression(self) -> str: + """ + Textual representation of an expression in Common Expression Language syntax. + """ + return pulumi.get(self, "expression") + + @property + @pulumi.getter + def location(self) -> str: + """ + Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def title(self) -> str: + """ + Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + return pulumi.get(self, "title") + + diff --git a/sdk/python/pulumi_google_native/policysimulator/v1beta1/_enums.py b/sdk/python/pulumi_google_native/policysimulator/v1beta1/_enums.py index e2d3a95032..b851479de0 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1beta1/_enums.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1beta1/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource', + 'GoogleIamV1AuditLogConfigLogType', ] @@ -21,3 +22,25 @@ class GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource(str, Enum): """ All access logs from the last 90 days. These logs may not include logs from the most recent 7 days. """ + + +class GoogleIamV1AuditLogConfigLogType(str, Enum): + """ + The log type that this config enables. + """ + LOG_TYPE_UNSPECIFIED = "LOG_TYPE_UNSPECIFIED" + """ + Default case. Should never be this. + """ + ADMIN_READ = "ADMIN_READ" + """ + Admin reads. Example: CloudIAM getIamPolicy + """ + DATA_WRITE = "DATA_WRITE" + """ + Data writes. Example: CloudSQL Users create + """ + DATA_READ = "DATA_READ" + """ + Data reads. Example: CloudSQL Users list + """ diff --git a/sdk/python/pulumi_google_native/policysimulator/v1beta1/_inputs.py b/sdk/python/pulumi_google_native/policysimulator/v1beta1/_inputs.py index c996509f3f..8d6cd2dc8b 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1beta1/_inputs.py @@ -12,17 +12,22 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs', + 'GoogleIamV1AuditConfigArgs', + 'GoogleIamV1AuditLogConfigArgs', + 'GoogleIamV1BindingArgs', + 'GoogleIamV1PolicyArgs', + 'GoogleTypeExprArgs', ] @pulumi.input_type class GoogleCloudPolicysimulatorV1beta1ReplayConfigArgs: def __init__(__self__, *, log_source: Optional[pulumi.Input['GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource']] = None, - policy_overlay: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + policy_overlay: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]] = None): """ The configuration used for a Replay. :param pulumi.Input['GoogleCloudPolicysimulatorV1beta1ReplayConfigLogSource'] log_source: The logs to use as input for the Replay. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ if log_source is not None: pulumi.set(__self__, "log_source", log_source) @@ -43,14 +48,294 @@ def log_source(self, value: Optional[pulumi.Input['GoogleCloudPolicysimulatorV1b @property @pulumi.getter(name="policyOverlay") - def policy_overlay(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def policy_overlay(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]]: """ A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ return pulumi.get(self, "policy_overlay") @policy_overlay.setter - def policy_overlay(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def policy_overlay(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleIamV1PolicyArgs']]]]): pulumi.set(self, "policy_overlay", value) +@pulumi.input_type +class GoogleIamV1AuditConfigArgs: + def __init__(__self__, *, + audit_log_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]] = None, + service: Optional[pulumi.Input[str]] = None): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]] audit_log_configs: The configuration for logging of each type of permission. + :param pulumi.Input[str] service: Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + if audit_log_configs is not None: + pulumi.set(__self__, "audit_log_configs", audit_log_configs) + if service is not None: + pulumi.set(__self__, "service", service) + + @property + @pulumi.getter(name="auditLogConfigs") + def audit_log_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]]: + """ + The configuration for logging of each type of permission. + """ + return pulumi.get(self, "audit_log_configs") + + @audit_log_configs.setter + def audit_log_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditLogConfigArgs']]]]): + pulumi.set(self, "audit_log_configs", value) + + @property + @pulumi.getter + def service(self) -> Optional[pulumi.Input[str]]: + """ + Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + return pulumi.get(self, "service") + + @service.setter + def service(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service", value) + + +@pulumi.input_type +class GoogleIamV1AuditLogConfigArgs: + def __init__(__self__, *, + exempted_members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + log_type: Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']] = None): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + :param pulumi.Input[Sequence[pulumi.Input[str]]] exempted_members: Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + :param pulumi.Input['GoogleIamV1AuditLogConfigLogType'] log_type: The log type that this config enables. + """ + if exempted_members is not None: + pulumi.set(__self__, "exempted_members", exempted_members) + if log_type is not None: + pulumi.set(__self__, "log_type", log_type) + + @property + @pulumi.getter(name="exemptedMembers") + def exempted_members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + """ + return pulumi.get(self, "exempted_members") + + @exempted_members.setter + def exempted_members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "exempted_members", value) + + @property + @pulumi.getter(name="logType") + def log_type(self) -> Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']]: + """ + The log type that this config enables. + """ + return pulumi.get(self, "log_type") + + @log_type.setter + def log_type(self, value: Optional[pulumi.Input['GoogleIamV1AuditLogConfigLogType']]): + pulumi.set(self, "log_type", value) + + +@pulumi.input_type +class GoogleIamV1BindingArgs: + def __init__(__self__, *, + condition: Optional[pulumi.Input['GoogleTypeExprArgs']] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + role: Optional[pulumi.Input[str]] = None): + """ + Associates `members`, or principals, with a `role`. + :param pulumi.Input['GoogleTypeExprArgs'] condition: The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + :param pulumi.Input[str] role: Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + if condition is not None: + pulumi.set(__self__, "condition", condition) + if members is not None: + pulumi.set(__self__, "members", members) + if role is not None: + pulumi.set(__self__, "role", role) + + @property + @pulumi.getter + def condition(self) -> Optional[pulumi.Input['GoogleTypeExprArgs']]: + """ + The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "condition") + + @condition.setter + def condition(self, value: Optional[pulumi.Input['GoogleTypeExprArgs']]): + pulumi.set(self, "condition", value) + + @property + @pulumi.getter + def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + """ + return pulumi.get(self, "members") + + @members.setter + def members(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "members", value) + + @property + @pulumi.getter + def role(self) -> Optional[pulumi.Input[str]]: + """ + Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role", value) + + +@pulumi.input_type +class GoogleIamV1PolicyArgs: + def __init__(__self__, *, + audit_configs: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]] = None, + bindings: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]] = None, + etag: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[int]] = None): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]] audit_configs: Specifies cloud audit logging configuration for this policy. + :param pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]] bindings: Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + :param pulumi.Input[str] etag: `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + :param pulumi.Input[int] version: Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + if audit_configs is not None: + pulumi.set(__self__, "audit_configs", audit_configs) + if bindings is not None: + pulumi.set(__self__, "bindings", bindings) + if etag is not None: + pulumi.set(__self__, "etag", etag) + if version is not None: + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="auditConfigs") + def audit_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]]: + """ + Specifies cloud audit logging configuration for this policy. + """ + return pulumi.get(self, "audit_configs") + + @audit_configs.setter + def audit_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1AuditConfigArgs']]]]): + pulumi.set(self, "audit_configs", value) + + @property + @pulumi.getter + def bindings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]]: + """ + Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + """ + return pulumi.get(self, "bindings") + + @bindings.setter + def bindings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleIamV1BindingArgs']]]]): + pulumi.set(self, "bindings", value) + + @property + @pulumi.getter + def etag(self) -> Optional[pulumi.Input[str]]: + """ + `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + """ + return pulumi.get(self, "etag") + + @etag.setter + def etag(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "etag", value) + + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[int]]: + """ + Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "version", value) + + +@pulumi.input_type +class GoogleTypeExprArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + expression: Optional[pulumi.Input[str]] = None, + location: Optional[pulumi.Input[str]] = None, + title: Optional[pulumi.Input[str]] = None): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + :param pulumi.Input[str] description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax. + :param pulumi.Input[str] location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + :param pulumi.Input[str] title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if expression is not None: + pulumi.set(__self__, "expression", expression) + if location is not None: + pulumi.set(__self__, "location", location) + if title is not None: + pulumi.set(__self__, "title", title) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def expression(self) -> Optional[pulumi.Input[str]]: + """ + Textual representation of an expression in Common Expression Language syntax. + """ + return pulumi.get(self, "expression") + + @expression.setter + def expression(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "expression", value) + + @property + @pulumi.getter + def location(self) -> Optional[pulumi.Input[str]]: + """ + Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + """ + return pulumi.get(self, "location") + + @location.setter + def location(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "location", value) + + @property + @pulumi.getter + def title(self) -> Optional[pulumi.Input[str]]: + """ + Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + return pulumi.get(self, "title") + + @title.setter + def title(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "title", value) + + diff --git a/sdk/python/pulumi_google_native/policysimulator/v1beta1/outputs.py b/sdk/python/pulumi_google_native/policysimulator/v1beta1/outputs.py index b7d350a238..d17bfb56a3 100644 --- a/sdk/python/pulumi_google_native/policysimulator/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/policysimulator/v1beta1/outputs.py @@ -14,7 +14,12 @@ __all__ = [ 'GoogleCloudPolicysimulatorV1beta1ReplayConfigResponse', 'GoogleCloudPolicysimulatorV1beta1ReplayResultsSummaryResponse', + 'GoogleIamV1AuditConfigResponse', + 'GoogleIamV1AuditLogConfigResponse', + 'GoogleIamV1BindingResponse', + 'GoogleIamV1PolicyResponse', 'GoogleTypeDateResponse', + 'GoogleTypeExprResponse', ] @pulumi.output_type @@ -43,11 +48,11 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, log_source: str, - policy_overlay: Mapping[str, str]): + policy_overlay: Mapping[str, 'outputs.GoogleIamV1PolicyResponse']): """ The configuration used for a Replay. :param str log_source: The logs to use as input for the Replay. - :param Mapping[str, str] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. + :param Mapping[str, 'GoogleIamV1PolicyResponse'] policy_overlay: A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ pulumi.set(__self__, "log_source", log_source) pulumi.set(__self__, "policy_overlay", policy_overlay) @@ -62,7 +67,7 @@ def log_source(self) -> str: @property @pulumi.getter(name="policyOverlay") - def policy_overlay(self) -> Mapping[str, str]: + def policy_overlay(self) -> Mapping[str, 'outputs.GoogleIamV1PolicyResponse']: """ A mapping of the resources that you want to simulate policies for and the policies that you want to simulate. Keys are the full resource names for the resources. For example, `//cloudresourcemanager.googleapis.com/projects/my-project`. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names. Values are Policy objects representing the policies that you want to simulate. Replays automatically take into account any IAM policies inherited through the resource hierarchy, and any policies set on descendant resources. You do not need to include these policies in the policy overlay. """ @@ -173,6 +178,224 @@ def unchanged_count(self) -> int: return pulumi.get(self, "unchanged_count") +@pulumi.output_type +class GoogleIamV1AuditConfigResponse(dict): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "auditLogConfigs": + suggest = "audit_log_configs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1AuditConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1AuditConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1AuditConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + audit_log_configs: Sequence['outputs.GoogleIamV1AuditLogConfigResponse'], + service: str): + """ + Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. + :param Sequence['GoogleIamV1AuditLogConfigResponse'] audit_log_configs: The configuration for logging of each type of permission. + :param str service: Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + pulumi.set(__self__, "audit_log_configs", audit_log_configs) + pulumi.set(__self__, "service", service) + + @property + @pulumi.getter(name="auditLogConfigs") + def audit_log_configs(self) -> Sequence['outputs.GoogleIamV1AuditLogConfigResponse']: + """ + The configuration for logging of each type of permission. + """ + return pulumi.get(self, "audit_log_configs") + + @property + @pulumi.getter + def service(self) -> str: + """ + Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. + """ + return pulumi.get(self, "service") + + +@pulumi.output_type +class GoogleIamV1AuditLogConfigResponse(dict): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "exemptedMembers": + suggest = "exempted_members" + elif key == "logType": + suggest = "log_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1AuditLogConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1AuditLogConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1AuditLogConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + exempted_members: Sequence[str], + log_type: str): + """ + Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging. + :param Sequence[str] exempted_members: Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + :param str log_type: The log type that this config enables. + """ + pulumi.set(__self__, "exempted_members", exempted_members) + pulumi.set(__self__, "log_type", log_type) + + @property + @pulumi.getter(name="exemptedMembers") + def exempted_members(self) -> Sequence[str]: + """ + Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. + """ + return pulumi.get(self, "exempted_members") + + @property + @pulumi.getter(name="logType") + def log_type(self) -> str: + """ + The log type that this config enables. + """ + return pulumi.get(self, "log_type") + + +@pulumi.output_type +class GoogleIamV1BindingResponse(dict): + """ + Associates `members`, or principals, with a `role`. + """ + def __init__(__self__, *, + condition: 'outputs.GoogleTypeExprResponse', + members: Sequence[str], + role: str): + """ + Associates `members`, or principals, with a `role`. + :param 'GoogleTypeExprResponse' condition: The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + :param Sequence[str] members: Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + :param str role: Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + pulumi.set(__self__, "condition", condition) + pulumi.set(__self__, "members", members) + pulumi.set(__self__, "role", role) + + @property + @pulumi.getter + def condition(self) -> 'outputs.GoogleTypeExprResponse': + """ + The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "condition") + + @property + @pulumi.getter + def members(self) -> Sequence[str]: + """ + Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + """ + return pulumi.get(self, "members") + + @property + @pulumi.getter + def role(self) -> str: + """ + Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. + """ + return pulumi.get(self, "role") + + +@pulumi.output_type +class GoogleIamV1PolicyResponse(dict): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "auditConfigs": + suggest = "audit_configs" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GoogleIamV1PolicyResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GoogleIamV1PolicyResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GoogleIamV1PolicyResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + audit_configs: Sequence['outputs.GoogleIamV1AuditConfigResponse'], + bindings: Sequence['outputs.GoogleIamV1BindingResponse'], + etag: str, + version: int): + """ + An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). + :param Sequence['GoogleIamV1AuditConfigResponse'] audit_configs: Specifies cloud audit logging configuration for this policy. + :param Sequence['GoogleIamV1BindingResponse'] bindings: Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + :param str etag: `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + :param int version: Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + pulumi.set(__self__, "audit_configs", audit_configs) + pulumi.set(__self__, "bindings", bindings) + pulumi.set(__self__, "etag", etag) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter(name="auditConfigs") + def audit_configs(self) -> Sequence['outputs.GoogleIamV1AuditConfigResponse']: + """ + Specifies cloud audit logging configuration for this policy. + """ + return pulumi.get(self, "audit_configs") + + @property + @pulumi.getter + def bindings(self) -> Sequence['outputs.GoogleIamV1BindingResponse']: + """ + Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`. + """ + return pulumi.get(self, "bindings") + + @property + @pulumi.getter + def etag(self) -> str: + """ + `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. + """ + return pulumi.get(self, "etag") + + @property + @pulumi.getter + def version(self) -> int: + """ + Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + """ + return pulumi.get(self, "version") + + @pulumi.output_type class GoogleTypeDateResponse(dict): """ @@ -217,3 +440,58 @@ def year(self) -> int: return pulumi.get(self, "year") +@pulumi.output_type +class GoogleTypeExprResponse(dict): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + """ + def __init__(__self__, *, + description: str, + expression: str, + location: str, + title: str): + """ + Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + :param str description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + :param str expression: Textual representation of an expression in Common Expression Language syntax. + :param str location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + :param str title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "expression", expression) + pulumi.set(__self__, "location", location) + pulumi.set(__self__, "title", title) + + @property + @pulumi.getter + def description(self) -> str: + """ + Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def expression(self) -> str: + """ + Textual representation of an expression in Common Expression Language syntax. + """ + return pulumi.get(self, "expression") + + @property + @pulumi.getter + def location(self) -> str: + """ + Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + """ + return pulumi.get(self, "location") + + @property + @pulumi.getter + def title(self) -> str: + """ + Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + """ + return pulumi.get(self, "title") + + diff --git a/sdk/python/pulumi_google_native/recommendationengine/v1beta1/_inputs.py b/sdk/python/pulumi_google_native/recommendationengine/v1beta1/_inputs.py index 9e1adb172f..f10e10e0f3 100644 --- a/sdk/python/pulumi_google_native/recommendationengine/v1beta1/_inputs.py +++ b/sdk/python/pulumi_google_native/recommendationengine/v1beta1/_inputs.py @@ -12,6 +12,8 @@ __all__ = [ 'GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchyArgs', + 'GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs', + 'GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs', 'GoogleCloudRecommendationengineV1beta1FeatureMapArgs', 'GoogleCloudRecommendationengineV1beta1ImageArgs', 'GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPriceArgs', @@ -42,15 +44,63 @@ def categories(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): pulumi.set(self, "categories", value) +@pulumi.input_type +class GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs: + def __init__(__self__, *, + value: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]] = None): + """ + A list of float features. + :param pulumi.Input[Sequence[pulumi.Input[float]]] value: Float feature value. + """ + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]: + """ + Float feature value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs: + def __init__(__self__, *, + value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + A list of string features. + :param pulumi.Input[Sequence[pulumi.Input[str]]] value: String feature value with a length limit of 128 bytes. + """ + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + String feature value with a length limit of 128 bytes. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "value", value) + + @pulumi.input_type class GoogleCloudRecommendationengineV1beta1FeatureMapArgs: def __init__(__self__, *, - categorical_features: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - numerical_features: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + categorical_features: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs']]]] = None, + numerical_features: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs']]]] = None): """ FeatureMap represents extra features that customers want to include in the recommendation model for catalogs/user events as categorical/numerical features. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] categorical_features: Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] numerical_features: Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs']]] categorical_features: Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs']]] numerical_features: Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` """ if categorical_features is not None: pulumi.set(__self__, "categorical_features", categorical_features) @@ -59,26 +109,26 @@ def __init__(__self__, *, @property @pulumi.getter(name="categoricalFeatures") - def categorical_features(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def categorical_features(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs']]]]: """ Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` """ return pulumi.get(self, "categorical_features") @categorical_features.setter - def categorical_features(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def categorical_features(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRecommendationengineV1beta1FeatureMapStringListArgs']]]]): pulumi.set(self, "categorical_features", value) @property @pulumi.getter(name="numericalFeatures") - def numerical_features(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def numerical_features(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs']]]]: """ Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` """ return pulumi.get(self, "numerical_features") @numerical_features.setter - def numerical_features(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def numerical_features(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRecommendationengineV1beta1FeatureMapFloatListArgs']]]]): pulumi.set(self, "numerical_features", value) @@ -220,7 +270,7 @@ class GoogleCloudRecommendationengineV1beta1ProductCatalogItemArgs: def __init__(__self__, *, available_quantity: Optional[pulumi.Input[str]] = None, canonical_product_uri: Optional[pulumi.Input[str]] = None, - costs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + costs: Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]] = None, currency_code: Optional[pulumi.Input[str]] = None, exact_price: Optional[pulumi.Input['GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPriceArgs']] = None, images: Optional[pulumi.Input[Sequence[pulumi.Input['GoogleCloudRecommendationengineV1beta1ImageArgs']]]] = None, @@ -230,7 +280,7 @@ def __init__(__self__, *, ProductCatalogItem captures item metadata specific to retail products. :param pulumi.Input[str] available_quantity: Optional. The available quantity of the item. :param pulumi.Input[str] canonical_product_uri: Optional. Canonical URL directly linking to the item detail page with a length limit of 5 KiB.. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] costs: Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) + :param pulumi.Input[Mapping[str, pulumi.Input[float]]] costs: Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) :param pulumi.Input[str] currency_code: Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. :param pulumi.Input['GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPriceArgs'] exact_price: Optional. The exact product price. :param pulumi.Input[Sequence[pulumi.Input['GoogleCloudRecommendationengineV1beta1ImageArgs']]] images: Optional. Product images for the catalog item. @@ -280,14 +330,14 @@ def canonical_product_uri(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def costs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def costs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]]: """ Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) """ return pulumi.get(self, "costs") @costs.setter - def costs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def costs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]]): pulumi.set(self, "costs", value) @property diff --git a/sdk/python/pulumi_google_native/recommendationengine/v1beta1/outputs.py b/sdk/python/pulumi_google_native/recommendationengine/v1beta1/outputs.py index 801bbaad47..28dbc4fff2 100644 --- a/sdk/python/pulumi_google_native/recommendationengine/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/recommendationengine/v1beta1/outputs.py @@ -13,7 +13,9 @@ __all__ = [ 'GoogleCloudRecommendationengineV1beta1CatalogItemCategoryHierarchyResponse', + 'GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse', 'GoogleCloudRecommendationengineV1beta1FeatureMapResponse', + 'GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse', 'GoogleCloudRecommendationengineV1beta1ImageResponse', 'GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPriceResponse', 'GoogleCloudRecommendationengineV1beta1ProductCatalogItemPriceRangeResponse', @@ -42,6 +44,28 @@ def categories(self) -> Sequence[str]: return pulumi.get(self, "categories") +@pulumi.output_type +class GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse(dict): + """ + A list of float features. + """ + def __init__(__self__, *, + value: Sequence[float]): + """ + A list of float features. + :param Sequence[float] value: Float feature value. + """ + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def value(self) -> Sequence[float]: + """ + Float feature value. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class GoogleCloudRecommendationengineV1beta1FeatureMapResponse(dict): """ @@ -67,19 +91,19 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - categorical_features: Mapping[str, str], - numerical_features: Mapping[str, str]): + categorical_features: Mapping[str, 'outputs.GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse'], + numerical_features: Mapping[str, 'outputs.GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse']): """ FeatureMap represents extra features that customers want to include in the recommendation model for catalogs/user events as categorical/numerical features. - :param Mapping[str, str] categorical_features: Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` - :param Mapping[str, str] numerical_features: Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` + :param Mapping[str, 'GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse'] categorical_features: Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` + :param Mapping[str, 'GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse'] numerical_features: Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` """ pulumi.set(__self__, "categorical_features", categorical_features) pulumi.set(__self__, "numerical_features", numerical_features) @property @pulumi.getter(name="categoricalFeatures") - def categorical_features(self) -> Mapping[str, str]: + def categorical_features(self) -> Mapping[str, 'outputs.GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse']: """ Categorical features that can take on one of a limited number of possible values. Some examples would be the brand/maker of a product, or country of a customer. Feature names and values must be UTF-8 encoded strings. For example: `{ "colors": {"value": ["yellow", "green"]}, "sizes": {"value":["S", "M"]}` """ @@ -87,13 +111,35 @@ def categorical_features(self) -> Mapping[str, str]: @property @pulumi.getter(name="numericalFeatures") - def numerical_features(self) -> Mapping[str, str]: + def numerical_features(self) -> Mapping[str, 'outputs.GoogleCloudRecommendationengineV1beta1FeatureMapFloatListResponse']: """ Numerical features. Some examples would be the height/weight of a product, or age of a customer. Feature names must be UTF-8 encoded strings. For example: `{ "lengths_cm": {"value":[2.3, 15.4]}, "heights_cm": {"value":[8.1, 6.4]} }` """ return pulumi.get(self, "numerical_features") +@pulumi.output_type +class GoogleCloudRecommendationengineV1beta1FeatureMapStringListResponse(dict): + """ + A list of string features. + """ + def __init__(__self__, *, + value: Sequence[str]): + """ + A list of string features. + :param Sequence[str] value: String feature value with a length limit of 128 bytes. + """ + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def value(self) -> Sequence[str]: + """ + String feature value with a length limit of 128 bytes. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class GoogleCloudRecommendationengineV1beta1ImageResponse(dict): """ @@ -258,7 +304,7 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, available_quantity: str, canonical_product_uri: str, - costs: Mapping[str, str], + costs: Mapping[str, float], currency_code: str, exact_price: 'outputs.GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPriceResponse', images: Sequence['outputs.GoogleCloudRecommendationengineV1beta1ImageResponse'], @@ -268,7 +314,7 @@ def __init__(__self__, *, ProductCatalogItem captures item metadata specific to retail products. :param str available_quantity: Optional. The available quantity of the item. :param str canonical_product_uri: Optional. Canonical URL directly linking to the item detail page with a length limit of 5 KiB.. - :param Mapping[str, str] costs: Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) + :param Mapping[str, float] costs: Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) :param str currency_code: Optional. Only required if the price is set. Currency code for price/costs. Use three-character ISO-4217 code. :param 'GoogleCloudRecommendationengineV1beta1ProductCatalogItemExactPriceResponse' exact_price: Optional. The exact product price. :param Sequence['GoogleCloudRecommendationengineV1beta1ImageResponse'] images: Optional. Product images for the catalog item. @@ -302,7 +348,7 @@ def canonical_product_uri(self) -> str: @property @pulumi.getter - def costs(self) -> Mapping[str, str]: + def costs(self) -> Mapping[str, float]: """ Optional. A map to pass the costs associated with the product. For example: {"manufacturing": 45.5} The profit of selling this item is computed like so: * If 'exactPrice' is provided, profit = displayPrice - sum(costs) * If 'priceRange' is provided, profit = minPrice - sum(costs) """ diff --git a/sdk/python/pulumi_google_native/retail/v2/_inputs.py b/sdk/python/pulumi_google_native/retail/v2/_inputs.py index 7ef962f3ee..a4689d2569 100644 --- a/sdk/python/pulumi_google_native/retail/v2/_inputs.py +++ b/sdk/python/pulumi_google_native/retail/v2/_inputs.py @@ -16,6 +16,7 @@ 'GoogleCloudRetailV2ConditionQueryTermArgs', 'GoogleCloudRetailV2ConditionTimeRangeArgs', 'GoogleCloudRetailV2ConditionArgs', + 'GoogleCloudRetailV2CustomAttributeArgs', 'GoogleCloudRetailV2FulfillmentInfoArgs', 'GoogleCloudRetailV2ImageArgs', 'GoogleCloudRetailV2ModelFrequentlyBoughtTogetherFeaturesConfigArgs', @@ -255,6 +256,78 @@ def query_terms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Google pulumi.set(self, "query_terms", value) +@pulumi.input_type +class GoogleCloudRetailV2CustomAttributeArgs: + def __init__(__self__, *, + indexable: Optional[pulumi.Input[bool]] = None, + numbers: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]] = None, + searchable: Optional[pulumi.Input[bool]] = None, + text: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + A custom attribute that is not explicitly modeled in Product. + :param pulumi.Input[bool] indexable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + :param pulumi.Input[Sequence[pulumi.Input[float]]] numbers: The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + :param pulumi.Input[bool] searchable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + :param pulumi.Input[Sequence[pulumi.Input[str]]] text: The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + if indexable is not None: + pulumi.set(__self__, "indexable", indexable) + if numbers is not None: + pulumi.set(__self__, "numbers", numbers) + if searchable is not None: + pulumi.set(__self__, "searchable", searchable) + if text is not None: + pulumi.set(__self__, "text", text) + + @property + @pulumi.getter + def indexable(self) -> Optional[pulumi.Input[bool]]: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + """ + return pulumi.get(self, "indexable") + + @indexable.setter + def indexable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "indexable", value) + + @property + @pulumi.getter + def numbers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]: + """ + The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "numbers") + + @numbers.setter + def numbers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]): + pulumi.set(self, "numbers", value) + + @property + @pulumi.getter + def searchable(self) -> Optional[pulumi.Input[bool]]: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "searchable") + + @searchable.setter + def searchable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "searchable", value) + + @property + @pulumi.getter + def text(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "text") + + @text.setter + def text(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "text", value) + + @pulumi.input_type class GoogleCloudRetailV2FulfillmentInfoArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/retail/v2/get_product.py b/sdk/python/pulumi_google_native/retail/v2/get_product.py index 1bd8e2e736..496a932475 100644 --- a/sdk/python/pulumi_google_native/retail/v2/get_product.py +++ b/sdk/python/pulumi_google_native/retail/v2/get_product.py @@ -122,7 +122,7 @@ def __init__(__self__, attributes=None, audience=None, availability=None, availa @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, 'outputs.GoogleCloudRetailV2CustomAttributeResponse']: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ diff --git a/sdk/python/pulumi_google_native/retail/v2/outputs.py b/sdk/python/pulumi_google_native/retail/v2/outputs.py index ecd5a99532..aff9fa6272 100644 --- a/sdk/python/pulumi_google_native/retail/v2/outputs.py +++ b/sdk/python/pulumi_google_native/retail/v2/outputs.py @@ -17,6 +17,7 @@ 'GoogleCloudRetailV2ConditionQueryTermResponse', 'GoogleCloudRetailV2ConditionResponse', 'GoogleCloudRetailV2ConditionTimeRangeResponse', + 'GoogleCloudRetailV2CustomAttributeResponse', 'GoogleCloudRetailV2FulfillmentInfoResponse', 'GoogleCloudRetailV2ImageResponse', 'GoogleCloudRetailV2IntervalResponse', @@ -312,6 +313,61 @@ def start_time(self) -> str: return pulumi.get(self, "start_time") +@pulumi.output_type +class GoogleCloudRetailV2CustomAttributeResponse(dict): + """ + A custom attribute that is not explicitly modeled in Product. + """ + def __init__(__self__, *, + indexable: bool, + numbers: Sequence[float], + searchable: bool, + text: Sequence[str]): + """ + A custom attribute that is not explicitly modeled in Product. + :param bool indexable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + :param Sequence[float] numbers: The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + :param bool searchable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + :param Sequence[str] text: The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + pulumi.set(__self__, "indexable", indexable) + pulumi.set(__self__, "numbers", numbers) + pulumi.set(__self__, "searchable", searchable) + pulumi.set(__self__, "text", text) + + @property + @pulumi.getter + def indexable(self) -> bool: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + """ + return pulumi.get(self, "indexable") + + @property + @pulumi.getter + def numbers(self) -> Sequence[float]: + """ + The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "numbers") + + @property + @pulumi.getter + def searchable(self) -> bool: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "searchable") + + @property + @pulumi.getter + def text(self) -> Sequence[str]: + """ + The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "text") + + @pulumi.output_type class GoogleCloudRetailV2FulfillmentInfoResponse(dict): """ @@ -507,13 +563,13 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attributes: Mapping[str, str], + attributes: Mapping[str, 'outputs.GoogleCloudRetailV2CustomAttributeResponse'], fulfillment_types: Sequence[str], place_id: str, price_info: 'outputs.GoogleCloudRetailV2PriceInfoResponse'): """ The inventory information at a place (e.g. a store) identified by a place ID. - :param Mapping[str, str] attributes: Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. + :param Mapping[str, 'GoogleCloudRetailV2CustomAttributeResponse'] attributes: Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. :param Sequence[str] fulfillment_types: Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. :param str place_id: The place ID for the current set of inventory information. :param 'GoogleCloudRetailV2PriceInfoResponse' price_info: Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). @@ -525,7 +581,7 @@ def __init__(__self__, *, @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, 'outputs.GoogleCloudRetailV2CustomAttributeResponse']: """ Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. """ @@ -881,7 +937,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attributes: Mapping[str, str], + attributes: Mapping[str, 'outputs.GoogleCloudRetailV2CustomAttributeResponse'], audience: 'outputs.GoogleCloudRetailV2AudienceResponse', availability: str, available_quantity: int, @@ -916,7 +972,7 @@ def __init__(__self__, *, variants: Sequence['outputs.GoogleCloudRetailV2ProductResponse']): """ Product captures all metadata information of items to be recommended or searched. - :param Mapping[str, str] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. + :param Mapping[str, 'GoogleCloudRetailV2CustomAttributeResponse'] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. :param 'GoogleCloudRetailV2AudienceResponse' audience: The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. :param str availability: The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). :param int available_quantity: The available quantity of the item. @@ -986,7 +1042,7 @@ def __init__(__self__, *, @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, 'outputs.GoogleCloudRetailV2CustomAttributeResponse']: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ diff --git a/sdk/python/pulumi_google_native/retail/v2/product.py b/sdk/python/pulumi_google_native/retail/v2/product.py index b016634ae4..099874127f 100644 --- a/sdk/python/pulumi_google_native/retail/v2/product.py +++ b/sdk/python/pulumi_google_native/retail/v2/product.py @@ -21,7 +21,7 @@ def __init__(__self__, *, catalog_id: pulumi.Input[str], product_id: pulumi.Input[str], title: pulumi.Input[str], - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2CustomAttributeArgs']]]] = None, audience: Optional[pulumi.Input['GoogleCloudRetailV2AudienceArgs']] = None, availability: Optional[pulumi.Input['ProductAvailability']] = None, available_quantity: Optional[pulumi.Input[int]] = None, @@ -58,7 +58,7 @@ def __init__(__self__, *, The set of arguments for constructing a Product resource. :param pulumi.Input[str] product_id: Required. The ID to use for the Product, which will become the final component of the Product.name. If the caller does not have permission to create the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. This field must be unique among all Products with the same parent. Otherwise, an ALREADY_EXISTS error is returned. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. :param pulumi.Input[str] title: Product title. This field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [title](https://support.google.com/merchants/answer/6324415). Schema.org property [Product.name](https://schema.org/name). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2CustomAttributeArgs']]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. :param pulumi.Input['GoogleCloudRetailV2AudienceArgs'] audience: The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. :param pulumi.Input['ProductAvailability'] availability: The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). :param pulumi.Input[int] available_quantity: The available quantity of the item. @@ -208,14 +208,14 @@ def title(self, value: pulumi.Input[str]): @property @pulumi.getter - def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2CustomAttributeArgs']]]]: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ return pulumi.get(self, "attributes") @attributes.setter - def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2CustomAttributeArgs']]]]): pulumi.set(self, "attributes", value) @property @@ -603,7 +603,7 @@ class Product(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudRetailV2CustomAttributeArgs']]]]] = None, audience: Optional[pulumi.Input[pulumi.InputType['GoogleCloudRetailV2AudienceArgs']]] = None, availability: Optional[pulumi.Input['ProductAvailability']] = None, available_quantity: Optional[pulumi.Input[int]] = None, @@ -646,7 +646,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudRetailV2CustomAttributeArgs']]]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. :param pulumi.Input[pulumi.InputType['GoogleCloudRetailV2AudienceArgs']] audience: The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. :param pulumi.Input['ProductAvailability'] availability: The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). :param pulumi.Input[int] available_quantity: The available quantity of the item. @@ -704,7 +704,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudRetailV2CustomAttributeArgs']]]]] = None, audience: Optional[pulumi.Input[pulumi.InputType['GoogleCloudRetailV2AudienceArgs']]] = None, availability: Optional[pulumi.Input['ProductAvailability']] = None, available_quantity: Optional[pulumi.Input[int]] = None, @@ -863,7 +863,7 @@ def get(resource_name: str, @property @pulumi.getter - def attributes(self) -> pulumi.Output[Mapping[str, str]]: + def attributes(self) -> pulumi.Output[Mapping[str, 'outputs.GoogleCloudRetailV2CustomAttributeResponse']]: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ diff --git a/sdk/python/pulumi_google_native/retail/v2alpha/_inputs.py b/sdk/python/pulumi_google_native/retail/v2alpha/_inputs.py index 07c4044348..8fde2625af 100644 --- a/sdk/python/pulumi_google_native/retail/v2alpha/_inputs.py +++ b/sdk/python/pulumi_google_native/retail/v2alpha/_inputs.py @@ -16,6 +16,7 @@ 'GoogleCloudRetailV2alphaConditionQueryTermArgs', 'GoogleCloudRetailV2alphaConditionTimeRangeArgs', 'GoogleCloudRetailV2alphaConditionArgs', + 'GoogleCloudRetailV2alphaCustomAttributeArgs', 'GoogleCloudRetailV2alphaFulfillmentInfoArgs', 'GoogleCloudRetailV2alphaImageArgs', 'GoogleCloudRetailV2alphaIntervalArgs', @@ -261,6 +262,78 @@ def query_terms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Google pulumi.set(self, "query_terms", value) +@pulumi.input_type +class GoogleCloudRetailV2alphaCustomAttributeArgs: + def __init__(__self__, *, + indexable: Optional[pulumi.Input[bool]] = None, + numbers: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]] = None, + searchable: Optional[pulumi.Input[bool]] = None, + text: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + A custom attribute that is not explicitly modeled in Product. + :param pulumi.Input[bool] indexable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + :param pulumi.Input[Sequence[pulumi.Input[float]]] numbers: The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + :param pulumi.Input[bool] searchable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + :param pulumi.Input[Sequence[pulumi.Input[str]]] text: The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + if indexable is not None: + pulumi.set(__self__, "indexable", indexable) + if numbers is not None: + pulumi.set(__self__, "numbers", numbers) + if searchable is not None: + pulumi.set(__self__, "searchable", searchable) + if text is not None: + pulumi.set(__self__, "text", text) + + @property + @pulumi.getter + def indexable(self) -> Optional[pulumi.Input[bool]]: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + """ + return pulumi.get(self, "indexable") + + @indexable.setter + def indexable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "indexable", value) + + @property + @pulumi.getter + def numbers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]: + """ + The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "numbers") + + @numbers.setter + def numbers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]): + pulumi.set(self, "numbers", value) + + @property + @pulumi.getter + def searchable(self) -> Optional[pulumi.Input[bool]]: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "searchable") + + @searchable.setter + def searchable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "searchable", value) + + @property + @pulumi.getter + def text(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "text") + + @text.setter + def text(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "text", value) + + @pulumi.input_type class GoogleCloudRetailV2alphaFulfillmentInfoArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/retail/v2alpha/get_product.py b/sdk/python/pulumi_google_native/retail/v2alpha/get_product.py index 3f3fefdf00..74b27f7fba 100644 --- a/sdk/python/pulumi_google_native/retail/v2alpha/get_product.py +++ b/sdk/python/pulumi_google_native/retail/v2alpha/get_product.py @@ -122,7 +122,7 @@ def __init__(__self__, attributes=None, audience=None, availability=None, availa @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, 'outputs.GoogleCloudRetailV2alphaCustomAttributeResponse']: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ diff --git a/sdk/python/pulumi_google_native/retail/v2alpha/outputs.py b/sdk/python/pulumi_google_native/retail/v2alpha/outputs.py index 0a2d9a5675..a9c0bb86fe 100644 --- a/sdk/python/pulumi_google_native/retail/v2alpha/outputs.py +++ b/sdk/python/pulumi_google_native/retail/v2alpha/outputs.py @@ -17,6 +17,7 @@ 'GoogleCloudRetailV2alphaConditionQueryTermResponse', 'GoogleCloudRetailV2alphaConditionResponse', 'GoogleCloudRetailV2alphaConditionTimeRangeResponse', + 'GoogleCloudRetailV2alphaCustomAttributeResponse', 'GoogleCloudRetailV2alphaFulfillmentInfoResponse', 'GoogleCloudRetailV2alphaImageResponse', 'GoogleCloudRetailV2alphaIntervalResponse', @@ -317,6 +318,61 @@ def start_time(self) -> str: return pulumi.get(self, "start_time") +@pulumi.output_type +class GoogleCloudRetailV2alphaCustomAttributeResponse(dict): + """ + A custom attribute that is not explicitly modeled in Product. + """ + def __init__(__self__, *, + indexable: bool, + numbers: Sequence[float], + searchable: bool, + text: Sequence[str]): + """ + A custom attribute that is not explicitly modeled in Product. + :param bool indexable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + :param Sequence[float] numbers: The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + :param bool searchable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + :param Sequence[str] text: The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + pulumi.set(__self__, "indexable", indexable) + pulumi.set(__self__, "numbers", numbers) + pulumi.set(__self__, "searchable", searchable) + pulumi.set(__self__, "text", text) + + @property + @pulumi.getter + def indexable(self) -> bool: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + """ + return pulumi.get(self, "indexable") + + @property + @pulumi.getter + def numbers(self) -> Sequence[float]: + """ + The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "numbers") + + @property + @pulumi.getter + def searchable(self) -> bool: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "searchable") + + @property + @pulumi.getter + def text(self) -> Sequence[str]: + """ + The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "text") + + @pulumi.output_type class GoogleCloudRetailV2alphaFulfillmentInfoResponse(dict): """ @@ -512,13 +568,13 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attributes: Mapping[str, str], + attributes: Mapping[str, 'outputs.GoogleCloudRetailV2alphaCustomAttributeResponse'], fulfillment_types: Sequence[str], place_id: str, price_info: 'outputs.GoogleCloudRetailV2alphaPriceInfoResponse'): """ The inventory information at a place (e.g. a store) identified by a place ID. - :param Mapping[str, str] attributes: Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. + :param Mapping[str, 'GoogleCloudRetailV2alphaCustomAttributeResponse'] attributes: Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. :param Sequence[str] fulfillment_types: Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. :param str place_id: The place ID for the current set of inventory information. :param 'GoogleCloudRetailV2alphaPriceInfoResponse' price_info: Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). @@ -530,7 +586,7 @@ def __init__(__self__, *, @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, 'outputs.GoogleCloudRetailV2alphaCustomAttributeResponse']: """ Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. """ @@ -1049,7 +1105,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attributes: Mapping[str, str], + attributes: Mapping[str, 'outputs.GoogleCloudRetailV2alphaCustomAttributeResponse'], audience: 'outputs.GoogleCloudRetailV2alphaAudienceResponse', availability: str, available_quantity: int, @@ -1084,7 +1140,7 @@ def __init__(__self__, *, variants: Sequence['outputs.GoogleCloudRetailV2alphaProductResponse']): """ Product captures all metadata information of items to be recommended or searched. - :param Mapping[str, str] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. + :param Mapping[str, 'GoogleCloudRetailV2alphaCustomAttributeResponse'] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. :param 'GoogleCloudRetailV2alphaAudienceResponse' audience: The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. :param str availability: The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). :param int available_quantity: The available quantity of the item. @@ -1154,7 +1210,7 @@ def __init__(__self__, *, @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, 'outputs.GoogleCloudRetailV2alphaCustomAttributeResponse']: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ diff --git a/sdk/python/pulumi_google_native/retail/v2alpha/product.py b/sdk/python/pulumi_google_native/retail/v2alpha/product.py index 825729cd8a..ad793007b9 100644 --- a/sdk/python/pulumi_google_native/retail/v2alpha/product.py +++ b/sdk/python/pulumi_google_native/retail/v2alpha/product.py @@ -21,7 +21,7 @@ def __init__(__self__, *, catalog_id: pulumi.Input[str], product_id: pulumi.Input[str], title: pulumi.Input[str], - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2alphaCustomAttributeArgs']]]] = None, audience: Optional[pulumi.Input['GoogleCloudRetailV2alphaAudienceArgs']] = None, availability: Optional[pulumi.Input['ProductAvailability']] = None, available_quantity: Optional[pulumi.Input[int]] = None, @@ -58,7 +58,7 @@ def __init__(__self__, *, The set of arguments for constructing a Product resource. :param pulumi.Input[str] product_id: Required. The ID to use for the Product, which will become the final component of the Product.name. If the caller does not have permission to create the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. This field must be unique among all Products with the same parent. Otherwise, an ALREADY_EXISTS error is returned. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. :param pulumi.Input[str] title: Product title. This field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [title](https://support.google.com/merchants/answer/6324415). Schema.org property [Product.name](https://schema.org/name). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2alphaCustomAttributeArgs']]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. :param pulumi.Input['GoogleCloudRetailV2alphaAudienceArgs'] audience: The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. :param pulumi.Input['ProductAvailability'] availability: The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). :param pulumi.Input[int] available_quantity: The available quantity of the item. @@ -208,14 +208,14 @@ def title(self, value: pulumi.Input[str]): @property @pulumi.getter - def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2alphaCustomAttributeArgs']]]]: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ return pulumi.get(self, "attributes") @attributes.setter - def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2alphaCustomAttributeArgs']]]]): pulumi.set(self, "attributes", value) @property @@ -603,7 +603,7 @@ class Product(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudRetailV2alphaCustomAttributeArgs']]]]] = None, audience: Optional[pulumi.Input[pulumi.InputType['GoogleCloudRetailV2alphaAudienceArgs']]] = None, availability: Optional[pulumi.Input['ProductAvailability']] = None, available_quantity: Optional[pulumi.Input[int]] = None, @@ -646,7 +646,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudRetailV2alphaCustomAttributeArgs']]]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. :param pulumi.Input[pulumi.InputType['GoogleCloudRetailV2alphaAudienceArgs']] audience: The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. :param pulumi.Input['ProductAvailability'] availability: The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). :param pulumi.Input[int] available_quantity: The available quantity of the item. @@ -704,7 +704,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudRetailV2alphaCustomAttributeArgs']]]]] = None, audience: Optional[pulumi.Input[pulumi.InputType['GoogleCloudRetailV2alphaAudienceArgs']]] = None, availability: Optional[pulumi.Input['ProductAvailability']] = None, available_quantity: Optional[pulumi.Input[int]] = None, @@ -863,7 +863,7 @@ def get(resource_name: str, @property @pulumi.getter - def attributes(self) -> pulumi.Output[Mapping[str, str]]: + def attributes(self) -> pulumi.Output[Mapping[str, 'outputs.GoogleCloudRetailV2alphaCustomAttributeResponse']]: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ diff --git a/sdk/python/pulumi_google_native/retail/v2beta/_inputs.py b/sdk/python/pulumi_google_native/retail/v2beta/_inputs.py index 09ead47cd2..9a56d51505 100644 --- a/sdk/python/pulumi_google_native/retail/v2beta/_inputs.py +++ b/sdk/python/pulumi_google_native/retail/v2beta/_inputs.py @@ -16,6 +16,7 @@ 'GoogleCloudRetailV2betaConditionQueryTermArgs', 'GoogleCloudRetailV2betaConditionTimeRangeArgs', 'GoogleCloudRetailV2betaConditionArgs', + 'GoogleCloudRetailV2betaCustomAttributeArgs', 'GoogleCloudRetailV2betaFulfillmentInfoArgs', 'GoogleCloudRetailV2betaImageArgs', 'GoogleCloudRetailV2betaIntervalArgs', @@ -258,6 +259,78 @@ def query_terms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Google pulumi.set(self, "query_terms", value) +@pulumi.input_type +class GoogleCloudRetailV2betaCustomAttributeArgs: + def __init__(__self__, *, + indexable: Optional[pulumi.Input[bool]] = None, + numbers: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]] = None, + searchable: Optional[pulumi.Input[bool]] = None, + text: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + A custom attribute that is not explicitly modeled in Product. + :param pulumi.Input[bool] indexable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + :param pulumi.Input[Sequence[pulumi.Input[float]]] numbers: The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + :param pulumi.Input[bool] searchable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + :param pulumi.Input[Sequence[pulumi.Input[str]]] text: The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + if indexable is not None: + pulumi.set(__self__, "indexable", indexable) + if numbers is not None: + pulumi.set(__self__, "numbers", numbers) + if searchable is not None: + pulumi.set(__self__, "searchable", searchable) + if text is not None: + pulumi.set(__self__, "text", text) + + @property + @pulumi.getter + def indexable(self) -> Optional[pulumi.Input[bool]]: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + """ + return pulumi.get(self, "indexable") + + @indexable.setter + def indexable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "indexable", value) + + @property + @pulumi.getter + def numbers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]: + """ + The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "numbers") + + @numbers.setter + def numbers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[float]]]]): + pulumi.set(self, "numbers", value) + + @property + @pulumi.getter + def searchable(self) -> Optional[pulumi.Input[bool]]: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "searchable") + + @searchable.setter + def searchable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "searchable", value) + + @property + @pulumi.getter + def text(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "text") + + @text.setter + def text(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "text", value) + + @pulumi.input_type class GoogleCloudRetailV2betaFulfillmentInfoArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/retail/v2beta/get_product.py b/sdk/python/pulumi_google_native/retail/v2beta/get_product.py index 98c4cae995..33dbf34237 100644 --- a/sdk/python/pulumi_google_native/retail/v2beta/get_product.py +++ b/sdk/python/pulumi_google_native/retail/v2beta/get_product.py @@ -122,7 +122,7 @@ def __init__(__self__, attributes=None, audience=None, availability=None, availa @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, 'outputs.GoogleCloudRetailV2betaCustomAttributeResponse']: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ diff --git a/sdk/python/pulumi_google_native/retail/v2beta/outputs.py b/sdk/python/pulumi_google_native/retail/v2beta/outputs.py index 1d65899e87..cc6c3929ff 100644 --- a/sdk/python/pulumi_google_native/retail/v2beta/outputs.py +++ b/sdk/python/pulumi_google_native/retail/v2beta/outputs.py @@ -17,6 +17,7 @@ 'GoogleCloudRetailV2betaConditionQueryTermResponse', 'GoogleCloudRetailV2betaConditionResponse', 'GoogleCloudRetailV2betaConditionTimeRangeResponse', + 'GoogleCloudRetailV2betaCustomAttributeResponse', 'GoogleCloudRetailV2betaFulfillmentInfoResponse', 'GoogleCloudRetailV2betaImageResponse', 'GoogleCloudRetailV2betaIntervalResponse', @@ -314,6 +315,61 @@ def start_time(self) -> str: return pulumi.get(self, "start_time") +@pulumi.output_type +class GoogleCloudRetailV2betaCustomAttributeResponse(dict): + """ + A custom attribute that is not explicitly modeled in Product. + """ + def __init__(__self__, *, + indexable: bool, + numbers: Sequence[float], + searchable: bool, + text: Sequence[str]): + """ + A custom attribute that is not explicitly modeled in Product. + :param bool indexable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + :param Sequence[float] numbers: The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + :param bool searchable: This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + :param Sequence[str] text: The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + pulumi.set(__self__, "indexable", indexable) + pulumi.set(__self__, "numbers", numbers) + pulumi.set(__self__, "searchable", searchable) + pulumi.set(__self__, "text", text) + + @property + @pulumi.getter + def indexable(self) -> bool: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are indexed, so that they can be filtered, faceted or boosted in SearchService.Search. This field is ignored in a UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and SearchRequest.boost_spec for more details. + """ + return pulumi.get(self, "indexable") + + @property + @pulumi.getter + def numbers(self) -> Sequence[float]: + """ + The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is "lengths_cm". Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "numbers") + + @property + @pulumi.getter + def searchable(self) -> bool: + """ + This field is normally ignored unless AttributesConfig.attribute_config_level of the Catalog is set to the deprecated 'PRODUCT_LEVEL_ATTRIBUTE_CONFIG' mode. For information about product-level attribute configuration, see [Configuration modes](https://cloud.google.com/retail/docs/attribute-config#config-modes). If true, custom attribute values are searchable by text queries in SearchService.Search. This field is ignored in a UserEvent. Only set if type text is set. Otherwise, a INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "searchable") + + @property + @pulumi.getter + def text(self) -> Sequence[str]: + """ + The textual values of this custom attribute. For example, `["yellow", "green"]` when the key is "color". Empty string is not allowed. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is returned. + """ + return pulumi.get(self, "text") + + @pulumi.output_type class GoogleCloudRetailV2betaFulfillmentInfoResponse(dict): """ @@ -509,13 +565,13 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attributes: Mapping[str, str], + attributes: Mapping[str, 'outputs.GoogleCloudRetailV2betaCustomAttributeResponse'], fulfillment_types: Sequence[str], place_id: str, price_info: 'outputs.GoogleCloudRetailV2betaPriceInfoResponse'): """ The inventory information at a place (e.g. a store) identified by a place ID. - :param Mapping[str, str] attributes: Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. + :param Mapping[str, 'GoogleCloudRetailV2betaCustomAttributeResponse'] attributes: Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. :param Sequence[str] fulfillment_types: Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. :param str place_id: The place ID for the current set of inventory information. :param 'GoogleCloudRetailV2betaPriceInfoResponse' price_info: Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). @@ -527,7 +583,7 @@ def __init__(__self__, *, @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, 'outputs.GoogleCloudRetailV2betaCustomAttributeResponse']: """ Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. """ @@ -883,7 +939,7 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - attributes: Mapping[str, str], + attributes: Mapping[str, 'outputs.GoogleCloudRetailV2betaCustomAttributeResponse'], audience: 'outputs.GoogleCloudRetailV2betaAudienceResponse', availability: str, available_quantity: int, @@ -918,7 +974,7 @@ def __init__(__self__, *, variants: Sequence['outputs.GoogleCloudRetailV2betaProductResponse']): """ Product captures all metadata information of items to be recommended or searched. - :param Mapping[str, str] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. + :param Mapping[str, 'GoogleCloudRetailV2betaCustomAttributeResponse'] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. :param 'GoogleCloudRetailV2betaAudienceResponse' audience: The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. :param str availability: The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). :param int available_quantity: The available quantity of the item. @@ -988,7 +1044,7 @@ def __init__(__self__, *, @property @pulumi.getter - def attributes(self) -> Mapping[str, str]: + def attributes(self) -> Mapping[str, 'outputs.GoogleCloudRetailV2betaCustomAttributeResponse']: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ diff --git a/sdk/python/pulumi_google_native/retail/v2beta/product.py b/sdk/python/pulumi_google_native/retail/v2beta/product.py index d2b21c3a70..4a8e3a58dc 100644 --- a/sdk/python/pulumi_google_native/retail/v2beta/product.py +++ b/sdk/python/pulumi_google_native/retail/v2beta/product.py @@ -21,7 +21,7 @@ def __init__(__self__, *, catalog_id: pulumi.Input[str], product_id: pulumi.Input[str], title: pulumi.Input[str], - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2betaCustomAttributeArgs']]]] = None, audience: Optional[pulumi.Input['GoogleCloudRetailV2betaAudienceArgs']] = None, availability: Optional[pulumi.Input['ProductAvailability']] = None, available_quantity: Optional[pulumi.Input[int]] = None, @@ -58,7 +58,7 @@ def __init__(__self__, *, The set of arguments for constructing a Product resource. :param pulumi.Input[str] product_id: Required. The ID to use for the Product, which will become the final component of the Product.name. If the caller does not have permission to create the Product, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. This field must be unique among all Products with the same parent. Otherwise, an ALREADY_EXISTS error is returned. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. :param pulumi.Input[str] title: Product title. This field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property [title](https://support.google.com/merchants/answer/6324415). Schema.org property [Product.name](https://schema.org/name). - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. + :param pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2betaCustomAttributeArgs']]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. :param pulumi.Input['GoogleCloudRetailV2betaAudienceArgs'] audience: The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. :param pulumi.Input['ProductAvailability'] availability: The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). :param pulumi.Input[int] available_quantity: The available quantity of the item. @@ -208,14 +208,14 @@ def title(self, value: pulumi.Input[str]): @property @pulumi.getter - def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def attributes(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2betaCustomAttributeArgs']]]]: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ return pulumi.get(self, "attributes") @attributes.setter - def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['GoogleCloudRetailV2betaCustomAttributeArgs']]]]): pulumi.set(self, "attributes", value) @property @@ -603,7 +603,7 @@ class Product(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudRetailV2betaCustomAttributeArgs']]]]] = None, audience: Optional[pulumi.Input[pulumi.InputType['GoogleCloudRetailV2betaAudienceArgs']]] = None, availability: Optional[pulumi.Input['ProductAvailability']] = None, available_quantity: Optional[pulumi.Input[int]] = None, @@ -646,7 +646,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudRetailV2betaCustomAttributeArgs']]]] attributes: Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. :param pulumi.Input[pulumi.InputType['GoogleCloudRetailV2betaAudienceArgs']] audience: The target group associated with a given audience (e.g. male, veterans, car owners, musicians, etc.) of the product. :param pulumi.Input['ProductAvailability'] availability: The online availability of the Product. Default to Availability.IN_STOCK. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). :param pulumi.Input[int] available_quantity: The available quantity of the item. @@ -704,7 +704,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + attributes: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['GoogleCloudRetailV2betaCustomAttributeArgs']]]]] = None, audience: Optional[pulumi.Input[pulumi.InputType['GoogleCloudRetailV2betaAudienceArgs']]] = None, availability: Optional[pulumi.Input['ProductAvailability']] = None, available_quantity: Optional[pulumi.Input[int]] = None, @@ -863,7 +863,7 @@ def get(resource_name: str, @property @pulumi.getter - def attributes(self) -> pulumi.Output[Mapping[str, str]]: + def attributes(self) -> pulumi.Output[Mapping[str, 'outputs.GoogleCloudRetailV2betaCustomAttributeResponse']]: """ Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. """ diff --git a/sdk/python/pulumi_google_native/runtimeconfig/v1beta1/outputs.py b/sdk/python/pulumi_google_native/runtimeconfig/v1beta1/outputs.py index 7a594ecf95..9d2f281525 100644 --- a/sdk/python/pulumi_google_native/runtimeconfig/v1beta1/outputs.py +++ b/sdk/python/pulumi_google_native/runtimeconfig/v1beta1/outputs.py @@ -179,12 +179,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -201,7 +201,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/securitycenter/v1/get_organization_event_threat_detection_setting_custom_module.py b/sdk/python/pulumi_google_native/securitycenter/v1/get_organization_event_threat_detection_setting_custom_module.py index 79c6e7813e..46290ab28d 100644 --- a/sdk/python/pulumi_google_native/securitycenter/v1/get_organization_event_threat_detection_setting_custom_module.py +++ b/sdk/python/pulumi_google_native/securitycenter/v1/get_organization_event_threat_detection_setting_custom_module.py @@ -46,7 +46,7 @@ def __init__(__self__, config=None, description=None, display_name=None, enablem @property @pulumi.getter - def config(self) -> Mapping[str, str]: + def config(self) -> Mapping[str, Any]: """ Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. """ diff --git a/sdk/python/pulumi_google_native/securitycenter/v1/organization_event_threat_detection_setting_custom_module.py b/sdk/python/pulumi_google_native/securitycenter/v1/organization_event_threat_detection_setting_custom_module.py index a8932ed8d2..466f8998c1 100644 --- a/sdk/python/pulumi_google_native/securitycenter/v1/organization_event_threat_detection_setting_custom_module.py +++ b/sdk/python/pulumi_google_native/securitycenter/v1/organization_event_threat_detection_setting_custom_module.py @@ -16,7 +16,7 @@ class OrganizationEventThreatDetectionSettingCustomModuleArgs: def __init__(__self__, *, organization_id: pulumi.Input[str], - config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + config: Optional[pulumi.Input[Mapping[str, Any]]] = None, description: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, enablement_state: Optional[pulumi.Input['OrganizationEventThreatDetectionSettingCustomModuleEnablementState']] = None, @@ -24,7 +24,7 @@ def __init__(__self__, *, type: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a OrganizationEventThreatDetectionSettingCustomModule resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + :param pulumi.Input[Mapping[str, Any]] config: Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. :param pulumi.Input[str] description: The description for the module. :param pulumi.Input[str] display_name: The human readable name to be displayed for the module. :param pulumi.Input['OrganizationEventThreatDetectionSettingCustomModuleEnablementState'] enablement_state: The state of enablement for the module at the given level of the hierarchy. @@ -56,14 +56,14 @@ def organization_id(self, value: pulumi.Input[str]): @property @pulumi.getter - def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def config(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. """ return pulumi.get(self, "config") @config.setter - def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def config(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "config", value) @property @@ -132,7 +132,7 @@ class OrganizationEventThreatDetectionSettingCustomModule(pulumi.CustomResource) def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + config: Optional[pulumi.Input[Mapping[str, Any]]] = None, description: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, enablement_state: Optional[pulumi.Input['OrganizationEventThreatDetectionSettingCustomModuleEnablementState']] = None, @@ -146,7 +146,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. + :param pulumi.Input[Mapping[str, Any]] config: Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. :param pulumi.Input[str] description: The description for the module. :param pulumi.Input[str] display_name: The human readable name to be displayed for the module. :param pulumi.Input['OrganizationEventThreatDetectionSettingCustomModuleEnablementState'] enablement_state: The state of enablement for the module at the given level of the hierarchy. @@ -178,7 +178,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + config: Optional[pulumi.Input[Mapping[str, Any]]] = None, description: Optional[pulumi.Input[str]] = None, display_name: Optional[pulumi.Input[str]] = None, enablement_state: Optional[pulumi.Input['OrganizationEventThreatDetectionSettingCustomModuleEnablementState']] = None, @@ -242,7 +242,7 @@ def get(resource_name: str, @property @pulumi.getter - def config(self) -> pulumi.Output[Mapping[str, str]]: + def config(self) -> pulumi.Output[Mapping[str, Any]]: """ Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. """ diff --git a/sdk/python/pulumi_google_native/servicemanagement/v1/_inputs.py b/sdk/python/pulumi_google_native/servicemanagement/v1/_inputs.py index 257f9a264f..d447d12ddc 100644 --- a/sdk/python/pulumi_google_native/servicemanagement/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/servicemanagement/v1/_inputs.py @@ -547,7 +547,6 @@ def __init__(__self__, *, jwt_audience: Optional[pulumi.Input[str]] = None, min_deadline: Optional[pulumi.Input[float]] = None, operation_deadline: Optional[pulumi.Input[float]] = None, - overrides_by_request_protocol: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, path_translation: Optional[pulumi.Input['BackendRulePathTranslation']] = None, protocol: Optional[pulumi.Input[str]] = None, selector: Optional[pulumi.Input[str]] = None): @@ -559,7 +558,6 @@ def __init__(__self__, *, :param pulumi.Input[str] jwt_audience: The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP "authorization" header, and sent to the backend. :param pulumi.Input[float] min_deadline: Deprecated, do not use. :param pulumi.Input[float] operation_deadline: The number of seconds to wait for the completion of a long running operation. The default is no deadline. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] overrides_by_request_protocol: The map between request protocol and the backend address. :param pulumi.Input[str] protocol: The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. :param pulumi.Input[str] selector: Selects the methods to which this rule applies. Refer to selector for syntax details. """ @@ -578,8 +576,6 @@ def __init__(__self__, *, pulumi.set(__self__, "min_deadline", min_deadline) if operation_deadline is not None: pulumi.set(__self__, "operation_deadline", operation_deadline) - if overrides_by_request_protocol is not None: - pulumi.set(__self__, "overrides_by_request_protocol", overrides_by_request_protocol) if path_translation is not None: pulumi.set(__self__, "path_translation", path_translation) if protocol is not None: @@ -660,18 +656,6 @@ def operation_deadline(self) -> Optional[pulumi.Input[float]]: def operation_deadline(self, value: Optional[pulumi.Input[float]]): pulumi.set(self, "operation_deadline", value) - @property - @pulumi.getter(name="overridesByRequestProtocol") - def overrides_by_request_protocol(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: - """ - The map between request protocol and the backend address. - """ - return pulumi.get(self, "overrides_by_request_protocol") - - @overrides_by_request_protocol.setter - def overrides_by_request_protocol(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): - pulumi.set(self, "overrides_by_request_protocol", value) - @property @pulumi.getter(name="pathTranslation") def path_translation(self) -> Optional[pulumi.Input['BackendRulePathTranslation']]: @@ -3621,11 +3605,11 @@ def canonical_scopes(self, value: Optional[pulumi.Input[str]]): class OptionArgs: def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, - value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + value: Optional[pulumi.Input[Mapping[str, Any]]] = None): """ A protocol buffer option, which can be attached to a message, field, enumeration, etc. :param pulumi.Input[str] name: The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `"map_entry"`. For custom options, it should be the fully-qualified name. For example, `"google.api.http"`. - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] value: The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. + :param pulumi.Input[Mapping[str, Any]] value: The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. """ if name is not None: pulumi.set(__self__, "name", name) @@ -3646,14 +3630,14 @@ def name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def value(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def value(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: """ The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. """ return pulumi.get(self, "value") @value.setter - def value(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def value(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): pulumi.set(self, "value", value) @@ -4308,24 +4292,24 @@ def url_query_parameter(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class TrafficPercentStrategyArgs: def __init__(__self__, *, - percentages: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + percentages: Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]] = None): """ Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: "example.googleapis.com/rollout_20160206" traffic_percent_strategy { percentages: { "example.googleapis.com/20160201": 70.00 "example.googleapis.com/20160206": 30.00 } } } Day 2 Rollout { id: "example.googleapis.com/rollout_20160207" traffic_percent_strategy: { percentages: { "example.googleapis.com/20160206": 100.00 } } } - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] percentages: Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. + :param pulumi.Input[Mapping[str, pulumi.Input[float]]] percentages: Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. """ if percentages is not None: pulumi.set(__self__, "percentages", percentages) @property @pulumi.getter - def percentages(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def percentages(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]]: """ Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. """ return pulumi.get(self, "percentages") @percentages.setter - def percentages(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def percentages(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[float]]]]): pulumi.set(self, "percentages", value) diff --git a/sdk/python/pulumi_google_native/servicemanagement/v1/outputs.py b/sdk/python/pulumi_google_native/servicemanagement/v1/outputs.py index 54aca7965f..4d2956729e 100644 --- a/sdk/python/pulumi_google_native/servicemanagement/v1/outputs.py +++ b/sdk/python/pulumi_google_native/servicemanagement/v1/outputs.py @@ -571,8 +571,6 @@ def __key_warning(key: str): suggest = "min_deadline" elif key == "operationDeadline": suggest = "operation_deadline" - elif key == "overridesByRequestProtocol": - suggest = "overrides_by_request_protocol" elif key == "pathTranslation": suggest = "path_translation" @@ -594,7 +592,6 @@ def __init__(__self__, *, jwt_audience: str, min_deadline: float, operation_deadline: float, - overrides_by_request_protocol: Mapping[str, str], path_translation: str, protocol: str, selector: str): @@ -606,7 +603,6 @@ def __init__(__self__, *, :param str jwt_audience: The JWT audience is used when generating a JWT ID token for the backend. This ID token will be added in the HTTP "authorization" header, and sent to the backend. :param float min_deadline: Deprecated, do not use. :param float operation_deadline: The number of seconds to wait for the completion of a long running operation. The default is no deadline. - :param Mapping[str, str] overrides_by_request_protocol: The map between request protocol and the backend address. :param str protocol: The protocol used for sending a request to the backend. The supported values are "http/1.1" and "h2". The default value is inferred from the scheme in the address field: SCHEME PROTOCOL http:// http/1.1 https:// http/1.1 grpc:// h2 grpcs:// h2 For secure HTTP backends (https://) that support HTTP/2, set this field to "h2" for improved performance. Configuring this field to non-default values is only supported for secure HTTP backends. This field will be ignored for all other backends. See https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids for more details on the supported values. :param str selector: Selects the methods to which this rule applies. Refer to selector for syntax details. """ @@ -616,7 +612,6 @@ def __init__(__self__, *, pulumi.set(__self__, "jwt_audience", jwt_audience) pulumi.set(__self__, "min_deadline", min_deadline) pulumi.set(__self__, "operation_deadline", operation_deadline) - pulumi.set(__self__, "overrides_by_request_protocol", overrides_by_request_protocol) pulumi.set(__self__, "path_translation", path_translation) pulumi.set(__self__, "protocol", protocol) pulumi.set(__self__, "selector", selector) @@ -670,14 +665,6 @@ def operation_deadline(self) -> float: """ return pulumi.get(self, "operation_deadline") - @property - @pulumi.getter(name="overridesByRequestProtocol") - def overrides_by_request_protocol(self) -> Mapping[str, str]: - """ - The map between request protocol and the backend address. - """ - return pulumi.get(self, "overrides_by_request_protocol") - @property @pulumi.getter(name="pathTranslation") def path_translation(self) -> str: @@ -3571,11 +3558,11 @@ class OptionResponse(dict): """ def __init__(__self__, *, name: str, - value: Mapping[str, str]): + value: Mapping[str, Any]): """ A protocol buffer option, which can be attached to a message, field, enumeration, etc. :param str name: The option's name. For protobuf built-in options (options defined in descriptor.proto), this is the short name. For example, `"map_entry"`. For custom options, it should be the fully-qualified name. For example, `"google.api.http"`. - :param Mapping[str, str] value: The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. + :param Mapping[str, Any] value: The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. """ pulumi.set(__self__, "name", name) pulumi.set(__self__, "value", value) @@ -3590,7 +3577,7 @@ def name(self) -> str: @property @pulumi.getter - def value(self) -> Mapping[str, str]: + def value(self) -> Mapping[str, Any]: """ The option's value packed in an Any message. If the value is a primitive, the corresponding wrapper type defined in google/protobuf/wrappers.proto should be used. If the value is an enum, it should be stored as an int32 value using the google.protobuf.Int32Value type. """ @@ -4117,16 +4104,16 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - source_files: Sequence[Mapping[str, str]]): + source_files: Sequence[Mapping[str, Any]]): """ Source information used to create a Service Config - :param Sequence[Mapping[str, str]] source_files: All files used during config generation. + :param Sequence[Mapping[str, Any]] source_files: All files used during config generation. """ pulumi.set(__self__, "source_files", source_files) @property @pulumi.getter(name="sourceFiles") - def source_files(self) -> Sequence[Mapping[str, str]]: + def source_files(self) -> Sequence[Mapping[str, Any]]: """ All files used during config generation. """ @@ -4257,16 +4244,16 @@ class TrafficPercentStrategyResponse(dict): Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: "example.googleapis.com/rollout_20160206" traffic_percent_strategy { percentages: { "example.googleapis.com/20160201": 70.00 "example.googleapis.com/20160206": 30.00 } } } Day 2 Rollout { id: "example.googleapis.com/rollout_20160207" traffic_percent_strategy: { percentages: { "example.googleapis.com/20160206": 100.00 } } } """ def __init__(__self__, *, - percentages: Mapping[str, str]): + percentages: Mapping[str, float]): """ Strategy that specifies how clients of Google Service Controller want to send traffic to use different config versions. This is generally used by API proxy to split traffic based on your configured percentage for each config version. One example of how to gradually rollout a new service configuration using this strategy: Day 1 Rollout { id: "example.googleapis.com/rollout_20160206" traffic_percent_strategy { percentages: { "example.googleapis.com/20160201": 70.00 "example.googleapis.com/20160206": 30.00 } } } Day 2 Rollout { id: "example.googleapis.com/rollout_20160207" traffic_percent_strategy: { percentages: { "example.googleapis.com/20160206": 100.00 } } } - :param Mapping[str, str] percentages: Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. + :param Mapping[str, float] percentages: Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. """ pulumi.set(__self__, "percentages", percentages) @property @pulumi.getter - def percentages(self) -> Mapping[str, str]: + def percentages(self) -> Mapping[str, float]: """ Maps service configuration IDs to their corresponding traffic percentage. Key is the service configuration ID, Value is the traffic percentage which must be greater than 0.0 and the sum must equal to 100.0. """ diff --git a/sdk/python/pulumi_google_native/sourcerepo/v1/_enums.py b/sdk/python/pulumi_google_native/sourcerepo/v1/_enums.py index dbe1a553b9..70700c1ee0 100644 --- a/sdk/python/pulumi_google_native/sourcerepo/v1/_enums.py +++ b/sdk/python/pulumi_google_native/sourcerepo/v1/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'AuditLogConfigLogType', + 'PubsubConfigMessageFormat', ] @@ -29,3 +30,21 @@ class AuditLogConfigLogType(str, Enum): """ Data reads. Example: CloudSQL Users list """ + + +class PubsubConfigMessageFormat(str, Enum): + """ + The format of the Cloud Pub/Sub messages. + """ + MESSAGE_FORMAT_UNSPECIFIED = "MESSAGE_FORMAT_UNSPECIFIED" + """ + Unspecified. + """ + PROTOBUF = "PROTOBUF" + """ + The message payload is a serialized protocol buffer of SourceRepoEvent. + """ + JSON = "JSON" + """ + The message payload is a JSON string of SourceRepoEvent. + """ diff --git a/sdk/python/pulumi_google_native/sourcerepo/v1/_inputs.py b/sdk/python/pulumi_google_native/sourcerepo/v1/_inputs.py index c9b2faaf26..19cd63c3c5 100644 --- a/sdk/python/pulumi_google_native/sourcerepo/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/sourcerepo/v1/_inputs.py @@ -16,6 +16,7 @@ 'BindingArgs', 'ExprArgs', 'MirrorConfigArgs', + 'PubsubConfigArgs', ] @pulumi.input_type @@ -282,3 +283,59 @@ def webhook_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "webhook_id", value) +@pulumi.input_type +class PubsubConfigArgs: + def __init__(__self__, *, + message_format: Optional[pulumi.Input['PubsubConfigMessageFormat']] = None, + service_account_email: Optional[pulumi.Input[str]] = None, + topic: Optional[pulumi.Input[str]] = None): + """ + Configuration to publish a Cloud Pub/Sub message. + :param pulumi.Input['PubsubConfigMessageFormat'] message_format: The format of the Cloud Pub/Sub messages. + :param pulumi.Input[str] service_account_email: Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + :param pulumi.Input[str] topic: A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + """ + if message_format is not None: + pulumi.set(__self__, "message_format", message_format) + if service_account_email is not None: + pulumi.set(__self__, "service_account_email", service_account_email) + if topic is not None: + pulumi.set(__self__, "topic", topic) + + @property + @pulumi.getter(name="messageFormat") + def message_format(self) -> Optional[pulumi.Input['PubsubConfigMessageFormat']]: + """ + The format of the Cloud Pub/Sub messages. + """ + return pulumi.get(self, "message_format") + + @message_format.setter + def message_format(self, value: Optional[pulumi.Input['PubsubConfigMessageFormat']]): + pulumi.set(self, "message_format", value) + + @property + @pulumi.getter(name="serviceAccountEmail") + def service_account_email(self) -> Optional[pulumi.Input[str]]: + """ + Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + """ + return pulumi.get(self, "service_account_email") + + @service_account_email.setter + def service_account_email(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "service_account_email", value) + + @property + @pulumi.getter + def topic(self) -> Optional[pulumi.Input[str]]: + """ + A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + """ + return pulumi.get(self, "topic") + + @topic.setter + def topic(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "topic", value) + + diff --git a/sdk/python/pulumi_google_native/sourcerepo/v1/get_repo.py b/sdk/python/pulumi_google_native/sourcerepo/v1/get_repo.py index af2e741ef2..d32462ffce 100644 --- a/sdk/python/pulumi_google_native/sourcerepo/v1/get_repo.py +++ b/sdk/python/pulumi_google_native/sourcerepo/v1/get_repo.py @@ -54,7 +54,7 @@ def name(self) -> str: @property @pulumi.getter(name="pubsubConfigs") - def pubsub_configs(self) -> Mapping[str, str]: + def pubsub_configs(self) -> Mapping[str, 'outputs.PubsubConfigResponse']: """ How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. """ diff --git a/sdk/python/pulumi_google_native/sourcerepo/v1/outputs.py b/sdk/python/pulumi_google_native/sourcerepo/v1/outputs.py index 3957807f38..aab74cf0ca 100644 --- a/sdk/python/pulumi_google_native/sourcerepo/v1/outputs.py +++ b/sdk/python/pulumi_google_native/sourcerepo/v1/outputs.py @@ -17,6 +17,7 @@ 'BindingResponse', 'ExprResponse', 'MirrorConfigResponse', + 'PubsubConfigResponse', ] @pulumi.output_type @@ -283,3 +284,66 @@ def webhook_id(self) -> str: return pulumi.get(self, "webhook_id") +@pulumi.output_type +class PubsubConfigResponse(dict): + """ + Configuration to publish a Cloud Pub/Sub message. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "messageFormat": + suggest = "message_format" + elif key == "serviceAccountEmail": + suggest = "service_account_email" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PubsubConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PubsubConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PubsubConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + message_format: str, + service_account_email: str, + topic: str): + """ + Configuration to publish a Cloud Pub/Sub message. + :param str message_format: The format of the Cloud Pub/Sub messages. + :param str service_account_email: Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + :param str topic: A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + """ + pulumi.set(__self__, "message_format", message_format) + pulumi.set(__self__, "service_account_email", service_account_email) + pulumi.set(__self__, "topic", topic) + + @property + @pulumi.getter(name="messageFormat") + def message_format(self) -> str: + """ + The format of the Cloud Pub/Sub messages. + """ + return pulumi.get(self, "message_format") + + @property + @pulumi.getter(name="serviceAccountEmail") + def service_account_email(self) -> str: + """ + Email address of the service account used for publishing Cloud Pub/Sub messages. This service account needs to be in the same project as the PubsubConfig. When added, the caller needs to have iam.serviceAccounts.actAs permission on this service account. If unspecified, it defaults to the compute engine default service account. + """ + return pulumi.get(self, "service_account_email") + + @property + @pulumi.getter + def topic(self) -> str: + """ + A topic of Cloud Pub/Sub. Values are of the form `projects//topics/`. The project needs to be the same project as this config is in. + """ + return pulumi.get(self, "topic") + + diff --git a/sdk/python/pulumi_google_native/sourcerepo/v1/repo.py b/sdk/python/pulumi_google_native/sourcerepo/v1/repo.py index 2548d037b1..d405a07f56 100644 --- a/sdk/python/pulumi_google_native/sourcerepo/v1/repo.py +++ b/sdk/python/pulumi_google_native/sourcerepo/v1/repo.py @@ -9,6 +9,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from ... import _utilities from . import outputs +from ._enums import * from ._inputs import * __all__ = ['RepoArgs', 'Repo'] @@ -19,14 +20,14 @@ def __init__(__self__, *, mirror_config: Optional[pulumi.Input['MirrorConfigArgs']] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, - pubsub_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pubsub_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input['PubsubConfigArgs']]]] = None, size: Optional[pulumi.Input[str]] = None, url: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Repo resource. :param pulumi.Input['MirrorConfigArgs'] mirror_config: How this repository mirrors a repository managed by another service. Read-only field. :param pulumi.Input[str] name: Resource name of the repository, of the form `projects//repos/`. The repo name may contain slashes. eg, `projects/myproject/repos/name/with/slash` - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pubsub_configs: How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. + :param pulumi.Input[Mapping[str, pulumi.Input['PubsubConfigArgs']]] pubsub_configs: How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. :param pulumi.Input[str] size: The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. :param pulumi.Input[str] url: URL to clone the repository from Google Cloud Source Repositories. Read-only field. """ @@ -78,14 +79,14 @@ def project(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="pubsubConfigs") - def pubsub_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + def pubsub_configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input['PubsubConfigArgs']]]]: """ How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. """ return pulumi.get(self, "pubsub_configs") @pubsub_configs.setter - def pubsub_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + def pubsub_configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input['PubsubConfigArgs']]]]): pulumi.set(self, "pubsub_configs", value) @property @@ -121,7 +122,7 @@ def __init__(__self__, mirror_config: Optional[pulumi.Input[pulumi.InputType['MirrorConfigArgs']]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, - pubsub_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pubsub_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['PubsubConfigArgs']]]]] = None, size: Optional[pulumi.Input[str]] = None, url: Optional[pulumi.Input[str]] = None, __props__=None): @@ -132,7 +133,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['MirrorConfigArgs']] mirror_config: How this repository mirrors a repository managed by another service. Read-only field. :param pulumi.Input[str] name: Resource name of the repository, of the form `projects//repos/`. The repo name may contain slashes. eg, `projects/myproject/repos/name/with/slash` - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pubsub_configs: How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['PubsubConfigArgs']]]] pubsub_configs: How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. :param pulumi.Input[str] size: The disk usage of the repo, in bytes. Read-only field. Size is only returned by GetRepo. :param pulumi.Input[str] url: URL to clone the repository from Google Cloud Source Repositories. Read-only field. """ @@ -163,7 +164,7 @@ def _internal_init(__self__, mirror_config: Optional[pulumi.Input[pulumi.InputType['MirrorConfigArgs']]] = None, name: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, - pubsub_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + pubsub_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['PubsubConfigArgs']]]]] = None, size: Optional[pulumi.Input[str]] = None, url: Optional[pulumi.Input[str]] = None, __props__=None): @@ -236,7 +237,7 @@ def project(self) -> pulumi.Output[str]: @property @pulumi.getter(name="pubsubConfigs") - def pubsub_configs(self) -> pulumi.Output[Mapping[str, str]]: + def pubsub_configs(self) -> pulumi.Output[Mapping[str, 'outputs.PubsubConfigResponse']]: """ How this repository publishes a change in the repository through Cloud Pub/Sub. Keyed by the topic names. """ diff --git a/sdk/python/pulumi_google_native/spanner/v1/outputs.py b/sdk/python/pulumi_google_native/spanner/v1/outputs.py index 379d503eb7..9063e30eba 100644 --- a/sdk/python/pulumi_google_native/spanner/v1/outputs.py +++ b/sdk/python/pulumi_google_native/spanner/v1/outputs.py @@ -668,12 +668,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -690,7 +690,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/tpu/v2alpha1/outputs.py b/sdk/python/pulumi_google_native/tpu/v2alpha1/outputs.py index 67111f5169..2e8662fde9 100644 --- a/sdk/python/pulumi_google_native/tpu/v2alpha1/outputs.py +++ b/sdk/python/pulumi_google_native/tpu/v2alpha1/outputs.py @@ -1420,12 +1420,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -1442,7 +1442,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/transcoder/v1/outputs.py b/sdk/python/pulumi_google_native/transcoder/v1/outputs.py index c40707ff43..9413fd0bf7 100644 --- a/sdk/python/pulumi_google_native/transcoder/v1/outputs.py +++ b/sdk/python/pulumi_google_native/transcoder/v1/outputs.py @@ -2894,12 +2894,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -2916,7 +2916,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/vision/v1/outputs.py b/sdk/python/pulumi_google_native/vision/v1/outputs.py index c29c8de89e..de2d3cf86e 100644 --- a/sdk/python/pulumi_google_native/vision/v1/outputs.py +++ b/sdk/python/pulumi_google_native/vision/v1/outputs.py @@ -141,12 +141,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -163,7 +163,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/vmmigration/v1/outputs.py b/sdk/python/pulumi_google_native/vmmigration/v1/outputs.py index ad90fb8597..352f2674b4 100644 --- a/sdk/python/pulumi_google_native/vmmigration/v1/outputs.py +++ b/sdk/python/pulumi_google_native/vmmigration/v1/outputs.py @@ -3525,12 +3525,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -3547,7 +3547,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/vmmigration/v1alpha1/outputs.py b/sdk/python/pulumi_google_native/vmmigration/v1alpha1/outputs.py index f24677fa1b..acd961f885 100644 --- a/sdk/python/pulumi_google_native/vmmigration/v1alpha1/outputs.py +++ b/sdk/python/pulumi_google_native/vmmigration/v1alpha1/outputs.py @@ -3613,12 +3613,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -3635,7 +3635,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/vmwareengine/v1/_inputs.py b/sdk/python/pulumi_google_native/vmwareengine/v1/_inputs.py index 097ea70385..6cfb5ebddc 100644 --- a/sdk/python/pulumi_google_native/vmwareengine/v1/_inputs.py +++ b/sdk/python/pulumi_google_native/vmwareengine/v1/_inputs.py @@ -19,6 +19,7 @@ 'ManagementClusterArgs', 'NetworkConfigArgs', 'NetworkServiceArgs', + 'NodeTypeConfigArgs', 'StretchedClusterConfigArgs', ] @@ -290,12 +291,12 @@ def ip_address_range(self, value: Optional[pulumi.Input[str]]): class ManagementClusterArgs: def __init__(__self__, *, cluster_id: pulumi.Input[str], - node_type_configs: pulumi.Input[Mapping[str, pulumi.Input[str]]], + node_type_configs: pulumi.Input[Mapping[str, pulumi.Input['NodeTypeConfigArgs']]], stretched_cluster_config: Optional[pulumi.Input['StretchedClusterConfigArgs']] = None): """ Management cluster configuration. :param pulumi.Input[str] cluster_id: The user-provided identifier of the new `Cluster`. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_type_configs: The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). + :param pulumi.Input[Mapping[str, pulumi.Input['NodeTypeConfigArgs']]] node_type_configs: The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). :param pulumi.Input['StretchedClusterConfigArgs'] stretched_cluster_config: Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. """ pulumi.set(__self__, "cluster_id", cluster_id) @@ -317,14 +318,14 @@ def cluster_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="nodeTypeConfigs") - def node_type_configs(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def node_type_configs(self) -> pulumi.Input[Mapping[str, pulumi.Input['NodeTypeConfigArgs']]]: """ The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). """ return pulumi.get(self, "node_type_configs") @node_type_configs.setter - def node_type_configs(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def node_type_configs(self, value: pulumi.Input[Mapping[str, pulumi.Input['NodeTypeConfigArgs']]]): pulumi.set(self, "node_type_configs", value) @property @@ -403,6 +404,45 @@ def enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "enabled", value) +@pulumi.input_type +class NodeTypeConfigArgs: + def __init__(__self__, *, + node_count: pulumi.Input[int], + custom_core_count: Optional[pulumi.Input[int]] = None): + """ + Information about the type and number of nodes associated with the cluster. + :param pulumi.Input[int] node_count: The number of nodes of this type in the cluster + :param pulumi.Input[int] custom_core_count: Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + """ + pulumi.set(__self__, "node_count", node_count) + if custom_core_count is not None: + pulumi.set(__self__, "custom_core_count", custom_core_count) + + @property + @pulumi.getter(name="nodeCount") + def node_count(self) -> pulumi.Input[int]: + """ + The number of nodes of this type in the cluster + """ + return pulumi.get(self, "node_count") + + @node_count.setter + def node_count(self, value: pulumi.Input[int]): + pulumi.set(self, "node_count", value) + + @property + @pulumi.getter(name="customCoreCount") + def custom_core_count(self) -> Optional[pulumi.Input[int]]: + """ + Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + """ + return pulumi.get(self, "custom_core_count") + + @custom_core_count.setter + def custom_core_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "custom_core_count", value) + + @pulumi.input_type class StretchedClusterConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_google_native/vmwareengine/v1/cluster.py b/sdk/python/pulumi_google_native/vmwareengine/v1/cluster.py index c9f7144d09..80879a2544 100644 --- a/sdk/python/pulumi_google_native/vmwareengine/v1/cluster.py +++ b/sdk/python/pulumi_google_native/vmwareengine/v1/cluster.py @@ -17,7 +17,7 @@ class ClusterArgs: def __init__(__self__, *, cluster_id: pulumi.Input[str], - node_type_configs: pulumi.Input[Mapping[str, pulumi.Input[str]]], + node_type_configs: pulumi.Input[Mapping[str, pulumi.Input['NodeTypeConfigArgs']]], private_cloud_id: pulumi.Input[str], location: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, @@ -26,7 +26,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a Cluster resource. :param pulumi.Input[str] cluster_id: Required. The user-provided identifier of the new `Cluster`. This identifier must be unique among clusters within the parent and becomes the final token in the name URI. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_type_configs: The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). + :param pulumi.Input[Mapping[str, pulumi.Input['NodeTypeConfigArgs']]] node_type_configs: The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). :param pulumi.Input[str] request_id: Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). :param pulumi.Input['StretchedClusterConfigArgs'] stretched_cluster_config: Optional. Configuration of a stretched cluster. Required for clusters that belong to a STRETCHED private cloud. """ @@ -56,14 +56,14 @@ def cluster_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="nodeTypeConfigs") - def node_type_configs(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + def node_type_configs(self) -> pulumi.Input[Mapping[str, pulumi.Input['NodeTypeConfigArgs']]]: """ The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). """ return pulumi.get(self, "node_type_configs") @node_type_configs.setter - def node_type_configs(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + def node_type_configs(self, value: pulumi.Input[Mapping[str, pulumi.Input['NodeTypeConfigArgs']]]): pulumi.set(self, "node_type_configs", value) @property @@ -125,7 +125,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, cluster_id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, - node_type_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + node_type_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['NodeTypeConfigArgs']]]]] = None, private_cloud_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, @@ -138,7 +138,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] cluster_id: Required. The user-provided identifier of the new `Cluster`. This identifier must be unique among clusters within the parent and becomes the final token in the name URI. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) - :param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_type_configs: The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). + :param pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['NodeTypeConfigArgs']]]] node_type_configs: The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). :param pulumi.Input[str] request_id: Optional. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). :param pulumi.Input[pulumi.InputType['StretchedClusterConfigArgs']] stretched_cluster_config: Optional. Configuration of a stretched cluster. Required for clusters that belong to a STRETCHED private cloud. """ @@ -169,7 +169,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, cluster_id: Optional[pulumi.Input[str]] = None, location: Optional[pulumi.Input[str]] = None, - node_type_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + node_type_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[pulumi.InputType['NodeTypeConfigArgs']]]]] = None, private_cloud_id: Optional[pulumi.Input[str]] = None, project: Optional[pulumi.Input[str]] = None, request_id: Optional[pulumi.Input[str]] = None, @@ -280,7 +280,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="nodeTypeConfigs") - def node_type_configs(self) -> pulumi.Output[Mapping[str, str]]: + def node_type_configs(self) -> pulumi.Output[Mapping[str, 'outputs.NodeTypeConfigResponse']]: """ The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). """ diff --git a/sdk/python/pulumi_google_native/vmwareengine/v1/get_cluster.py b/sdk/python/pulumi_google_native/vmwareengine/v1/get_cluster.py index f4f2bb6d43..7ef0b3ad88 100644 --- a/sdk/python/pulumi_google_native/vmwareengine/v1/get_cluster.py +++ b/sdk/python/pulumi_google_native/vmwareengine/v1/get_cluster.py @@ -71,7 +71,7 @@ def name(self) -> str: @property @pulumi.getter(name="nodeTypeConfigs") - def node_type_configs(self) -> Mapping[str, str]: + def node_type_configs(self) -> Mapping[str, 'outputs.NodeTypeConfigResponse']: """ The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). """ diff --git a/sdk/python/pulumi_google_native/vmwareengine/v1/outputs.py b/sdk/python/pulumi_google_native/vmwareengine/v1/outputs.py index 09f54f9cbe..fe96d186fb 100644 --- a/sdk/python/pulumi_google_native/vmwareengine/v1/outputs.py +++ b/sdk/python/pulumi_google_native/vmwareengine/v1/outputs.py @@ -21,6 +21,7 @@ 'ManagementClusterResponse', 'NetworkConfigResponse', 'NetworkServiceResponse', + 'NodeTypeConfigResponse', 'NsxResponse', 'StretchedClusterConfigResponse', 'VcenterResponse', @@ -393,12 +394,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, cluster_id: str, - node_type_configs: Mapping[str, str], + node_type_configs: Mapping[str, 'outputs.NodeTypeConfigResponse'], stretched_cluster_config: 'outputs.StretchedClusterConfigResponse'): """ Management cluster configuration. :param str cluster_id: The user-provided identifier of the new `Cluster`. The identifier must meet the following requirements: * Only contains 1-63 alphanumeric characters and hyphens * Begins with an alphabetical character * Ends with a non-hyphen character * Not formatted as a UUID * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) - :param Mapping[str, str] node_type_configs: The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). + :param Mapping[str, 'NodeTypeConfigResponse'] node_type_configs: The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). :param 'StretchedClusterConfigResponse' stretched_cluster_config: Optional. Configuration of a stretched cluster. Required for STRETCHED private clouds. """ pulumi.set(__self__, "cluster_id", cluster_id) @@ -415,7 +416,7 @@ def cluster_id(self) -> str: @property @pulumi.getter(name="nodeTypeConfigs") - def node_type_configs(self) -> Mapping[str, str]: + def node_type_configs(self) -> Mapping[str, 'outputs.NodeTypeConfigResponse']: """ The map of cluster node types in this cluster, where the key is canonical identifier of the node type (corresponds to the `NodeType`). """ @@ -554,6 +555,58 @@ def state(self) -> str: return pulumi.get(self, "state") +@pulumi.output_type +class NodeTypeConfigResponse(dict): + """ + Information about the type and number of nodes associated with the cluster. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "customCoreCount": + suggest = "custom_core_count" + elif key == "nodeCount": + suggest = "node_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodeTypeConfigResponse. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodeTypeConfigResponse.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodeTypeConfigResponse.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + custom_core_count: int, + node_count: int): + """ + Information about the type and number of nodes associated with the cluster. + :param int custom_core_count: Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + :param int node_count: The number of nodes of this type in the cluster + """ + pulumi.set(__self__, "custom_core_count", custom_core_count) + pulumi.set(__self__, "node_count", node_count) + + @property + @pulumi.getter(name="customCoreCount") + def custom_core_count(self) -> int: + """ + Optional. Customized number of cores available to each node of the type. This number must always be one of `nodeType.availableCustomCoreCounts`. If zero is provided max value from `nodeType.availableCustomCoreCounts` will be used. + """ + return pulumi.get(self, "custom_core_count") + + @property + @pulumi.getter(name="nodeCount") + def node_count(self) -> int: + """ + The number of nodes of this type in the cluster + """ + return pulumi.get(self, "node_count") + + @pulumi.output_type class NsxResponse(dict): """ diff --git a/sdk/python/pulumi_google_native/workstations/v1/outputs.py b/sdk/python/pulumi_google_native/workstations/v1/outputs.py index 5a8ab0a924..99948145b0 100644 --- a/sdk/python/pulumi_google_native/workstations/v1/outputs.py +++ b/sdk/python/pulumi_google_native/workstations/v1/outputs.py @@ -949,12 +949,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -971,7 +971,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """ diff --git a/sdk/python/pulumi_google_native/workstations/v1beta/outputs.py b/sdk/python/pulumi_google_native/workstations/v1beta/outputs.py index a48a7911a8..54776f24a2 100644 --- a/sdk/python/pulumi_google_native/workstations/v1beta/outputs.py +++ b/sdk/python/pulumi_google_native/workstations/v1beta/outputs.py @@ -1149,12 +1149,12 @@ class StatusResponse(dict): """ def __init__(__self__, *, code: int, - details: Sequence[Mapping[str, str]], + details: Sequence[Mapping[str, Any]], message: str): """ The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). :param int code: The status code, which should be an enum value of google.rpc.Code. - :param Sequence[Mapping[str, str]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. + :param Sequence[Mapping[str, Any]] details: A list of messages that carry the error details. There is a common set of message types for APIs to use. :param str message: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. """ pulumi.set(__self__, "code", code) @@ -1171,7 +1171,7 @@ def code(self) -> int: @property @pulumi.getter - def details(self) -> Sequence[Mapping[str, str]]: + def details(self) -> Sequence[Mapping[str, Any]]: """ A list of messages that carry the error details. There is a common set of message types for APIs to use. """